1266077Sdes/* rrdef.c
2266077Sdes *
3266077Sdes * access functions to rr definitions list.
4266077Sdes * a Net::DNS like library for C
5266077Sdes * LibDNS Team @ NLnet Labs
6266077Sdes *
7266077Sdes * (c) NLnet Labs, 2004-2006
8266077Sdes * See the file LICENSE for the license
9266077Sdes */
10266077Sdes/**
11266077Sdes * \file
12266077Sdes *
13266077Sdes * Defines resource record types and constants.
14266077Sdes */
15266077Sdes#include "config.h"
16287915Sdes#include "sldns/rrdef.h"
17287915Sdes#include "sldns/parseutil.h"
18266077Sdes
19266077Sdes/* classes  */
20266077Sdesstatic sldns_lookup_table sldns_rr_classes_data[] = {
21266077Sdes        { LDNS_RR_CLASS_IN, "IN" },
22266077Sdes        { LDNS_RR_CLASS_CH, "CH" },
23266077Sdes        { LDNS_RR_CLASS_HS, "HS" },
24266077Sdes        { LDNS_RR_CLASS_NONE, "NONE" },
25266077Sdes        { LDNS_RR_CLASS_ANY, "ANY" },
26266077Sdes        { 0, NULL }
27266077Sdes};
28266077Sdessldns_lookup_table* sldns_rr_classes = sldns_rr_classes_data;
29266077Sdes
30266077Sdes/* types */
31266077Sdesstatic const sldns_rdf_type type_0_wireformat[] = { LDNS_RDF_TYPE_UNKNOWN };
32266077Sdesstatic const sldns_rdf_type type_a_wireformat[] = { LDNS_RDF_TYPE_A };
33266077Sdesstatic const sldns_rdf_type type_ns_wireformat[] = { LDNS_RDF_TYPE_DNAME };
34266077Sdesstatic const sldns_rdf_type type_md_wireformat[] = { LDNS_RDF_TYPE_DNAME };
35266077Sdesstatic const sldns_rdf_type type_mf_wireformat[] = { LDNS_RDF_TYPE_DNAME };
36266077Sdesstatic const sldns_rdf_type type_cname_wireformat[] = { LDNS_RDF_TYPE_DNAME };
37266077Sdesstatic const sldns_rdf_type type_soa_wireformat[] = {
38266077Sdes	LDNS_RDF_TYPE_DNAME, LDNS_RDF_TYPE_DNAME, LDNS_RDF_TYPE_INT32,
39266077Sdes	LDNS_RDF_TYPE_PERIOD, LDNS_RDF_TYPE_PERIOD, LDNS_RDF_TYPE_PERIOD,
40266077Sdes	LDNS_RDF_TYPE_PERIOD
41266077Sdes};
42266077Sdesstatic const sldns_rdf_type type_mb_wireformat[] = { LDNS_RDF_TYPE_DNAME };
43266077Sdesstatic const sldns_rdf_type type_mg_wireformat[] = { LDNS_RDF_TYPE_DNAME };
44266077Sdesstatic const sldns_rdf_type type_mr_wireformat[] = { LDNS_RDF_TYPE_DNAME };
45266077Sdesstatic const sldns_rdf_type type_wks_wireformat[] = {
46266077Sdes	LDNS_RDF_TYPE_A, LDNS_RDF_TYPE_WKS
47266077Sdes};
48266077Sdesstatic const sldns_rdf_type type_ptr_wireformat[] = { LDNS_RDF_TYPE_DNAME };
49266077Sdesstatic const sldns_rdf_type type_hinfo_wireformat[] = {
50266077Sdes	LDNS_RDF_TYPE_STR, LDNS_RDF_TYPE_STR
51266077Sdes};
52266077Sdesstatic const sldns_rdf_type type_minfo_wireformat[] = {
53266077Sdes	LDNS_RDF_TYPE_DNAME, LDNS_RDF_TYPE_DNAME
54266077Sdes};
55266077Sdesstatic const sldns_rdf_type type_mx_wireformat[] = {
56266077Sdes	LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_DNAME
57266077Sdes};
58266077Sdesstatic const sldns_rdf_type type_rp_wireformat[] = {
59266077Sdes	LDNS_RDF_TYPE_DNAME, LDNS_RDF_TYPE_DNAME
60266077Sdes};
61266077Sdesstatic const sldns_rdf_type type_afsdb_wireformat[] = {
62266077Sdes	LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_DNAME
63266077Sdes};
64266077Sdesstatic const sldns_rdf_type type_x25_wireformat[] = { LDNS_RDF_TYPE_STR };
65266077Sdesstatic const sldns_rdf_type type_isdn_wireformat[] = {
66266077Sdes	LDNS_RDF_TYPE_STR, LDNS_RDF_TYPE_STR
67266077Sdes};
68266077Sdesstatic const sldns_rdf_type type_rt_wireformat[] = {
69266077Sdes	LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_DNAME
70266077Sdes};
71266077Sdesstatic const sldns_rdf_type type_nsap_wireformat[] = {
72266077Sdes	LDNS_RDF_TYPE_NSAP
73266077Sdes};
74266077Sdesstatic const sldns_rdf_type type_nsap_ptr_wireformat[] = {
75266077Sdes	LDNS_RDF_TYPE_STR
76266077Sdes};
77266077Sdesstatic const sldns_rdf_type type_sig_wireformat[] = {
78266077Sdes	LDNS_RDF_TYPE_TYPE, LDNS_RDF_TYPE_ALG, LDNS_RDF_TYPE_INT8, LDNS_RDF_TYPE_INT32,
79266077Sdes	LDNS_RDF_TYPE_TIME, LDNS_RDF_TYPE_TIME, LDNS_RDF_TYPE_INT16,
80266077Sdes	LDNS_RDF_TYPE_DNAME, LDNS_RDF_TYPE_B64
81266077Sdes};
82266077Sdesstatic const sldns_rdf_type type_key_wireformat[] = {
83266077Sdes	LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_INT8, LDNS_RDF_TYPE_INT8, LDNS_RDF_TYPE_B64
84266077Sdes};
85266077Sdesstatic const sldns_rdf_type type_px_wireformat[] = {
86266077Sdes	LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_DNAME, LDNS_RDF_TYPE_DNAME
87266077Sdes};
88266077Sdesstatic const sldns_rdf_type type_gpos_wireformat[] = {
89266077Sdes	LDNS_RDF_TYPE_STR, LDNS_RDF_TYPE_STR, LDNS_RDF_TYPE_STR
90266077Sdes};
91266077Sdesstatic const sldns_rdf_type type_aaaa_wireformat[] = { LDNS_RDF_TYPE_AAAA };
92266077Sdesstatic const sldns_rdf_type type_loc_wireformat[] = { LDNS_RDF_TYPE_LOC };
93266077Sdesstatic const sldns_rdf_type type_nxt_wireformat[] = {
94266077Sdes	LDNS_RDF_TYPE_DNAME, LDNS_RDF_TYPE_UNKNOWN
95266077Sdes};
96266077Sdesstatic const sldns_rdf_type type_eid_wireformat[] = {
97266077Sdes	LDNS_RDF_TYPE_HEX
98266077Sdes};
99266077Sdesstatic const sldns_rdf_type type_nimloc_wireformat[] = {
100266077Sdes	LDNS_RDF_TYPE_HEX
101266077Sdes};
102266077Sdesstatic const sldns_rdf_type type_srv_wireformat[] = {
103266077Sdes	LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_DNAME
104266077Sdes};
105266077Sdesstatic const sldns_rdf_type type_atma_wireformat[] = {
106266077Sdes	LDNS_RDF_TYPE_ATMA
107266077Sdes};
108266077Sdesstatic const sldns_rdf_type type_naptr_wireformat[] = {
109266077Sdes	LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_STR, LDNS_RDF_TYPE_STR, LDNS_RDF_TYPE_STR, LDNS_RDF_TYPE_DNAME
110266077Sdes};
111266077Sdesstatic const sldns_rdf_type type_kx_wireformat[] = {
112266077Sdes	LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_DNAME
113266077Sdes};
114266077Sdesstatic const sldns_rdf_type type_cert_wireformat[] = {
115266077Sdes	 LDNS_RDF_TYPE_CERT_ALG, LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_ALG, LDNS_RDF_TYPE_B64
116266077Sdes};
117266077Sdesstatic const sldns_rdf_type type_a6_wireformat[] = { LDNS_RDF_TYPE_UNKNOWN };
118266077Sdesstatic const sldns_rdf_type type_dname_wireformat[] = { LDNS_RDF_TYPE_DNAME };
119266077Sdesstatic const sldns_rdf_type type_sink_wireformat[] = { LDNS_RDF_TYPE_INT8,
120266077Sdes	LDNS_RDF_TYPE_INT8, LDNS_RDF_TYPE_INT8, LDNS_RDF_TYPE_B64
121266077Sdes};
122266077Sdesstatic const sldns_rdf_type type_apl_wireformat[] = {
123266077Sdes	LDNS_RDF_TYPE_APL
124266077Sdes};
125266077Sdesstatic const sldns_rdf_type type_ds_wireformat[] = {
126266077Sdes	LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_ALG, LDNS_RDF_TYPE_INT8, LDNS_RDF_TYPE_HEX
127266077Sdes};
128266077Sdesstatic const sldns_rdf_type type_sshfp_wireformat[] = {
129266077Sdes	LDNS_RDF_TYPE_INT8, LDNS_RDF_TYPE_INT8, LDNS_RDF_TYPE_HEX
130266077Sdes};
131266077Sdesstatic const sldns_rdf_type type_ipseckey_wireformat[] = {
132266077Sdes	LDNS_RDF_TYPE_IPSECKEY
133266077Sdes};
134266077Sdesstatic const sldns_rdf_type type_rrsig_wireformat[] = {
135266077Sdes	LDNS_RDF_TYPE_TYPE, LDNS_RDF_TYPE_ALG, LDNS_RDF_TYPE_INT8, LDNS_RDF_TYPE_INT32,
136266077Sdes	LDNS_RDF_TYPE_TIME, LDNS_RDF_TYPE_TIME, LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_DNAME, LDNS_RDF_TYPE_B64
137266077Sdes};
138266077Sdesstatic const sldns_rdf_type type_nsec_wireformat[] = {
139266077Sdes	LDNS_RDF_TYPE_DNAME, LDNS_RDF_TYPE_NSEC
140266077Sdes};
141266077Sdesstatic const sldns_rdf_type type_dhcid_wireformat[] = {
142266077Sdes	LDNS_RDF_TYPE_B64
143266077Sdes};
144266077Sdesstatic const sldns_rdf_type type_talink_wireformat[] = {
145266077Sdes	LDNS_RDF_TYPE_DNAME, LDNS_RDF_TYPE_DNAME
146266077Sdes};
147266077Sdes/* nsec3 is some vars, followed by same type of data of nsec */
148266077Sdesstatic const sldns_rdf_type type_nsec3_wireformat[] = {
149266077Sdes/*	LDNS_RDF_TYPE_NSEC3_VARS, LDNS_RDF_TYPE_NSEC3_NEXT_OWNER, LDNS_RDF_TYPE_NSEC*/
150266077Sdes	LDNS_RDF_TYPE_INT8, LDNS_RDF_TYPE_INT8, LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_NSEC3_SALT, LDNS_RDF_TYPE_NSEC3_NEXT_OWNER, LDNS_RDF_TYPE_NSEC
151266077Sdes};
152266077Sdes
153266077Sdesstatic const sldns_rdf_type type_nsec3param_wireformat[] = {
154266077Sdes/*	LDNS_RDF_TYPE_NSEC3_PARAMS_VARS*/
155266077Sdes	LDNS_RDF_TYPE_INT8,
156266077Sdes	LDNS_RDF_TYPE_INT8,
157266077Sdes	LDNS_RDF_TYPE_INT16,
158266077Sdes	LDNS_RDF_TYPE_NSEC3_SALT
159266077Sdes};
160266077Sdes
161266077Sdesstatic const sldns_rdf_type type_dnskey_wireformat[] = {
162266077Sdes	LDNS_RDF_TYPE_INT16,
163266077Sdes	LDNS_RDF_TYPE_INT8,
164266077Sdes	LDNS_RDF_TYPE_ALG,
165266077Sdes	LDNS_RDF_TYPE_B64
166266077Sdes};
167266077Sdesstatic const sldns_rdf_type type_tkey_wireformat[] = {
168266077Sdes	LDNS_RDF_TYPE_DNAME,
169266077Sdes	LDNS_RDF_TYPE_TIME,
170266077Sdes	LDNS_RDF_TYPE_TIME,
171266077Sdes	LDNS_RDF_TYPE_INT16,
172266077Sdes	LDNS_RDF_TYPE_INT16,
173266077Sdes	LDNS_RDF_TYPE_INT16_DATA,
174266077Sdes	LDNS_RDF_TYPE_INT16_DATA,
175266077Sdes};
176266077Sdesstatic const sldns_rdf_type type_tsig_wireformat[] = {
177266077Sdes	LDNS_RDF_TYPE_DNAME,
178266077Sdes	LDNS_RDF_TYPE_TSIGTIME,
179266077Sdes	LDNS_RDF_TYPE_INT16,
180266077Sdes	LDNS_RDF_TYPE_INT16_DATA,
181266077Sdes	LDNS_RDF_TYPE_INT16,
182266077Sdes	LDNS_RDF_TYPE_INT16,
183266077Sdes	LDNS_RDF_TYPE_INT16_DATA
184266077Sdes};
185266077Sdesstatic const sldns_rdf_type type_tlsa_wireformat[] = {
186266077Sdes	LDNS_RDF_TYPE_INT8,
187266077Sdes	LDNS_RDF_TYPE_INT8,
188266077Sdes	LDNS_RDF_TYPE_INT8,
189266077Sdes	LDNS_RDF_TYPE_HEX
190266077Sdes};
191266077Sdesstatic const sldns_rdf_type type_hip_wireformat[] = {
192266077Sdes	LDNS_RDF_TYPE_HIP
193266077Sdes};
194266077Sdesstatic const sldns_rdf_type type_nid_wireformat[] = {
195266077Sdes	LDNS_RDF_TYPE_INT16,
196266077Sdes	LDNS_RDF_TYPE_ILNP64
197266077Sdes};
198266077Sdesstatic const sldns_rdf_type type_l32_wireformat[] = {
199266077Sdes	LDNS_RDF_TYPE_INT16,
200266077Sdes	LDNS_RDF_TYPE_A
201266077Sdes};
202266077Sdesstatic const sldns_rdf_type type_l64_wireformat[] = {
203266077Sdes	LDNS_RDF_TYPE_INT16,
204266077Sdes	LDNS_RDF_TYPE_ILNP64
205266077Sdes};
206266077Sdesstatic const sldns_rdf_type type_lp_wireformat[] = {
207266077Sdes	LDNS_RDF_TYPE_INT16,
208266077Sdes	LDNS_RDF_TYPE_DNAME
209266077Sdes};
210266077Sdesstatic const sldns_rdf_type type_eui48_wireformat[] = {
211266077Sdes	LDNS_RDF_TYPE_EUI48
212266077Sdes};
213266077Sdesstatic const sldns_rdf_type type_eui64_wireformat[] = {
214266077Sdes	LDNS_RDF_TYPE_EUI64
215266077Sdes};
216266077Sdesstatic const sldns_rdf_type type_uri_wireformat[] = {
217266077Sdes	LDNS_RDF_TYPE_INT16,
218266077Sdes	LDNS_RDF_TYPE_INT16,
219266077Sdes	LDNS_RDF_TYPE_LONG_STR
220266077Sdes};
221266077Sdesstatic const sldns_rdf_type type_caa_wireformat[] = {
222266077Sdes	LDNS_RDF_TYPE_INT8,
223266077Sdes	LDNS_RDF_TYPE_TAG,
224266077Sdes	LDNS_RDF_TYPE_LONG_STR
225266077Sdes};
226266077Sdes
227266077Sdes/* All RR's defined in 1035 are well known and can thus
228266077Sdes * be compressed. See RFC3597. These RR's are:
229266077Sdes * CNAME HINFO MB MD MF MG MINFO MR MX NULL NS PTR SOA TXT
230266077Sdes */
231266077Sdesstatic sldns_rr_descriptor rdata_field_descriptors[] = {
232266077Sdes	/* 0 */
233266077Sdes	{ 0, NULL, 0, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
234266077Sdes	/* 1 */
235266077Sdes	{LDNS_RR_TYPE_A, "A", 1, 1, type_a_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
236266077Sdes	/* 2 */
237266077Sdes	{LDNS_RR_TYPE_NS, "NS", 1, 1, type_ns_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_COMPRESS, 1 },
238266077Sdes	/* 3 */
239266077Sdes	{LDNS_RR_TYPE_MD, "MD", 1, 1, type_md_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_COMPRESS, 1 },
240266077Sdes	/* 4 */
241266077Sdes	{LDNS_RR_TYPE_MF, "MF", 1, 1, type_mf_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_COMPRESS, 1 },
242266077Sdes	/* 5 */
243266077Sdes	{LDNS_RR_TYPE_CNAME, "CNAME", 1, 1, type_cname_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_COMPRESS, 1 },
244266077Sdes	/* 6 */
245266077Sdes	{LDNS_RR_TYPE_SOA, "SOA", 7, 7, type_soa_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_COMPRESS, 2 },
246266077Sdes	/* 7 */
247266077Sdes	{LDNS_RR_TYPE_MB, "MB", 1, 1, type_mb_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_COMPRESS, 1 },
248266077Sdes	/* 8 */
249266077Sdes	{LDNS_RR_TYPE_MG, "MG", 1, 1, type_mg_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_COMPRESS, 1 },
250266077Sdes	/* 9 */
251266077Sdes	{LDNS_RR_TYPE_MR, "MR", 1, 1, type_mr_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_COMPRESS, 1 },
252266077Sdes	/* 10 */
253266077Sdes	{LDNS_RR_TYPE_NULL, "NULL", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
254266077Sdes	/* 11 */
255266077Sdes	{LDNS_RR_TYPE_WKS, "WKS", 2, 2, type_wks_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
256266077Sdes	/* 12 */
257266077Sdes	{LDNS_RR_TYPE_PTR, "PTR", 1, 1, type_ptr_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_COMPRESS, 1 },
258266077Sdes	/* 13 */
259266077Sdes	{LDNS_RR_TYPE_HINFO, "HINFO", 2, 2, type_hinfo_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
260266077Sdes	/* 14 */
261266077Sdes	{LDNS_RR_TYPE_MINFO, "MINFO", 2, 2, type_minfo_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_COMPRESS, 2 },
262266077Sdes	/* 15 */
263266077Sdes	{LDNS_RR_TYPE_MX, "MX", 2, 2, type_mx_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_COMPRESS, 1 },
264266077Sdes	/* 16 */
265266077Sdes	{LDNS_RR_TYPE_TXT, "TXT", 1, 0, NULL, LDNS_RDF_TYPE_STR, LDNS_RR_NO_COMPRESS, 0 },
266266077Sdes	/* 17 */
267266077Sdes	{LDNS_RR_TYPE_RP, "RP", 2, 2, type_rp_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 2 },
268266077Sdes	/* 18 */
269266077Sdes	{LDNS_RR_TYPE_AFSDB, "AFSDB", 2, 2, type_afsdb_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 1 },
270266077Sdes	/* 19 */
271266077Sdes	{LDNS_RR_TYPE_X25, "X25", 1, 1, type_x25_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
272266077Sdes	/* 20 */
273266077Sdes	{LDNS_RR_TYPE_ISDN, "ISDN", 1, 2, type_isdn_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
274266077Sdes	/* 21 */
275266077Sdes	{LDNS_RR_TYPE_RT, "RT", 2, 2, type_rt_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 1 },
276266077Sdes	/* 22 */
277266077Sdes	{LDNS_RR_TYPE_NSAP, "NSAP", 1, 1, type_nsap_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
278266077Sdes	/* 23 */
279266077Sdes	{LDNS_RR_TYPE_NSAP_PTR, "NSAP-PTR", 1, 1, type_nsap_ptr_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
280266077Sdes	/* 24 */
281266077Sdes	{LDNS_RR_TYPE_SIG, "SIG", 9, 9, type_sig_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 1 },
282266077Sdes	/* 25 */
283266077Sdes	{LDNS_RR_TYPE_KEY, "KEY", 4, 4, type_key_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
284266077Sdes	/* 26 */
285266077Sdes	{LDNS_RR_TYPE_PX, "PX", 3, 3, type_px_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 2 },
286266077Sdes	/* 27 */
287266077Sdes	{LDNS_RR_TYPE_GPOS, "GPOS", 3, 3, type_gpos_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
288266077Sdes	/* 28 */
289266077Sdes	{LDNS_RR_TYPE_AAAA, "AAAA", 1, 1, type_aaaa_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
290266077Sdes	/* 29 */
291266077Sdes	{LDNS_RR_TYPE_LOC, "LOC", 1, 1, type_loc_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
292266077Sdes	/* 30 */
293266077Sdes	{LDNS_RR_TYPE_NXT, "NXT", 2, 2, type_nxt_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 1 },
294266077Sdes	/* 31 */
295266077Sdes	{LDNS_RR_TYPE_EID, "EID", 1, 1, type_eid_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
296266077Sdes	/* 32 */
297266077Sdes	{LDNS_RR_TYPE_NIMLOC, "NIMLOC", 1, 1, type_nimloc_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
298266077Sdes	/* 33 */
299266077Sdes	{LDNS_RR_TYPE_SRV, "SRV", 4, 4, type_srv_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 1 },
300266077Sdes	/* 34 */
301266077Sdes	{LDNS_RR_TYPE_ATMA, "ATMA", 1, 1, type_atma_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
302266077Sdes	/* 35 */
303266077Sdes	{LDNS_RR_TYPE_NAPTR, "NAPTR", 6, 6, type_naptr_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 1 },
304266077Sdes	/* 36 */
305266077Sdes	{LDNS_RR_TYPE_KX, "KX", 2, 2, type_kx_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 1 },
306266077Sdes	/* 37 */
307266077Sdes	{LDNS_RR_TYPE_CERT, "CERT", 4, 4, type_cert_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
308266077Sdes	/* 38 */
309266077Sdes	{LDNS_RR_TYPE_A6, "A6", 1, 1, type_a6_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
310266077Sdes	/* 39 */
311266077Sdes	{LDNS_RR_TYPE_DNAME, "DNAME", 1, 1, type_dname_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 1 },
312266077Sdes	/* 40 */
313266077Sdes	{LDNS_RR_TYPE_SINK, "SINK", 1, 1, type_sink_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
314266077Sdes	/* 41 */
315266077Sdes	{LDNS_RR_TYPE_OPT, "OPT", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
316266077Sdes	/* 42 */
317266077Sdes	{LDNS_RR_TYPE_APL, "APL", 0, 0, type_apl_wireformat, LDNS_RDF_TYPE_APL, LDNS_RR_NO_COMPRESS, 0 },
318266077Sdes	/* 43 */
319266077Sdes	{LDNS_RR_TYPE_DS, "DS", 4, 4, type_ds_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
320266077Sdes	/* 44 */
321266077Sdes	{LDNS_RR_TYPE_SSHFP, "SSHFP", 3, 3, type_sshfp_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
322266077Sdes	/* 45 */
323266077Sdes	{LDNS_RR_TYPE_IPSECKEY, "IPSECKEY", 1, 1, type_ipseckey_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
324266077Sdes	/* 46 */
325266077Sdes	{LDNS_RR_TYPE_RRSIG, "RRSIG", 9, 9, type_rrsig_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 1 },
326266077Sdes	/* 47 */
327266077Sdes	{LDNS_RR_TYPE_NSEC, "NSEC", 1, 2, type_nsec_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 1 },
328266077Sdes	/* 48 */
329266077Sdes	{LDNS_RR_TYPE_DNSKEY, "DNSKEY", 4, 4, type_dnskey_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
330266077Sdes	/* 49 */
331266077Sdes	{LDNS_RR_TYPE_DHCID, "DHCID", 1, 1, type_dhcid_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
332266077Sdes	/* 50 */
333266077Sdes	{LDNS_RR_TYPE_NSEC3, "NSEC3", 5, 6, type_nsec3_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
334266077Sdes	/* 51 */
335266077Sdes	{LDNS_RR_TYPE_NSEC3PARAM, "NSEC3PARAM", 4, 4, type_nsec3param_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
336266077Sdes	/* 52 */
337266077Sdes	{LDNS_RR_TYPE_TLSA, "TLSA", 4, 4, type_tlsa_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
338266077Sdes
339266077Sdes{LDNS_RR_TYPE_NULL, "TYPE53", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
340266077Sdes{LDNS_RR_TYPE_NULL, "TYPE54", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
341266077Sdes        /* 55
342266077Sdes	 * Hip ends with 0 or more Rendezvous Servers represented as dname's.
343266077Sdes	 * Hence the LDNS_RDF_TYPE_DNAME _variable field and the _maximum field
344266077Sdes	 * set to 0.
345266077Sdes	 */
346266077Sdes	{LDNS_RR_TYPE_HIP, "HIP", 1, 1, type_hip_wireformat, LDNS_RDF_TYPE_DNAME, LDNS_RR_NO_COMPRESS, 0 },
347266077Sdes
348266077Sdes#ifdef DRAFT_RRTYPES
349266077Sdes	/* 56 */
350266077Sdes	{LDNS_RR_TYPE_NINFO, "NINFO", 1, 0, NULL, LDNS_RDF_TYPE_STR, LDNS_RR_NO_COMPRESS, 0 },
351266077Sdes	/* 57 */
352266077Sdes	{LDNS_RR_TYPE_RKEY, "RKEY", 4, 4, type_key_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
353266077Sdes#else
354266077Sdes{LDNS_RR_TYPE_NULL, "TYPE56", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
355266077Sdes{LDNS_RR_TYPE_NULL, "TYPE57", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
356266077Sdes#endif
357266077Sdes	/* 58 */
358266077Sdes	{LDNS_RR_TYPE_TALINK, "TALINK", 2, 2, type_talink_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 2 },
359266077Sdes
360266077Sdes	/* 59 */
361266077Sdes	{LDNS_RR_TYPE_CDS, "CDS", 4, 4, type_ds_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
362276541Sdes	/* 60 */
363276541Sdes	{LDNS_RR_TYPE_CDNSKEY, "CDNSKEY", 4, 4, type_dnskey_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
364266077Sdes{LDNS_RR_TYPE_NULL, "TYPE61", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
365266077Sdes{LDNS_RR_TYPE_NULL, "TYPE62", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
366266077Sdes{LDNS_RR_TYPE_NULL, "TYPE63", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
367266077Sdes{LDNS_RR_TYPE_NULL, "TYPE64", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
368266077Sdes{LDNS_RR_TYPE_NULL, "TYPE65", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
369266077Sdes{LDNS_RR_TYPE_NULL, "TYPE66", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
370266077Sdes{LDNS_RR_TYPE_NULL, "TYPE67", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
371266077Sdes{LDNS_RR_TYPE_NULL, "TYPE68", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
372266077Sdes{LDNS_RR_TYPE_NULL, "TYPE69", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
373266077Sdes{LDNS_RR_TYPE_NULL, "TYPE70", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
374266077Sdes{LDNS_RR_TYPE_NULL, "TYPE71", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
375266077Sdes{LDNS_RR_TYPE_NULL, "TYPE72", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
376266077Sdes{LDNS_RR_TYPE_NULL, "TYPE73", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
377266077Sdes{LDNS_RR_TYPE_NULL, "TYPE74", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
378266077Sdes{LDNS_RR_TYPE_NULL, "TYPE75", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
379266077Sdes{LDNS_RR_TYPE_NULL, "TYPE76", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
380266077Sdes{LDNS_RR_TYPE_NULL, "TYPE77", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
381266077Sdes{LDNS_RR_TYPE_NULL, "TYPE78", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
382266077Sdes{LDNS_RR_TYPE_NULL, "TYPE79", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
383266077Sdes{LDNS_RR_TYPE_NULL, "TYPE80", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
384266077Sdes{LDNS_RR_TYPE_NULL, "TYPE81", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
385266077Sdes{LDNS_RR_TYPE_NULL, "TYPE82", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
386266077Sdes{LDNS_RR_TYPE_NULL, "TYPE83", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
387266077Sdes{LDNS_RR_TYPE_NULL, "TYPE84", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
388266077Sdes{LDNS_RR_TYPE_NULL, "TYPE85", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
389266077Sdes{LDNS_RR_TYPE_NULL, "TYPE86", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
390266077Sdes{LDNS_RR_TYPE_NULL, "TYPE87", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
391266077Sdes{LDNS_RR_TYPE_NULL, "TYPE88", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
392266077Sdes{LDNS_RR_TYPE_NULL, "TYPE89", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
393266077Sdes{LDNS_RR_TYPE_NULL, "TYPE90", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
394266077Sdes{LDNS_RR_TYPE_NULL, "TYPE91", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
395266077Sdes{LDNS_RR_TYPE_NULL, "TYPE92", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
396266077Sdes{LDNS_RR_TYPE_NULL, "TYPE93", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
397266077Sdes{LDNS_RR_TYPE_NULL, "TYPE94", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
398266077Sdes{LDNS_RR_TYPE_NULL, "TYPE95", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
399266077Sdes{LDNS_RR_TYPE_NULL, "TYPE96", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
400266077Sdes{LDNS_RR_TYPE_NULL, "TYPE97", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
401266077Sdes{LDNS_RR_TYPE_NULL, "TYPE98", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
402266077Sdes
403266077Sdes	/* 99 */
404266077Sdes	{LDNS_RR_TYPE_SPF,  "SPF", 1, 0, NULL, LDNS_RDF_TYPE_STR, LDNS_RR_NO_COMPRESS, 0 },
405266077Sdes
406266077Sdes	/* UINFO  [IANA-Reserved] */
407266077Sdes{LDNS_RR_TYPE_NULL, "TYPE100", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
408266077Sdes	/* UID    [IANA-Reserved] */
409266077Sdes{LDNS_RR_TYPE_NULL, "TYPE101", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
410266077Sdes	/* GID    [IANA-Reserved] */
411266077Sdes{LDNS_RR_TYPE_NULL, "TYPE102", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
412266077Sdes	/* UNSPEC [IANA-Reserved] */
413266077Sdes{LDNS_RR_TYPE_NULL, "TYPE103", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
414266077Sdes
415266077Sdes	/* 104 */
416266077Sdes	{LDNS_RR_TYPE_NID, "NID", 2, 2, type_nid_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
417266077Sdes	/* 105 */
418266077Sdes	{LDNS_RR_TYPE_L32, "L32", 2, 2, type_l32_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
419266077Sdes	/* 106 */
420266077Sdes	{LDNS_RR_TYPE_L64, "L64", 2, 2, type_l64_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
421266077Sdes	/* 107 */
422266077Sdes	{LDNS_RR_TYPE_LP, "LP", 2, 2, type_lp_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 1 },
423266077Sdes
424266077Sdes	/* 108 */
425266077Sdes	{LDNS_RR_TYPE_EUI48, "EUI48", 1, 1, type_eui48_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
426266077Sdes	/* 109 */
427266077Sdes	{LDNS_RR_TYPE_EUI64, "EUI64", 1, 1, type_eui64_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
428266077Sdes
429266077Sdes{LDNS_RR_TYPE_NULL, "TYPE110", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
430266077Sdes{LDNS_RR_TYPE_NULL, "TYPE111", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
431266077Sdes{LDNS_RR_TYPE_NULL, "TYPE112", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
432266077Sdes{LDNS_RR_TYPE_NULL, "TYPE113", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
433266077Sdes{LDNS_RR_TYPE_NULL, "TYPE114", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
434266077Sdes{LDNS_RR_TYPE_NULL, "TYPE115", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
435266077Sdes{LDNS_RR_TYPE_NULL, "TYPE116", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
436266077Sdes{LDNS_RR_TYPE_NULL, "TYPE117", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
437266077Sdes{LDNS_RR_TYPE_NULL, "TYPE118", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
438266077Sdes{LDNS_RR_TYPE_NULL, "TYPE119", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
439266077Sdes{LDNS_RR_TYPE_NULL, "TYPE120", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
440266077Sdes{LDNS_RR_TYPE_NULL, "TYPE121", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
441266077Sdes{LDNS_RR_TYPE_NULL, "TYPE122", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
442266077Sdes{LDNS_RR_TYPE_NULL, "TYPE123", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
443266077Sdes{LDNS_RR_TYPE_NULL, "TYPE124", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
444266077Sdes{LDNS_RR_TYPE_NULL, "TYPE125", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
445266077Sdes{LDNS_RR_TYPE_NULL, "TYPE126", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
446266077Sdes{LDNS_RR_TYPE_NULL, "TYPE127", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
447266077Sdes{LDNS_RR_TYPE_NULL, "TYPE128", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
448266077Sdes{LDNS_RR_TYPE_NULL, "TYPE129", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
449266077Sdes{LDNS_RR_TYPE_NULL, "TYPE130", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
450266077Sdes{LDNS_RR_TYPE_NULL, "TYPE131", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
451266077Sdes{LDNS_RR_TYPE_NULL, "TYPE132", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
452266077Sdes{LDNS_RR_TYPE_NULL, "TYPE133", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
453266077Sdes{LDNS_RR_TYPE_NULL, "TYPE134", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
454266077Sdes{LDNS_RR_TYPE_NULL, "TYPE135", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
455266077Sdes{LDNS_RR_TYPE_NULL, "TYPE136", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
456266077Sdes{LDNS_RR_TYPE_NULL, "TYPE137", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
457266077Sdes{LDNS_RR_TYPE_NULL, "TYPE138", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
458266077Sdes{LDNS_RR_TYPE_NULL, "TYPE139", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
459266077Sdes{LDNS_RR_TYPE_NULL, "TYPE140", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
460266077Sdes{LDNS_RR_TYPE_NULL, "TYPE141", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
461266077Sdes{LDNS_RR_TYPE_NULL, "TYPE142", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
462266077Sdes{LDNS_RR_TYPE_NULL, "TYPE143", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
463266077Sdes{LDNS_RR_TYPE_NULL, "TYPE144", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
464266077Sdes{LDNS_RR_TYPE_NULL, "TYPE145", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
465266077Sdes{LDNS_RR_TYPE_NULL, "TYPE146", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
466266077Sdes{LDNS_RR_TYPE_NULL, "TYPE147", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
467266077Sdes{LDNS_RR_TYPE_NULL, "TYPE148", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
468266077Sdes{LDNS_RR_TYPE_NULL, "TYPE149", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
469266077Sdes{LDNS_RR_TYPE_NULL, "TYPE150", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
470266077Sdes{LDNS_RR_TYPE_NULL, "TYPE151", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
471266077Sdes{LDNS_RR_TYPE_NULL, "TYPE152", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
472266077Sdes{LDNS_RR_TYPE_NULL, "TYPE153", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
473266077Sdes{LDNS_RR_TYPE_NULL, "TYPE154", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
474266077Sdes{LDNS_RR_TYPE_NULL, "TYPE155", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
475266077Sdes{LDNS_RR_TYPE_NULL, "TYPE156", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
476266077Sdes{LDNS_RR_TYPE_NULL, "TYPE157", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
477266077Sdes{LDNS_RR_TYPE_NULL, "TYPE158", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
478266077Sdes{LDNS_RR_TYPE_NULL, "TYPE159", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
479266077Sdes{LDNS_RR_TYPE_NULL, "TYPE160", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
480266077Sdes{LDNS_RR_TYPE_NULL, "TYPE161", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
481266077Sdes{LDNS_RR_TYPE_NULL, "TYPE162", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
482266077Sdes{LDNS_RR_TYPE_NULL, "TYPE163", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
483266077Sdes{LDNS_RR_TYPE_NULL, "TYPE164", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
484266077Sdes{LDNS_RR_TYPE_NULL, "TYPE165", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
485266077Sdes{LDNS_RR_TYPE_NULL, "TYPE166", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
486266077Sdes{LDNS_RR_TYPE_NULL, "TYPE167", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
487266077Sdes{LDNS_RR_TYPE_NULL, "TYPE168", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
488266077Sdes{LDNS_RR_TYPE_NULL, "TYPE169", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
489266077Sdes{LDNS_RR_TYPE_NULL, "TYPE170", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
490266077Sdes{LDNS_RR_TYPE_NULL, "TYPE171", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
491266077Sdes{LDNS_RR_TYPE_NULL, "TYPE172", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
492266077Sdes{LDNS_RR_TYPE_NULL, "TYPE173", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
493266077Sdes{LDNS_RR_TYPE_NULL, "TYPE174", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
494266077Sdes{LDNS_RR_TYPE_NULL, "TYPE175", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
495266077Sdes{LDNS_RR_TYPE_NULL, "TYPE176", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
496266077Sdes{LDNS_RR_TYPE_NULL, "TYPE177", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
497266077Sdes{LDNS_RR_TYPE_NULL, "TYPE178", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
498266077Sdes{LDNS_RR_TYPE_NULL, "TYPE179", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
499266077Sdes{LDNS_RR_TYPE_NULL, "TYPE180", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
500266077Sdes{LDNS_RR_TYPE_NULL, "TYPE181", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
501266077Sdes{LDNS_RR_TYPE_NULL, "TYPE182", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
502266077Sdes{LDNS_RR_TYPE_NULL, "TYPE183", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
503266077Sdes{LDNS_RR_TYPE_NULL, "TYPE184", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
504266077Sdes{LDNS_RR_TYPE_NULL, "TYPE185", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
505266077Sdes{LDNS_RR_TYPE_NULL, "TYPE186", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
506266077Sdes{LDNS_RR_TYPE_NULL, "TYPE187", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
507266077Sdes{LDNS_RR_TYPE_NULL, "TYPE188", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
508266077Sdes{LDNS_RR_TYPE_NULL, "TYPE189", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
509266077Sdes{LDNS_RR_TYPE_NULL, "TYPE190", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
510266077Sdes{LDNS_RR_TYPE_NULL, "TYPE191", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
511266077Sdes{LDNS_RR_TYPE_NULL, "TYPE192", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
512266077Sdes{LDNS_RR_TYPE_NULL, "TYPE193", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
513266077Sdes{LDNS_RR_TYPE_NULL, "TYPE194", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
514266077Sdes{LDNS_RR_TYPE_NULL, "TYPE195", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
515266077Sdes{LDNS_RR_TYPE_NULL, "TYPE196", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
516266077Sdes{LDNS_RR_TYPE_NULL, "TYPE197", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
517266077Sdes{LDNS_RR_TYPE_NULL, "TYPE198", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
518266077Sdes{LDNS_RR_TYPE_NULL, "TYPE199", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
519266077Sdes{LDNS_RR_TYPE_NULL, "TYPE200", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
520266077Sdes{LDNS_RR_TYPE_NULL, "TYPE201", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
521266077Sdes{LDNS_RR_TYPE_NULL, "TYPE202", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
522266077Sdes{LDNS_RR_TYPE_NULL, "TYPE203", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
523266077Sdes{LDNS_RR_TYPE_NULL, "TYPE204", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
524266077Sdes{LDNS_RR_TYPE_NULL, "TYPE205", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
525266077Sdes{LDNS_RR_TYPE_NULL, "TYPE206", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
526266077Sdes{LDNS_RR_TYPE_NULL, "TYPE207", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
527266077Sdes{LDNS_RR_TYPE_NULL, "TYPE208", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
528266077Sdes{LDNS_RR_TYPE_NULL, "TYPE209", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
529266077Sdes{LDNS_RR_TYPE_NULL, "TYPE210", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
530266077Sdes{LDNS_RR_TYPE_NULL, "TYPE211", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
531266077Sdes{LDNS_RR_TYPE_NULL, "TYPE212", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
532266077Sdes{LDNS_RR_TYPE_NULL, "TYPE213", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
533266077Sdes{LDNS_RR_TYPE_NULL, "TYPE214", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
534266077Sdes{LDNS_RR_TYPE_NULL, "TYPE215", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
535266077Sdes{LDNS_RR_TYPE_NULL, "TYPE216", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
536266077Sdes{LDNS_RR_TYPE_NULL, "TYPE217", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
537266077Sdes{LDNS_RR_TYPE_NULL, "TYPE218", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
538266077Sdes{LDNS_RR_TYPE_NULL, "TYPE219", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
539266077Sdes{LDNS_RR_TYPE_NULL, "TYPE220", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
540266077Sdes{LDNS_RR_TYPE_NULL, "TYPE221", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
541266077Sdes{LDNS_RR_TYPE_NULL, "TYPE222", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
542266077Sdes{LDNS_RR_TYPE_NULL, "TYPE223", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
543266077Sdes{LDNS_RR_TYPE_NULL, "TYPE224", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
544266077Sdes{LDNS_RR_TYPE_NULL, "TYPE225", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
545266077Sdes{LDNS_RR_TYPE_NULL, "TYPE226", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
546266077Sdes{LDNS_RR_TYPE_NULL, "TYPE227", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
547266077Sdes{LDNS_RR_TYPE_NULL, "TYPE228", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
548266077Sdes{LDNS_RR_TYPE_NULL, "TYPE229", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
549266077Sdes{LDNS_RR_TYPE_NULL, "TYPE230", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
550266077Sdes{LDNS_RR_TYPE_NULL, "TYPE231", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
551266077Sdes{LDNS_RR_TYPE_NULL, "TYPE232", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
552266077Sdes{LDNS_RR_TYPE_NULL, "TYPE233", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
553266077Sdes{LDNS_RR_TYPE_NULL, "TYPE234", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
554266077Sdes{LDNS_RR_TYPE_NULL, "TYPE235", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
555266077Sdes{LDNS_RR_TYPE_NULL, "TYPE236", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
556266077Sdes{LDNS_RR_TYPE_NULL, "TYPE237", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
557266077Sdes{LDNS_RR_TYPE_NULL, "TYPE238", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
558266077Sdes{LDNS_RR_TYPE_NULL, "TYPE239", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
559266077Sdes{LDNS_RR_TYPE_NULL, "TYPE240", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
560266077Sdes{LDNS_RR_TYPE_NULL, "TYPE241", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
561266077Sdes{LDNS_RR_TYPE_NULL, "TYPE242", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
562266077Sdes{LDNS_RR_TYPE_NULL, "TYPE243", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
563266077Sdes{LDNS_RR_TYPE_NULL, "TYPE244", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
564266077Sdes{LDNS_RR_TYPE_NULL, "TYPE245", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
565266077Sdes{LDNS_RR_TYPE_NULL, "TYPE246", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
566266077Sdes{LDNS_RR_TYPE_NULL, "TYPE247", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
567266077Sdes{LDNS_RR_TYPE_NULL, "TYPE248", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
568266077Sdes
569266077Sdes	/* LDNS_RDF_TYPE_INT16_DATA takes two fields (length and data) as one.
570266077Sdes	 * So, unlike RFC 2930 spec, we have 7 min/max rdf's i.s.o. 8/9.
571266077Sdes	 */
572266077Sdes	/* 249 */
573266077Sdes	{LDNS_RR_TYPE_TKEY, "TKEY", 7, 7, type_tkey_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 1 },
574266077Sdes	/* LDNS_RDF_TYPE_INT16_DATA takes two fields (length and data) as one.
575266077Sdes	 * So, unlike RFC 2930 spec, we have 7 min/max rdf's i.s.o. 8/9.
576266077Sdes	 */
577266077Sdes	/* 250 */
578266077Sdes	{LDNS_RR_TYPE_TSIG, "TSIG", 7, 7, type_tsig_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 1 },
579266077Sdes
580266077Sdes	/* IXFR: A request for a transfer of an incremental zone transfer */
581266077Sdes{LDNS_RR_TYPE_IXFR, "IXFR", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
582266077Sdes	/* AXFR: A request for a transfer of an entire zone */
583266077Sdes{LDNS_RR_TYPE_AXFR, "AXFR", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
584266077Sdes	/* MAILB: A request for mailbox-related records (MB, MG or MR) */
585266077Sdes{LDNS_RR_TYPE_MAILB, "MAILB", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
586266077Sdes	/* MAILA: A request for mail agent RRs (Obsolete - see MX) */
587266077Sdes{LDNS_RR_TYPE_MAILA, "MAILA", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
588266077Sdes	/* ANY: A request for all (available) records */
589266077Sdes{LDNS_RR_TYPE_ANY, "ANY", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
590266077Sdes
591266077Sdes	/* 256 */
592266077Sdes	{LDNS_RR_TYPE_URI, "URI", 3, 3, type_uri_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
593266077Sdes	/* 257 */
594266077Sdes	{LDNS_RR_TYPE_CAA, "CAA", 3, 3, type_caa_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
595266077Sdes
596266077Sdes/* split in array, no longer contiguous */
597266077Sdes
598266077Sdes#ifdef DRAFT_RRTYPES
599266077Sdes	/* 32768 */
600266077Sdes	{LDNS_RR_TYPE_TA, "TA", 4, 4, type_ds_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
601266077Sdes#else
602266077Sdes{LDNS_RR_TYPE_NULL, "TYPE32768", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
603266077Sdes#endif
604266077Sdes	/* 32769 */
605266077Sdes	{LDNS_RR_TYPE_DLV, "DLV", 4, 4, type_ds_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 }
606266077Sdes};
607266077Sdes
608266077Sdes/**
609266077Sdes * \def LDNS_RDATA_FIELD_DESCRIPTORS_COUNT
610266077Sdes * computes the number of rdata fields
611266077Sdes */
612266077Sdes#define LDNS_RDATA_FIELD_DESCRIPTORS_COUNT \
613266077Sdes	(sizeof(rdata_field_descriptors)/sizeof(rdata_field_descriptors[0]))
614266077Sdes
615266077Sdesconst sldns_rr_descriptor *
616266077Sdessldns_rr_descript(uint16_t type)
617266077Sdes{
618266077Sdes	size_t i;
619266077Sdes	if (type < LDNS_RDATA_FIELD_DESCRIPTORS_COMMON) {
620266077Sdes		return &rdata_field_descriptors[type];
621266077Sdes	} else {
622266077Sdes		/* because not all array index equals type code */
623266077Sdes		for (i = LDNS_RDATA_FIELD_DESCRIPTORS_COMMON;
624266077Sdes		     i < LDNS_RDATA_FIELD_DESCRIPTORS_COUNT;
625266077Sdes		     i++) {
626266077Sdes		        if (rdata_field_descriptors[i]._type == type) {
627266077Sdes		     		return &rdata_field_descriptors[i];
628266077Sdes			}
629266077Sdes		}
630266077Sdes                return &rdata_field_descriptors[0];
631266077Sdes	}
632266077Sdes}
633266077Sdes
634266077Sdessize_t
635266077Sdessldns_rr_descriptor_minimum(const sldns_rr_descriptor *descriptor)
636266077Sdes{
637266077Sdes	if (descriptor) {
638266077Sdes		return descriptor->_minimum;
639266077Sdes	} else {
640266077Sdes		return 0;
641266077Sdes	}
642266077Sdes}
643266077Sdes
644266077Sdessize_t
645266077Sdessldns_rr_descriptor_maximum(const sldns_rr_descriptor *descriptor)
646266077Sdes{
647266077Sdes	if (descriptor) {
648266077Sdes		if (descriptor->_variable != LDNS_RDF_TYPE_NONE) {
649266077Sdes			return 65535; /* cannot be more than 64k */
650266077Sdes		} else {
651266077Sdes			return descriptor->_maximum;
652266077Sdes		}
653266077Sdes	} else {
654266077Sdes		return 0;
655266077Sdes	}
656266077Sdes}
657266077Sdes
658266077Sdessldns_rdf_type
659266077Sdessldns_rr_descriptor_field_type(const sldns_rr_descriptor *descriptor,
660266077Sdes                              size_t index)
661266077Sdes{
662266077Sdes	assert(descriptor != NULL);
663266077Sdes	assert(index < descriptor->_maximum
664266077Sdes	       || descriptor->_variable != LDNS_RDF_TYPE_NONE);
665266077Sdes	if (index < descriptor->_maximum) {
666266077Sdes		return descriptor->_wireformat[index];
667266077Sdes	} else {
668266077Sdes		return descriptor->_variable;
669266077Sdes	}
670266077Sdes}
671266077Sdes
672266077Sdessldns_rr_type
673266077Sdessldns_get_rr_type_by_name(const char *name)
674266077Sdes{
675266077Sdes	unsigned int i;
676266077Sdes	const char *desc_name;
677266077Sdes	const sldns_rr_descriptor *desc;
678266077Sdes
679266077Sdes	/* TYPEXX representation */
680266077Sdes	if (strlen(name) > 4 && strncasecmp(name, "TYPE", 4) == 0) {
681266077Sdes		return atoi(name + 4);
682266077Sdes	}
683266077Sdes
684266077Sdes	/* Normal types */
685266077Sdes	for (i = 0; i < (unsigned int) LDNS_RDATA_FIELD_DESCRIPTORS_COUNT; i++) {
686266077Sdes		desc = &rdata_field_descriptors[i];
687266077Sdes		desc_name = desc->_name;
688266077Sdes		if(desc_name &&
689266077Sdes		   strlen(name) == strlen(desc_name) &&
690266077Sdes		   strncasecmp(name, desc_name, strlen(desc_name)) == 0) {
691266077Sdes			/* because not all array index equals type code */
692266077Sdes			return desc->_type;
693266077Sdes		}
694266077Sdes	}
695266077Sdes
696266077Sdes	/* special cases for query types */
697266077Sdes	if (strlen(name) == 4 && strncasecmp(name, "IXFR", 4) == 0) {
698266077Sdes		return 251;
699266077Sdes	} else if (strlen(name) == 4 && strncasecmp(name, "AXFR", 4) == 0) {
700266077Sdes		return 252;
701266077Sdes	} else if (strlen(name) == 5 && strncasecmp(name, "MAILB", 5) == 0) {
702266077Sdes		return 253;
703266077Sdes	} else if (strlen(name) == 5 && strncasecmp(name, "MAILA", 5) == 0) {
704266077Sdes		return 254;
705266077Sdes	} else if (strlen(name) == 3 && strncasecmp(name, "ANY", 3) == 0) {
706266077Sdes		return 255;
707266077Sdes	}
708266077Sdes
709266077Sdes	return 0;
710266077Sdes}
711266077Sdes
712266077Sdessldns_rr_class
713266077Sdessldns_get_rr_class_by_name(const char *name)
714266077Sdes{
715266077Sdes	sldns_lookup_table *lt;
716266077Sdes
717266077Sdes	/* CLASSXX representation */
718266077Sdes	if (strlen(name) > 5 && strncasecmp(name, "CLASS", 5) == 0) {
719266077Sdes		return atoi(name + 5);
720266077Sdes	}
721266077Sdes
722266077Sdes	/* Normal types */
723266077Sdes	lt = sldns_lookup_by_name(sldns_rr_classes, name);
724266077Sdes	if (lt) {
725266077Sdes		return lt->id;
726266077Sdes	}
727266077Sdes	return 0;
728266077Sdes}
729