NAME ldnsrr, ldnsrrclass, ldnsrrtype, ldnsrrcompress, ldnsrrlist SYNOPSIS
#include
#include
#include
DESCRIPTION ldnsrr Resource Record This is the basic DNS element that contains actual data From RFC1035: 3.2.1. Format All RRs have the same top level format shown below: 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +++++++++++++++++ | | / / / NAME / | | +++++++++++++++++ | TYPE | +++++++++++++++++ | CLASS | +++++++++++++++++ | TTL | | | +++++++++++++++++ | RDLENGTH | ++++++++++++++++| / RDATA / / / +++++++++++++++++ where: NAME an owner name, i.e., the name of the node to which this resource record pertains. TYPE two octets containing one of the RR TYPE codes. CLASS two octets containing one of the RR CLASS codes. TTL a 32 bit signed integer that specifies the time interval that the resource record may be cached before the source of the information should again be consulted. Zero values are interpreted to mean that the RR can only be used for the transaction in progress, and should not be cached. For example, SOA records are always distributed with a zero TTL to prohibit caching. Zero val‐ ues can also be used for extremely volatile data. RDLENGTH an unsigned 16 bit integer that specifies the length in octets of the RDATA field. RDATA a variable length string of octets that describes the resource. The format of this information varies according to the TYPE and CLASS of the resource record.The actual amount and type of rdata fields depend on the RR type of the RR, and can be found by using \ref ldnsrrdescriptor functions. struct ldnsstructrr { Owner name, uncompressed: ldnsrdf *owner; Time to live: uint32t ttl; Number of data fields: sizet rdcount; the type of the RR. A, MX etc.: ldnsrrtype rrtype; Class of the resource record.: ldnsrrclass rrclass; /* everything in the rdata is in network order */ The array of rdata's: ldnsrdf **rdatafields; /** question rr [it would be nicer if thous is after rdcount] ABI change: Fix this in next major release */ bool rrquestion; }; typedef struct ldnsstructrr ldnsrr; ldnsrrclass The different RR classes. enum ldnsenumrrclass { the Internet: LDNSRRCLASSIN = 1, Chaos class: LDNSRRCLASSCH = 3, Hesiod (Dyer 87): LDNSRRCLASSHS = 4, None class, dynamic update: LDNSRRCLASSNONE = 254, Any class: LDNSRRCLASSANY = 255, LDNSRRCLASSFIRST = 0, LDNSRRCLASSLAST = 65535,LDNSRRCLASSCOUNT = LDNSRRCLASSLAST - LDNSRRCLASSFIRST + 1 }; typedef enum ldnsenumrrclass ldnsrrclass; ldnsrrtype The different RR types. enum ldnsenumrrtype { a host address: LDNSRRTYPEA = 1, an authoritative name server: LDNSRRTYPENS = 2,
a mail destination (Obsolete - use MX): LDNSRRTYPEMD = 3,
a mail forwarder (Obsolete - use MX): LDNSRRTYPEMF = 4, the canonical name for an alias: LDNSRRTYPECNAME = 5, marks the start of a zone of authority: LDNSRRTYPESOA = 6, a mailbox domain name (EXPERIMENTAL): LDNSRRTYPEMB = 7, a mail group member (EXPERIMENTAL): LDNSRRTYPEMG = 8, a mail rename domain name (EXPERIMENTAL): LDNSRRTYPEMR = 9, a null RR (EXPERIMENTAL): LDNSRRTYPENULL = 10, a well known service description: LDNSRRTYPEWKS = 11, a domain name pointer: LDNSRRTYPEPTR = 12, host information: LDNSRRTYPEHINFO = 13, mailbox or mail list information: LDNSRRTYPEMINFO = 14, mail exchange: LDNSRRTYPEMX = 15, text strings: LDNSRRTYPETXT = 16, RFC1183: LDNSRRTYPERP = 17, RFC1183: LDNSRRTYPEAFSDB = 18, RFC1183: LDNSRRTYPEX25 = 19, RFC1183: LDNSRRTYPEISDN = 20, RFC1183: LDNSRRTYPERT = 21, RFC1706: LDNSRRTYPENSAP = 22, RFC1348: LDNSRRTYPENSAPPTR = 23, 2535typecode: LDNSRRTYPESIG = 24, 2535typecode: LDNSRRTYPEKEY = 25, RFC2163: LDNSRRTYPEPX = 26, RFC1712: LDNSRRTYPEGPOS = 27, ipv6 address: LDNSRRTYPEAAAA = 28, LOC record RFC1876: LDNSRRTYPELOC = 29, 2535typecode: LDNSRRTYPENXT = 30,
draft-ietf-nimrod-dns-01.txt: LDNSRRTYPEEID = 31,
draft-ietf-nimrod-dns-01.txt: LDNSRRTYPENIMLOC = 32, SRV record RFC2782: LDNSRRTYPESRV = 33,
http://www.jhsoft.com/rfc/af-saa-0069.000.rtf: LDNSRRTYPEATMA = 34, RFC2915: LDNSRRTYPENAPTR = 35, RFC2230: LDNSRRTYPEKX = 36, RFC2538: LDNSRRTYPECERT = 37, RFC2874: LDNSRRTYPEA6 = 38, RFC2672: LDNSRRTYPEDNAME = 39,
dnsind-kitchen-sink-02.txt: LDNSRRTYPESINK = 40, Pseudo OPT record...: LDNSRRTYPEOPT = 41, RFC3123: LDNSRRTYPEAPL = 42,
draft-ietf-dnsext-delegation: LDNSRRTYPEDS = 43, SSH Key Fingerprint: LDNSRRTYPESSHFP = 44, /* RFC 4255 */ IPsec Key: LDNSRRTYPEIPSECKEY = 45, /* RFC 4025 */ DNSSEC: LDNSRRTYPERRSIG = 46, /* RFC 4034 */ LDNSRRTYPENSEC = 47, /* RFC 4034 */ LDNSRRTYPEDNSKEY = 48, /* RFC 4034 */ LDNSRRTYPEDHCID = 49, /* RFC 4701 */ /* NSEC3 */ LDNSRRTYPENSEC3 = 50, /* RFC 5155 */ LDNSRRTYPENSEC3PARAM = 51, /* RFC 5155 */ LDNSRRTYPENSEC3PARAMS = 51,
draft-ietf-dane-protocol: LDNSRRTYPETLSA = 52,
draft-ietf-dnsop-trust-history: LDNSRRTYPETALINK = 58, LDNSRRTYPESPF = 99, LDNSRRTYPEUINFO = 100, LDNSRRTYPEUID = 101, LDNSRRTYPEGID = 102, LDNSRRTYPEUNSPEC = 103, LDNSRRTYPETSIG = 250, LDNSRRTYPEIXFR = 251, LDNSRRTYPEAXFR = 252,
A request for mailbox-related records (MB, MG or MR): LDNSRRTYPEMAILB = 253,
A request for mail agent RRs (Obsolete - see MX): LDNSRRTYPEMAILA = 254, any type (wildcard): LDNSRRTYPEANY = 255, /* RFC 4431, 5074, DNSSEC Lookaside Validation */ LDNSRRTYPEDLV = 32769, /* type codes from nsec3 experimental phase LDNSRRTYPENSEC3 = 65324, LDNSRRTYPENSEC3PARAMS = 65325, */ LDNSRRTYPEFIRST = 0, LDNSRRTYPELAST = 65535,
LDNSRRTYPECOUNT = LDNSRRTYPELAST - LDNSRRTYPEFIRST + 1 }; typedef enum ldnsenumrrtype ldnsrrtype; ldnsrrcompress Used to specify whether compression is allowed. enum ldnsenumrrcompress { compression is allowed: LDNSRRCOMPRESS, LDNSRRNOCOMPRESS }; typedef enum ldnsenumrrcompress ldnsrrcompress; ldnsrrlist List or Set of Resource Records Contains a list of rr's
No official RFC-like checks are made struct ldnsstructrrlist { sizet rrcount; sizet rrcapacity; ldnsrr **rrs; }; typedef struct ldnsstructrrlist ldnsrrlist; AUTHOR The ldns team at NLnet Labs. Which consists out of Jelte Jansen and Miek Gieben. REPORTING BUGS
Please report bugs to ldns-team@nlnetlabs.nl or in our bugzilla at http://www.nlnetlabs.nl/bugs/index.html COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs. Licensed under the BSD License. There is NO warranty; not even for MER‐ CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. SEE ALSO ldnsrrnew, ldnsrrnewfrmtype, ldnsrrnewfrmstr, ldnsrrnewfrmfp, ldnsrrfree, ldnsrrprint, ldnsrrsetowner, ldnsrrsetttl, ldnsrrsettype, ldnsrrsetrdcount, ldnsrrsetclass, ldnsrrsetrdf, ldnsrrpushrdf, ldnsrrpoprdf, ldnsrrrdf, ldnsrrowner, ldnsrrrdcount, ldnsrrttl, ldnsrrgetclass, ldnsrrlistrrcount, ldnsrrlistsetrrcount, ldnsrrlistnew, ldnsrrlistfree, ldnsrrlistcat, ldnsrrlistpushrr, ldnsrrlistpoprr, ldnsisrrset, ldnsrrsetpushrr, ldnsrrsetpoprr, ldnsgetrrclassbyname, ldnsgetrrtypebyname, ldnsrrlistclone, ldnsrrlistsort, ldnsrrcompare, ldnsrrcompareds, ldnsrruncompressedsize, ldnsrr2canonical, ldnsrrlabelcount, ldnsisrrset, ldnsrrdescrip‐ tor, ldnsrrdescript. And perldoc Net::DNS, RFC1034, RFC1035, RFC4033, RFC4034 and RFC4035. REMARKS This manpage was automaticly generated from the ldns source code by use of Doxygen and some perl. 30 May 2006 ldns(3)