ldns(3) Library Functions Manual ldns(3)

# [NAME](#NAME)

ldns\_rdf, ldns\_rdf\_type - rdata field type

# [SYNOPSIS](#SYNOPSIS)

#include &lt;stdint.h&gt;  
#include &lt;stdbool.h&gt;

#include &lt;ldns/ldns.h&gt;

# [DESCRIPTION](#DESCRIPTION)

*ldns\_rdf*  
Resource record data field.

The data is a network ordered array of bytes, which size is specified by  
the (16-bit) size field. To correctly parse it, use the type  
specified in the (16-bit) type field with a value from \\ref ldns\_rdf\_type.  
struct ldns\_struct\_rdf  
{  
**The size of the data (in octets):**  
size\_t \_size;  
**The type of the data:**  
ldns\_rdf\_type \_type;  
**Pointer to the data (raw octets):**  
void \*\_data;  
};  
typedef struct ldns\_struct\_rdf ldns\_rdf;

*ldns\_rdf\_type*  
The different types of RDATA fields.  
enum ldns\_enum\_rdf\_type  
{  
**none:**  
LDNS\_RDF\_TYPE\_NONE,  
**domain name:**  
LDNS\_RDF\_TYPE\_DNAME,  
**8 bits:**  
LDNS\_RDF\_TYPE\_INT8,  
**16 bits:**  
LDNS\_RDF\_TYPE\_INT16,  
**32 bits:**  
LDNS\_RDF\_TYPE\_INT32,  
**64 bits:**  
LDNS\_RDF\_TYPE\_INT64,  
**A record:**  
LDNS\_RDF\_TYPE\_A,  
**AAAA record:**  
LDNS\_RDF\_TYPE\_AAAA,  
**txt string:**  
LDNS\_RDF\_TYPE\_STR,  
**apl data:**  
LDNS\_RDF\_TYPE\_APL,  
**b32 string:**  
LDNS\_RDF\_TYPE\_B32\_EXT,  
**b64 string:**  
LDNS\_RDF\_TYPE\_B64,  
**hex string:**  
LDNS\_RDF\_TYPE\_HEX,  
**nsec type codes:**  
LDNS\_RDF\_TYPE\_NSEC,  
LDNS\_RDF\_TYPE\_BITMAP = LDNS\_RDF\_TYPE\_NSEC,  
**a RR type:**  
LDNS\_RDF\_TYPE\_TYPE,  
**a class:**  
LDNS\_RDF\_TYPE\_CLASS,  
**certificate algorithm:**  
LDNS\_RDF\_TYPE\_CERT\_ALG,  
**a key algorithm:**  
LDNS\_RDF\_TYPE\_ALG,  
**unknown types:**  
LDNS\_RDF\_TYPE\_UNKNOWN,  
**time (32 bits):**  
LDNS\_RDF\_TYPE\_TIME,  
**period:**  
LDNS\_RDF\_TYPE\_PERIOD,  
**tsig time 48 bits:**  
LDNS\_RDF\_TYPE\_TSIGTIME,  
/\** Represents the Public Key Algorithm, HIT and Public Key fields  
for the HIP RR types. A HIP specific rdf type is used because of  
the unusual layout in wireformat (see RFC 5205 Section 5) \*/  
LDNS\_RDF\_TYPE\_HIP,  
/\** variable length any type rdata where the length  
is specified by the first 2 bytes \*/  
LDNS\_RDF\_TYPE\_INT16\_DATA,  
**protocol and port bitmaps:**  
LDNS\_RDF\_TYPE\_SERVICE,  
**location data:**  
LDNS\_RDF\_TYPE\_LOC,  
**well known services:**  
LDNS\_RDF\_TYPE\_WKS,  
**NSAP:**  
LDNS\_RDF\_TYPE\_NSAP,  
**ATMA:**  
LDNS\_RDF\_TYPE\_ATMA,  
**IPSECKEY:**  
LDNS\_RDF\_TYPE\_IPSECKEY,  
**nsec3 hash salt:**  
LDNS\_RDF\_TYPE\_NSEC3\_SALT,  
**nsec3 base32 string (with length byte on wire:**  
LDNS\_RDF\_TYPE\_NSEC3\_NEXT\_OWNER,

/\** 4 shorts represented as 4 * 16 bit hex numbers  
\* separated by colons. For NID and L64.  
\*/  
LDNS\_RDF\_TYPE\_ILNP64,

**6 * 8 bit hex numbers separated by dashes. For EUI48.:**  
LDNS\_RDF\_TYPE\_EUI48,  
**8 * 8 bit hex numbers separated by dashes. For EUI64.:**  
LDNS\_RDF\_TYPE\_EUI64,

**Character string without quotes.:**  
LDNS\_RDF\_TYPE\_UNQUOTED,

/\** A non-zero sequence of US-ASCII letters and numbers in lower case.  
\* For CAA.  
\*/  
LDNS\_RDF\_TYPE\_TAG,

/\** A &lt;character-string&gt; encoding of the value field as specified  
\* \[RFC1035], Section 5.1., encoded as remaining rdata.  
\* For CAA.  
\*/  
LDNS\_RDF\_TYPE\_LONG\_STR,

/\** Since RFC7218 TLSA records can be given with mnemonics,  
\* hence these rdata field types. But as with DNSKEYs, the output  
\* is always numeric.  
\*/  
LDNS\_RDF\_TYPE\_CERTIFICATE\_USAGE,  
LDNS\_RDF\_TYPE\_SELECTOR,  
LDNS\_RDF\_TYPE\_MATCHING\_TYPE,

**draft-ietf-mboned-driad-amt-discovery \*:**  
LDNS\_RDF\_TYPE\_AMTRELAY,

**draft-ietf-dnsop-svcb-https \*:**  
LDNS\_RDF\_TYPE\_SVCPARAMS,

**draft-johnson-dns-ipn-cla-07 \*:**  
LDNS\_RDF\_TYPE\_IPN  
};  
typedef enum ldns\_enum\_rdf\_type ldns\_rdf\_type;

# [AUTHOR](#AUTHOR)

The ldns team at NLnet Labs.

# [REPORTING BUGS](#REPORTING_BUGS)

Please report bugs to dns-team@nlnetlabs.nl or on GitHub at https://github.com/NLnetLabs/ldns/issues

# [COPYRIGHT](#COPYRIGHT)

Copyright (c) 2004 - 2006 NLnet Labs.

Licensed under the BSD License. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

# [SEE ALSO](#SEE_ALSO)

*ldns\_rdf\_set\_size*, *ldns\_rdf\_set\_type*, *ldns\_rdf\_set\_data*, *ldns\_rdf\_size*, *ldns\_rdf\_get\_type*, *ldns\_rdf\_data*, *ldns\_rdf\_compare*, *ldns\_rdf\_new*, *ldns\_rdf\_clone*, *ldns\_rdf\_new\_frm\_data*, *ldns\_rdf\_new\_frm\_str*, *ldns\_rdf\_new\_frm\_fp*, *ldns\_rdf\_free*, *ldns\_rdf\_deep\_free*, *ldns\_rdf\_print*, *ldns\_native2rdf\_int8*, *ldns\_native2rdf\_int16*, *ldns\_native2rdf\_int32*, *ldns\_native2rdf\_int16\_data*, *ldns\_rdf2native\_int8*, *ldns\_rdf2native\_int16*, *ldns\_rdf2native\_int32*, *ldns\_rdf2native\_sockaddr\_storage*, *ldns\_rdf2native\_time\_t*, *ldns\_native2rdf\_int8*, *ldns\_native2rdf\_int16*, *ldns\_native2rdf\_int32*, *ldns\_native2rdf\_int16\_data*, *ldns\_rdf2native\_int8*, *ldns\_rdf2native\_int16*, *ldns\_rdf2native\_int32*, *ldns\_rdf2native\_sockaddr\_storage*, *ldns\_rdf2native\_time\_t*, *ldns\_native2rdf\_int8*, *ldns\_native2rdf\_int16*, *ldns\_native2rdf\_int32*, *ldns\_native2rdf\_int16\_data*, *ldns\_rdf2native\_int8*, *ldns\_rdf2native\_int16*, *ldns\_rdf2native\_int32*, *ldns\_rdf2native\_sockaddr\_storage*, *ldns\_rdf2native\_time\_t*. And **perldoc Net::DNS**, **RFC1034**, **RFC1035**, **RFC4033**, **RFC4034** and **RFC4035**.

# [REMARKS](#REMARKS)

This manpage was automatically generated from the ldns source code.

30 May 2006

---

Document: ldns_rdf_type(3) from ldns 1.9.2-r2 (Chainguard OS)
Source: https://github.com/NLnetLabs/ldns.git
