ldns_rdf_type(3)

ldns_rdf_type3

Rdata field type

Usage

#include <stdint.h>
#include <stdbool.h>

#include <ldns/ldns.h>

Overview

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 <character-string> 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;

Remarks

This manpage was automatically generated from the ldns source code.

Releases

10 releases since Debian 5.0 (Lenny); the text changed 7 times.

  1. 5.0
  2. 6.0–7
  3. 8
  4. 9–10
  5. 11
  6. 12
  7. 13
  8. Arch

Author

The ldns team at NLnet Labs.

Reporting bugs

Please report bugs to [email protected] or on GitHub at https://github.com/NLnetLabs/ldns/issues

From ldns 1.9.2-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.