lwres_getrrsetbyname.docbook revision ddccd5811feff696ba460dabfb666ce61040f545
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<!--
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - Copyright (C) 2000, 2001 Internet Software Consortium.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson -
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - Permission to use, copy, modify, and distribute this software for any
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - purpose with or without fee is hereby granted, provided that the above
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - copyright notice and this permission notice appear in all copies.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson -
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson-->
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<!-- $Id: lwres_getrrsetbyname.docbook,v 1.1 2001/03/31 00:08:15 gson Exp $ -->
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<refentry>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<refentryinfo>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<date>Oct 18, 2000</date>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</refentryinfo>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<refmeta>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<refentrytitle>lwres_getrrsetbyname</refentrytitle>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<manvolnum>3</manvolnum>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<refmiscinfo>BIND9</refmiscinfo>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</refmeta>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<refnamediv>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<refname>lwres_getrrsetbyname</refname>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<refname>lwres_freerrset</refname>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<refpurpose>retrieve DNS records</refpurpose>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</refnamediv>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<refsynopsisdiv>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<funcsynopsis>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<funcsynopsisinfo>#include &lt;lwres/netdb.h&gt;</funcsynopsisinfo>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<funcprototype>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<funcdef>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonint
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<function>lwres_getrrsetbyname</function></funcdef>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<paramdef>const char *hostname</paramdef>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<paramdef>unsigned int rdclass</paramdef>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<paramdef>unsigned int rdtype</paramdef>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<paramdef>unsigned int flags</paramdef>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<paramdef>struct rrsetinfo **res</paramdef>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</funcprototype>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<funcprototype>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<funcdef>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonvoid
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<function>lwres_freerrset</function></funcdef>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<paramdef>struct rrsetinfo *rrset</paramdef>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</funcprototype>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</funcsynopsis>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<para>
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThe following structures are used:
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<programlisting>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonstruct rdatainfo {
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson unsigned int rdi_length; /* length of data */
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson unsigned char *rdi_data; /* record data */
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson};
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonstruct rrsetinfo {
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson unsigned int rri_flags; /* RRSET_VALIDATED... */
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson unsigned int rri_rdclass; /* class number */
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson unsigned int rri_rdtype; /* RR type number */
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson unsigned int rri_ttl; /* time to live */
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson unsigned int rri_nrdatas; /* size of rdatas array */
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson unsigned int rri_nsigs; /* size of sigs array */
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson char *rri_name; /* canonical name */
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson struct rdatainfo *rri_rdatas; /* individual records */
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson struct rdatainfo *rri_sigs; /* individual signatures */
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson};
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</programlisting>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</para>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</refsynopsisdiv>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<refsect1>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<title>DESCRIPTION</title>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<para>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<function>lwres_getrrsetbyname()</function>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssongets a set of resource records associated with a
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<parameter>hostname</parameter>,
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<parameter>class</parameter>,
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonand
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<parameter>type</parameter>.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<parameter>hostname</parameter>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonis
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssona pointer a to null-terminated string. The
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<parameter>flags</parameter>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonfield is currently unused and must be zero.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</para>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<para>
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonAfter a successful call to
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<function>lwres_getrrsetbyname()</function>,
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<parameter>*res</parameter>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonis a pointer to an
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<type>rrsetinfo</type>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonstructure, containing a list of one or more
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<type>rdatainfo</type>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonstructures containing resource records and potentially another list of
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<type>rdatainfo</type>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonstructures containing SIG resource records
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonassociated with those records.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThe members
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<constant>rri_rdclass</constant>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonand
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<constant>rri_rdtype</constant>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonare copied from the parameters.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<constant>rri_ttl</constant>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonand
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<constant>rri_name</constant>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonare properties of the obtained rrset.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThe resource records contained in
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<constant>rri_rdatas</constant>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonand
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<constant>rri_sigs</constant>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonare in uncompressed DNS wire format.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonProperties of the rdataset are represented in the
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<constant>rri_flags</constant>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonbitfield. If the RRSET_VALIDATED bit is set, the data has been DNSSEC
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonvalidated and the signatures verified.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</para>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<para>
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonAll of the information returned by
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<function>lwres_getrrsetbyname()</function>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonis dynamically allocated: the
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<constant>rrsetinfo</constant>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonand
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<constant>rdatainfo</constant>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonstructures,
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonand the canonical host name strings pointed to by the
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<constant>rrsetinfo</constant>structure.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonMemory allocated for the dynamically allocated structures created by
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssona successful call to
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<function>lwres_getrrsetbyname()</function>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonis released by
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<function>lwres_freerrset()</function>.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<parameter>rrset</parameter>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonis a pointer to a
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<type>struct rrset</type>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssoncreated by a call to
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<function>lwres_getrrsetbyname()</function>.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</para>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<para>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</para>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</refsect1>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<refsect1>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<title>RETURN VALUES</title>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<para>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<function>lwres_getrrsetbyname()</function>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonreturns zero on success or an error code if an error occurs. The defined
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonerror codes are ERRSET_NOMEMORY (memory could not be allocated),
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonERRSET_INVAL (a parameter is invalid) and ERRSET_FAIL (other failure).
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</para>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</refsect1>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<refsect1>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<title>SEE ALSO</title>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<para>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<citerefentry>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<refentrytitle>lwres</refentrytitle><manvolnum>3</manvolnum>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</citerefentry>.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</para>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</refsect1>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</refentry>