.ad l
.TH ldns 3 "30 May 2006"
.SH NAME
ldns_rdf, ldns_rdf_type \- rdata field type

.SH SYNOPSIS
#include <stdint.h>
.br
#include <stdbool.h>
.br
.PP
#include <ldns/ldns.h>
.PP

.SH DESCRIPTION
.HP
\fIldns_rdf\fR
.br
Resource record data field.
.br

.br
The data is a network ordered array of bytes, which size is specified by
.br
the (16-bit) size field. To correctly parse it, use the type
.br
specified in the (16-bit) type field with a value from \\ref ldns_rdf_type.
.br
struct ldns_struct_rdf
.br
{
.br
	\fBThe size of the data (in octets):\fR
.br
	size_t _size;
.br
	\fBThe type of the data:\fR
.br
	ldns_rdf_type _type;
.br
	\fBPointer to the data (raw octets):\fR
.br
	void  *_data;
.br
};
.br
typedef struct ldns_struct_rdf ldns_rdf;
.PP
.HP
\fIldns_rdf_type\fR
.br
The different types of RDATA fields.
.br
enum ldns_enum_rdf_type
.br
{
.br
	\fBnone:\fR
.br
	LDNS_RDF_TYPE_NONE,
.br
	\fBdomain name:\fR
.br
	LDNS_RDF_TYPE_DNAME,
.br
	\fB8 bits:\fR
.br
	LDNS_RDF_TYPE_INT8,
.br
	\fB16 bits:\fR
.br
	LDNS_RDF_TYPE_INT16,
.br
	\fB32 bits:\fR
.br
	LDNS_RDF_TYPE_INT32,
.br
	\fB64 bits:\fR
.br
	LDNS_RDF_TYPE_INT64,
.br
	\fBA record:\fR
.br
	LDNS_RDF_TYPE_A,
.br
	\fBAAAA record:\fR
.br
	LDNS_RDF_TYPE_AAAA,
.br
	\fBtxt string:\fR
.br
	LDNS_RDF_TYPE_STR,
.br
	\fBapl data:\fR
.br
	LDNS_RDF_TYPE_APL,
.br
	\fBb32 string:\fR
.br
	LDNS_RDF_TYPE_B32_EXT,
.br
	\fBb64 string:\fR
.br
	LDNS_RDF_TYPE_B64,
.br
	\fBhex string:\fR
.br
	LDNS_RDF_TYPE_HEX,
.br
	\fBnsec type codes:\fR
.br
	LDNS_RDF_TYPE_NSEC,
.br
	LDNS_RDF_TYPE_BITMAP = LDNS_RDF_TYPE_NSEC,
.br
	\fBa RR type:\fR
.br
	LDNS_RDF_TYPE_TYPE,
.br
	\fBa class:\fR
.br
	LDNS_RDF_TYPE_CLASS,
.br
	\fBcertificate algorithm:\fR
.br
	LDNS_RDF_TYPE_CERT_ALG,
.br
	\fBa key algorithm:\fR
.br
	LDNS_RDF_TYPE_ALG,
.br
	\fBunknown types:\fR
.br
	LDNS_RDF_TYPE_UNKNOWN,
.br
	\fBtime (32 bits):\fR
.br
	LDNS_RDF_TYPE_TIME,
.br
	\fBperiod:\fR
.br
	LDNS_RDF_TYPE_PERIOD,
.br
	\fBtsig time 48 bits:\fR
.br
	LDNS_RDF_TYPE_TSIGTIME,
.br
	/** Represents the Public Key Algorithm, HIT and Public Key fields
.br
	    for the HIP RR types.  A HIP specific rdf type is used because of
.br
	    the unusual layout in wireformat (see RFC 5205 Section 5) */
.br
	LDNS_RDF_TYPE_HIP,
.br
	/** variable length any type rdata where the length
.br
	    is specified by the first 2 bytes */
.br
	LDNS_RDF_TYPE_INT16_DATA,
.br
	\fBprotocol and port bitmaps:\fR
.br
	LDNS_RDF_TYPE_SERVICE,
.br
	\fBlocation data:\fR
.br
	LDNS_RDF_TYPE_LOC,
.br
	\fBwell known services:\fR
.br
	LDNS_RDF_TYPE_WKS,
.br
	\fBNSAP:\fR
.br
	LDNS_RDF_TYPE_NSAP,
.br
	\fBATMA:\fR
.br
	LDNS_RDF_TYPE_ATMA,
.br
	\fBIPSECKEY:\fR
.br
	LDNS_RDF_TYPE_IPSECKEY,
.br
	\fBnsec3 hash salt:\fR
.br
	LDNS_RDF_TYPE_NSEC3_SALT,
.br
	\fBnsec3 base32 string (with length byte on wire:\fR
.br
	LDNS_RDF_TYPE_NSEC3_NEXT_OWNER,
.br

.br
	/** 4 shorts represented as 4 * 16 bit hex numbers
.br
	 *  separated by colons. For NID and L64.
.br
	 */
.br
	LDNS_RDF_TYPE_ILNP64,
.br

.br
	\fB6 * 8 bit hex numbers separated by dashes. For EUI48.:\fR
.br
	LDNS_RDF_TYPE_EUI48,
.br
	\fB8 * 8 bit hex numbers separated by dashes. For EUI64.:\fR
.br
	LDNS_RDF_TYPE_EUI64,
.br

.br
	\fBCharacter string without quotes.:\fR
.br
	LDNS_RDF_TYPE_UNQUOTED,
.br

.br
	/** A non-zero sequence of US-ASCII letters and numbers in lower case.
.br
	 *  For CAA.
.br
	 */
.br
	LDNS_RDF_TYPE_TAG,
.br

.br
	/** A <character-string> encoding of the value field as specified 
.br
	 * [RFC1035], Section 5.1., encoded as remaining rdata.
.br
	 * For CAA.
.br
	 */
.br
	LDNS_RDF_TYPE_LONG_STR,
.br

.br
	/** Since RFC7218 TLSA records can be given with mnemonics,
.br
	 * hence these rdata field types.  But as with DNSKEYs, the output
.br
	 * is always numeric.
.br
	 */
.br
	LDNS_RDF_TYPE_CERTIFICATE_USAGE,
.br
	LDNS_RDF_TYPE_SELECTOR,
.br
	LDNS_RDF_TYPE_MATCHING_TYPE,
.br

.br
	\fBdraft-ietf-mboned-driad-amt-discovery *:\fR
.br
	LDNS_RDF_TYPE_AMTRELAY,
.br

.br
	\fBdraft-ietf-dnsop-svcb-https *:\fR
.br
	LDNS_RDF_TYPE_SVCPARAMS,
.br

.br
	\fBdraft-johnson-dns-ipn-cla-07 *:\fR
.br
	LDNS_RDF_TYPE_IPN
.br
};
.br
typedef enum ldns_enum_rdf_type ldns_rdf_type;
.PP
.SH AUTHOR
The ldns team at NLnet Labs.

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

.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
.PP
Licensed under the BSD License. There is NO warranty; not even for
MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.

.SH SEE ALSO
\fIldns_rdf_set_size\fR, \fIldns_rdf_set_type\fR, \fIldns_rdf_set_data\fR, \fIldns_rdf_size\fR, \fIldns_rdf_get_type\fR, \fIldns_rdf_data\fR, \fIldns_rdf_compare\fR, \fIldns_rdf_new\fR, \fIldns_rdf_clone\fR, \fIldns_rdf_new_frm_data\fR, \fIldns_rdf_new_frm_str\fR, \fIldns_rdf_new_frm_fp\fR, \fIldns_rdf_free\fR, \fIldns_rdf_deep_free\fR, \fIldns_rdf_print\fR, \fIldns_native2rdf_int8\fR, \fIldns_native2rdf_int16\fR, \fIldns_native2rdf_int32\fR, \fIldns_native2rdf_int16_data\fR, \fIldns_rdf2native_int8\fR, \fIldns_rdf2native_int16\fR, \fIldns_rdf2native_int32\fR, \fIldns_rdf2native_sockaddr_storage\fR, \fIldns_rdf2native_time_t\fR, \fIldns_native2rdf_int8\fR, \fIldns_native2rdf_int16\fR, \fIldns_native2rdf_int32\fR, \fIldns_native2rdf_int16_data\fR, \fIldns_rdf2native_int8\fR, \fIldns_rdf2native_int16\fR, \fIldns_rdf2native_int32\fR, \fIldns_rdf2native_sockaddr_storage\fR, \fIldns_rdf2native_time_t\fR, \fIldns_native2rdf_int8\fR, \fIldns_native2rdf_int16\fR, \fIldns_native2rdf_int32\fR, \fIldns_native2rdf_int16_data\fR, \fIldns_rdf2native_int8\fR, \fIldns_rdf2native_int16\fR, \fIldns_rdf2native_int32\fR, \fIldns_rdf2native_sockaddr_storage\fR, \fIldns_rdf2native_time_t\fR.
And \fBperldoc Net::DNS\fR, \fBRFC1034\fR,
\fBRFC1035\fR, \fBRFC4033\fR, \fBRFC4034\fR  and \fBRFC4035\fR.
.SH REMARKS
This manpage was automatically generated from the ldns source code.
