1ldns(3)                    Library Functions Manual                    ldns(3)
2
3
4

NAME

6       ldns_rdf, ldns_rdf_type - rdata field type
7
8

SYNOPSIS

10       #include <stdint.h>
11       #include <stdbool.h>
12
13       #include <ldns/ldns.h>
14

DESCRIPTION

16       ldns_rdf
17              Resource record data field.
18
19              The data is a network ordered array of bytes, which size is
20              specified by
21              the (16-bit) size field. To correctly parse it, use the type
22              specified in the (16-bit) type field with a value from \ref
23              ldns_rdf_type.
24              struct ldns_struct_rdf
25              {
26                   The size of the data (in octets):
27                   size_t _size;
28                   The type of the data:
29                   ldns_rdf_type _type;
30                   Pointer to the data (raw octets):
31                   void  *_data;
32              };
33              typedef struct ldns_struct_rdf ldns_rdf;
34
35       ldns_rdf_type
36              The different types of RDATA fields.
37              enum ldns_enum_rdf_type
38              {
39                   none:
40                   LDNS_RDF_TYPE_NONE,
41                   domain name:
42                   LDNS_RDF_TYPE_DNAME,
43                   8 bits:
44                   LDNS_RDF_TYPE_INT8,
45                   16 bits:
46                   LDNS_RDF_TYPE_INT16,
47                   32 bits:
48                   LDNS_RDF_TYPE_INT32,
49                   A record:
50                   LDNS_RDF_TYPE_A,
51                   AAAA record:
52                   LDNS_RDF_TYPE_AAAA,
53                   txt string:
54                   LDNS_RDF_TYPE_STR,
55                   apl data:
56                   LDNS_RDF_TYPE_APL,
57                   b32 string:
58                   LDNS_RDF_TYPE_B32_EXT,
59                   b64 string:
60                   LDNS_RDF_TYPE_B64,
61                   hex string:
62                   LDNS_RDF_TYPE_HEX,
63                   nsec type codes:
64                   LDNS_RDF_TYPE_NSEC,
65                   a RR type:
66                   LDNS_RDF_TYPE_TYPE,
67                   a class:
68                   LDNS_RDF_TYPE_CLASS,
69                   certificate algorithm:
70                   LDNS_RDF_TYPE_CERT_ALG,
71                   a key algorithm:
72                   LDNS_RDF_TYPE_ALG,
73                   unknown types:
74                   LDNS_RDF_TYPE_UNKNOWN,
75                   time (32 bits):
76                   LDNS_RDF_TYPE_TIME,
77                   period:
78                   LDNS_RDF_TYPE_PERIOD,
79                   tsig time 48 bits:
80                   LDNS_RDF_TYPE_TSIGTIME,
81                   /** Represents the Public Key Algorithm, HIT and Public Key
82              fields
83                       for the HIP RR types.  A HIP specific rdf type is used
84              because of
85                       the unusual layout in wireformat (see RFC 5205 Section
86              5) */
87                   LDNS_RDF_TYPE_HIP,
88                   /** variable length any type rdata where the length
89                       is specified by the first 2 bytes */
90                   LDNS_RDF_TYPE_INT16_DATA,
91                   protocol and port bitmaps:
92                   LDNS_RDF_TYPE_SERVICE,
93                   location data:
94                   LDNS_RDF_TYPE_LOC,
95                   well known services:
96                   LDNS_RDF_TYPE_WKS,
97                   NSAP:
98                   LDNS_RDF_TYPE_NSAP,
99                   ATMA:
100                   LDNS_RDF_TYPE_ATMA,
101                   IPSECKEY:
102                   LDNS_RDF_TYPE_IPSECKEY,
103                   nsec3 hash salt:
104                   LDNS_RDF_TYPE_NSEC3_SALT,
105                   nsec3 base32 string (with length byte on wire:
106                   LDNS_RDF_TYPE_NSEC3_NEXT_OWNER,
107
108                   /** 4 shorts represented as 4 * 16 bit hex numbers
109                    *  separated by colons. For NID and L64.
110                    */
111                   LDNS_RDF_TYPE_ILNP64,
112
113                   6 * 8 bit hex numbers separated by dashes. For EUI48.:
114                   LDNS_RDF_TYPE_EUI48,
115                   8 * 8 bit hex numbers separated by dashes. For EUI64.:
116                   LDNS_RDF_TYPE_EUI64,
117
118                   /** A non-zero sequence of US-ASCII letters and numbers in
119              lower case.
120                    *  For CAA.
121                    */
122                   LDNS_RDF_TYPE_TAG,
123
124                   /** A <character-string> encoding of the value field as
125              specified
126                    * [RFC1035], Section 5.1., encoded as remaining rdata.
127                    * For CAA.
128                    */
129                   LDNS_RDF_TYPE_LONG_STR,
130
131                   /** Since RFC7218 TLSA records can be given with mnemonics,
132                    * hence these rdata field types.  But as with DNSKEYs, the
133              output
134                    * is always numeric.
135                    */
136                   LDNS_RDF_TYPE_CERTIFICATE_USAGE,
137                   LDNS_RDF_TYPE_SELECTOR,
138                   LDNS_RDF_TYPE_MATCHING_TYPE,
139
140                   draft-ietf-mboned-driad-amt-discovery *:
141                   LDNS_RDF_TYPE_AMTRELAY,
142
143                   draft-ietf-dnsop-svcb-https *:
144                   LDNS_RDF_TYPE_SVCPARAMS,
145
146                   /* Aliases */
147                   LDNS_RDF_TYPE_BITMAP = LDNS_RDF_TYPE_NSEC
148              };
149              typedef enum ldns_enum_rdf_type ldns_rdf_type;
150

AUTHOR

152       The ldns team at NLnet Labs.
153
154

REPORTING BUGS

156       Please report bugs to ldns-team@nlnetlabs.nl or in our bugzilla at
157       http://www.nlnetlabs.nl/bugs/index.html
158
159
161       Copyright (c) 2004 - 2006 NLnet Labs.
162
163       Licensed under the BSD License. There is NO warranty; not even for MER‐
164       CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
165
166

SEE ALSO

168       ldns_rdf_set_size, ldns_rdf_set_type, ldns_rdf_set_data, ldns_rdf_size,
169       ldns_rdf_get_type, ldns_rdf_data, ldns_rdf_compare, ldns_rdf_new,
170       ldns_rdf_clone, ldns_rdf_new_frm_data, ldns_rdf_new_frm_str,
171       ldns_rdf_new_frm_fp, ldns_rdf_free, ldns_rdf_deep_free, ldns_rdf_print,
172       ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32,
173       ldns_native2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2na‐
174       tive_int16, ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage,
175       ldns_rdf2native_time_t, ldns_native2rdf_int8, ldns_native2rdf_int16,
176       ldns_native2rdf_int32, ldns_native2rdf_int16_data, ldns_rdf2na‐
177       tive_int8, ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2na‐
178       tive_sockaddr_storage, ldns_rdf2native_time_t, ldns_native2rdf_int8,
179       ldns_native2rdf_int16, ldns_native2rdf_int32, ldns_na‐
180       tive2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2native_int16,
181       ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage, ldns_rdf2na‐
182       tive_time_t.  And perldoc Net::DNS, RFC1034, RFC1035, RFC4033, RFC4034
183       and RFC4035.
184

REMARKS

186       This manpage was automatically generated from the ldns source code.
187
188
189
190                                  30 May 2006                          ldns(3)
Impressum