1ldns(3) Library Functions Manual ldns(3)
2
3
4
6 ldns_rdf, ldns_rdf_type - rdata field type
7
8
10 #include <stdint.h>
11 #include <stdbool.h>
12
13 #include <ldns/ldns.h>
14
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 /* Aliases */
144 LDNS_RDF_TYPE_BITMAP = LDNS_RDF_TYPE_NSEC
145 };
146 typedef enum ldns_enum_rdf_type ldns_rdf_type;
147
149 The ldns team at NLnet Labs.
150
151
153 Please report bugs to ldns-team@nlnetlabs.nl or in our bugzilla at
154 http://www.nlnetlabs.nl/bugs/index.html
155
156
158 Copyright (c) 2004 - 2006 NLnet Labs.
159
160 Licensed under the BSD License. There is NO warranty; not even for MER‐
161 CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
162
163
165 ldns_rdf_set_size, ldns_rdf_set_type, ldns_rdf_set_data, ldns_rdf_size,
166 ldns_rdf_get_type, ldns_rdf_data, ldns_rdf_compare, ldns_rdf_new,
167 ldns_rdf_clone, ldns_rdf_new_frm_data, ldns_rdf_new_frm_str,
168 ldns_rdf_new_frm_fp, ldns_rdf_free, ldns_rdf_deep_free, ldns_rdf_print,
169 ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32,
170 ldns_native2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2na‐
171 tive_int16, ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage,
172 ldns_rdf2native_time_t, ldns_native2rdf_int8, ldns_native2rdf_int16,
173 ldns_native2rdf_int32, ldns_native2rdf_int16_data, ldns_rdf2na‐
174 tive_int8, ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2na‐
175 tive_sockaddr_storage, ldns_rdf2native_time_t, ldns_native2rdf_int8,
176 ldns_native2rdf_int16, ldns_native2rdf_int32, ldns_na‐
177 tive2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2native_int16,
178 ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage, ldns_rdf2na‐
179 tive_time_t. And perldoc Net::DNS, RFC1034, RFC1035, RFC4033, RFC4034
180 and RFC4035.
181
183 This manpage was automatically generated from the ldns source code.
184
185
186
187 30 May 2006 ldns(3)