lwres_getrrsetbyname.docbook revision 268a4475065fe6a8cd7cc707820982cf5e98f430
c3c6770e537ea916265c78d0294ad108233e17c1Michael Sawyer<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN"
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews "http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd"
499b34cea04a46823d003d4c0520c8b03e8513cbBrian Wellington [<!ENTITY mdash "—">]>
ec5347e2c775f027573ce5648b910361aa926c01Automatic Updater - Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
c3c6770e537ea916265c78d0294ad108233e17c1Michael Sawyer - Copyright (C) 2000, 2001 Internet Software Consortium.
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence - Permission to use, copy, modify, and distribute this software for any
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - purpose with or without fee is hereby granted, provided that the above
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - copyright notice and this permission notice appear in all copies.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
c3c6770e537ea916265c78d0294ad108233e17c1Michael Sawyer - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
c3c6770e537ea916265c78d0294ad108233e17c1Michael Sawyer - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
a69070d8fab55dbc63ba9f96c9d3e34f0ea9119aMark Andrews - PERFORMANCE OF THIS SOFTWARE.
821644d49b73b49f2abc5463bc53a3132f612478Mark Andrews<!-- $Id: lwres_getrrsetbyname.docbook,v 1.6 2005/05/11 05:55:40 sra Exp $ -->
67adc03ef81fb610f8df093b17f55275ee816754Evan Hunt <refentryinfo>
67adc03ef81fb610f8df093b17f55275ee816754Evan Hunt </refentryinfo>
9069215eac23e32f4ef1c8e44ad7ff2865cfcdacEvan Hunt <refentrytitle>lwres_getrrsetbyname</refentrytitle>
4eb998928b9aef0ceda42d7529980d658138698aEvan Hunt <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
e2f470bebb3a0c107bc4ac86c6920c21e50e83e0Brian Wellington <holder>Internet Software Consortium</holder>
2c089bf6d24936de631a57b4958ba6b8b5e3b23dMark Andrews <refnamediv>
9069215eac23e32f4ef1c8e44ad7ff2865cfcdacEvan Hunt </refnamediv>
c3c6770e537ea916265c78d0294ad108233e17c1Michael Sawyer <refsynopsisdiv>
c3c6770e537ea916265c78d0294ad108233e17c1Michael Sawyer <funcsynopsis>
c3c6770e537ea916265c78d0294ad108233e17c1Michael Sawyer<funcsynopsisinfo>#include <lwres/netdb.h></funcsynopsisinfo>
2c15fcdeac4c2402258867fbac24d7475ef98259Mark Andrews<funcprototype>
9069215eac23e32f4ef1c8e44ad7ff2865cfcdacEvan Hunt<function>lwres_getrrsetbyname</function></funcdef>
9069215eac23e32f4ef1c8e44ad7ff2865cfcdacEvan Hunt <paramdef>const char *<parameter>hostname</parameter></paramdef>
9069215eac23e32f4ef1c8e44ad7ff2865cfcdacEvan Hunt <paramdef>unsigned int <parameter>rdclass</parameter></paramdef>
9069215eac23e32f4ef1c8e44ad7ff2865cfcdacEvan Hunt <paramdef>unsigned int <parameter>rdtype</parameter></paramdef>
35f6a21f5f8114542c050bfcb484b39ce513d4bdEvan Hunt <paramdef>unsigned int <parameter>flags</parameter></paramdef>
35f6a21f5f8114542c050bfcb484b39ce513d4bdEvan Hunt <paramdef>struct rrsetinfo **<parameter>res</parameter></paramdef>
35f6a21f5f8114542c050bfcb484b39ce513d4bdEvan Hunt </funcprototype>
35f6a21f5f8114542c050bfcb484b39ce513d4bdEvan Hunt<funcprototype>
35f6a21f5f8114542c050bfcb484b39ce513d4bdEvan Hunt <paramdef>struct rrsetinfo *<parameter>rrset</parameter></paramdef>
35f6a21f5f8114542c050bfcb484b39ce513d4bdEvan Hunt </funcprototype>
9069215eac23e32f4ef1c8e44ad7ff2865cfcdacEvan Hunt</funcsynopsis>
9069215eac23e32f4ef1c8e44ad7ff2865cfcdacEvan Hunt The following structures are used:
c3c6770e537ea916265c78d0294ad108233e17c1Michael Sawyerstruct rdatainfo {
c3c6770e537ea916265c78d0294ad108233e17c1Michael Sawyer unsigned int rdi_length; /* length of data */
c5272fb3303425f794dab68f734f6a2a45dce01eMichael Sawyer unsigned char *rdi_data; /* record data */
2c089bf6d24936de631a57b4958ba6b8b5e3b23dMark Andrews</programlisting>
ac21f918f23ce95fd5be807428ee9e2c42319878Evan Huntstruct rrsetinfo {
c5272fb3303425f794dab68f734f6a2a45dce01eMichael Sawyer unsigned int rri_flags; /* RRSET_VALIDATED... */
c5272fb3303425f794dab68f734f6a2a45dce01eMichael Sawyer unsigned int rri_rdclass; /* class number */
c5272fb3303425f794dab68f734f6a2a45dce01eMichael Sawyer unsigned int rri_rdtype; /* RR type number */
2c15fcdeac4c2402258867fbac24d7475ef98259Mark Andrews unsigned int rri_ttl; /* time to live */
c5272fb3303425f794dab68f734f6a2a45dce01eMichael Sawyer unsigned int rri_nrdatas; /* size of rdatas array */
c5272fb3303425f794dab68f734f6a2a45dce01eMichael Sawyer unsigned int rri_nsigs; /* size of sigs array */
ac21f918f23ce95fd5be807428ee9e2c42319878Evan Hunt char *rri_name; /* canonical name */
c5272fb3303425f794dab68f734f6a2a45dce01eMichael Sawyer struct rdatainfo *rri_rdatas; /* individual records */
a69070d8fab55dbc63ba9f96c9d3e34f0ea9119aMark Andrews struct rdatainfo *rri_sigs; /* individual signatures */
a69070d8fab55dbc63ba9f96c9d3e34f0ea9119aMark Andrews</programlisting>
a69070d8fab55dbc63ba9f96c9d3e34f0ea9119aMark Andrews </refsynopsisdiv>
a69070d8fab55dbc63ba9f96c9d3e34f0ea9119aMark Andrews <para><function>lwres_getrrsetbyname()</function>
a69070d8fab55dbc63ba9f96c9d3e34f0ea9119aMark Andrews gets a set of resource records associated with a
7318bbc26262a66a0d740ceefed769961ef7e476Evan Hunt <parameter>hostname</parameter>, <parameter>class</parameter>,
7318bbc26262a66a0d740ceefed769961ef7e476Evan Hunt null-terminated string. The <parameter>flags</parameter> field
7318bbc26262a66a0d740ceefed769961ef7e476Evan Hunt is currently unused and must be zero.
7318bbc26262a66a0d740ceefed769961ef7e476Evan Hunt After a successful call to
de5890da9b87cb4b91aca033db0e25b1fdb68c77Evan Hunt <type>rrsetinfo</type> structure, containing a list of one or
de5890da9b87cb4b91aca033db0e25b1fdb68c77Evan Hunt more <type>rdatainfo</type> structures containing resource
de5890da9b87cb4b91aca033db0e25b1fdb68c77Evan Hunt records and potentially another list of <type>rdatainfo</type>
de5890da9b87cb4b91aca033db0e25b1fdb68c77Evan Hunt structures containing SIG resource records associated with those
de5890da9b87cb4b91aca033db0e25b1fdb68c77Evan Hunt records. The members <constant>rri_rdclass</constant> and
de5890da9b87cb4b91aca033db0e25b1fdb68c77Evan Hunt <constant>rri_rdtype</constant> are copied from the parameters.
de5890da9b87cb4b91aca033db0e25b1fdb68c77Evan Hunt <constant>rri_ttl</constant> and <constant>rri_name</constant>
2c089bf6d24936de631a57b4958ba6b8b5e3b23dMark Andrews are properties of the obtained rrset. The resource records
2c089bf6d24936de631a57b4958ba6b8b5e3b23dMark Andrews contained in <constant>rri_rdatas</constant> and
2c089bf6d24936de631a57b4958ba6b8b5e3b23dMark Andrews <constant>rri_sigs</constant> are in uncompressed DNS wire
2c089bf6d24936de631a57b4958ba6b8b5e3b23dMark Andrews format. Properties of the rdataset are represented in the
2c089bf6d24936de631a57b4958ba6b8b5e3b23dMark Andrews <constant>rri_flags</constant> bitfield. If the RRSET_VALIDATED
2c089bf6d24936de631a57b4958ba6b8b5e3b23dMark Andrews bit is set, the data has been DNSSEC validated and the
2c089bf6d24936de631a57b4958ba6b8b5e3b23dMark Andrews signatures verified.
2c089bf6d24936de631a57b4958ba6b8b5e3b23dMark Andrews All of the information returned by
de5890da9b87cb4b91aca033db0e25b1fdb68c77Evan Hunt <function>lwres_getrrsetbyname()</function> is dynamically
74717eef53ba5d6aefc80eb262bbb090ff4bb3b5Mark Andrews allocated: the <constant>rrsetinfo</constant> and
74717eef53ba5d6aefc80eb262bbb090ff4bb3b5Mark Andrews <constant>rdatainfo</constant> structures, and the canonical
74717eef53ba5d6aefc80eb262bbb090ff4bb3b5Mark Andrews host name strings pointed to by the
74717eef53ba5d6aefc80eb262bbb090ff4bb3b5Mark Andrews Memory allocated for the dynamically allocated structures