Line data Source code
1 : /* parser auto-generated by pidl */
2 :
3 : #include "includes.h"
4 : #include "bin/default/librpc/gen_ndr/ndr_dns.h"
5 :
6 : #include "librpc/gen_ndr/ndr_misc.h"
7 : #include "librpc/gen_ndr/ndr_dnsp.h"
8 288408 : _PUBLIC_ enum ndr_err_code ndr_push_dns_operation(struct ndr_push *ndr, int ndr_flags, uint16_t r)
9 : {
10 288408 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
11 288408 : return NDR_ERR_SUCCESS;
12 : }
13 :
14 288059 : _PUBLIC_ enum ndr_err_code ndr_pull_dns_operation(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
15 : {
16 : uint16_t v;
17 288059 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
18 288059 : *r = v;
19 288059 : return NDR_ERR_SUCCESS;
20 : }
21 :
22 2 : _PUBLIC_ void ndr_print_dns_operation(struct ndr_print *ndr, const char *name, uint16_t r)
23 : {
24 2 : ndr_print_uint16(ndr, name, r);
25 2 : ndr->depth++;
26 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "DNS_RCODE", DNS_RCODE, r);
27 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "DNS_FLAG_RECURSION_AVAIL", DNS_FLAG_RECURSION_AVAIL, r);
28 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "DNS_FLAG_RECURSION_DESIRED", DNS_FLAG_RECURSION_DESIRED, r);
29 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "DNS_FLAG_TRUNCATION", DNS_FLAG_TRUNCATION, r);
30 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "DNS_FLAG_AUTHORITATIVE", DNS_FLAG_AUTHORITATIVE, r);
31 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "DNS_OPCODE", DNS_OPCODE, r);
32 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "DNS_FLAG_REPLY", DNS_FLAG_REPLY, r);
33 2 : ndr->depth--;
34 2 : }
35 :
36 0 : _PUBLIC_ enum ndr_err_code ndr_push_dns_opcode(struct ndr_push *ndr, int ndr_flags, enum dns_opcode r)
37 : {
38 0 : NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
39 0 : return NDR_ERR_SUCCESS;
40 : }
41 :
42 0 : _PUBLIC_ enum ndr_err_code ndr_pull_dns_opcode(struct ndr_pull *ndr, int ndr_flags, enum dns_opcode *r)
43 : {
44 : uint16_t v;
45 0 : NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
46 0 : *r = v;
47 0 : return NDR_ERR_SUCCESS;
48 : }
49 :
50 0 : _PUBLIC_ void ndr_print_dns_opcode(struct ndr_print *ndr, const char *name, enum dns_opcode r)
51 : {
52 0 : const char *val = NULL;
53 :
54 0 : switch (r) {
55 0 : case DNS_OPCODE_QUERY: val = "DNS_OPCODE_QUERY"; break;
56 0 : case DNS_OPCODE_IQUERY: val = "DNS_OPCODE_IQUERY"; break;
57 0 : case DNS_OPCODE_STATUS: val = "DNS_OPCODE_STATUS"; break;
58 0 : case DNS_OPCODE_UPDATE: val = "DNS_OPCODE_UPDATE"; break;
59 0 : case DNS_OPCODE_RELEASE: val = "DNS_OPCODE_RELEASE"; break;
60 0 : case DNS_OPCODE_WACK: val = "DNS_OPCODE_WACK"; break;
61 0 : case DNS_OPCODE_REFRESH: val = "DNS_OPCODE_REFRESH"; break;
62 0 : case DNS_OPCODE_REFRESH2: val = "DNS_OPCODE_REFRESH2"; break;
63 0 : case DNS_OPCODE_MULTI_HOME_REG: val = "DNS_OPCODE_MULTI_HOME_REG"; break;
64 : }
65 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
66 0 : }
67 :
68 0 : _PUBLIC_ enum ndr_err_code ndr_push_dns_rcode(struct ndr_push *ndr, int ndr_flags, enum dns_rcode r)
69 : {
70 0 : NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
71 0 : return NDR_ERR_SUCCESS;
72 : }
73 :
74 0 : _PUBLIC_ enum ndr_err_code ndr_pull_dns_rcode(struct ndr_pull *ndr, int ndr_flags, enum dns_rcode *r)
75 : {
76 : uint16_t v;
77 0 : NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
78 0 : *r = v;
79 0 : return NDR_ERR_SUCCESS;
80 : }
81 :
82 0 : _PUBLIC_ void ndr_print_dns_rcode(struct ndr_print *ndr, const char *name, enum dns_rcode r)
83 : {
84 0 : const char *val = NULL;
85 :
86 0 : switch (r) {
87 0 : case DNS_RCODE_OK: val = "DNS_RCODE_OK"; break;
88 0 : case DNS_RCODE_FORMERR: val = "DNS_RCODE_FORMERR"; break;
89 0 : case DNS_RCODE_SERVFAIL: val = "DNS_RCODE_SERVFAIL"; break;
90 0 : case DNS_RCODE_NXDOMAIN: val = "DNS_RCODE_NXDOMAIN"; break;
91 0 : case DNS_RCODE_NOTIMP: val = "DNS_RCODE_NOTIMP"; break;
92 0 : case DNS_RCODE_REFUSED: val = "DNS_RCODE_REFUSED"; break;
93 0 : case DNS_RCODE_YXDOMAIN: val = "DNS_RCODE_YXDOMAIN"; break;
94 0 : case DNS_RCODE_YXRRSET: val = "DNS_RCODE_YXRRSET"; break;
95 0 : case DNS_RCODE_NXRRSET: val = "DNS_RCODE_NXRRSET"; break;
96 0 : case DNS_RCODE_NOTAUTH: val = "DNS_RCODE_NOTAUTH"; break;
97 0 : case DNS_RCODE_NOTZONE: val = "DNS_RCODE_NOTZONE"; break;
98 0 : case DNS_RCODE_BADSIG: val = "DNS_RCODE_BADSIG"; break;
99 0 : case DNS_RCODE_BADKEY: val = "DNS_RCODE_BADKEY"; break;
100 0 : case DNS_RCODE_BADTIME: val = "DNS_RCODE_BADTIME"; break;
101 0 : case DNS_RCODE_BADMODE: val = "DNS_RCODE_BADMODE"; break;
102 0 : case DNS_RCODE_BADNAME: val = "DNS_RCODE_BADNAME"; break;
103 0 : case DNS_RCODE_BADALG: val = "DNS_RCODE_BADALG"; break;
104 : }
105 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
106 0 : }
107 :
108 513648 : _PUBLIC_ enum ndr_err_code ndr_push_dns_qclass(struct ndr_push *ndr, int ndr_flags, enum dns_qclass r)
109 : {
110 513648 : NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
111 513648 : return NDR_ERR_SUCCESS;
112 : }
113 :
114 404869 : _PUBLIC_ enum ndr_err_code ndr_pull_dns_qclass(struct ndr_pull *ndr, int ndr_flags, enum dns_qclass *r)
115 : {
116 : uint16_t v;
117 404869 : NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
118 404869 : *r = v;
119 404869 : return NDR_ERR_SUCCESS;
120 : }
121 :
122 4 : _PUBLIC_ void ndr_print_dns_qclass(struct ndr_print *ndr, const char *name, enum dns_qclass r)
123 : {
124 4 : const char *val = NULL;
125 :
126 4 : switch (r) {
127 4 : case DNS_QCLASS_IN: val = "DNS_QCLASS_IN"; break;
128 0 : case DNS_QCLASS_NONE: val = "DNS_QCLASS_NONE"; break;
129 0 : case DNS_QCLASS_ANY: val = "DNS_QCLASS_ANY"; break;
130 : }
131 4 : ndr_print_enum(ndr, name, "ENUM", val, r);
132 4 : }
133 :
134 512955 : _PUBLIC_ enum ndr_err_code ndr_push_dns_qtype(struct ndr_push *ndr, int ndr_flags, enum dns_qtype r)
135 : {
136 512955 : NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
137 512955 : return NDR_ERR_SUCCESS;
138 : }
139 :
140 404869 : _PUBLIC_ enum ndr_err_code ndr_pull_dns_qtype(struct ndr_pull *ndr, int ndr_flags, enum dns_qtype *r)
141 : {
142 : uint16_t v;
143 404869 : NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
144 404869 : *r = v;
145 404869 : return NDR_ERR_SUCCESS;
146 : }
147 :
148 4 : _PUBLIC_ void ndr_print_dns_qtype(struct ndr_print *ndr, const char *name, enum dns_qtype r)
149 : {
150 4 : const char *val = NULL;
151 :
152 4 : switch (r) {
153 0 : case DNS_QTYPE_ZERO: val = "DNS_QTYPE_ZERO"; break;
154 0 : case DNS_QTYPE_A: val = "DNS_QTYPE_A"; break;
155 0 : case DNS_QTYPE_NS: val = "DNS_QTYPE_NS"; break;
156 0 : case DNS_QTYPE_MD: val = "DNS_QTYPE_MD"; break;
157 0 : case DNS_QTYPE_MF: val = "DNS_QTYPE_MF"; break;
158 2 : case DNS_QTYPE_CNAME: val = "DNS_QTYPE_CNAME"; break;
159 2 : case DNS_QTYPE_SOA: val = "DNS_QTYPE_SOA"; break;
160 0 : case DNS_QTYPE_MB: val = "DNS_QTYPE_MB"; break;
161 0 : case DNS_QTYPE_MG: val = "DNS_QTYPE_MG"; break;
162 0 : case DNS_QTYPE_MR: val = "DNS_QTYPE_MR"; break;
163 0 : case DNS_QTYPE_NULL: val = "DNS_QTYPE_NULL"; break;
164 0 : case DNS_QTYPE_WKS: val = "DNS_QTYPE_WKS"; break;
165 0 : case DNS_QTYPE_PTR: val = "DNS_QTYPE_PTR"; break;
166 0 : case DNS_QTYPE_HINFO: val = "DNS_QTYPE_HINFO"; break;
167 0 : case DNS_QTYPE_MINFO: val = "DNS_QTYPE_MINFO"; break;
168 0 : case DNS_QTYPE_MX: val = "DNS_QTYPE_MX"; break;
169 0 : case DNS_QTYPE_TXT: val = "DNS_QTYPE_TXT"; break;
170 0 : case DNS_QTYPE_RP: val = "DNS_QTYPE_RP"; break;
171 0 : case DNS_QTYPE_AFSDB: val = "DNS_QTYPE_AFSDB"; break;
172 0 : case DNS_QTYPE_X25: val = "DNS_QTYPE_X25"; break;
173 0 : case DNS_QTYPE_ISDN: val = "DNS_QTYPE_ISDN"; break;
174 0 : case DNS_QTYPE_RT: val = "DNS_QTYPE_RT"; break;
175 0 : case DNS_QTYPE_SIG: val = "DNS_QTYPE_SIG"; break;
176 0 : case DNS_QTYPE_KEY: val = "DNS_QTYPE_KEY"; break;
177 0 : case DNS_QTYPE_AAAA: val = "DNS_QTYPE_AAAA"; break;
178 0 : case DNS_QTYPE_LOC: val = "DNS_QTYPE_LOC"; break;
179 0 : case DNS_QTYPE_NXT: val = "DNS_QTYPE_NXT"; break;
180 0 : case DNS_QTYPE_NETBIOS: val = "DNS_QTYPE_NETBIOS"; break;
181 0 : case DNS_QTYPE_SRV: val = "DNS_QTYPE_SRV"; break;
182 0 : case DNS_QTYPE_ATMA: val = "DNS_QTYPE_ATMA"; break;
183 0 : case DNS_QTYPE_NAPTR: val = "DNS_QTYPE_NAPTR"; break;
184 0 : case DNS_QTYPE_DNAME: val = "DNS_QTYPE_DNAME"; break;
185 0 : case DNS_QTYPE_OPT: val = "DNS_QTYPE_OPT"; break;
186 0 : case DNS_QTYPE_DS: val = "DNS_QTYPE_DS"; break;
187 0 : case DNS_QTYPE_RRSIG: val = "DNS_QTYPE_RRSIG"; break;
188 0 : case DNS_QTYPE_NSEC: val = "DNS_QTYPE_NSEC"; break;
189 0 : case DNS_QTYPE_DNSKEY: val = "DNS_QTYPE_DNSKEY"; break;
190 0 : case DNS_QTYPE_DHCID: val = "DNS_QTYPE_DHCID"; break;
191 0 : case DNS_QTYPE_TKEY: val = "DNS_QTYPE_TKEY"; break;
192 0 : case DNS_QTYPE_TSIG: val = "DNS_QTYPE_TSIG"; break;
193 0 : case DNS_QTYPE_AXFR: val = "DNS_QTYPE_AXFR"; break;
194 0 : case DNS_QTYPE_MAILB: val = "DNS_QTYPE_MAILB"; break;
195 0 : case DNS_QTYPE_MAILA: val = "DNS_QTYPE_MAILA"; break;
196 0 : case DNS_QTYPE_ALL: val = "DNS_QTYPE_ALL"; break;
197 : }
198 4 : ndr_print_enum(ndr, name, "ENUM", val, r);
199 4 : }
200 :
201 488 : _PUBLIC_ enum ndr_err_code ndr_push_dns_tkey_mode(struct ndr_push *ndr, int ndr_flags, enum dns_tkey_mode r)
202 : {
203 488 : NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
204 488 : return NDR_ERR_SUCCESS;
205 : }
206 :
207 244 : _PUBLIC_ enum ndr_err_code ndr_pull_dns_tkey_mode(struct ndr_pull *ndr, int ndr_flags, enum dns_tkey_mode *r)
208 : {
209 : uint16_t v;
210 244 : NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
211 244 : *r = v;
212 244 : return NDR_ERR_SUCCESS;
213 : }
214 :
215 0 : _PUBLIC_ void ndr_print_dns_tkey_mode(struct ndr_print *ndr, const char *name, enum dns_tkey_mode r)
216 : {
217 0 : const char *val = NULL;
218 :
219 0 : switch (r) {
220 0 : case DNS_TKEY_MODE_NULL: val = "DNS_TKEY_MODE_NULL"; break;
221 0 : case DNS_TKEY_MODE_SERVER: val = "DNS_TKEY_MODE_SERVER"; break;
222 0 : case DNS_TKEY_MODE_DH: val = "DNS_TKEY_MODE_DH"; break;
223 0 : case DNS_TKEY_MODE_GSSAPI: val = "DNS_TKEY_MODE_GSSAPI"; break;
224 0 : case DNS_TKEY_MODE_CLIENT: val = "DNS_TKEY_MODE_CLIENT"; break;
225 0 : case DNS_TKEY_MODE_DELETE: val = "DNS_TKEY_MODE_DELETE"; break;
226 0 : case DNS_TKEY_MODE_LAST: val = "DNS_TKEY_MODE_LAST"; break;
227 : }
228 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
229 0 : }
230 :
231 288416 : _PUBLIC_ enum ndr_err_code ndr_push_dns_name_question(struct ndr_push *ndr, int ndr_flags, const struct dns_name_question *r)
232 : {
233 288416 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
234 288416 : if (ndr_flags & NDR_SCALARS) {
235 288416 : NDR_CHECK(ndr_push_align(ndr, 4));
236 288416 : NDR_CHECK(ndr_push_dns_string(ndr, NDR_SCALARS, r->name));
237 288412 : NDR_CHECK(ndr_push_dns_qtype(ndr, NDR_SCALARS, r->question_type));
238 288412 : NDR_CHECK(ndr_push_dns_qclass(ndr, NDR_SCALARS, r->question_class));
239 288412 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
240 : }
241 288208 : if (ndr_flags & NDR_BUFFERS) {
242 : }
243 288412 : return NDR_ERR_SUCCESS;
244 : }
245 :
246 288075 : _PUBLIC_ enum ndr_err_code ndr_pull_dns_name_question(struct ndr_pull *ndr, int ndr_flags, struct dns_name_question *r)
247 : {
248 288075 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
249 288075 : if (ndr_flags & NDR_SCALARS) {
250 288075 : NDR_CHECK(ndr_pull_align(ndr, 4));
251 288075 : NDR_CHECK(ndr_pull_dns_string(ndr, NDR_SCALARS, &r->name));
252 288075 : NDR_CHECK(ndr_pull_dns_qtype(ndr, NDR_SCALARS, &r->question_type));
253 288075 : NDR_CHECK(ndr_pull_dns_qclass(ndr, NDR_SCALARS, &r->question_class));
254 288075 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
255 : }
256 287869 : if (ndr_flags & NDR_BUFFERS) {
257 : }
258 288075 : return NDR_ERR_SUCCESS;
259 : }
260 :
261 0 : static void ndr_print_flags_dns_name_question(struct ndr_print *ndr, const char *name, int unused, const struct dns_name_question *r)
262 : {
263 0 : ndr_print_dns_name_question(ndr, name, r);
264 0 : }
265 :
266 2 : _PUBLIC_ void ndr_print_dns_name_question(struct ndr_print *ndr, const char *name, const struct dns_name_question *r)
267 : {
268 2 : ndr_print_struct(ndr, name, "dns_name_question");
269 2 : if (r == NULL) { ndr_print_null(ndr); return; }
270 2 : ndr->depth++;
271 2 : ndr_print_dns_string(ndr, "name", r->name);
272 2 : ndr_print_dns_qtype(ndr, "question_type", r->question_type);
273 2 : ndr_print_dns_qclass(ndr, "question_class", r->question_class);
274 2 : ndr->depth--;
275 : }
276 :
277 0 : _PUBLIC_ enum ndr_err_code ndr_push_dns_rdata_data(struct ndr_push *ndr, int ndr_flags, const struct dns_rdata_data *r)
278 : {
279 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
280 0 : if (ndr_flags & NDR_SCALARS) {
281 0 : NDR_CHECK(ndr_push_align(ndr, 2));
282 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
283 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
284 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 2));
285 : }
286 0 : if (ndr_flags & NDR_BUFFERS) {
287 : }
288 0 : return NDR_ERR_SUCCESS;
289 : }
290 :
291 0 : _PUBLIC_ enum ndr_err_code ndr_pull_dns_rdata_data(struct ndr_pull *ndr, int ndr_flags, struct dns_rdata_data *r)
292 : {
293 0 : uint32_t size_data_0 = 0;
294 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
295 0 : if (ndr_flags & NDR_SCALARS) {
296 0 : NDR_CHECK(ndr_pull_align(ndr, 2));
297 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
298 0 : size_data_0 = r->length;
299 0 : NDR_PULL_ALLOC_N(ndr, r->data, size_data_0);
300 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
301 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
302 : }
303 0 : if (ndr_flags & NDR_BUFFERS) {
304 : }
305 0 : return NDR_ERR_SUCCESS;
306 : }
307 :
308 0 : static void ndr_print_flags_dns_rdata_data(struct ndr_print *ndr, const char *name, int unused, const struct dns_rdata_data *r)
309 : {
310 0 : ndr_print_dns_rdata_data(ndr, name, r);
311 0 : }
312 :
313 0 : _PUBLIC_ void ndr_print_dns_rdata_data(struct ndr_print *ndr, const char *name, const struct dns_rdata_data *r)
314 : {
315 0 : ndr_print_struct(ndr, name, "dns_rdata_data");
316 0 : if (r == NULL) { ndr_print_null(ndr); return; }
317 0 : ndr->depth++;
318 0 : ndr_print_uint16(ndr, "length", r->length);
319 0 : ndr_print_array_uint8(ndr, "data", r->data, r->length);
320 0 : ndr->depth--;
321 : }
322 :
323 176691 : static enum ndr_err_code ndr_push_dns_soa_record(struct ndr_push *ndr, int ndr_flags, const struct dns_soa_record *r)
324 : {
325 176691 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
326 176691 : if (ndr_flags & NDR_SCALARS) {
327 176691 : NDR_CHECK(ndr_push_align(ndr, 4));
328 176691 : NDR_CHECK(ndr_push_dns_string(ndr, NDR_SCALARS, r->mname));
329 176691 : NDR_CHECK(ndr_push_dns_string(ndr, NDR_SCALARS, r->rname));
330 176691 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial));
331 176691 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->refresh));
332 176691 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->retry));
333 176691 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->expire));
334 176691 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minimum));
335 176691 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
336 : }
337 176555 : if (ndr_flags & NDR_BUFFERS) {
338 : }
339 176691 : return NDR_ERR_SUCCESS;
340 : }
341 :
342 89759 : static enum ndr_err_code ndr_pull_dns_soa_record(struct ndr_pull *ndr, int ndr_flags, struct dns_soa_record *r)
343 : {
344 89759 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
345 89759 : if (ndr_flags & NDR_SCALARS) {
346 89759 : NDR_CHECK(ndr_pull_align(ndr, 4));
347 89759 : NDR_CHECK(ndr_pull_dns_string(ndr, NDR_SCALARS, &r->mname));
348 89759 : NDR_CHECK(ndr_pull_dns_string(ndr, NDR_SCALARS, &r->rname));
349 89759 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial));
350 89759 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->refresh));
351 89759 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->retry));
352 89759 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->expire));
353 89759 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minimum));
354 89759 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
355 : }
356 89691 : if (ndr_flags & NDR_BUFFERS) {
357 : }
358 89759 : return NDR_ERR_SUCCESS;
359 : }
360 :
361 0 : _PUBLIC_ void ndr_print_dns_soa_record(struct ndr_print *ndr, const char *name, const struct dns_soa_record *r)
362 : {
363 0 : ndr_print_struct(ndr, name, "dns_soa_record");
364 0 : if (r == NULL) { ndr_print_null(ndr); return; }
365 0 : ndr->depth++;
366 0 : ndr_print_dns_string(ndr, "mname", r->mname);
367 0 : ndr_print_dns_string(ndr, "rname", r->rname);
368 0 : ndr_print_uint32(ndr, "serial", r->serial);
369 0 : ndr_print_uint32(ndr, "refresh", r->refresh);
370 0 : ndr_print_uint32(ndr, "retry", r->retry);
371 0 : ndr_print_uint32(ndr, "expire", r->expire);
372 0 : ndr_print_uint32(ndr, "minimum", r->minimum);
373 0 : ndr->depth--;
374 : }
375 :
376 8 : _PUBLIC_ enum ndr_err_code ndr_push_dns_mx_record(struct ndr_push *ndr, int ndr_flags, const struct dns_mx_record *r)
377 : {
378 8 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
379 8 : if (ndr_flags & NDR_SCALARS) {
380 8 : NDR_CHECK(ndr_push_align(ndr, 4));
381 8 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->preference));
382 8 : NDR_CHECK(ndr_push_dns_string(ndr, NDR_SCALARS, r->exchange));
383 8 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
384 : }
385 8 : if (ndr_flags & NDR_BUFFERS) {
386 : }
387 8 : return NDR_ERR_SUCCESS;
388 : }
389 :
390 10 : _PUBLIC_ enum ndr_err_code ndr_pull_dns_mx_record(struct ndr_pull *ndr, int ndr_flags, struct dns_mx_record *r)
391 : {
392 10 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
393 10 : if (ndr_flags & NDR_SCALARS) {
394 10 : NDR_CHECK(ndr_pull_align(ndr, 4));
395 10 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->preference));
396 10 : NDR_CHECK(ndr_pull_dns_string(ndr, NDR_SCALARS, &r->exchange));
397 10 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
398 : }
399 10 : if (ndr_flags & NDR_BUFFERS) {
400 : }
401 10 : return NDR_ERR_SUCCESS;
402 : }
403 :
404 0 : static void ndr_print_flags_dns_mx_record(struct ndr_print *ndr, const char *name, int unused, const struct dns_mx_record *r)
405 : {
406 0 : ndr_print_dns_mx_record(ndr, name, r);
407 0 : }
408 :
409 0 : _PUBLIC_ void ndr_print_dns_mx_record(struct ndr_print *ndr, const char *name, const struct dns_mx_record *r)
410 : {
411 0 : ndr_print_struct(ndr, name, "dns_mx_record");
412 0 : if (r == NULL) { ndr_print_null(ndr); return; }
413 0 : ndr->depth++;
414 0 : ndr_print_uint16(ndr, "preference", r->preference);
415 0 : ndr_print_dns_string(ndr, "exchange", r->exchange);
416 0 : ndr->depth--;
417 : }
418 :
419 1863 : _PUBLIC_ enum ndr_err_code ndr_push_dns_txt_record(struct ndr_push *ndr, int ndr_flags, const struct dns_txt_record *r)
420 : {
421 1863 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
422 1863 : if (ndr_flags & NDR_SCALARS) {
423 1863 : NDR_CHECK(ndr_push_align(ndr, 1));
424 1863 : NDR_CHECK(ndr_push_dnsp_string_list(ndr, NDR_SCALARS, &r->txt));
425 1863 : NDR_CHECK(ndr_push_trailer_align(ndr, 1));
426 : }
427 1863 : if (ndr_flags & NDR_BUFFERS) {
428 : }
429 1863 : return NDR_ERR_SUCCESS;
430 : }
431 :
432 0 : static void ndr_print_flags_dns_txt_record(struct ndr_print *ndr, const char *name, int unused, const struct dns_txt_record *r)
433 : {
434 0 : ndr_print_dns_txt_record(ndr, name, r);
435 0 : }
436 :
437 0 : _PUBLIC_ void ndr_print_dns_txt_record(struct ndr_print *ndr, const char *name, const struct dns_txt_record *r)
438 : {
439 0 : ndr_print_struct(ndr, name, "dns_txt_record");
440 0 : if (r == NULL) { ndr_print_null(ndr); return; }
441 0 : ndr->depth++;
442 0 : ndr_print_dnsp_string_list(ndr, "txt", &r->txt);
443 0 : ndr->depth--;
444 : }
445 :
446 0 : _PUBLIC_ enum ndr_err_code ndr_push_dns_rp_record(struct ndr_push *ndr, int ndr_flags, const struct dns_rp_record *r)
447 : {
448 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
449 0 : if (ndr_flags & NDR_SCALARS) {
450 0 : NDR_CHECK(ndr_push_align(ndr, 4));
451 0 : NDR_CHECK(ndr_push_dns_string(ndr, NDR_SCALARS, r->mbox));
452 0 : NDR_CHECK(ndr_push_dns_string(ndr, NDR_SCALARS, r->txt));
453 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
454 : }
455 0 : if (ndr_flags & NDR_BUFFERS) {
456 : }
457 0 : return NDR_ERR_SUCCESS;
458 : }
459 :
460 0 : _PUBLIC_ enum ndr_err_code ndr_pull_dns_rp_record(struct ndr_pull *ndr, int ndr_flags, struct dns_rp_record *r)
461 : {
462 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
463 0 : if (ndr_flags & NDR_SCALARS) {
464 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
465 0 : NDR_CHECK(ndr_pull_dns_string(ndr, NDR_SCALARS, &r->mbox));
466 0 : NDR_CHECK(ndr_pull_dns_string(ndr, NDR_SCALARS, &r->txt));
467 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
468 : }
469 0 : if (ndr_flags & NDR_BUFFERS) {
470 : }
471 0 : return NDR_ERR_SUCCESS;
472 : }
473 :
474 0 : static void ndr_print_flags_dns_rp_record(struct ndr_print *ndr, const char *name, int unused, const struct dns_rp_record *r)
475 : {
476 0 : ndr_print_dns_rp_record(ndr, name, r);
477 0 : }
478 :
479 0 : _PUBLIC_ void ndr_print_dns_rp_record(struct ndr_print *ndr, const char *name, const struct dns_rp_record *r)
480 : {
481 0 : ndr_print_struct(ndr, name, "dns_rp_record");
482 0 : if (r == NULL) { ndr_print_null(ndr); return; }
483 0 : ndr->depth++;
484 0 : ndr_print_dns_string(ndr, "mbox", r->mbox);
485 0 : ndr_print_dns_string(ndr, "txt", r->txt);
486 0 : ndr->depth--;
487 : }
488 :
489 9819 : _PUBLIC_ enum ndr_err_code ndr_push_dns_srv_record(struct ndr_push *ndr, int ndr_flags, const struct dns_srv_record *r)
490 : {
491 9819 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
492 9819 : if (ndr_flags & NDR_SCALARS) {
493 9819 : NDR_CHECK(ndr_push_align(ndr, 4));
494 9819 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->priority));
495 9819 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->weight));
496 9819 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->port));
497 9819 : NDR_CHECK(ndr_push_dns_string(ndr, NDR_SCALARS, r->target));
498 9819 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
499 : }
500 9735 : if (ndr_flags & NDR_BUFFERS) {
501 : }
502 9819 : return NDR_ERR_SUCCESS;
503 : }
504 :
505 5474 : _PUBLIC_ enum ndr_err_code ndr_pull_dns_srv_record(struct ndr_pull *ndr, int ndr_flags, struct dns_srv_record *r)
506 : {
507 5474 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
508 5474 : if (ndr_flags & NDR_SCALARS) {
509 5474 : NDR_CHECK(ndr_pull_align(ndr, 4));
510 5474 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->priority));
511 5474 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->weight));
512 5474 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->port));
513 5474 : NDR_CHECK(ndr_pull_dns_string(ndr, NDR_SCALARS, &r->target));
514 5474 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
515 : }
516 5432 : if (ndr_flags & NDR_BUFFERS) {
517 : }
518 5474 : return NDR_ERR_SUCCESS;
519 : }
520 :
521 0 : static void ndr_print_flags_dns_srv_record(struct ndr_print *ndr, const char *name, int unused, const struct dns_srv_record *r)
522 : {
523 0 : ndr_print_dns_srv_record(ndr, name, r);
524 0 : }
525 :
526 0 : _PUBLIC_ void ndr_print_dns_srv_record(struct ndr_print *ndr, const char *name, const struct dns_srv_record *r)
527 : {
528 0 : ndr_print_struct(ndr, name, "dns_srv_record");
529 0 : if (r == NULL) { ndr_print_null(ndr); return; }
530 0 : ndr->depth++;
531 0 : ndr_print_uint16(ndr, "priority", r->priority);
532 0 : ndr_print_uint16(ndr, "weight", r->weight);
533 0 : ndr_print_uint16(ndr, "port", r->port);
534 0 : ndr_print_dns_string(ndr, "target", r->target);
535 0 : ndr->depth--;
536 : }
537 :
538 0 : _PUBLIC_ enum ndr_err_code ndr_push_dns_opt_record(struct ndr_push *ndr, int ndr_flags, const struct dns_opt_record *r)
539 : {
540 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
541 0 : if (ndr_flags & NDR_SCALARS) {
542 0 : NDR_CHECK(ndr_push_align(ndr, 2));
543 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->option_code));
544 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->option_length));
545 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->option_data, r->option_length));
546 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 2));
547 : }
548 0 : if (ndr_flags & NDR_BUFFERS) {
549 : }
550 0 : return NDR_ERR_SUCCESS;
551 : }
552 :
553 18 : _PUBLIC_ enum ndr_err_code ndr_pull_dns_opt_record(struct ndr_pull *ndr, int ndr_flags, struct dns_opt_record *r)
554 : {
555 18 : uint32_t size_option_data_0 = 0;
556 18 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
557 18 : if (ndr_flags & NDR_SCALARS) {
558 18 : NDR_CHECK(ndr_pull_align(ndr, 2));
559 18 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->option_code));
560 18 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->option_length));
561 18 : size_option_data_0 = r->option_length;
562 18 : NDR_PULL_ALLOC_N(ndr, r->option_data, size_option_data_0);
563 18 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->option_data, size_option_data_0));
564 18 : NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
565 : }
566 18 : if (ndr_flags & NDR_BUFFERS) {
567 : }
568 18 : return NDR_ERR_SUCCESS;
569 : }
570 :
571 0 : static void ndr_print_flags_dns_opt_record(struct ndr_print *ndr, const char *name, int unused, const struct dns_opt_record *r)
572 : {
573 0 : ndr_print_dns_opt_record(ndr, name, r);
574 0 : }
575 :
576 0 : _PUBLIC_ void ndr_print_dns_opt_record(struct ndr_print *ndr, const char *name, const struct dns_opt_record *r)
577 : {
578 0 : ndr_print_struct(ndr, name, "dns_opt_record");
579 0 : if (r == NULL) { ndr_print_null(ndr); return; }
580 0 : ndr->depth++;
581 0 : ndr_print_uint16(ndr, "option_code", r->option_code);
582 0 : ndr_print_uint16(ndr, "option_length", r->option_length);
583 0 : ndr_print_array_uint8(ndr, "option_data", r->option_data, r->option_length);
584 0 : ndr->depth--;
585 : }
586 :
587 488 : _PUBLIC_ enum ndr_err_code ndr_push_dns_tkey_record(struct ndr_push *ndr, int ndr_flags, const struct dns_tkey_record *r)
588 : {
589 : {
590 488 : uint32_t _flags_save_STRUCT = ndr->flags;
591 488 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NO_COMPRESSION);
592 488 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
593 488 : if (ndr_flags & NDR_SCALARS) {
594 488 : NDR_CHECK(ndr_push_align(ndr, 4));
595 488 : NDR_CHECK(ndr_push_dns_string(ndr, NDR_SCALARS, r->algorithm));
596 488 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->inception));
597 488 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->expiration));
598 488 : NDR_CHECK(ndr_push_dns_tkey_mode(ndr, NDR_SCALARS, r->mode));
599 488 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->error));
600 488 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->key_size));
601 488 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key_data, r->key_size));
602 488 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->other_size));
603 488 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->other_data, r->other_size));
604 488 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
605 : }
606 488 : if (ndr_flags & NDR_BUFFERS) {
607 : }
608 488 : ndr->flags = _flags_save_STRUCT;
609 : }
610 488 : return NDR_ERR_SUCCESS;
611 : }
612 :
613 244 : _PUBLIC_ enum ndr_err_code ndr_pull_dns_tkey_record(struct ndr_pull *ndr, int ndr_flags, struct dns_tkey_record *r)
614 : {
615 244 : uint32_t size_key_data_0 = 0;
616 244 : uint32_t size_other_data_0 = 0;
617 : {
618 244 : uint32_t _flags_save_STRUCT = ndr->flags;
619 244 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NO_COMPRESSION);
620 244 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
621 244 : if (ndr_flags & NDR_SCALARS) {
622 244 : NDR_CHECK(ndr_pull_align(ndr, 4));
623 244 : NDR_CHECK(ndr_pull_dns_string(ndr, NDR_SCALARS, &r->algorithm));
624 244 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->inception));
625 244 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->expiration));
626 244 : NDR_CHECK(ndr_pull_dns_tkey_mode(ndr, NDR_SCALARS, &r->mode));
627 244 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->error));
628 244 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->key_size));
629 244 : size_key_data_0 = r->key_size;
630 244 : NDR_PULL_ALLOC_N(ndr, r->key_data, size_key_data_0);
631 244 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key_data, size_key_data_0));
632 244 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->other_size));
633 244 : size_other_data_0 = r->other_size;
634 244 : NDR_PULL_ALLOC_N(ndr, r->other_data, size_other_data_0);
635 244 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->other_data, size_other_data_0));
636 244 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
637 : }
638 244 : if (ndr_flags & NDR_BUFFERS) {
639 : }
640 244 : ndr->flags = _flags_save_STRUCT;
641 : }
642 244 : return NDR_ERR_SUCCESS;
643 : }
644 :
645 0 : static void ndr_print_flags_dns_tkey_record(struct ndr_print *ndr, const char *name, int unused, const struct dns_tkey_record *r)
646 : {
647 0 : ndr_print_dns_tkey_record(ndr, name, r);
648 0 : }
649 :
650 0 : _PUBLIC_ void ndr_print_dns_tkey_record(struct ndr_print *ndr, const char *name, const struct dns_tkey_record *r)
651 : {
652 0 : ndr_print_struct(ndr, name, "dns_tkey_record");
653 0 : if (r == NULL) { ndr_print_null(ndr); return; }
654 : {
655 0 : uint32_t _flags_save_STRUCT = ndr->flags;
656 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NO_COMPRESSION);
657 0 : ndr->depth++;
658 0 : ndr_print_dns_string(ndr, "algorithm", r->algorithm);
659 0 : ndr_print_uint32(ndr, "inception", r->inception);
660 0 : ndr_print_uint32(ndr, "expiration", r->expiration);
661 0 : ndr_print_dns_tkey_mode(ndr, "mode", r->mode);
662 0 : ndr_print_uint16(ndr, "error", r->error);
663 0 : ndr_print_uint16(ndr, "key_size", r->key_size);
664 0 : ndr_print_array_uint8(ndr, "key_data", r->key_data, r->key_size);
665 0 : ndr_print_uint16(ndr, "other_size", r->other_size);
666 0 : ndr_print_array_uint8(ndr, "other_data", r->other_data, r->other_size);
667 0 : ndr->depth--;
668 0 : ndr->flags = _flags_save_STRUCT;
669 : }
670 : }
671 :
672 710 : _PUBLIC_ enum ndr_err_code ndr_push_dns_tsig_record(struct ndr_push *ndr, int ndr_flags, const struct dns_tsig_record *r)
673 : {
674 : {
675 710 : uint32_t _flags_save_STRUCT = ndr->flags;
676 710 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NO_COMPRESSION);
677 710 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
678 710 : if (ndr_flags & NDR_SCALARS) {
679 710 : NDR_CHECK(ndr_push_align(ndr, 4));
680 710 : NDR_CHECK(ndr_push_dns_string(ndr, NDR_SCALARS, r->algorithm_name));
681 710 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->time_prefix));
682 710 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time));
683 710 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->fudge));
684 710 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->mac_size));
685 710 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->mac, r->mac_size));
686 710 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->original_id));
687 710 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->error));
688 710 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->other_size));
689 710 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->other_data, r->other_size));
690 710 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
691 : }
692 710 : if (ndr_flags & NDR_BUFFERS) {
693 : }
694 710 : ndr->flags = _flags_save_STRUCT;
695 : }
696 710 : return NDR_ERR_SUCCESS;
697 : }
698 :
699 259 : _PUBLIC_ enum ndr_err_code ndr_pull_dns_tsig_record(struct ndr_pull *ndr, int ndr_flags, struct dns_tsig_record *r)
700 : {
701 259 : uint32_t size_mac_0 = 0;
702 259 : uint32_t size_other_data_0 = 0;
703 : {
704 259 : uint32_t _flags_save_STRUCT = ndr->flags;
705 259 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NO_COMPRESSION);
706 259 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
707 259 : if (ndr_flags & NDR_SCALARS) {
708 259 : NDR_CHECK(ndr_pull_align(ndr, 4));
709 259 : NDR_CHECK(ndr_pull_dns_string(ndr, NDR_SCALARS, &r->algorithm_name));
710 259 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->time_prefix));
711 259 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time));
712 259 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->fudge));
713 259 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->mac_size));
714 259 : size_mac_0 = r->mac_size;
715 259 : NDR_PULL_ALLOC_N(ndr, r->mac, size_mac_0);
716 259 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->mac, size_mac_0));
717 259 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->original_id));
718 259 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->error));
719 259 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->other_size));
720 259 : size_other_data_0 = r->other_size;
721 259 : NDR_PULL_ALLOC_N(ndr, r->other_data, size_other_data_0);
722 259 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->other_data, size_other_data_0));
723 259 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
724 : }
725 259 : if (ndr_flags & NDR_BUFFERS) {
726 : }
727 259 : ndr->flags = _flags_save_STRUCT;
728 : }
729 259 : return NDR_ERR_SUCCESS;
730 : }
731 :
732 0 : static void ndr_print_flags_dns_tsig_record(struct ndr_print *ndr, const char *name, int unused, const struct dns_tsig_record *r)
733 : {
734 0 : ndr_print_dns_tsig_record(ndr, name, r);
735 0 : }
736 :
737 0 : _PUBLIC_ void ndr_print_dns_tsig_record(struct ndr_print *ndr, const char *name, const struct dns_tsig_record *r)
738 : {
739 0 : ndr_print_struct(ndr, name, "dns_tsig_record");
740 0 : if (r == NULL) { ndr_print_null(ndr); return; }
741 : {
742 0 : uint32_t _flags_save_STRUCT = ndr->flags;
743 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NO_COMPRESSION);
744 0 : ndr->depth++;
745 0 : ndr_print_dns_string(ndr, "algorithm_name", r->algorithm_name);
746 0 : ndr_print_uint16(ndr, "time_prefix", r->time_prefix);
747 0 : ndr_print_uint32(ndr, "time", r->time);
748 0 : ndr_print_uint16(ndr, "fudge", r->fudge);
749 0 : ndr_print_uint16(ndr, "mac_size", r->mac_size);
750 0 : ndr_print_array_uint8(ndr, "mac", r->mac, r->mac_size);
751 0 : ndr_print_uint16(ndr, "original_id", r->original_id);
752 0 : ndr_print_uint16(ndr, "error", r->error);
753 0 : ndr_print_uint16(ndr, "other_size", r->other_size);
754 0 : ndr_print_array_uint8(ndr, "other_data", r->other_data, r->other_size);
755 0 : ndr->depth--;
756 0 : ndr->flags = _flags_save_STRUCT;
757 : }
758 : }
759 :
760 693 : _PUBLIC_ enum ndr_err_code ndr_push_dns_fake_tsig_rec(struct ndr_push *ndr, int ndr_flags, const struct dns_fake_tsig_rec *r)
761 : {
762 : {
763 693 : uint32_t _flags_save_STRUCT = ndr->flags;
764 693 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NO_COMPRESSION|LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
765 693 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
766 693 : if (ndr_flags & NDR_SCALARS) {
767 693 : NDR_CHECK(ndr_push_align(ndr, 4));
768 693 : NDR_CHECK(ndr_push_dns_string(ndr, NDR_SCALARS, r->name));
769 693 : NDR_CHECK(ndr_push_dns_qclass(ndr, NDR_SCALARS, r->rr_class));
770 693 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ttl));
771 693 : NDR_CHECK(ndr_push_dns_string(ndr, NDR_SCALARS, r->algorithm_name));
772 693 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->time_prefix));
773 693 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time));
774 693 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->fudge));
775 693 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->error));
776 693 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->other_size));
777 693 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->other_data, r->other_size));
778 693 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
779 : }
780 693 : if (ndr_flags & NDR_BUFFERS) {
781 : }
782 693 : ndr->flags = _flags_save_STRUCT;
783 : }
784 693 : return NDR_ERR_SUCCESS;
785 : }
786 :
787 0 : _PUBLIC_ enum ndr_err_code ndr_pull_dns_fake_tsig_rec(struct ndr_pull *ndr, int ndr_flags, struct dns_fake_tsig_rec *r)
788 : {
789 0 : uint32_t size_other_data_0 = 0;
790 : {
791 0 : uint32_t _flags_save_STRUCT = ndr->flags;
792 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NO_COMPRESSION|LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
793 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
794 0 : if (ndr_flags & NDR_SCALARS) {
795 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
796 0 : NDR_CHECK(ndr_pull_dns_string(ndr, NDR_SCALARS, &r->name));
797 0 : NDR_CHECK(ndr_pull_dns_qclass(ndr, NDR_SCALARS, &r->rr_class));
798 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ttl));
799 0 : NDR_CHECK(ndr_pull_dns_string(ndr, NDR_SCALARS, &r->algorithm_name));
800 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->time_prefix));
801 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time));
802 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->fudge));
803 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->error));
804 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->other_size));
805 0 : size_other_data_0 = r->other_size;
806 0 : NDR_PULL_ALLOC_N(ndr, r->other_data, size_other_data_0);
807 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->other_data, size_other_data_0));
808 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
809 : }
810 0 : if (ndr_flags & NDR_BUFFERS) {
811 : }
812 0 : ndr->flags = _flags_save_STRUCT;
813 : }
814 0 : return NDR_ERR_SUCCESS;
815 : }
816 :
817 0 : static void ndr_print_flags_dns_fake_tsig_rec(struct ndr_print *ndr, const char *name, int unused, const struct dns_fake_tsig_rec *r)
818 : {
819 0 : ndr_print_dns_fake_tsig_rec(ndr, name, r);
820 0 : }
821 :
822 0 : _PUBLIC_ void ndr_print_dns_fake_tsig_rec(struct ndr_print *ndr, const char *name, const struct dns_fake_tsig_rec *r)
823 : {
824 0 : ndr_print_struct(ndr, name, "dns_fake_tsig_rec");
825 0 : if (r == NULL) { ndr_print_null(ndr); return; }
826 : {
827 0 : uint32_t _flags_save_STRUCT = ndr->flags;
828 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NO_COMPRESSION|LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
829 0 : ndr->depth++;
830 0 : ndr_print_dns_string(ndr, "name", r->name);
831 0 : ndr_print_dns_qclass(ndr, "rr_class", r->rr_class);
832 0 : ndr_print_uint32(ndr, "ttl", r->ttl);
833 0 : ndr_print_dns_string(ndr, "algorithm_name", r->algorithm_name);
834 0 : ndr_print_uint16(ndr, "time_prefix", r->time_prefix);
835 0 : ndr_print_uint32(ndr, "time", r->time);
836 0 : ndr_print_uint16(ndr, "fudge", r->fudge);
837 0 : ndr_print_uint16(ndr, "error", r->error);
838 0 : ndr_print_uint16(ndr, "other_size", r->other_size);
839 0 : ndr_print_array_uint8(ndr, "other_data", r->other_data, r->other_size);
840 0 : ndr->depth--;
841 0 : ndr->flags = _flags_save_STRUCT;
842 : }
843 : }
844 :
845 448950 : _PUBLIC_ enum ndr_err_code ndr_push_dns_rdata(struct ndr_push *ndr, int ndr_flags, const union dns_rdata *r)
846 : {
847 : uint32_t level;
848 : {
849 448950 : uint32_t _flags_save_UNION = ndr->flags;
850 448950 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
851 448950 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
852 448950 : if (ndr_flags & NDR_SCALARS) {
853 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
854 224407 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
855 224407 : NDR_CHECK(ndr_push_union_align(ndr, 4));
856 224407 : switch (level) {
857 10382 : case DNS_QTYPE_A: {
858 10382 : NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->ipv4_record));
859 10362 : break; }
860 :
861 1324 : case DNS_QTYPE_NS: {
862 1324 : NDR_CHECK(ndr_push_dns_string(ndr, NDR_SCALARS, r->ns_record));
863 1316 : break; }
864 :
865 13371 : case DNS_QTYPE_CNAME: {
866 13371 : NDR_CHECK(ndr_push_dns_string(ndr, NDR_SCALARS, r->cname_record));
867 13367 : break; }
868 :
869 176691 : case DNS_QTYPE_SOA: {
870 176691 : NDR_CHECK(ndr_push_dns_soa_record(ndr, NDR_SCALARS, &r->soa_record));
871 176555 : break; }
872 :
873 0 : case DNS_QTYPE_PTR: {
874 0 : NDR_CHECK(ndr_push_dns_string(ndr, NDR_SCALARS, r->ptr_record));
875 0 : break; }
876 :
877 0 : case DNS_QTYPE_HINFO: {
878 0 : NDR_CHECK(ndr_push_dnsp_hinfo(ndr, NDR_SCALARS, &r->hinfo_record));
879 0 : break; }
880 :
881 8 : case DNS_QTYPE_MX: {
882 8 : NDR_CHECK(ndr_push_dns_mx_record(ndr, NDR_SCALARS, &r->mx_record));
883 8 : break; }
884 :
885 1863 : case DNS_QTYPE_TXT: {
886 1863 : NDR_CHECK(ndr_push_dns_txt_record(ndr, NDR_SCALARS, &r->txt_record));
887 1863 : break; }
888 :
889 0 : case DNS_QTYPE_RP: {
890 0 : NDR_CHECK(ndr_push_dns_rp_record(ndr, NDR_SCALARS, &r->rp_record));
891 0 : break; }
892 :
893 9771 : case DNS_QTYPE_AAAA: {
894 9771 : NDR_CHECK(ndr_push_ipv6address(ndr, NDR_SCALARS, r->ipv6_record));
895 9751 : break; }
896 :
897 9819 : case DNS_QTYPE_SRV: {
898 9819 : NDR_CHECK(ndr_push_dns_srv_record(ndr, NDR_SCALARS, &r->srv_record));
899 9735 : break; }
900 :
901 0 : case DNS_QTYPE_OPT: {
902 0 : NDR_CHECK(ndr_push_dns_opt_record(ndr, NDR_SCALARS, &r->opt_record));
903 0 : break; }
904 :
905 690 : case DNS_QTYPE_TSIG: {
906 690 : NDR_CHECK(ndr_push_dns_tsig_record(ndr, NDR_SCALARS, &r->tsig_record));
907 690 : break; }
908 :
909 488 : case DNS_QTYPE_TKEY: {
910 488 : NDR_CHECK(ndr_push_dns_tkey_record(ndr, NDR_SCALARS, &r->tkey_record));
911 488 : break; }
912 :
913 0 : default: {
914 0 : break; }
915 :
916 : }
917 113276 : }
918 448950 : ndr->flags = _flags_save_UNION;
919 : }
920 448950 : return NDR_ERR_SUCCESS;
921 : }
922 :
923 233389 : _PUBLIC_ enum ndr_err_code ndr_pull_dns_rdata(struct ndr_pull *ndr, int ndr_flags, union dns_rdata *r)
924 : {
925 : uint32_t level;
926 : {
927 233389 : uint32_t _flags_save_UNION = ndr->flags;
928 233389 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
929 233389 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
930 233389 : if (ndr_flags & NDR_SCALARS) {
931 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
932 116595 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
933 116595 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
934 116595 : switch (level) {
935 5949 : case DNS_QTYPE_A: {
936 5949 : NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->ipv4_record));
937 5939 : break; }
938 :
939 689 : case DNS_QTYPE_NS: {
940 689 : NDR_CHECK(ndr_pull_dns_string(ndr, NDR_SCALARS, &r->ns_record));
941 685 : break; }
942 :
943 6817 : case DNS_QTYPE_CNAME: {
944 6817 : NDR_CHECK(ndr_pull_dns_string(ndr, NDR_SCALARS, &r->cname_record));
945 6813 : break; }
946 :
947 89759 : case DNS_QTYPE_SOA: {
948 89759 : NDR_CHECK(ndr_pull_dns_soa_record(ndr, NDR_SCALARS, &r->soa_record));
949 89691 : break; }
950 :
951 0 : case DNS_QTYPE_PTR: {
952 0 : NDR_CHECK(ndr_pull_dns_string(ndr, NDR_SCALARS, &r->ptr_record));
953 0 : break; }
954 :
955 0 : case DNS_QTYPE_HINFO: {
956 0 : NDR_CHECK(ndr_pull_dnsp_hinfo(ndr, NDR_SCALARS, &r->hinfo_record));
957 0 : break; }
958 :
959 10 : case DNS_QTYPE_MX: {
960 10 : NDR_CHECK(ndr_pull_dns_mx_record(ndr, NDR_SCALARS, &r->mx_record));
961 10 : break; }
962 :
963 1864 : case DNS_QTYPE_TXT: {
964 1864 : NDR_CHECK(ndr_pull_dns_txt_record(ndr, NDR_SCALARS, &r->txt_record));
965 1864 : break; }
966 :
967 0 : case DNS_QTYPE_RP: {
968 0 : NDR_CHECK(ndr_pull_dns_rp_record(ndr, NDR_SCALARS, &r->rp_record));
969 0 : break; }
970 :
971 5512 : case DNS_QTYPE_AAAA: {
972 5512 : NDR_CHECK(ndr_pull_ipv6address(ndr, NDR_SCALARS, &r->ipv6_record));
973 5502 : break; }
974 :
975 5474 : case DNS_QTYPE_SRV: {
976 5474 : NDR_CHECK(ndr_pull_dns_srv_record(ndr, NDR_SCALARS, &r->srv_record));
977 5432 : break; }
978 :
979 18 : case DNS_QTYPE_OPT: {
980 18 : NDR_CHECK(ndr_pull_dns_opt_record(ndr, NDR_SCALARS, &r->opt_record));
981 18 : break; }
982 :
983 259 : case DNS_QTYPE_TSIG: {
984 259 : NDR_CHECK(ndr_pull_dns_tsig_record(ndr, NDR_SCALARS, &r->tsig_record));
985 259 : break; }
986 :
987 244 : case DNS_QTYPE_TKEY: {
988 244 : NDR_CHECK(ndr_pull_dns_tkey_record(ndr, NDR_SCALARS, &r->tkey_record));
989 244 : break; }
990 :
991 0 : default: {
992 0 : break; }
993 :
994 : }
995 58912 : }
996 233389 : ndr->flags = _flags_save_UNION;
997 : }
998 233389 : return NDR_ERR_SUCCESS;
999 : }
1000 :
1001 2 : _PUBLIC_ void ndr_print_dns_rdata(struct ndr_print *ndr, const char *name, const union dns_rdata *r)
1002 : {
1003 : uint32_t level;
1004 : {
1005 2 : uint32_t _flags_save_UNION = ndr->flags;
1006 2 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
1007 2 : level = ndr_print_steal_switch_value(ndr, r);
1008 2 : ndr_print_union(ndr, name, level, "dns_rdata");
1009 2 : switch (level) {
1010 0 : case DNS_QTYPE_A:
1011 0 : ndr_print_ipv4address(ndr, "ipv4_record", r->ipv4_record);
1012 0 : break;
1013 :
1014 0 : case DNS_QTYPE_NS:
1015 0 : ndr_print_dns_string(ndr, "ns_record", r->ns_record);
1016 0 : break;
1017 :
1018 2 : case DNS_QTYPE_CNAME:
1019 2 : ndr_print_dns_string(ndr, "cname_record", r->cname_record);
1020 2 : break;
1021 :
1022 0 : case DNS_QTYPE_SOA:
1023 0 : ndr_print_dns_soa_record(ndr, "soa_record", &r->soa_record);
1024 0 : break;
1025 :
1026 0 : case DNS_QTYPE_PTR:
1027 0 : ndr_print_dns_string(ndr, "ptr_record", r->ptr_record);
1028 0 : break;
1029 :
1030 0 : case DNS_QTYPE_HINFO:
1031 0 : ndr_print_dnsp_hinfo(ndr, "hinfo_record", &r->hinfo_record);
1032 0 : break;
1033 :
1034 0 : case DNS_QTYPE_MX:
1035 0 : ndr_print_dns_mx_record(ndr, "mx_record", &r->mx_record);
1036 0 : break;
1037 :
1038 0 : case DNS_QTYPE_TXT:
1039 0 : ndr_print_dns_txt_record(ndr, "txt_record", &r->txt_record);
1040 0 : break;
1041 :
1042 0 : case DNS_QTYPE_RP:
1043 0 : ndr_print_dns_rp_record(ndr, "rp_record", &r->rp_record);
1044 0 : break;
1045 :
1046 0 : case DNS_QTYPE_AAAA:
1047 0 : ndr_print_ipv6address(ndr, "ipv6_record", r->ipv6_record);
1048 0 : break;
1049 :
1050 0 : case DNS_QTYPE_SRV:
1051 0 : ndr_print_dns_srv_record(ndr, "srv_record", &r->srv_record);
1052 0 : break;
1053 :
1054 0 : case DNS_QTYPE_OPT:
1055 0 : ndr_print_dns_opt_record(ndr, "opt_record", &r->opt_record);
1056 0 : break;
1057 :
1058 0 : case DNS_QTYPE_TSIG:
1059 0 : ndr_print_dns_tsig_record(ndr, "tsig_record", &r->tsig_record);
1060 0 : break;
1061 :
1062 0 : case DNS_QTYPE_TKEY:
1063 0 : ndr_print_dns_tkey_record(ndr, "tkey_record", &r->tkey_record);
1064 0 : break;
1065 :
1066 0 : default:
1067 0 : break;
1068 :
1069 : }
1070 2 : ndr->flags = _flags_save_UNION;
1071 : }
1072 2 : }
1073 :
1074 2 : _PUBLIC_ void ndr_print_dns_res_rec(struct ndr_print *ndr, const char *name, const struct dns_res_rec *r)
1075 : {
1076 2 : ndr_print_struct(ndr, name, "dns_res_rec");
1077 2 : if (r == NULL) { ndr_print_null(ndr); return; }
1078 : {
1079 2 : uint32_t _flags_save_STRUCT = ndr->flags;
1080 2 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX|LIBNDR_FLAG_NOALIGN);
1081 2 : ndr->depth++;
1082 2 : ndr_print_dns_string(ndr, "name", r->name);
1083 2 : ndr_print_dns_qtype(ndr, "rr_type", r->rr_type);
1084 2 : ndr_print_dns_qclass(ndr, "rr_class", r->rr_class);
1085 2 : ndr_print_uint32(ndr, "ttl", r->ttl);
1086 2 : ndr_print_uint16(ndr, "length", r->length);
1087 2 : ndr_print_set_switch_value(ndr, &r->rdata, r->rr_type);
1088 2 : ndr_print_dns_rdata(ndr, "rdata", &r->rdata);
1089 2 : ndr_print_DATA_BLOB(ndr, "unexpected", r->unexpected);
1090 2 : ndr->depth--;
1091 2 : ndr->flags = _flags_save_STRUCT;
1092 : }
1093 : }
1094 :
1095 288408 : _PUBLIC_ enum ndr_err_code ndr_push_dns_name_packet(struct ndr_push *ndr, int ndr_flags, const struct dns_name_packet *r)
1096 : {
1097 : uint32_t cntr_questions_0;
1098 : uint32_t cntr_answers_0;
1099 : uint32_t cntr_nsrecs_0;
1100 : uint32_t cntr_additional_0;
1101 : {
1102 288408 : uint32_t _flags_save_STRUCT = ndr->flags;
1103 288408 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
1104 288408 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1105 288408 : if (ndr_flags & NDR_SCALARS) {
1106 288408 : NDR_CHECK(ndr_push_align(ndr, 4));
1107 288408 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->id));
1108 288408 : NDR_CHECK(ndr_push_dns_operation(ndr, NDR_SCALARS, r->operation));
1109 288408 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->qdcount));
1110 288408 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ancount));
1111 288408 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nscount));
1112 288408 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->arcount));
1113 576616 : for (cntr_questions_0 = 0; cntr_questions_0 < (r->qdcount); cntr_questions_0++) {
1114 288416 : NDR_CHECK(ndr_push_dns_name_question(ndr, NDR_SCALARS, &r->questions[cntr_questions_0]));
1115 : }
1116 333431 : for (cntr_answers_0 = 0; cntr_answers_0 < (r->ancount); cntr_answers_0++) {
1117 45231 : NDR_CHECK(ndr_push_dns_res_rec(ndr, NDR_SCALARS, &r->answers[cntr_answers_0]));
1118 : }
1119 466811 : for (cntr_nsrecs_0 = 0; cntr_nsrecs_0 < (r->nscount); cntr_nsrecs_0++) {
1120 178611 : NDR_CHECK(ndr_push_dns_res_rec(ndr, NDR_SCALARS, &r->nsrecs[cntr_nsrecs_0]));
1121 : }
1122 288668 : for (cntr_additional_0 = 0; cntr_additional_0 < (r->arcount); cntr_additional_0++) {
1123 468 : NDR_CHECK(ndr_push_dns_res_rec(ndr, NDR_SCALARS, &r->additional[cntr_additional_0]));
1124 : }
1125 288404 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1126 : }
1127 288404 : if (ndr_flags & NDR_BUFFERS) {
1128 333431 : for (cntr_answers_0 = 0; cntr_answers_0 < (r->ancount); cntr_answers_0++) {
1129 45231 : NDR_CHECK(ndr_push_dns_res_rec(ndr, NDR_BUFFERS, &r->answers[cntr_answers_0]));
1130 : }
1131 466811 : for (cntr_nsrecs_0 = 0; cntr_nsrecs_0 < (r->nscount); cntr_nsrecs_0++) {
1132 178611 : NDR_CHECK(ndr_push_dns_res_rec(ndr, NDR_BUFFERS, &r->nsrecs[cntr_nsrecs_0]));
1133 : }
1134 288668 : for (cntr_additional_0 = 0; cntr_additional_0 < (r->arcount); cntr_additional_0++) {
1135 468 : NDR_CHECK(ndr_push_dns_res_rec(ndr, NDR_BUFFERS, &r->additional[cntr_additional_0]));
1136 : }
1137 : }
1138 288404 : ndr->flags = _flags_save_STRUCT;
1139 : }
1140 288404 : return NDR_ERR_SUCCESS;
1141 : }
1142 :
1143 288059 : _PUBLIC_ enum ndr_err_code ndr_pull_dns_name_packet(struct ndr_pull *ndr, int ndr_flags, struct dns_name_packet *r)
1144 : {
1145 288059 : uint32_t size_questions_0 = 0;
1146 : uint32_t cntr_questions_0;
1147 288059 : TALLOC_CTX *_mem_save_questions_0 = NULL;
1148 288059 : uint32_t size_answers_0 = 0;
1149 : uint32_t cntr_answers_0;
1150 288059 : TALLOC_CTX *_mem_save_answers_0 = NULL;
1151 288059 : uint32_t size_nsrecs_0 = 0;
1152 : uint32_t cntr_nsrecs_0;
1153 288059 : TALLOC_CTX *_mem_save_nsrecs_0 = NULL;
1154 288059 : uint32_t size_additional_0 = 0;
1155 : uint32_t cntr_additional_0;
1156 288059 : TALLOC_CTX *_mem_save_additional_0 = NULL;
1157 : {
1158 288059 : uint32_t _flags_save_STRUCT = ndr->flags;
1159 288059 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
1160 288059 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1161 288059 : if (ndr_flags & NDR_SCALARS) {
1162 288059 : NDR_CHECK(ndr_pull_align(ndr, 4));
1163 288059 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->id));
1164 288059 : NDR_CHECK(ndr_pull_dns_operation(ndr, NDR_SCALARS, &r->operation));
1165 288059 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->qdcount));
1166 288059 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ancount));
1167 288059 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nscount));
1168 288059 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->arcount));
1169 288059 : size_questions_0 = r->qdcount;
1170 288059 : NDR_PULL_ALLOC_N(ndr, r->questions, size_questions_0);
1171 288059 : _mem_save_questions_0 = NDR_PULL_GET_MEM_CTX(ndr);
1172 288059 : NDR_PULL_SET_MEM_CTX(ndr, r->questions, 0);
1173 576134 : for (cntr_questions_0 = 0; cntr_questions_0 < (size_questions_0); cntr_questions_0++) {
1174 288075 : NDR_CHECK(ndr_pull_dns_name_question(ndr, NDR_SCALARS, &r->questions[cntr_questions_0]));
1175 : }
1176 288059 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_questions_0, 0);
1177 288059 : size_answers_0 = r->ancount;
1178 288059 : NDR_PULL_ALLOC_N(ndr, r->answers, size_answers_0);
1179 288059 : _mem_save_answers_0 = NDR_PULL_GET_MEM_CTX(ndr);
1180 288059 : NDR_PULL_SET_MEM_CTX(ndr, r->answers, 0);
1181 312317 : for (cntr_answers_0 = 0; cntr_answers_0 < (size_answers_0); cntr_answers_0++) {
1182 24258 : NDR_CHECK(ndr_pull_dns_res_rec(ndr, NDR_SCALARS, &r->answers[cntr_answers_0]));
1183 : }
1184 288059 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_answers_0, 0);
1185 288059 : size_nsrecs_0 = r->nscount;
1186 288059 : NDR_PULL_ALLOC_N(ndr, r->nsrecs, size_nsrecs_0);
1187 288059 : _mem_save_nsrecs_0 = NDR_PULL_GET_MEM_CTX(ndr);
1188 288059 : NDR_PULL_SET_MEM_CTX(ndr, r->nsrecs, 0);
1189 380085 : for (cntr_nsrecs_0 = 0; cntr_nsrecs_0 < (size_nsrecs_0); cntr_nsrecs_0++) {
1190 92026 : NDR_CHECK(ndr_pull_dns_res_rec(ndr, NDR_SCALARS, &r->nsrecs[cntr_nsrecs_0]));
1191 : }
1192 288059 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nsrecs_0, 0);
1193 288059 : size_additional_0 = r->arcount;
1194 288059 : NDR_PULL_ALLOC_N(ndr, r->additional, size_additional_0);
1195 288059 : _mem_save_additional_0 = NDR_PULL_GET_MEM_CTX(ndr);
1196 288059 : NDR_PULL_SET_MEM_CTX(ndr, r->additional, 0);
1197 288569 : for (cntr_additional_0 = 0; cntr_additional_0 < (size_additional_0); cntr_additional_0++) {
1198 510 : NDR_CHECK(ndr_pull_dns_res_rec(ndr, NDR_SCALARS, &r->additional[cntr_additional_0]));
1199 : }
1200 288059 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_additional_0, 0);
1201 288059 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1202 : }
1203 288059 : if (ndr_flags & NDR_BUFFERS) {
1204 288059 : size_answers_0 = r->ancount;
1205 288059 : _mem_save_answers_0 = NDR_PULL_GET_MEM_CTX(ndr);
1206 288059 : NDR_PULL_SET_MEM_CTX(ndr, r->answers, 0);
1207 312317 : for (cntr_answers_0 = 0; cntr_answers_0 < (size_answers_0); cntr_answers_0++) {
1208 24258 : NDR_CHECK(ndr_pull_dns_res_rec(ndr, NDR_BUFFERS, &r->answers[cntr_answers_0]));
1209 : }
1210 288059 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_answers_0, 0);
1211 288059 : size_nsrecs_0 = r->nscount;
1212 288059 : _mem_save_nsrecs_0 = NDR_PULL_GET_MEM_CTX(ndr);
1213 288059 : NDR_PULL_SET_MEM_CTX(ndr, r->nsrecs, 0);
1214 380085 : for (cntr_nsrecs_0 = 0; cntr_nsrecs_0 < (size_nsrecs_0); cntr_nsrecs_0++) {
1215 92026 : NDR_CHECK(ndr_pull_dns_res_rec(ndr, NDR_BUFFERS, &r->nsrecs[cntr_nsrecs_0]));
1216 : }
1217 288059 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nsrecs_0, 0);
1218 288059 : size_additional_0 = r->arcount;
1219 288059 : _mem_save_additional_0 = NDR_PULL_GET_MEM_CTX(ndr);
1220 288059 : NDR_PULL_SET_MEM_CTX(ndr, r->additional, 0);
1221 288569 : for (cntr_additional_0 = 0; cntr_additional_0 < (size_additional_0); cntr_additional_0++) {
1222 510 : NDR_CHECK(ndr_pull_dns_res_rec(ndr, NDR_BUFFERS, &r->additional[cntr_additional_0]));
1223 : }
1224 288059 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_additional_0, 0);
1225 291673 : for (cntr_answers_0 = 0; cntr_answers_0 < (size_answers_0); cntr_answers_0++) {
1226 : }
1227 342042 : for (cntr_nsrecs_0 = 0; cntr_nsrecs_0 < (size_nsrecs_0); cntr_nsrecs_0++) {
1228 : }
1229 287932 : for (cntr_additional_0 = 0; cntr_additional_0 < (size_additional_0); cntr_additional_0++) {
1230 : }
1231 : }
1232 288059 : ndr->flags = _flags_save_STRUCT;
1233 : }
1234 288059 : return NDR_ERR_SUCCESS;
1235 : }
1236 :
1237 1 : static void ndr_print_flags_dns_name_packet(struct ndr_print *ndr, const char *name, int unused, const struct dns_name_packet *r)
1238 : {
1239 1 : ndr_print_dns_name_packet(ndr, name, r);
1240 1 : }
1241 :
1242 2 : _PUBLIC_ void ndr_print_dns_name_packet(struct ndr_print *ndr, const char *name, const struct dns_name_packet *r)
1243 : {
1244 : uint32_t cntr_questions_0;
1245 : uint32_t cntr_answers_0;
1246 : uint32_t cntr_nsrecs_0;
1247 : uint32_t cntr_additional_0;
1248 2 : ndr_print_struct(ndr, name, "dns_name_packet");
1249 2 : if (r == NULL) { ndr_print_null(ndr); return; }
1250 : {
1251 2 : uint32_t _flags_save_STRUCT = ndr->flags;
1252 2 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
1253 2 : ndr->depth++;
1254 2 : ndr_print_uint16(ndr, "id", r->id);
1255 2 : ndr_print_dns_operation(ndr, "operation", r->operation);
1256 2 : ndr_print_uint16(ndr, "qdcount", r->qdcount);
1257 2 : ndr_print_uint16(ndr, "ancount", r->ancount);
1258 2 : ndr_print_uint16(ndr, "nscount", r->nscount);
1259 2 : ndr_print_uint16(ndr, "arcount", r->arcount);
1260 2 : ndr->print(ndr, "%s: ARRAY(%d)", "questions", (int)r->qdcount);
1261 2 : ndr->depth++;
1262 4 : for (cntr_questions_0 = 0; cntr_questions_0 < (r->qdcount); cntr_questions_0++) {
1263 2 : ndr_print_dns_name_question(ndr, "questions", &r->questions[cntr_questions_0]);
1264 : }
1265 2 : ndr->depth--;
1266 2 : ndr->print(ndr, "%s: ARRAY(%d)", "answers", (int)r->ancount);
1267 2 : ndr->depth++;
1268 2 : for (cntr_answers_0 = 0; cntr_answers_0 < (r->ancount); cntr_answers_0++) {
1269 0 : ndr_print_dns_res_rec(ndr, "answers", &r->answers[cntr_answers_0]);
1270 : }
1271 2 : ndr->depth--;
1272 2 : ndr->print(ndr, "%s: ARRAY(%d)", "nsrecs", (int)r->nscount);
1273 2 : ndr->depth++;
1274 4 : for (cntr_nsrecs_0 = 0; cntr_nsrecs_0 < (r->nscount); cntr_nsrecs_0++) {
1275 2 : ndr_print_dns_res_rec(ndr, "nsrecs", &r->nsrecs[cntr_nsrecs_0]);
1276 : }
1277 2 : ndr->depth--;
1278 2 : ndr->print(ndr, "%s: ARRAY(%d)", "additional", (int)r->arcount);
1279 2 : ndr->depth++;
1280 2 : for (cntr_additional_0 = 0; cntr_additional_0 < (r->arcount); cntr_additional_0++) {
1281 0 : ndr_print_dns_res_rec(ndr, "additional", &r->additional[cntr_additional_0]);
1282 : }
1283 2 : ndr->depth--;
1284 2 : ndr->depth--;
1285 2 : ndr->flags = _flags_save_STRUCT;
1286 : }
1287 : }
1288 :
1289 0 : static enum ndr_err_code ndr_push_decode_dns_name_packet(struct ndr_push *ndr, int flags, const struct decode_dns_name_packet *r)
1290 : {
1291 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1292 0 : if (flags & NDR_IN) {
1293 0 : NDR_CHECK(ndr_push_dns_name_packet(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.packet));
1294 : }
1295 0 : if (flags & NDR_OUT) {
1296 : }
1297 0 : return NDR_ERR_SUCCESS;
1298 : }
1299 :
1300 1 : static enum ndr_err_code ndr_pull_decode_dns_name_packet(struct ndr_pull *ndr, int flags, struct decode_dns_name_packet *r)
1301 : {
1302 1 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1303 1 : if (flags & NDR_IN) {
1304 1 : NDR_CHECK(ndr_pull_dns_name_packet(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.packet));
1305 : }
1306 0 : if (flags & NDR_OUT) {
1307 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1308 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1309 : }
1310 1 : return NDR_ERR_SUCCESS;
1311 : }
1312 :
1313 1 : _PUBLIC_ void ndr_print_decode_dns_name_packet(struct ndr_print *ndr, const char *name, int flags, const struct decode_dns_name_packet *r)
1314 : {
1315 1 : ndr_print_struct(ndr, name, "decode_dns_name_packet");
1316 1 : if (r == NULL) { ndr_print_null(ndr); return; }
1317 1 : ndr->depth++;
1318 1 : if (flags & NDR_SET_VALUES) {
1319 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1320 : }
1321 1 : if (flags & NDR_IN) {
1322 1 : ndr_print_struct(ndr, "in", "decode_dns_name_packet");
1323 1 : ndr->depth++;
1324 1 : ndr_print_dns_name_packet(ndr, "packet", &r->in.packet);
1325 1 : ndr->depth--;
1326 : }
1327 1 : if (flags & NDR_OUT) {
1328 0 : ndr_print_struct(ndr, "out", "decode_dns_name_packet");
1329 0 : ndr->depth++;
1330 0 : ndr->depth--;
1331 : }
1332 1 : ndr->depth--;
1333 : }
1334 :
1335 : #ifndef SKIP_NDR_TABLE_dns
1336 : static const struct ndr_interface_public_struct dns_public_structs[] = {
1337 : {
1338 : .name = "dns_name_question",
1339 : .struct_size = sizeof(struct dns_name_question ),
1340 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_dns_name_question,
1341 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_dns_name_question,
1342 : .ndr_print = (ndr_print_function_t) ndr_print_flags_dns_name_question,
1343 : },
1344 : {
1345 : .name = "dns_rdata_data",
1346 : .struct_size = sizeof(struct dns_rdata_data ),
1347 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_dns_rdata_data,
1348 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_dns_rdata_data,
1349 : .ndr_print = (ndr_print_function_t) ndr_print_flags_dns_rdata_data,
1350 : },
1351 : {
1352 : .name = "dns_mx_record",
1353 : .struct_size = sizeof(struct dns_mx_record ),
1354 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_dns_mx_record,
1355 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_dns_mx_record,
1356 : .ndr_print = (ndr_print_function_t) ndr_print_flags_dns_mx_record,
1357 : },
1358 : {
1359 : .name = "dns_txt_record",
1360 : .struct_size = sizeof(struct dns_txt_record ),
1361 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_dns_txt_record,
1362 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_dns_txt_record,
1363 : .ndr_print = (ndr_print_function_t) ndr_print_flags_dns_txt_record,
1364 : },
1365 : {
1366 : .name = "dns_rp_record",
1367 : .struct_size = sizeof(struct dns_rp_record ),
1368 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_dns_rp_record,
1369 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_dns_rp_record,
1370 : .ndr_print = (ndr_print_function_t) ndr_print_flags_dns_rp_record,
1371 : },
1372 : {
1373 : .name = "dns_srv_record",
1374 : .struct_size = sizeof(struct dns_srv_record ),
1375 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_dns_srv_record,
1376 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_dns_srv_record,
1377 : .ndr_print = (ndr_print_function_t) ndr_print_flags_dns_srv_record,
1378 : },
1379 : {
1380 : .name = "dns_opt_record",
1381 : .struct_size = sizeof(struct dns_opt_record ),
1382 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_dns_opt_record,
1383 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_dns_opt_record,
1384 : .ndr_print = (ndr_print_function_t) ndr_print_flags_dns_opt_record,
1385 : },
1386 : {
1387 : .name = "dns_tkey_record",
1388 : .struct_size = sizeof(struct dns_tkey_record ),
1389 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_dns_tkey_record,
1390 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_dns_tkey_record,
1391 : .ndr_print = (ndr_print_function_t) ndr_print_flags_dns_tkey_record,
1392 : },
1393 : {
1394 : .name = "dns_tsig_record",
1395 : .struct_size = sizeof(struct dns_tsig_record ),
1396 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_dns_tsig_record,
1397 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_dns_tsig_record,
1398 : .ndr_print = (ndr_print_function_t) ndr_print_flags_dns_tsig_record,
1399 : },
1400 : {
1401 : .name = "dns_fake_tsig_rec",
1402 : .struct_size = sizeof(struct dns_fake_tsig_rec ),
1403 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_dns_fake_tsig_rec,
1404 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_dns_fake_tsig_rec,
1405 : .ndr_print = (ndr_print_function_t) ndr_print_flags_dns_fake_tsig_rec,
1406 : },
1407 : {
1408 : .name = "dns_name_packet",
1409 : .struct_size = sizeof(struct dns_name_packet ),
1410 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_dns_name_packet,
1411 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_dns_name_packet,
1412 : .ndr_print = (ndr_print_function_t) ndr_print_flags_dns_name_packet,
1413 : },
1414 : { .name = NULL }
1415 : };
1416 :
1417 : static const struct ndr_interface_call dns_calls[] = {
1418 : {
1419 : "decode_dns_name_packet",
1420 : sizeof(struct decode_dns_name_packet),
1421 : (ndr_push_flags_fn_t) ndr_push_decode_dns_name_packet,
1422 : (ndr_pull_flags_fn_t) ndr_pull_decode_dns_name_packet,
1423 : (ndr_print_function_t) ndr_print_decode_dns_name_packet,
1424 : { 0, NULL },
1425 : { 0, NULL },
1426 : },
1427 : { .name = NULL }
1428 : };
1429 :
1430 : static const char * const dns_endpoint_strings[] = {
1431 : "ncacn_np:[\\pipe\\dns]",
1432 : };
1433 :
1434 : static const struct ndr_interface_string_array dns_endpoints = {
1435 : .count = 1,
1436 : .names = dns_endpoint_strings
1437 : };
1438 :
1439 : static const char * const dns_authservice_strings[] = {
1440 : "host",
1441 : };
1442 :
1443 : static const struct ndr_interface_string_array dns_authservices = {
1444 : .count = 1,
1445 : .names = dns_authservice_strings
1446 : };
1447 :
1448 :
1449 : const struct ndr_interface_table ndr_table_dns = {
1450 : .name = "dns",
1451 : .syntax_id = {
1452 : {0xa047c001,0x5f22,0x40b0,{0x9d,0x52},{0x70,0x42,0xc4,0x3f,0x71,0x1a}},
1453 : NDR_DNS_VERSION
1454 : },
1455 : .helpstring = NDR_DNS_HELPSTRING,
1456 : .num_calls = 1,
1457 : .calls = dns_calls,
1458 : .num_public_structs = 11,
1459 : .public_structs = dns_public_structs,
1460 : .endpoints = &dns_endpoints,
1461 : .authservices = &dns_authservices
1462 : };
1463 :
1464 : #endif /* SKIP_NDR_TABLE_dns */
|