ldns

Section: C Library Functions (3)
Updated: 30 May 2006
Page Index
 

NAME

ldns_rdf, ldns_rdf_type - rdata field type

 

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,


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


       /* 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 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 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 

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

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


 

Index

NAME
SYNOPSIS
DESCRIPTION
AUTHOR
REPORTING BUGS
COPYRIGHT
SEE ALSO
REMARKS