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 /* Aliases */
141 LDNS_RDF_TYPE_BITMAP = LDNS_RDF_TYPE_NSEC
142 };
143 typedef enum ldns_enum_rdf_type ldns_rdf_type;
144
146 The ldns team at NLnet Labs. Which consists out of Jelte Jansen and
147 Miek Gieben.
148
149
151 Please report bugs to ldns-team@nlnetlabs.nl or in our bugzilla at
152 http://www.nlnetlabs.nl/bugs/index.html
153
154
156 Copyright (c) 2004 - 2006 NLnet Labs.
157
158 Licensed under the BSD License. There is NO warranty; not even for MER‐
159 CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
160
161
163 ldns_rdf_set_size, ldns_rdf_set_type, ldns_rdf_set_data, ldns_rdf_size,
164 ldns_rdf_get_type, ldns_rdf_data, ldns_rdf_compare, ldns_rdf_new,
165 ldns_rdf_clone, ldns_rdf_new_frm_data, ldns_rdf_new_frm_str,
166 ldns_rdf_new_frm_fp, ldns_rdf_free, ldns_rdf_deep_free, ldns_rdf_print,
167 ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32,
168 ldns_native2rdf_int16_data, ldns_rdf2native_int8,
169 ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sock‐
170 addr_storage, ldns_rdf2native_time_t, ldns_native2rdf_int8,
171 ldns_native2rdf_int16, ldns_native2rdf_int32,
172 ldns_native2rdf_int16_data, ldns_rdf2native_int8,
173 ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sock‐
174 addr_storage, ldns_rdf2native_time_t, ldns_native2rdf_int8,
175 ldns_native2rdf_int16, ldns_native2rdf_int32,
176 ldns_native2rdf_int16_data, ldns_rdf2native_int8,
177 ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sock‐
178 addr_storage, ldns_rdf2native_time_t. And perldoc Net::DNS, RFC1034,
179 RFC1035, RFC4033, RFC4034 and RFC4035.
180
182 This manpage was automatically generated from the ldns source code by
183 use of Doxygen and some perl.
184
185
186
187 30 May 2006 ldns(3)