domain/base/iana/rtype.rs
1//! Resource Record (RR) TYPEs
2
3//------------ Rtype ---------------------------------------------------------
4
5int_enum! {
6 /// Resource Record Types.
7 ///
8 /// Each resource records has a 16 bit type value indicating what kind of
9 /// information is represented by the record. Normal query includes the
10 /// type of record information is requested for. A few aditional types,
11 /// called query types, are defined as well and can only be used in
12 /// questions. This type represents both these types.
13 ///
14 /// The currently assigned values are maintained in an [IANA registry].
15 /// This type is complete as of 2019-01-28.
16 ///
17 /// [IANA registry]: http://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4
18 ///
19 /// In order to avoid confusion over capitalization, the mnemonics are
20 /// treated as single acronyms and therefore all variant names are spelled
21 /// with an initial capital letter in accordance with the Rust naming
22 /// guidelines.
23 =>
24 Rtype, u16;
25
26 /// A host address.
27 (A => 1, b"A")
28
29 /// An authoritative name server.
30 (Ns => 2, b"NS")
31
32 /// A mail destination.
33 ///
34 /// (Obsolete – use MX)
35 (Md => 3, b"MD")
36
37 /// A mail forwarder.
38 ///
39 /// (Obsolete – use MX)
40 (Mf => 4, b"MF")
41
42 /// The canonical name for an alias
43 (Cname => 5, b"CNAME")
44
45 /// Marks the start of a zone of authority.
46 (Soa => 6, b"SOA")
47
48 /// A mailbox domain name.
49 ///
50 /// (Experimental.)
51 (Mb => 7, b"MB")
52
53 /// A mail group member
54 ///
55 /// (Experimental.)
56 (Mg => 8, b"MG")
57
58 /// A mail rename domain name.
59 ///
60 /// (Experimental.)
61 (Mr => 9, b"MR")
62
63 /// A null resource record.
64 ///
65 /// (Experimental.)
66 (Null => 10, b"NULL")
67
68 /// A well known service description.
69 (Wks => 11, b"WKS")
70
71 /// A domain name pointer.
72 (Ptr => 12, b"PTR")
73
74 /// Host information.
75 (Hinfo => 13, b"HINFO")
76
77 /// Mailbox or mail list information.
78 (Minfo => 14, b"MINFO")
79
80 /// Mail exchange.
81 (Mx => 15, b"MX")
82
83 /// Text strings.
84 (Txt => 16, b"TXT")
85
86 /// For Responsible Person.
87 ///
88 /// See RFC 1183
89 (Rp => 17, b"RP")
90
91 /// For AFS Data Base location.
92 ///
93 /// See RFC 1183 and RFC 5864.
94 (Afsdb => 18, b"AFSDB")
95
96 /// For X.25 PSDN address.
97 ///
98 /// See RFC 1183.
99 (X25 => 19, b"X25")
100
101 /// For ISDN address.
102 ///
103 /// See RFC 1183.
104 (Isdn => 20, b"ISDN")
105
106 /// For Route Through.
107 ///
108 /// See RFC 1183
109 (Rt => 21, b"RT")
110
111 /// For SNAP address, NSAP style A record.
112 ///
113 /// See RFC 1706.
114 (Nsap => 22, b"NSAP")
115
116 /// For domain name pointer, NSAP style.
117 ///
118 /// See RFC 1348, RFC 1637, RFC 1706.
119 (Nsapptr => 23, b"NSAPPTR")
120
121 /// For security signature.
122 (Sig => 24, b"SIG")
123
124 /// For security key.
125 (Key => 25, b"KEY")
126
127 /// X.400 mail mapping information.
128 ///
129 /// See RFC 2163.
130 (Px => 26, b"PX")
131
132 /// Geographical position.
133 ///
134 /// See RFC 1712
135 (Gpos => 27, b"GPOS")
136
137 /// IPv6 address.
138 ///
139 /// See RFC 3596.
140 (Aaaa => 28, b"AAAA")
141
142 /// Location information.
143 ///
144 /// See RFC 1876.
145 (Loc => 29, b"LOC")
146
147 /// Next domain.
148 ///
149 /// (Obsolete.)
150 ///
151 /// See RFC 3755 and RFC 2535.
152 (Nxt => 30, b"NXT")
153
154 /// Endpoint identifier.
155 (Eid => 31, b"EID")
156
157 /// Nimrod locator.
158 (Nimloc => 32, b"NIMLOC")
159
160 /// Server selection.
161 ///
162 /// See RFC 2782.
163 (Srv => 33, b"SRV")
164
165 /// ATM address.
166 (Atma => 34, b"ATMA")
167
168 /// Naming authority pointer.
169 ///
170 /// See RFC 2915, RFC 2168, and RFC 3403.
171 (Naptr => 35, b"NAPTR")
172
173 /// Key exchanger.
174 ///
175 /// See RFC 2230.
176 (Kx => 36, b"KX")
177
178 /// CERT
179 ///
180 /// See RFC 4398.
181 (Cert => 37, b"CERT")
182
183 /// A6.
184 ///
185 /// (Obsolete – use AAAA.)
186 ///
187 /// See RFC 3226, RFC 2874, and RFC 6563.
188 (A6 => 38, b"A6")
189
190 /// DNAME.
191 ///
192 /// See RFC 6672.
193 (Dname => 39, b"DNAME")
194
195 /// SINK.
196 (Sink => 40, b"SINK")
197
198 /// OPT.
199 ///
200 /// See RFC 6891 and RFC 3225.
201 (Opt => 41, b"OPT")
202
203 /// APL.
204 ///
205 /// See RFC 3123.
206 (Apl => 42, b"APL")
207
208 /// Delegation signer.
209 ///
210 /// See RFC 4034 and RFC 3658.
211 (Ds => 43, b"DS")
212
213 /// SSH key fingerprint.
214 ///
215 /// See RFC 4255.
216 (Sshfp => 44, b"SSHFP")
217
218 /// IPSECKEY
219 ///
220 /// See RFC 4255.
221 (Ipseckey => 45, b"IPSECKEY")
222
223 /// RRSIG.
224 ///
225 /// See RFC 4034 and RFC 3755.
226 (Rrsig => 46, b"RRSIG")
227
228 /// NSEC.
229 ///
230 /// See RFC 4034 and RFC 3755.
231 (Nsec => 47, b"NSEC")
232
233 /// DNSKEY.
234 ///
235 /// See RFC 4034 and RFC 3755.
236 (Dnskey => 48, b"DNSKEY")
237
238 /// DHCID.
239 ///
240 /// See RFC 4701.
241 (Dhcid => 49, b"DHCID")
242
243 /// NSEC3
244 ///
245 /// See RFC 5155.
246 (Nsec3 => 50, b"NSEC3")
247
248 /// NSEC3PARAM.
249 ///
250 /// See RFC 5155.
251 (Nsec3param => 51, b"NSEC3PARAM")
252
253 /// TLSA.
254 ///
255 /// See RFC 6698.
256 (Tlsa => 52, b"TLSA")
257
258 /// S/MIME cert association.
259 ///
260 /// See draft-ietf-dane-smime.
261 (Smimea => 53, b"SMIMEA")
262
263 /// Host Identity Protocol.
264 ///
265 /// See RFC 5205.
266 (Hip => 55, b"HIP")
267
268 /// NINFO.
269 (Ninfo => 56, b"NINFO")
270
271 /// RKEY.
272 (Rkey => 57, b"RKEY")
273
274 /// Trust Anchor Link
275 (Talink => 58, b"TALINK")
276
277 /// Child DS.
278 ///
279 /// See RFC 7344.
280 (Cds => 59, b"CDS")
281
282 /// DNSKEY(s) the child wants reflected in DS.
283 ///
284 /// See RFC 7344.
285 (Cdnskey => 60, b"CDNSKEY")
286
287 /// OpenPGP key.
288 ///
289 /// See draft-ietf-dane-openpgpkey.
290 (Openpgpkey => 61, b"OPENPGPKEY")
291
292 /// Child-to-parent synchronization.
293 ///
294 /// See RFC 7477.
295 (Csync => 62, b"CSYNC")
296
297 /// Message digest for DNS zone.
298 ///
299 /// See draft-wessels-dns-zone-digest.
300 (Zonemd => 63, b"ZONEMD")
301
302 /// General Purpose Service Endpoints.
303 ///
304 /// See draft-ietf-dnsop-svcb-httpssvc
305 (Svcb => 64, b"SVCB")
306
307 /// HTTPS Specific Service Endpoints.
308 ///
309 /// See draft-ietf-dnsop-svcb-httpssvc
310 (Https => 65, b"HTTPS")
311
312 /// SPF.
313 ///
314 /// RFC 7208.
315 (Spf => 99, b"SPF")
316
317 /// UINFO.
318 ///
319 /// IANA-Reserved.
320 (Uinfo => 100, b"UINFO")
321
322 /// UID.
323 ///
324 /// IANA-Reserved.
325 (Uid => 101, b"UID")
326
327 /// GID.
328 ///
329 /// IANA-Reserved.
330 (Gid => 102, b"GID")
331
332 /// UNSPEC.
333 ///
334 /// IANA-Reserved.
335 (Unspec => 103, b"UNSPEC")
336
337 /// NID.
338 ///
339 /// See RFC 6742.
340 (Nid => 104, b"NID")
341
342 /// L32.
343 ///
344 /// See RFC 6742.
345 (L32 => 105, b"L32")
346
347 /// L64.
348 ///
349 /// See RFC 6742.
350 (L64 => 106, b"L64")
351
352 /// LP.
353 ///
354 /// See RFC 6742.
355 (Lp => 107, b"LP")
356
357 /// An EUI-48 address.
358 ///
359 /// See RFC 7043.
360 (Eui48 => 108, b"EUI48")
361
362 /// An EUI-64 address.
363 ///
364 /// See RFC 7043.
365 (Eui64 => 109, b"EUI64")
366
367 /// Transaction key.
368 ///
369 /// See RFC 2930.
370 (Tkey => 249, b"TKEY")
371
372 /// Transaction signature.
373 ///
374 /// See RFC 2845.
375 (Tsig => 250, b"TSIG")
376
377 /// Incremental transfer.
378 ///
379 /// See RFC 1995.
380 (Ixfr => 251, b"IXFR")
381
382 /// Transfer of entire zone.
383 ///
384 /// See RFC 1035 and RFC 5936.
385 (Axfr => 252, b"AXFR")
386
387 /// Mailbox-related RRs (MB, MG, or MR).
388 (Mailb => 253, b"MAILB")
389
390 /// Mail agent RRS.
391 ///
392 /// (Obsolete – see MX.)
393 (Maila => 254, b"MAILA")
394
395 /// A request for all records the server/cache has available.
396 ///
397 /// See RFC 1035 and RFC 6895.
398 (Any => 255, b"ANY")
399
400 /// URI.
401 ///
402 /// See RFC 7553.
403 (Uri => 256, b"URI")
404
405 /// Certification Authority Restriction.
406 ///
407 /// See RFC 6844.
408 (Caa => 257, b"CAA")
409
410 /// Application visibility and control.
411 (Avc => 258, b"AVC")
412
413 /// Digital Object Architecture
414 ///
415 /// See draft-durand-doa-over-dns.
416 (Doa => 259, b"DOA")
417
418 /// DNSSEC trust authorities.
419 (Ta => 32768, b"TA")
420
421 /// DNSSEC lookaside validation.
422 ///
423 /// See RFC 4431
424 (Dlv => 32769, b"DLV")
425}
426
427int_enum_str_with_prefix!(Rtype, "TYPE", b"TYPE", u16, "unknown record type");