ldns(3)                    Library Functions Manual                    ldns(3)



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.


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 MER-
       CHANTABILITY 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_sock-
       addr_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_sock-
       addr_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_sock-
       addr_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.



                                  30 May 2006                          ldns(3)
