lwres_getrrsetbyname.html revision c651f15b30f1dae5cc2f00878fb5da5b3a35a468
306763c67bb99228487345b32ab8c5c6cd41f23cChristian Maeder - Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder - Copyright (C) 2000, 2001 Internet Software Consortium.
306763c67bb99228487345b32ab8c5c6cd41f23cChristian Maeder - Permission to use, copy, modify, and distribute this software for any
b4fbc96e05117839ca409f5f20f97b3ac872d1edTill Mossakowski - purpose with or without fee is hereby granted, provided that the above
306763c67bb99228487345b32ab8c5c6cd41f23cChristian Maeder - copyright notice and this permission notice appear in all copies.
95c3e5d11dcee331dc3876a9bf0c1d6daa38e2caChristian Maeder - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
f3a94a197960e548ecd6520bb768cb0d547457bbChristian Maeder - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
679d3f541f7a9ede4079e045f7758873bb901872Till Mossakowski - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
679d3f541f7a9ede4079e045f7758873bb901872Till Mossakowski - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
306763c67bb99228487345b32ab8c5c6cd41f23cChristian Maeder - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
306763c67bb99228487345b32ab8c5c6cd41f23cChristian Maeder - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maeder - PERFORMANCE OF THIS SOFTWARE.
d21dd452cd68abade683103a5c0cfe6d02c5f17bTill Mossakowski<!-- $Id: lwres_getrrsetbyname.html,v 1.11 2005/04/07 03:50:03 marka Exp $ -->
95c3e5d11dcee331dc3876a9bf0c1d6daa38e2caChristian Maeder<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maeder>lwres_getrrsetbyname</TITLE
ba904a15082557e939db689fcfba0c68c9a4f740Christian MaederNAME="GENERATOR"
7bf4436b6f9987b070033a323757b206c898c1beChristian MaederCONTENT="Modular DocBook HTML Stylesheet Version 1.79"></HEAD
9603ad7198b72e812688ad7970e4eac4b553837aKlaus LuettichCLASS="REFENTRY"
0799b5dc3f06d2640e66e9ab54b8b217348fd719Christian MaederBGCOLOR="#FFFFFF"
2d2826f9db2c17275f91b0104940a60a2f9fd44dChristian MaederTEXT="#000000"
ba904a15082557e939db689fcfba0c68c9a4f740Christian MaederLINK="#0000FF"
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian MaederVLINK="#840084"
ba904a15082557e939db689fcfba0c68c9a4f740Christian MaederALINK="#0000FF"
58b671de3fe578346fef9642ffa3c5a0a0edb3cbTill Mossakowski>lwres_getrrsetbyname</H1
ba904a15082557e939db689fcfba0c68c9a4f740Christian MaederCLASS="REFNAMEDIV"
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maeder>lwres_getrrsetbyname, lwres_freerrset -- retrieve DNS records</DIV
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian MaederCLASS="REFSYNOPSISDIV"
c83546084a1344bb2ef752b83d0e082823508db2Christian MaederCLASS="FUNCSYNOPSIS"
cc88b37a3fcafdb1d6bba895ee22e8322f42c1ccChristian MaederCLASS="FUNCSYNOPSISINFO"
1b05bdb88b90d3c947351f262d7ae7d68f0a4a6fTill MossakowskiCLASS="FUNCDEF"
74885352ea11b26253d453af28dc904dadc4d530Christian Maederlwres_getrrsetbyname</CODE
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maeder>(const char *hostname, unsigned int rdclass, unsigned int rdtype, unsigned int flags, struct rrsetinfo **res);</CODE
3bcd9d942601d59dd55a6069d8b2d1c33d7ced0eChristian MaederCLASS="FUNCDEF"
dc8100ead1e97ea34c9ff3fe4af14d37510bf8aeChristian Maederlwres_freerrset</CODE
dc8100ead1e97ea34c9ff3fe4af14d37510bf8aeChristian Maeder>(struct rrsetinfo *rrset);</CODE
f0e85ee7e4accfc01f46aa0363acc59fcd248e8aTill Mossakowski>The following structures are used:
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian MaederCLASS="PROGRAMLISTING"
f0e85ee7e4accfc01f46aa0363acc59fcd248e8aTill Mossakowski>struct rdatainfo {
dc8100ead1e97ea34c9ff3fe4af14d37510bf8aeChristian Maeder unsigned int rdi_length; /* length of data */
a3bcb365497d592616a4e527b426ec210dcd385cChristian Maeder unsigned char *rdi_data; /* record data */
3bcd9d942601d59dd55a6069d8b2d1c33d7ced0eChristian Maederstruct rrsetinfo {
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maeder unsigned int rri_flags; /* RRSET_VALIDATED... */
a3bcb365497d592616a4e527b426ec210dcd385cChristian Maeder unsigned int rri_rdclass; /* class number */
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maeder unsigned int rri_rdtype; /* RR type number */
3bcd9d942601d59dd55a6069d8b2d1c33d7ced0eChristian Maeder unsigned int rri_ttl; /* time to live */
3bcd9d942601d59dd55a6069d8b2d1c33d7ced0eChristian Maeder unsigned int rri_nrdatas; /* size of rdatas array */
3bcd9d942601d59dd55a6069d8b2d1c33d7ced0eChristian Maeder unsigned int rri_nsigs; /* size of sigs array */
3bcd9d942601d59dd55a6069d8b2d1c33d7ced0eChristian Maeder char *rri_name; /* canonical name */
a3bcb365497d592616a4e527b426ec210dcd385cChristian Maeder struct rdatainfo *rri_rdatas; /* individual records */
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maeder struct rdatainfo *rri_sigs; /* individual signatures */
3bcd9d942601d59dd55a6069d8b2d1c33d7ced0eChristian MaederCLASS="REFSECT1"
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maeder>DESCRIPTION</H2
15bceb77af626f79747d46d35979640f229a4c71Christian MaederCLASS="FUNCTION"
15bceb77af626f79747d46d35979640f229a4c71Christian Maeder>lwres_getrrsetbyname()</CODE
0ea2cddb8715a770e646895e16b7b8085f49167cChristian Maedergets a set of resource records associated with a
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian MaederCLASS="PARAMETER"
a3bcb365497d592616a4e527b426ec210dcd385cChristian Maeder>hostname</CODE
a3bcb365497d592616a4e527b426ec210dcd385cChristian MaederCLASS="PARAMETER"
42972ddff400840d46eb54422b60083228b2996cChristian MaederCLASS="PARAMETER"
42972ddff400840d46eb54422b60083228b2996cChristian MaederCLASS="PARAMETER"
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maeder>hostname</CODE
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maedera pointer a to null-terminated string. The
0ea2cddb8715a770e646895e16b7b8085f49167cChristian MaederCLASS="PARAMETER"
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maederfield is currently unused and must be zero.</P
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maeder>After a successful call to
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian MaederCLASS="FUNCTION"
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maeder>lwres_getrrsetbyname()</CODE
3bcd9d942601d59dd55a6069d8b2d1c33d7ced0eChristian MaederCLASS="PARAMETER"
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maederis a pointer to an
ba94e132a4f88a5eb1ff0977e041b824c99d6a7fChristian Maeder>rrsetinfo</SPAN
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maederstructure, containing a list of one or more
f1d04fe5072b827d9cc490ebdbca78108241a392Christian Maeder>rdatainfo</SPAN
f1d04fe5072b827d9cc490ebdbca78108241a392Christian Maederstructures containing resource records and potentially another list of
f1d04fe5072b827d9cc490ebdbca78108241a392Christian Maeder>rdatainfo</SPAN
f1d04fe5072b827d9cc490ebdbca78108241a392Christian Maederstructures containing SIG resource records
f1d04fe5072b827d9cc490ebdbca78108241a392Christian Maederassociated with those records.
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian MaederCLASS="CONSTANT"
74885352ea11b26253d453af28dc904dadc4d530Christian Maeder>rri_rdclass</CODE
1b05bdb88b90d3c947351f262d7ae7d68f0a4a6fTill MossakowskiCLASS="CONSTANT"
1b05bdb88b90d3c947351f262d7ae7d68f0a4a6fTill Mossakowski>rri_rdtype</CODE
21dae7237ac384abdb94a81e00b3f099873ec623Till Mossakowskiare copied from the parameters.
e379124f467e5d0ef7d3c0ca238bff0521f70831Till MossakowskiCLASS="CONSTANT"
e379124f467e5d0ef7d3c0ca238bff0521f70831Till Mossakowski>rri_ttl</CODE
503e836b34d3abed34520eb4a0a345b5e13f248dTill MossakowskiCLASS="CONSTANT"
e379124f467e5d0ef7d3c0ca238bff0521f70831Till Mossakowski>rri_name</CODE
e379124f467e5d0ef7d3c0ca238bff0521f70831Till Mossakowskiare properties of the obtained rrset.
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian MaederThe resource records contained in
e379124f467e5d0ef7d3c0ca238bff0521f70831Till MossakowskiCLASS="CONSTANT"
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maeder>rri_rdatas</CODE
ff49754b0e0b7ca133a66ce6c0b240c55128cde1Heng JiangCLASS="CONSTANT"
95c3e5d11dcee331dc3876a9bf0c1d6daa38e2caChristian Maeder>rri_sigs</CODE
8db14bfdbfec2f153de435718d748fe5e22fd634Heng Jiangare in uncompressed DNS wire format.
ff49754b0e0b7ca133a66ce6c0b240c55128cde1Heng JiangProperties of the rdataset are represented in the
26ed2a19326560786ff94dfc462309d6d5d862a8Heng JiangCLASS="CONSTANT"
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maeder>rri_flags</CODE
26ed2a19326560786ff94dfc462309d6d5d862a8Heng Jiangbitfield. If the RRSET_VALIDATED bit is set, the data has been DNSSEC
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maedervalidated and the signatures verified. </P
7297175957c5ad3c0498032190b1dee9ec5fb873Christian Maeder>All of the information returned by
26ed2a19326560786ff94dfc462309d6d5d862a8Heng JiangCLASS="FUNCTION"
26ed2a19326560786ff94dfc462309d6d5d862a8Heng Jiang>lwres_getrrsetbyname()</CODE
7297175957c5ad3c0498032190b1dee9ec5fb873Christian Maederis dynamically allocated: the
7297175957c5ad3c0498032190b1dee9ec5fb873Christian MaederCLASS="CONSTANT"
7297175957c5ad3c0498032190b1dee9ec5fb873Christian Maeder>rrsetinfo</CODE
2d2826f9db2c17275f91b0104940a60a2f9fd44dChristian MaederCLASS="CONSTANT"
2d2826f9db2c17275f91b0104940a60a2f9fd44dChristian Maeder>rdatainfo</CODE
948f37fdb71c544ff4c907bc5863702648cf36e4Christian Maederand the canonical host name strings pointed to by the
948f37fdb71c544ff4c907bc5863702648cf36e4Christian MaederCLASS="CONSTANT"
948f37fdb71c544ff4c907bc5863702648cf36e4Christian Maeder>rrsetinfo</CODE
1b05bdb88b90d3c947351f262d7ae7d68f0a4a6fTill MossakowskiMemory allocated for the dynamically allocated structures created by
21dae7237ac384abdb94a81e00b3f099873ec623Till Mossakowskia successful call to
21dae7237ac384abdb94a81e00b3f099873ec623Till MossakowskiCLASS="FUNCTION"
21dae7237ac384abdb94a81e00b3f099873ec623Till Mossakowski>lwres_getrrsetbyname()</CODE
e379124f467e5d0ef7d3c0ca238bff0521f70831Till Mossakowskiis released by
e379124f467e5d0ef7d3c0ca238bff0521f70831Till MossakowskiCLASS="FUNCTION"
948f37fdb71c544ff4c907bc5863702648cf36e4Christian Maeder>lwres_freerrset()</CODE
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian MaederCLASS="PARAMETER"
e379124f467e5d0ef7d3c0ca238bff0521f70831Till Mossakowskiis a pointer to a
74e82e43f5787027c5d4e523397525a259d6d001Christian Maeder>struct rrset</SPAN
e379124f467e5d0ef7d3c0ca238bff0521f70831Till Mossakowskicreated by a call to
f1d04fe5072b827d9cc490ebdbca78108241a392Christian MaederCLASS="FUNCTION"
f1d04fe5072b827d9cc490ebdbca78108241a392Christian Maeder>lwres_getrrsetbyname()</CODE
6a57a555c8ef0a79aa5d20e1d721400dbffa564aMaciek MakowskiCLASS="REFSECT1"
2d2826f9db2c17275f91b0104940a60a2f9fd44dChristian Maeder>RETURN VALUES</H2
2d2826f9db2c17275f91b0104940a60a2f9fd44dChristian MaederCLASS="FUNCTION"
320198216ed3bde106b509c4024b857ce4345880Maciek Makowski>lwres_getrrsetbyname()</CODE
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maederreturns zero on success, and one of the following error
e182d0ec56025d97d74829cac75ee31eec12b093Maciek Makowskicodes if an error occurred:
e182d0ec56025d97d74829cac75ee31eec12b093Maciek MakowskiCLASS="VARIABLELIST"
7297175957c5ad3c0498032190b1dee9ec5fb873Christian MaederCLASS="CONSTANT"
7297175957c5ad3c0498032190b1dee9ec5fb873Christian Maeder>ERRSET_NONAME</CODE
e182d0ec56025d97d74829cac75ee31eec12b093Maciek Makowski>the name does not exist</P
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian MaederCLASS="CONSTANT"
e182d0ec56025d97d74829cac75ee31eec12b093Maciek Makowski>ERRSET_NODATA</CODE
7297175957c5ad3c0498032190b1dee9ec5fb873Christian Maeder>the name exists, but does not have data of the desired type</P
7297175957c5ad3c0498032190b1dee9ec5fb873Christian MaederCLASS="CONSTANT"
7297175957c5ad3c0498032190b1dee9ec5fb873Christian Maeder>ERRSET_NOMEMORY</CODE
1b05bdb88b90d3c947351f262d7ae7d68f0a4a6fTill Mossakowski>memory could not be allocated</P
948f37fdb71c544ff4c907bc5863702648cf36e4Christian MaederCLASS="CONSTANT"
948f37fdb71c544ff4c907bc5863702648cf36e4Christian Maeder>ERRSET_INVAL</CODE
b4b6cffb6746d672e2bb558b72f616f97ac98316Till Mossakowski>a parameter is invalid</P
b4b6cffb6746d672e2bb558b72f616f97ac98316Till MossakowskiCLASS="CONSTANT"
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian Maeder>ERRSET_FAIL</CODE
b4b6cffb6746d672e2bb558b72f616f97ac98316Till Mossakowski>other failure</P
c092fcac4b8f5c524c22ca579189c4487c13edf7Christian MaederCLASS="CONSTANT"
948f37fdb71c544ff4c907bc5863702648cf36e4Christian MaederCLASS="REFSECT1"
948f37fdb71c544ff4c907bc5863702648cf36e4Christian MaederCLASS="CITEREFENTRY"
1b05bdb88b90d3c947351f262d7ae7d68f0a4a6fTill MossakowskiCLASS="REFENTRYTITLE"