lwres_getrrsetbyname.html revision d4ef65050feac78554addf6e16a06c6e2e0bd331
5cd4555ad444fd391002ae32450572054369fd42Rob Austein - Copyright (C) 2001 Internet Software Consortium.
9c49c394b4218cc9c743a372a8fcfb787f5ea8caAndreas Gustafsson - Permission to use, copy, modify, and distribute this software for any
c1a883f2e04d94e99c433b1f6cfd0c0338f4ed85Mark Andrews - purpose with or without fee is hereby granted, provided that the above
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews - copyright notice and this permission notice appear in all copies.
ec5347e2c775f027573ce5648b910361aa926c01Automatic Updater - THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
9c49c394b4218cc9c743a372a8fcfb787f5ea8caAndreas Gustafsson - DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
9c49c394b4218cc9c743a372a8fcfb787f5ea8caAndreas Gustafsson - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
9c49c394b4218cc9c743a372a8fcfb787f5ea8caAndreas Gustafsson - INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews<!-- $Id: lwres_getrrsetbyname.html,v 1.2 2001/04/10 21:51:51 bwelling Exp $ -->
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>lwres_getrrsetbyname</TITLE
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinNAME="GENERATOR"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCONTENT="Modular DocBook HTML Stylesheet Version 1.61
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="REFENTRY"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinBGCOLOR="#FFFFFF"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinTEXT="#000000"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinLINK="#0000FF"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinVLINK="#840084"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinALINK="#0000FF"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>lwres_getrrsetbyname</A
c1a883f2e04d94e99c433b1f6cfd0c0338f4ed85Mark AndrewsCLASS="REFNAMEDIV"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>lwres_getrrsetbyname, lwres_freerrset -- retrieve DNS records</DIV
f5d30e2864e048a42c4dc1134993ae7efdb5d6c3Mark AndrewsCLASS="REFSYNOPSISDIV"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>Synopsis</H2
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="FUNCSYNOPSIS"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="FUNCSYNOPSISINFO"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="FUNCDEF"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinlwres_getrrsetbyname</CODE
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>(const char *hostname, unsigned int rdclass, unsigned int rdtype, unsigned int flags, struct rrsetinfo **res);</CODE
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="FUNCDEF"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinlwres_freerrset</CODE
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>(struct rrsetinfo *rrset);</CODE
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>The following structures are used:
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="PROGRAMLISTING"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>struct rdatainfo {
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein unsigned int rdi_length; /* length of data */
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein unsigned char *rdi_data; /* record data */
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinstruct rrsetinfo {
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein unsigned int rri_flags; /* RRSET_VALIDATED... */
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein unsigned int rri_rdclass; /* class number */
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein unsigned int rri_rdtype; /* RR type number */
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein unsigned int rri_ttl; /* time to live */
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein unsigned int rri_nrdatas; /* size of rdatas array */
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein unsigned int rri_nsigs; /* size of sigs array */
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein char *rri_name; /* canonical name */
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein struct rdatainfo *rri_rdatas; /* individual records */
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein struct rdatainfo *rri_sigs; /* individual signatures */
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="REFSECT1"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>DESCRIPTION</H2
561a29af8c54a216e7d30b5b4f6e0d21661654ecMark AndrewsCLASS="FUNCTION"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>lwres_getrrsetbyname()</TT
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeingets a set of resource records associated with a
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="PARAMETER"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="PARAMETER"
c6d4f781529d2f28693546b25b2967d44ec89e60Mark AndrewsCLASS="PARAMETER"
c6d4f781529d2f28693546b25b2967d44ec89e60Mark AndrewsCLASS="PARAMETER"
c6d4f781529d2f28693546b25b2967d44ec89e60Mark Andrewsa pointer a to null-terminated string. The
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="PARAMETER"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinfield is currently unused and must be zero.</P
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>After a successful call to
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="FUNCTION"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>lwres_getrrsetbyname()</TT
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="PARAMETER"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinis a pointer to an
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>rrsetinfo</SPAN
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinstructure, containing a list of one or more
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>rdatainfo</SPAN
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinstructures containing resource records and potentially another list of
561a29af8c54a216e7d30b5b4f6e0d21661654ecMark Andrews>rdatainfo</SPAN
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinstructures containing SIG resource records
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinassociated with those records.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="CONSTANT"
561a29af8c54a216e7d30b5b4f6e0d21661654ecMark Andrews>rri_rdclass</TT
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="CONSTANT"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>rri_rdtype</TT
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinare copied from the parameters.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="CONSTANT"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="CONSTANT"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>rri_name</TT
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinare properties of the obtained rrset.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinThe resource records contained in
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="CONSTANT"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>rri_rdatas</TT
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="CONSTANT"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>rri_sigs</TT
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinare in uncompressed DNS wire format.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinProperties of the rdataset are represented in the
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="CONSTANT"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>rri_flags</TT
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinbitfield. If the RRSET_VALIDATED bit is set, the data has been DNSSEC
8d709e3ee443222cd35e44eadc9a4c0a8d92fec2Rob Austeinvalidated and the signatures verified. </P
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>All of the information returned by
8d709e3ee443222cd35e44eadc9a4c0a8d92fec2Rob AusteinCLASS="FUNCTION"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>lwres_getrrsetbyname()</TT
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinis dynamically allocated: the
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="CONSTANT"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>rrsetinfo</TT
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="CONSTANT"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>rdatainfo</TT
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinand the canonical host name strings pointed to by the
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="CONSTANT"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>rrsetinfo</TT
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMemory allocated for the dynamically allocated structures created by
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeina successful call to
8d709e3ee443222cd35e44eadc9a4c0a8d92fec2Rob AusteinCLASS="FUNCTION"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>lwres_getrrsetbyname()</TT
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinis released by
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="FUNCTION"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>lwres_freerrset()</TT
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="PARAMETER"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinis a pointer to a
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>struct rrset</SPAN
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeincreated by a call to
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="FUNCTION"
8d709e3ee443222cd35e44eadc9a4c0a8d92fec2Rob Austein>lwres_getrrsetbyname()</TT
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="REFSECT1"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>RETURN VALUES</H2
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="FUNCTION"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>lwres_getrrsetbyname()</TT
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinreturns zero on success or an error code if an error occurs. The defined
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinerror codes are ERRSET_NOMEMORY (memory could not be allocated),
8d709e3ee443222cd35e44eadc9a4c0a8d92fec2Rob AusteinERRSET_INVAL (a parameter is invalid) and ERRSET_FAIL (other failure).</P
8d709e3ee443222cd35e44eadc9a4c0a8d92fec2Rob AusteinCLASS="REFSECT1"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>SEE ALSO</H2
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="CITEREFENTRY"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="REFENTRYTITLE"