SYNOPSIS

#include <stdint.h>

#include <stdbool.h>

#include <ldns/ldns.h>

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,

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,

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,

/** 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,

/* Aliases */

LDNS_RDF_TYPE_BITMAP = LDNS_RDF_TYPE_NSEC

};

typedef enum ldns_enum_rdf_type ldns_rdf_type;

AUTHOR

The ldns team at NLnet Labs. Which consists out of Jelte Jansen and Miek Gieben.

REPORTING BUGS

Please report bugs to [email protected] 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 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

RELATED TO ldns_rdf_type…

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

This manpage was automaticly generated from the ldns source code by use of Doxygen and some perl.