lwres_getrrsetbyname.docbook revision 83a28ca274521e15086fc39febde507bcc4e145e
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder<!--
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder - Copyright (C) 2000, 2001, 2004, 2005, 2007, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder -
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder - This Source Code Form is subject to the terms of the Mozilla Public
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder - License, v. 2.0. If a copy of the MPL was not distributed with this
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder - file, You can obtain one at http://mozilla.org/MPL/2.0/.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder-->
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder<!-- Converted by db4-upgrade version 1.0 -->
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder<refentry xmlns:db="http://docbook.org/ns/docbook" version="5.0">
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder <info>
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder <date>2007-06-18</date>
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder </info>
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder <refentryinfo>
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder <corpname>ISC</corpname>
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder <corpauthor>Internet Systems Consortium, Inc.</corpauthor>
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder </refentryinfo>
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettich
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettich <refmeta>
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettich <refentrytitle>lwres_getrrsetbyname</refentrytitle>
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettich <manvolnum>3</manvolnum>
a737caf82de97c1907027c03e4b4509eb492b4b8Christian Maeder <refmiscinfo>BIND9</refmiscinfo>
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich </refmeta>
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian Maeder
01e383014b555bbcf639c0ca60c5810b3eff83c0Christian Maeder <docinfo>
3b06e23643a9f65390cb8c1caabe83fa7e87a708Till Mossakowski <copyright>
df29370ae8d8b41587957f6bcdcb43a3f1927e47Christian Maeder <year>2000</year>
b8c7e78f1bdddca2903d5008a4e47052b4225634Christian Maeder <year>2001</year>
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder <year>2004</year>
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski <year>2005</year>
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder <year>2007</year>
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder <year>2014</year>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder <year>2015</year>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder <year>2016</year>
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder </copyright>
2e2094a642e3775b0d76b890556407941d3a53b6Christian Maeder </docinfo>
2e2094a642e3775b0d76b890556407941d3a53b6Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder <refnamediv>
e8db9a65830cf71504e33c6f441a67b4d184a3caChristian Maeder <refname>lwres_getrrsetbyname</refname>
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder <refname>lwres_freerrset</refname>
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder <refpurpose>retrieve DNS records</refpurpose>
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder </refnamediv>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder <refsynopsisdiv>
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder <funcsynopsis>
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich<funcsynopsisinfo>#include &lt;lwres/netdb.h&gt;</funcsynopsisinfo>
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maeder<funcprototype>
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich <funcdef>
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettichint
4d56f2fa72e4aec20eb827c11ed49c8cbb7014bdChristian Maeder<function>lwres_getrrsetbyname</function></funcdef>
4cb215739e9ab13447fa21162482ebe485b47455Christian Maeder <paramdef>const char *<parameter>hostname</parameter></paramdef>
8ef75f1cc0437656bf622cec5ac9e8ea221da8f2Christian Maeder <paramdef>unsigned int <parameter>rdclass</parameter></paramdef>
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich <paramdef>unsigned int <parameter>rdtype</parameter></paramdef>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder <paramdef>unsigned int <parameter>flags</parameter></paramdef>
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian Maeder <paramdef>struct rrsetinfo **<parameter>res</parameter></paramdef>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder </funcprototype>
55adfe57a4de1f36adc3e3bfc16f342e44a7d444Christian Maeder<funcprototype>
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder <funcdef>
8d97ef4f234681b11bb5924bd4d03adef858d2d2Christian Maedervoid
8d97ef4f234681b11bb5924bd4d03adef858d2d2Christian Maeder<function>lwres_freerrset</function></funcdef>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder <paramdef>struct rrsetinfo *<parameter>rrset</parameter></paramdef>
e593b89bfd4952698dc37feced21cefe869d87a2Christian Maeder </funcprototype>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder</funcsynopsis>
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
7cc09dd93962a2155c34d209d1d4cd7d7b838264Christian Maeder <para>
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder The following structures are used:
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder </para>
f041c9a6bda23de33a38490e35b831ae18d96b45Christian Maeder <para><programlisting>
7cc09dd93962a2155c34d209d1d4cd7d7b838264Christian Maederstruct rdatainfo {
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder unsigned int rdi_length; /* length of data */
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder unsigned char *rdi_data; /* record data */
c3053d57f642ca507cdf79512e604437c4546cb9Christian Maeder};
dcbd32289a7bdf1e6edd06c6ab0698c6a9dbf37aChristian Maeder</programlisting>
dcbd32289a7bdf1e6edd06c6ab0698c6a9dbf37aChristian Maeder </para>
dcbd32289a7bdf1e6edd06c6ab0698c6a9dbf37aChristian Maeder <para><programlisting>
dcbd32289a7bdf1e6edd06c6ab0698c6a9dbf37aChristian Maederstruct rrsetinfo {
c2fcc35abb03cf0b4ca4b050efeb10827f38c322Christian Maeder unsigned int rri_flags; /* RRSET_VALIDATED... */
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder unsigned int rri_rdclass; /* class number */
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian Maeder unsigned int rri_rdtype; /* RR type number */
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian Maeder unsigned int rri_ttl; /* time to live */
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian Maeder unsigned int rri_nrdatas; /* size of rdatas array */
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian Maeder unsigned int rri_nsigs; /* size of sigs array */
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian Maeder char *rri_name; /* canonical name */
0206ab93ef846e4e0885996d052b9b73b9dc66b0Christian Maeder struct rdatainfo *rri_rdatas; /* individual records */
f13d1e86e58da53680e78043e8df182eed867efbChristian Maeder struct rdatainfo *rri_sigs; /* individual signatures */
c2a4d8ae266aa37cc922eba97077520229a19902Christian Maeder};
757e6c79ec40491d45dc72c82b5eb59a386634b0Jian Chun Wang</programlisting>
f041c9a6bda23de33a38490e35b831ae18d96b45Christian Maeder </para>
757e6c79ec40491d45dc72c82b5eb59a386634b0Jian Chun Wang </refsynopsisdiv>
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder
c6fcd42c6d6d9dae8c7835c24fcb7ce8531a9050Christian Maeder <refsection><info><title>DESCRIPTION</title></info>
31c49f2fa23d4ac089f35145d80a224deb6ea7e4Till Mossakowski
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich <para><function>lwres_getrrsetbyname()</function>
36f63902db2b3463faa9f59912ad106e2d5aaa24Klaus Luettich gets a set of resource records associated with a
36f63902db2b3463faa9f59912ad106e2d5aaa24Klaus Luettich <parameter>hostname</parameter>, <parameter>class</parameter>,
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder and <parameter>type</parameter>.
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder <parameter>hostname</parameter> is a pointer a to
8cacad2a09782249243b80985f28e9387019fe40Christian Maeder null-terminated string. The <parameter>flags</parameter> field
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder is currently unused and must be zero.
a7c27282e71cf4505026645f96d4f5cb8a284e32Christian Maeder </para>
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder <para>
8a28707e9155465c6f2236a06eac6580a65c7025Christian Maeder After a successful call to
df35538fec1d9135602308d577255c0d466b6365Christian Maeder <function>lwres_getrrsetbyname()</function>,
df35538fec1d9135602308d577255c0d466b6365Christian Maeder <parameter>*res</parameter> is a pointer to an
431d34c7007a787331c4e5ec997badb0f8190fc7Christian Maeder <type>rrsetinfo</type> structure, containing a list of one or
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder more <type>rdatainfo</type> structures containing resource
d3ae0072823e2ef0d41d4431fcc768e66489c20eChristian Maeder records and potentially another list of <type>rdatainfo</type>
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder structures containing SIG resource records associated with those
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder records. The members <constant>rri_rdclass</constant> and
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder <constant>rri_rdtype</constant> are copied from the parameters.
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder <constant>rri_ttl</constant> and <constant>rri_name</constant>
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder are properties of the obtained rrset. The resource records
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder contained in <constant>rri_rdatas</constant> and
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder <constant>rri_sigs</constant> are in uncompressed DNS wire
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder format. Properties of the rdataset are represented in the
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder <constant>rri_flags</constant> bitfield. If the RRSET_VALIDATED
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder bit is set, the data has been DNSSEC validated and the
a7c27282e71cf4505026645f96d4f5cb8a284e32Christian Maeder signatures verified.
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder </para>
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder <para>
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder All of the information returned by
776a1a086df734581431e6edb4343ed4c8d34d55Christian Maeder <function>lwres_getrrsetbyname()</function> is dynamically
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder allocated: the <constant>rrsetinfo</constant> and
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder <constant>rdatainfo</constant> structures, and the canonical
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder host name strings pointed to by the
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder <constant>rrsetinfo</constant>structure.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder Memory allocated for the dynamically allocated structures
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder created by a successful call to
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder <function>lwres_getrrsetbyname()</function> is released by
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder <function>lwres_freerrset()</function>.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder <parameter>rrset</parameter> is a pointer to a <type>struct
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder rrset</type> created by a call to
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder <function>lwres_getrrsetbyname()</function>.
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder </para>
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder <para/>
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder </refsection>
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder <refsection><info><title>RETURN VALUES</title></info>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder <para><function>lwres_getrrsetbyname()</function>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder returns zero on success, and one of the following error codes if
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder an error occurred:
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder <variablelist>
ad4889ebb40efae8595b0969dd6ba1162d52bac3Christian Maeder
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder <varlistentry>
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder <term><constant>ERRSET_NONAME</constant></term>
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder <listitem>
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder <para>
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder the name does not exist
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder </para>
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder </listitem>
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder </varlistentry>
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder <varlistentry>
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder <term><constant>ERRSET_NODATA</constant></term>
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder <listitem>
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder <para>
6ff7a91875597d6e4dfaa68c79187d01473e8341Christian Maeder the name exists, but does not have data of the desired type
6ff7a91875597d6e4dfaa68c79187d01473e8341Christian Maeder </para>
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder </listitem>
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder </varlistentry>
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder
a9b59eb2ce961014974276cdae0e9df4419bd212Christian Maeder <varlistentry>
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder <term><constant>ERRSET_NOMEMORY</constant></term>
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder <listitem>
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder <para>
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder memory could not be allocated
88318aafc287e92931dceffbb943d58a9310001dChristian Maeder </para>
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder </listitem>
a3c6d8e0670bf2aa71bc8e2a3b1f45d56dd65e4cChristian Maeder </varlistentry>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder <varlistentry>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder <term><constant>ERRSET_INVAL</constant></term>
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder <listitem>
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder <para>
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder a parameter is invalid
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder </para>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder </listitem>
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder </varlistentry>
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder <varlistentry>
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder <term><constant>ERRSET_FAIL</constant></term>
b568982efd0997d877286faa592d81b03c8c67b8Christian Maeder <listitem>
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder <para>
0be0db405c49906bd7057255069bf6df53395ac9Klaus Luettich other failure
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder </para>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder </listitem>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder </varlistentry>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder <varlistentry>
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder <term><constant/></term>
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder <listitem>
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder <para/>
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder </listitem>
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder </varlistentry>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder </variablelist>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder </para>
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder </refsection>
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder <refsection><info><title>SEE ALSO</title></info>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder <para><citerefentry>
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder <refentrytitle>lwres</refentrytitle><manvolnum>3</manvolnum>
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder </citerefentry>.
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder </para>
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder </refsection>
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder</refentry>
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder