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,
    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;

AUTHOR
The ldns team at NLnet Labs.

REPORTING BUGS
Please report bugs to dns-team@nlnetlabs.nl or on GitHub at https://github.com/NLnetLabs/ldns/issues

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.