lwres_getrrsetbyname.docbook revision 0c27b3fe77ac1d5094ba3521e8142d9e7973133f
7a23067e782dd5612d4d4b539906e1733b664df7jwoolley - Copyright (C) 2000, 2001, 2004, 2005, 2007, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
a0db2f093595083300ad3438314f90921405ccf9wrowe - This Source Code Form is subject to the terms of the Mozilla Public
a0db2f093595083300ad3438314f90921405ccf9wrowe - License, v. 2.0. If a copy of the MPL was not distributed with this
c66798efb2184ecf904cd8471acd17e65688b1caianh - file, You can obtain one at http://mozilla.org/MPL/2.0/.
fb59f85aab19883025f619727948b8088232cc4brederpj<!-- Converted by db4-upgrade version 1.0 -->
fb59f85aab19883025f619727948b8088232cc4brederpj<refentry xmlns="http://docbook.org/ns/docbook" version="5.0">
1a1cf0ee9229ee29e5750b25dd94dbb9b04072cfianh <refentryinfo>
61afed048a4d67ed923d52e5c865c0f10a8e9e73trawick <corpauthor>Internet Systems Consortium, Inc.</corpauthor>
0bbb249eafe9ef9508821f0ef58e7440625ecd62trawick </refentryinfo>
7a23067e782dd5612d4d4b539906e1733b664df7jwoolley <refentrytitle>lwres_getrrsetbyname</refentrytitle>
6032a7c97a25c52f4bdd78ce23f2010e52c9e81arederpj <copyright>
f0791c5bdfd36969d292a4092df076aa6d1c34ccwrowe <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
749011213737e8d0cd6ca78d5eb532ec6f6b9fdfianh </copyright>
749011213737e8d0cd6ca78d5eb532ec6f6b9fdfianh <copyright>
e7bf4d6f15d04e86e20002e65f60d7fbf80e5974stoddard </copyright>
de42d3dfd83a4cc62f0dd6b79ee5cbcfa69fd503brianp <refnamediv>
8ab933f1df663f95c27e2ce5772127d4f3a10e0bstriker </refnamediv>
a8dda281113c5038945423320d8c9b42e3d1ddb1jwoolley <refsynopsisdiv>
50e60f30bdc074fbc887f0b98f4d570457ac97c9brianp <funcsynopsis>
39dde7f4cd79d701cc14e5beac8ea528bc58d038wrowe<funcsynopsisinfo>#include <lwres/netdb.h></funcsynopsisinfo>
39dde7f4cd79d701cc14e5beac8ea528bc58d038wrowe<funcprototype>
39dde7f4cd79d701cc14e5beac8ea528bc58d038wrowe <paramdef>const char *<parameter>hostname</parameter></paramdef>
39dde7f4cd79d701cc14e5beac8ea528bc58d038wrowe <paramdef>unsigned int <parameter>rdclass</parameter></paramdef>
39dde7f4cd79d701cc14e5beac8ea528bc58d038wrowe <paramdef>unsigned int <parameter>rdtype</parameter></paramdef>
39dde7f4cd79d701cc14e5beac8ea528bc58d038wrowe <paramdef>unsigned int <parameter>flags</parameter></paramdef>
39dde7f4cd79d701cc14e5beac8ea528bc58d038wrowe <paramdef>struct rrsetinfo **<parameter>res</parameter></paramdef>
39dde7f4cd79d701cc14e5beac8ea528bc58d038wrowe </funcprototype>
39dde7f4cd79d701cc14e5beac8ea528bc58d038wrowe<funcprototype>
39dde7f4cd79d701cc14e5beac8ea528bc58d038wrowe <paramdef>struct rrsetinfo *<parameter>rrset</parameter></paramdef>
39dde7f4cd79d701cc14e5beac8ea528bc58d038wrowe </funcprototype>
39dde7f4cd79d701cc14e5beac8ea528bc58d038wrowe</funcsynopsis>
39dde7f4cd79d701cc14e5beac8ea528bc58d038wrowe The following structures are used:
39dde7f4cd79d701cc14e5beac8ea528bc58d038wrowestruct rdatainfo {
268ac122b1fd6fa948b30bdf0d8c0d80e75d68dawrowe unsigned int rdi_length; /* length of data */
268ac122b1fd6fa948b30bdf0d8c0d80e75d68dawrowe unsigned char *rdi_data; /* record data */
268ac122b1fd6fa948b30bdf0d8c0d80e75d68dawrowe</programlisting>
6ba861fd6c705eaeb1f9bb97df86ddea6895e263minfrinstruct rrsetinfo {
6ba861fd6c705eaeb1f9bb97df86ddea6895e263minfrin unsigned int rri_flags; /* RRSET_VALIDATED... */
6ba861fd6c705eaeb1f9bb97df86ddea6895e263minfrin unsigned int rri_rdclass; /* class number */
268ac122b1fd6fa948b30bdf0d8c0d80e75d68dawrowe unsigned int rri_rdtype; /* RR type number */
b78ed256f4b99e72836d36fd68d4e7a26dbe032cianh unsigned int rri_ttl; /* time to live */
b78ed256f4b99e72836d36fd68d4e7a26dbe032cianh unsigned int rri_nrdatas; /* size of rdatas array */
b78ed256f4b99e72836d36fd68d4e7a26dbe032cianh unsigned int rri_nsigs; /* size of sigs array */
698670444b30b79e808155739f98c39bec35f72awrowe char *rri_name; /* canonical name */
e7ec1c54206901c9369e40f471b71836c78e017dwrowe struct rdatainfo *rri_rdatas; /* individual records */
698670444b30b79e808155739f98c39bec35f72awrowe struct rdatainfo *rri_sigs; /* individual signatures */
57bea0f0559e31536af3b7b5859d3681ee29a34cwrowe</programlisting>
57bea0f0559e31536af3b7b5859d3681ee29a34cwrowe </refsynopsisdiv>
94e2b2d12fa269af16fa63a6270d3336d9f126f2trawick gets a set of resource records associated with a
94e2b2d12fa269af16fa63a6270d3336d9f126f2trawick <parameter>hostname</parameter>, <parameter>class</parameter>,
35313c8d7368125c3e95d3118238d2be9a613000trawick null-terminated string. The <parameter>flags</parameter> field
55da18d54a0ba74dc51aecba5b0daf71a2ed10a7trawick is currently unused and must be zero.
55da18d54a0ba74dc51aecba5b0daf71a2ed10a7trawick After a successful call to
c51f2b89da23e3371959a74808dee1792d96f5c1wsanchez <type>rrsetinfo</type> structure, containing a list of one or
c51f2b89da23e3371959a74808dee1792d96f5c1wsanchez more <type>rdatainfo</type> structures containing resource
c51f2b89da23e3371959a74808dee1792d96f5c1wsanchez records and potentially another list of <type>rdatainfo</type>
c51f2b89da23e3371959a74808dee1792d96f5c1wsanchez structures containing SIG resource records associated with those
79c9b0ac498d97336874edba0daf9f544ad14671trawick records. The members <constant>rri_rdclass</constant> and
79c9b0ac498d97336874edba0daf9f544ad14671trawick <constant>rri_rdtype</constant> are copied from the parameters.
79c9b0ac498d97336874edba0daf9f544ad14671trawick <constant>rri_ttl</constant> and <constant>rri_name</constant>
79c9b0ac498d97336874edba0daf9f544ad14671trawick are properties of the obtained rrset. The resource records
5a7d934619b2be92e18be5dd3366f4ac6ddeab43trawick <constant>rri_sigs</constant> are in uncompressed DNS wire
5a7d934619b2be92e18be5dd3366f4ac6ddeab43trawick format. Properties of the rdataset are represented in the
5a7d934619b2be92e18be5dd3366f4ac6ddeab43trawick <constant>rri_flags</constant> bitfield. If the RRSET_VALIDATED
5a70e5b66eb7758d0e64e070211f699fc83fca70wrowe bit is set, the data has been DNSSEC validated and the
5a70e5b66eb7758d0e64e070211f699fc83fca70wrowe signatures verified.
5a70e5b66eb7758d0e64e070211f699fc83fca70wrowe All of the information returned by
84eeb0ab12215fc22577a9a0a9589cea2a445712trawick <function>lwres_getrrsetbyname()</function> is dynamically
1d3fbd2d9f03c0826977d940a2081401edf522d4jerenkrantz <constant>rdatainfo</constant> structures, and the canonical
1d3fbd2d9f03c0826977d940a2081401edf522d4jerenkrantz host name strings pointed to by the
e4bb84f3c11f282d3ba66f64940b1b8e13f85e7aslive Memory allocated for the dynamically allocated structures
e4bb84f3c11f282d3ba66f64940b1b8e13f85e7aslive created by a successful call to
e4bb84f3c11f282d3ba66f64940b1b8e13f85e7aslive <function>lwres_getrrsetbyname()</function> is released by
e4bb84f3c11f282d3ba66f64940b1b8e13f85e7aslive <parameter>rrset</parameter> is a pointer to a <type>struct
e4bb84f3c11f282d3ba66f64940b1b8e13f85e7aslive rrset</type> created by a call to
756b54396a86db555817bb52149d91b60d00e35fwrowe </refsection>
b4251d1fbef86f96e01c68f8de086e0dbb8bcb74trawick returns zero on success, and one of the following error codes if
b4251d1fbef86f96e01c68f8de086e0dbb8bcb74trawick an error occurred:
b4251d1fbef86f96e01c68f8de086e0dbb8bcb74trawick <variablelist>
24efed0910118b762a4eb84830875d4714b8d315ianh <varlistentry>
bdbafc44d060509e86f0cc56ff4d19579438f846striker the name does not exist
bdbafc44d060509e86f0cc56ff4d19579438f846striker </listitem>
fbd0c3dbae333ba4a7225dad2d090419ad894e4ctrawick </varlistentry>
bdbafc44d060509e86f0cc56ff4d19579438f846striker <varlistentry>
6d0ec39a3ef89ce485f23008efa399b7b35bf1fdjwoolley the name exists, but does not have data of the desired type
0fdf8c342123fde84405b885fb1720ebc652e10djerenkrantz </varlistentry>
0fdf8c342123fde84405b885fb1720ebc652e10djerenkrantz <varlistentry>
0fdf8c342123fde84405b885fb1720ebc652e10djerenkrantz <term><constant>ERRSET_NOMEMORY</constant></term>
6b87b6eee6a43f40ef6bead9ef3173979b4cd76crbb <listitem>
6b87b6eee6a43f40ef6bead9ef3173979b4cd76crbb memory could not be allocated
6b87b6eee6a43f40ef6bead9ef3173979b4cd76crbb </listitem>
bfd2cedbf2918fcb95daa9f850ecdf5e24765c22jerenkrantz </varlistentry>
bfd2cedbf2918fcb95daa9f850ecdf5e24765c22jerenkrantz <varlistentry>
a250599aab6669d5877edf158032efd2538e5820trawick a parameter is invalid
a250599aab6669d5877edf158032efd2538e5820trawick </listitem>
a250599aab6669d5877edf158032efd2538e5820trawick </varlistentry>
41338e6ead3fa8d60ad3841d069f4b47e71d9177wrowe <varlistentry>
92b0ffb9cbc04b3d9c7ce6becadc0c3d88dea2d9wrowe other failure
961ff00a8f1fe79a8ac8b18617b40a404e28cb35brianp </listitem>
961ff00a8f1fe79a8ac8b18617b40a404e28cb35brianp </varlistentry>
92b0ffb9cbc04b3d9c7ce6becadc0c3d88dea2d9wrowe <varlistentry>
6a82dfd37385024d0e94e71edd2f46b609796cfdwrowe </listitem>
6a82dfd37385024d0e94e71edd2f46b609796cfdwrowe </varlistentry>
6a82dfd37385024d0e94e71edd2f46b609796cfdwrowe </variablelist>
c43fd8f8f90a7549bffe1e581eedbd087db1163estoddard </refsection>
854cc4d3451547c2359c27870a3c354ad385a49bianh <refentrytitle>lwres</refentrytitle><manvolnum>3</manvolnum>
854cc4d3451547c2359c27870a3c354ad385a49bianh </citerefentry>.
02ec77ed8e15b4b601de98a322e4bd8d7d3e1ec2trawick </refsection>