mirror of
https://github.com/isc-projects/bind9.git
synced 2026-04-22 23:01:43 -04:00
371 lines
5.8 KiB
HTML
371 lines
5.8 KiB
HTML
<!--
|
|
- Copyright (C) 2000, 2001 Internet Software Consortium.
|
|
-
|
|
- Permission to use, copy, modify, and distribute this software for any
|
|
- purpose with or without fee is hereby granted, provided that the above
|
|
- copyright notice and this permission notice appear in all copies.
|
|
-
|
|
- THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
|
|
- DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
|
|
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
|
|
- INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
|
|
- FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
|
- NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
|
|
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
-->
|
|
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>lwres_getrrsetbyname</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
|
|
"></HEAD
|
|
><BODY
|
|
CLASS="REFENTRY"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><H1
|
|
><A
|
|
NAME="AEN1"
|
|
>lwres_getrrsetbyname</A
|
|
></H1
|
|
><DIV
|
|
CLASS="REFNAMEDIV"
|
|
><A
|
|
NAME="AEN8"
|
|
></A
|
|
><H2
|
|
>Name</H2
|
|
>lwres_getrrsetbyname, lwres_freerrset -- retrieve DNS records</DIV
|
|
><DIV
|
|
CLASS="REFSYNOPSISDIV"
|
|
><A
|
|
NAME="AEN12"
|
|
></A
|
|
><H2
|
|
>Synopsis</H2
|
|
><DIV
|
|
CLASS="FUNCSYNOPSIS"
|
|
><A
|
|
NAME="AEN13"
|
|
></A
|
|
><P
|
|
></P
|
|
><PRE
|
|
CLASS="FUNCSYNOPSISINFO"
|
|
>#include <lwres/netdb.h></PRE
|
|
><P
|
|
><CODE
|
|
><CODE
|
|
CLASS="FUNCDEF"
|
|
>int
|
|
lwres_getrrsetbyname</CODE
|
|
>(const char *hostname, unsigned int rdclass, unsigned int rdtype, unsigned int flags, struct rrsetinfo **res);</CODE
|
|
></P
|
|
><P
|
|
><CODE
|
|
><CODE
|
|
CLASS="FUNCDEF"
|
|
>void
|
|
lwres_freerrset</CODE
|
|
>(struct rrsetinfo *rrset);</CODE
|
|
></P
|
|
><P
|
|
></P
|
|
></DIV
|
|
><P
|
|
>The following structures are used:
|
|
<PRE
|
|
CLASS="PROGRAMLISTING"
|
|
>struct rdatainfo {
|
|
unsigned int rdi_length; /* length of data */
|
|
unsigned char *rdi_data; /* record data */
|
|
};
|
|
|
|
struct rrsetinfo {
|
|
unsigned int rri_flags; /* RRSET_VALIDATED... */
|
|
unsigned int rri_rdclass; /* class number */
|
|
unsigned int rri_rdtype; /* RR type number */
|
|
unsigned int rri_ttl; /* time to live */
|
|
unsigned int rri_nrdatas; /* size of rdatas array */
|
|
unsigned int rri_nsigs; /* size of sigs array */
|
|
char *rri_name; /* canonical name */
|
|
struct rdatainfo *rri_rdatas; /* individual records */
|
|
struct rdatainfo *rri_sigs; /* individual signatures */
|
|
};</PRE
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="REFSECT1"
|
|
><A
|
|
NAME="AEN29"
|
|
></A
|
|
><H2
|
|
>DESCRIPTION</H2
|
|
><P
|
|
><TT
|
|
CLASS="FUNCTION"
|
|
>lwres_getrrsetbyname()</TT
|
|
>
|
|
gets a set of resource records associated with a
|
|
<TT
|
|
CLASS="PARAMETER"
|
|
><I
|
|
>hostname</I
|
|
></TT
|
|
>,
|
|
|
|
<TT
|
|
CLASS="PARAMETER"
|
|
><I
|
|
>class</I
|
|
></TT
|
|
>,
|
|
|
|
and
|
|
<TT
|
|
CLASS="PARAMETER"
|
|
><I
|
|
>type</I
|
|
></TT
|
|
>.
|
|
|
|
<TT
|
|
CLASS="PARAMETER"
|
|
><I
|
|
>hostname</I
|
|
></TT
|
|
>
|
|
is
|
|
a pointer a to null-terminated string. The
|
|
<TT
|
|
CLASS="PARAMETER"
|
|
><I
|
|
>flags</I
|
|
></TT
|
|
>
|
|
field is currently unused and must be zero.</P
|
|
><P
|
|
>After a successful call to
|
|
<TT
|
|
CLASS="FUNCTION"
|
|
>lwres_getrrsetbyname()</TT
|
|
>,
|
|
|
|
<TT
|
|
CLASS="PARAMETER"
|
|
><I
|
|
>*res</I
|
|
></TT
|
|
>
|
|
is a pointer to an
|
|
<SPAN
|
|
CLASS="TYPE"
|
|
>rrsetinfo</SPAN
|
|
>
|
|
structure, containing a list of one or more
|
|
<SPAN
|
|
CLASS="TYPE"
|
|
>rdatainfo</SPAN
|
|
>
|
|
structures containing resource records and potentially another list of
|
|
<SPAN
|
|
CLASS="TYPE"
|
|
>rdatainfo</SPAN
|
|
>
|
|
structures containing SIG resource records
|
|
associated with those records.
|
|
The members
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>rri_rdclass</TT
|
|
>
|
|
and
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>rri_rdtype</TT
|
|
>
|
|
are copied from the parameters.
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>rri_ttl</TT
|
|
>
|
|
and
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>rri_name</TT
|
|
>
|
|
are properties of the obtained rrset.
|
|
The resource records contained in
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>rri_rdatas</TT
|
|
>
|
|
and
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>rri_sigs</TT
|
|
>
|
|
are in uncompressed DNS wire format.
|
|
Properties of the rdataset are represented in the
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>rri_flags</TT
|
|
>
|
|
bitfield. If the RRSET_VALIDATED bit is set, the data has been DNSSEC
|
|
validated and the signatures verified. </P
|
|
><P
|
|
>All of the information returned by
|
|
<TT
|
|
CLASS="FUNCTION"
|
|
>lwres_getrrsetbyname()</TT
|
|
>
|
|
is dynamically allocated: the
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>rrsetinfo</TT
|
|
>
|
|
and
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>rdatainfo</TT
|
|
>
|
|
structures,
|
|
and the canonical host name strings pointed to by the
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>rrsetinfo</TT
|
|
>structure.
|
|
|
|
Memory allocated for the dynamically allocated structures created by
|
|
a successful call to
|
|
<TT
|
|
CLASS="FUNCTION"
|
|
>lwres_getrrsetbyname()</TT
|
|
>
|
|
is released by
|
|
<TT
|
|
CLASS="FUNCTION"
|
|
>lwres_freerrset()</TT
|
|
>.
|
|
|
|
<TT
|
|
CLASS="PARAMETER"
|
|
><I
|
|
>rrset</I
|
|
></TT
|
|
>
|
|
is a pointer to a
|
|
<SPAN
|
|
CLASS="TYPE"
|
|
>struct rrset</SPAN
|
|
>
|
|
created by a call to
|
|
<TT
|
|
CLASS="FUNCTION"
|
|
>lwres_getrrsetbyname()</TT
|
|
>. </P
|
|
><P
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="REFSECT1"
|
|
><A
|
|
NAME="AEN62"
|
|
></A
|
|
><H2
|
|
>RETURN VALUES</H2
|
|
><P
|
|
><TT
|
|
CLASS="FUNCTION"
|
|
>lwres_getrrsetbyname()</TT
|
|
>
|
|
returns zero on success, and one of the following error
|
|
codes if an error occurred:
|
|
<P
|
|
></P
|
|
><DIV
|
|
CLASS="VARIABLELIST"
|
|
><DL
|
|
><DT
|
|
><TT
|
|
CLASS="CONSTANT"
|
|
>ERRSET_NONAME</TT
|
|
></DT
|
|
><DD
|
|
><P
|
|
>the name does not exist</P
|
|
></DD
|
|
><DT
|
|
><TT
|
|
CLASS="CONSTANT"
|
|
>ERRSET_NODATA</TT
|
|
></DT
|
|
><DD
|
|
><P
|
|
>the name exists, but does not have data of the desired type</P
|
|
></DD
|
|
><DT
|
|
><TT
|
|
CLASS="CONSTANT"
|
|
>ERRSET_NOMEMORY</TT
|
|
></DT
|
|
><DD
|
|
><P
|
|
>memory could not be allocated</P
|
|
></DD
|
|
><DT
|
|
><TT
|
|
CLASS="CONSTANT"
|
|
>ERRSET_INVAL</TT
|
|
></DT
|
|
><DD
|
|
><P
|
|
>a parameter is invalid</P
|
|
></DD
|
|
><DT
|
|
><TT
|
|
CLASS="CONSTANT"
|
|
>ERRSET_FAIL</TT
|
|
></DT
|
|
><DD
|
|
><P
|
|
>other failure</P
|
|
></DD
|
|
><DT
|
|
><TT
|
|
CLASS="CONSTANT"
|
|
></TT
|
|
></DT
|
|
><DD
|
|
><P
|
|
></P
|
|
></DD
|
|
></DL
|
|
></DIV
|
|
> </P
|
|
></DIV
|
|
><DIV
|
|
CLASS="REFSECT1"
|
|
><A
|
|
NAME="AEN97"
|
|
></A
|
|
><H2
|
|
>SEE ALSO</H2
|
|
><P
|
|
><SPAN
|
|
CLASS="CITEREFENTRY"
|
|
><SPAN
|
|
CLASS="REFENTRYTITLE"
|
|
>lwres</SPAN
|
|
>(3)</SPAN
|
|
>.</P
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
>
|