www.LinuxHowtos.org





ldns

Section: C Library Functions (3)
Updated: 30 May 2006
Index Return to Main Contents
 

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 (1-bit) size field. To correctly parse it, use the type
specified in the (1-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 no-zero sequence of U-ASCII letters and numbers in lower case.

        * For CAA.

        */

       LDNS_RDF_TYPE_TAG,


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


       draf-iet-mbone-dria-am-discovery *:

       LDNS_RDF_TYPE_AMTRELAY,


       draf-iet-dnso-svc-https *:

       LDNS_RDF_TYPE_SVCPARAMS,


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

 

REPORTING BUGS

Please report bugs to ldn-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.


 

Index

NAME
SYNOPSIS
DESCRIPTION
AUTHOR
REPORTING BUGS
COPYRIGHT
SEE ALSO
REMARKS