re-run make idl.
[Samba.git] / source / librpc / gen_ndr / ndr_nbt.c
blob30fb30adabe52ac8b4b6336e3a1e1557ffb501e4
1 /* parser auto-generated by pidl */
3 #include "includes.h"
4 #include "librpc/gen_ndr/ndr_nbt.h"
6 #include "librpc/gen_ndr/ndr_misc.h"
7 #include "librpc/gen_ndr/ndr_security.h"
8 #include "librpc/gen_ndr/ndr_svcctl.h"
9 #include "librpc/gen_ndr/ndr_samr.h"
10 static enum ndr_err_code ndr_push_nbt_operation(struct ndr_push *ndr, int ndr_flags, uint16_t r)
12 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
13 return NDR_ERR_SUCCESS;
16 static enum ndr_err_code ndr_pull_nbt_operation(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
18 uint16_t v;
19 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
20 *r = v;
21 return NDR_ERR_SUCCESS;
24 _PUBLIC_ void ndr_print_nbt_operation(struct ndr_print *ndr, const char *name, uint16_t r)
26 ndr_print_uint16(ndr, name, r);
27 ndr->depth++;
28 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_RCODE", NBT_RCODE, r);
29 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_FLAG_BROADCAST", NBT_FLAG_BROADCAST, r);
30 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_FLAG_RECURSION_AVAIL", NBT_FLAG_RECURSION_AVAIL, r);
31 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_FLAG_RECURSION_DESIRED", NBT_FLAG_RECURSION_DESIRED, r);
32 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_FLAG_TRUNCATION", NBT_FLAG_TRUNCATION, r);
33 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_FLAG_AUTHORITIVE", NBT_FLAG_AUTHORITIVE, r);
34 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_OPCODE", NBT_OPCODE, r);
35 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_FLAG_REPLY", NBT_FLAG_REPLY, r);
36 ndr->depth--;
39 static enum ndr_err_code ndr_push_nbt_name_type(struct ndr_push *ndr, int ndr_flags, enum nbt_name_type r)
41 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
42 return NDR_ERR_SUCCESS;
45 static enum ndr_err_code ndr_pull_nbt_name_type(struct ndr_pull *ndr, int ndr_flags, enum nbt_name_type *r)
47 uint8_t v;
48 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
49 *r = v;
50 return NDR_ERR_SUCCESS;
53 _PUBLIC_ void ndr_print_nbt_name_type(struct ndr_print *ndr, const char *name, enum nbt_name_type r)
55 const char *val = NULL;
57 switch (r) {
58 case NBT_NAME_CLIENT: val = "NBT_NAME_CLIENT"; break;
59 case NBT_NAME_MS: val = "NBT_NAME_MS"; break;
60 case NBT_NAME_USER: val = "NBT_NAME_USER"; break;
61 case NBT_NAME_SERVER: val = "NBT_NAME_SERVER"; break;
62 case NBT_NAME_PDC: val = "NBT_NAME_PDC"; break;
63 case NBT_NAME_LOGON: val = "NBT_NAME_LOGON"; break;
64 case NBT_NAME_MASTER: val = "NBT_NAME_MASTER"; break;
65 case NBT_NAME_BROWSER: val = "NBT_NAME_BROWSER"; break;
67 ndr_print_enum(ndr, name, "ENUM", val, r);
70 _PUBLIC_ void ndr_print_nbt_name(struct ndr_print *ndr, const char *name, const struct nbt_name *r)
72 ndr_print_struct(ndr, name, "nbt_name");
73 ndr->depth++;
74 ndr_print_string(ndr, "name", r->name);
75 ndr_print_string(ndr, "scope", r->scope);
76 ndr_print_nbt_name_type(ndr, "type", r->type);
77 ndr->depth--;
80 static enum ndr_err_code ndr_push_nbt_qclass(struct ndr_push *ndr, int ndr_flags, enum nbt_qclass r)
82 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
83 return NDR_ERR_SUCCESS;
86 static enum ndr_err_code ndr_pull_nbt_qclass(struct ndr_pull *ndr, int ndr_flags, enum nbt_qclass *r)
88 uint16_t v;
89 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
90 *r = v;
91 return NDR_ERR_SUCCESS;
94 _PUBLIC_ void ndr_print_nbt_qclass(struct ndr_print *ndr, const char *name, enum nbt_qclass r)
96 const char *val = NULL;
98 switch (r) {
99 case NBT_QCLASS_IP: val = "NBT_QCLASS_IP"; break;
101 ndr_print_enum(ndr, name, "ENUM", val, r);
104 static enum ndr_err_code ndr_push_nbt_qtype(struct ndr_push *ndr, int ndr_flags, enum nbt_qtype r)
106 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
107 return NDR_ERR_SUCCESS;
110 static enum ndr_err_code ndr_pull_nbt_qtype(struct ndr_pull *ndr, int ndr_flags, enum nbt_qtype *r)
112 uint16_t v;
113 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
114 *r = v;
115 return NDR_ERR_SUCCESS;
118 _PUBLIC_ void ndr_print_nbt_qtype(struct ndr_print *ndr, const char *name, enum nbt_qtype r)
120 const char *val = NULL;
122 switch (r) {
123 case NBT_QTYPE_ADDRESS: val = "NBT_QTYPE_ADDRESS"; break;
124 case NBT_QTYPE_NAMESERVICE: val = "NBT_QTYPE_NAMESERVICE"; break;
125 case NBT_QTYPE_NULL: val = "NBT_QTYPE_NULL"; break;
126 case NBT_QTYPE_NETBIOS: val = "NBT_QTYPE_NETBIOS"; break;
127 case NBT_QTYPE_STATUS: val = "NBT_QTYPE_STATUS"; break;
129 ndr_print_enum(ndr, name, "ENUM", val, r);
132 static enum ndr_err_code ndr_push_nbt_name_question(struct ndr_push *ndr, int ndr_flags, const struct nbt_name_question *r)
134 if (ndr_flags & NDR_SCALARS) {
135 NDR_CHECK(ndr_push_align(ndr, 4));
136 NDR_CHECK(ndr_push_nbt_name(ndr, NDR_SCALARS, &r->name));
137 NDR_CHECK(ndr_push_nbt_qtype(ndr, NDR_SCALARS, r->question_type));
138 NDR_CHECK(ndr_push_nbt_qclass(ndr, NDR_SCALARS, r->question_class));
140 if (ndr_flags & NDR_BUFFERS) {
142 return NDR_ERR_SUCCESS;
145 static enum ndr_err_code ndr_pull_nbt_name_question(struct ndr_pull *ndr, int ndr_flags, struct nbt_name_question *r)
147 if (ndr_flags & NDR_SCALARS) {
148 NDR_CHECK(ndr_pull_align(ndr, 4));
149 NDR_CHECK(ndr_pull_nbt_name(ndr, NDR_SCALARS, &r->name));
150 NDR_CHECK(ndr_pull_nbt_qtype(ndr, NDR_SCALARS, &r->question_type));
151 NDR_CHECK(ndr_pull_nbt_qclass(ndr, NDR_SCALARS, &r->question_class));
153 if (ndr_flags & NDR_BUFFERS) {
155 return NDR_ERR_SUCCESS;
158 _PUBLIC_ void ndr_print_nbt_name_question(struct ndr_print *ndr, const char *name, const struct nbt_name_question *r)
160 ndr_print_struct(ndr, name, "nbt_name_question");
161 ndr->depth++;
162 ndr_print_nbt_name(ndr, "name", &r->name);
163 ndr_print_nbt_qtype(ndr, "question_type", r->question_type);
164 ndr_print_nbt_qclass(ndr, "question_class", r->question_class);
165 ndr->depth--;
168 static enum ndr_err_code ndr_push_nb_flags(struct ndr_push *ndr, int ndr_flags, uint16_t r)
170 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
171 return NDR_ERR_SUCCESS;
174 static enum ndr_err_code ndr_pull_nb_flags(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
176 uint16_t v;
177 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
178 *r = v;
179 return NDR_ERR_SUCCESS;
182 _PUBLIC_ void ndr_print_nb_flags(struct ndr_print *ndr, const char *name, uint16_t r)
184 ndr_print_uint16(ndr, name, r);
185 ndr->depth++;
186 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_NM_PERMANENT", NBT_NM_PERMANENT, r);
187 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_NM_ACTIVE", NBT_NM_ACTIVE, r);
188 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_NM_CONFLICT", NBT_NM_CONFLICT, r);
189 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_NM_DEREGISTER", NBT_NM_DEREGISTER, r);
190 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_NM_OWNER_TYPE", NBT_NM_OWNER_TYPE, r);
191 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_NM_GROUP", NBT_NM_GROUP, r);
192 ndr->depth--;
195 static enum ndr_err_code ndr_push_nbt_rdata_address(struct ndr_push *ndr, int ndr_flags, const struct nbt_rdata_address *r)
197 if (ndr_flags & NDR_SCALARS) {
198 NDR_CHECK(ndr_push_align(ndr, 4));
199 NDR_CHECK(ndr_push_nb_flags(ndr, NDR_SCALARS, r->nb_flags));
200 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->ipaddr));
202 if (ndr_flags & NDR_BUFFERS) {
204 return NDR_ERR_SUCCESS;
207 static enum ndr_err_code ndr_pull_nbt_rdata_address(struct ndr_pull *ndr, int ndr_flags, struct nbt_rdata_address *r)
209 if (ndr_flags & NDR_SCALARS) {
210 NDR_CHECK(ndr_pull_align(ndr, 4));
211 NDR_CHECK(ndr_pull_nb_flags(ndr, NDR_SCALARS, &r->nb_flags));
212 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->ipaddr));
214 if (ndr_flags & NDR_BUFFERS) {
216 return NDR_ERR_SUCCESS;
219 _PUBLIC_ void ndr_print_nbt_rdata_address(struct ndr_print *ndr, const char *name, const struct nbt_rdata_address *r)
221 ndr_print_struct(ndr, name, "nbt_rdata_address");
222 ndr->depth++;
223 ndr_print_nb_flags(ndr, "nb_flags", r->nb_flags);
224 ndr_print_ipv4address(ndr, "ipaddr", r->ipaddr);
225 ndr->depth--;
228 static enum ndr_err_code ndr_push_nbt_rdata_netbios(struct ndr_push *ndr, int ndr_flags, const struct nbt_rdata_netbios *r)
230 uint32_t cntr_addresses_0;
231 if (ndr_flags & NDR_SCALARS) {
232 NDR_CHECK(ndr_push_align(ndr, 4));
233 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
234 for (cntr_addresses_0 = 0; cntr_addresses_0 < r->length / 6; cntr_addresses_0++) {
235 NDR_CHECK(ndr_push_nbt_rdata_address(ndr, NDR_SCALARS, &r->addresses[cntr_addresses_0]));
238 if (ndr_flags & NDR_BUFFERS) {
240 return NDR_ERR_SUCCESS;
243 static enum ndr_err_code ndr_pull_nbt_rdata_netbios(struct ndr_pull *ndr, int ndr_flags, struct nbt_rdata_netbios *r)
245 uint32_t cntr_addresses_0;
246 TALLOC_CTX *_mem_save_addresses_0;
247 if (ndr_flags & NDR_SCALARS) {
248 NDR_CHECK(ndr_pull_align(ndr, 4));
249 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
250 NDR_PULL_ALLOC_N(ndr, r->addresses, r->length / 6);
251 _mem_save_addresses_0 = NDR_PULL_GET_MEM_CTX(ndr);
252 NDR_PULL_SET_MEM_CTX(ndr, r->addresses, 0);
253 for (cntr_addresses_0 = 0; cntr_addresses_0 < r->length / 6; cntr_addresses_0++) {
254 NDR_CHECK(ndr_pull_nbt_rdata_address(ndr, NDR_SCALARS, &r->addresses[cntr_addresses_0]));
256 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_0, 0);
258 if (ndr_flags & NDR_BUFFERS) {
260 return NDR_ERR_SUCCESS;
263 _PUBLIC_ void ndr_print_nbt_rdata_netbios(struct ndr_print *ndr, const char *name, const struct nbt_rdata_netbios *r)
265 uint32_t cntr_addresses_0;
266 ndr_print_struct(ndr, name, "nbt_rdata_netbios");
267 ndr->depth++;
268 ndr_print_uint16(ndr, "length", r->length);
269 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", r->length / 6);
270 ndr->depth++;
271 for (cntr_addresses_0=0;cntr_addresses_0<r->length / 6;cntr_addresses_0++) {
272 char *idx_0=NULL;
273 if (asprintf(&idx_0, "[%d]", cntr_addresses_0) != -1) {
274 ndr_print_nbt_rdata_address(ndr, "addresses", &r->addresses[cntr_addresses_0]);
275 free(idx_0);
278 ndr->depth--;
279 ndr->depth--;
282 static enum ndr_err_code ndr_push_nbt_statistics(struct ndr_push *ndr, int ndr_flags, const struct nbt_statistics *r)
284 if (ndr_flags & NDR_SCALARS) {
285 NDR_CHECK(ndr_push_align(ndr, 4));
286 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->unit_id, 6));
287 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->jumpers));
288 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->test_result));
289 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->version_number));
290 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->period_of_statistics));
291 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->number_of_crcs));
292 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->number_alignment_errors));
293 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->number_of_collisions));
294 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->number_send_aborts));
295 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->number_good_sends));
296 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->number_good_receives));
297 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->number_retransmits));
298 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->number_no_resource_conditions));
299 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->number_free_command_blocks));
300 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->total_number_command_blocks));
301 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_total_number_command_blocks));
302 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->number_pending_sessions));
303 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_number_pending_sessions));
304 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_total_sessions_possible));
305 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->session_data_packet_size));
307 if (ndr_flags & NDR_BUFFERS) {
309 return NDR_ERR_SUCCESS;
312 static enum ndr_err_code ndr_pull_nbt_statistics(struct ndr_pull *ndr, int ndr_flags, struct nbt_statistics *r)
314 if (ndr_flags & NDR_SCALARS) {
315 NDR_CHECK(ndr_pull_align(ndr, 4));
316 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->unit_id, 6));
317 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->jumpers));
318 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->test_result));
319 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->version_number));
320 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->period_of_statistics));
321 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->number_of_crcs));
322 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->number_alignment_errors));
323 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->number_of_collisions));
324 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->number_send_aborts));
325 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->number_good_sends));
326 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->number_good_receives));
327 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->number_retransmits));
328 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->number_no_resource_conditions));
329 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->number_free_command_blocks));
330 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->total_number_command_blocks));
331 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_total_number_command_blocks));
332 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->number_pending_sessions));
333 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_number_pending_sessions));
334 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_total_sessions_possible));
335 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->session_data_packet_size));
337 if (ndr_flags & NDR_BUFFERS) {
339 return NDR_ERR_SUCCESS;
342 _PUBLIC_ void ndr_print_nbt_statistics(struct ndr_print *ndr, const char *name, const struct nbt_statistics *r)
344 ndr_print_struct(ndr, name, "nbt_statistics");
345 ndr->depth++;
346 ndr_print_array_uint8(ndr, "unit_id", r->unit_id, 6);
347 ndr_print_uint8(ndr, "jumpers", r->jumpers);
348 ndr_print_uint8(ndr, "test_result", r->test_result);
349 ndr_print_uint16(ndr, "version_number", r->version_number);
350 ndr_print_uint16(ndr, "period_of_statistics", r->period_of_statistics);
351 ndr_print_uint16(ndr, "number_of_crcs", r->number_of_crcs);
352 ndr_print_uint16(ndr, "number_alignment_errors", r->number_alignment_errors);
353 ndr_print_uint16(ndr, "number_of_collisions", r->number_of_collisions);
354 ndr_print_uint16(ndr, "number_send_aborts", r->number_send_aborts);
355 ndr_print_uint32(ndr, "number_good_sends", r->number_good_sends);
356 ndr_print_uint32(ndr, "number_good_receives", r->number_good_receives);
357 ndr_print_uint16(ndr, "number_retransmits", r->number_retransmits);
358 ndr_print_uint16(ndr, "number_no_resource_conditions", r->number_no_resource_conditions);
359 ndr_print_uint16(ndr, "number_free_command_blocks", r->number_free_command_blocks);
360 ndr_print_uint16(ndr, "total_number_command_blocks", r->total_number_command_blocks);
361 ndr_print_uint16(ndr, "max_total_number_command_blocks", r->max_total_number_command_blocks);
362 ndr_print_uint16(ndr, "number_pending_sessions", r->number_pending_sessions);
363 ndr_print_uint16(ndr, "max_number_pending_sessions", r->max_number_pending_sessions);
364 ndr_print_uint16(ndr, "max_total_sessions_possible", r->max_total_sessions_possible);
365 ndr_print_uint16(ndr, "session_data_packet_size", r->session_data_packet_size);
366 ndr->depth--;
369 static enum ndr_err_code ndr_push_nbt_status_name(struct ndr_push *ndr, int ndr_flags, const struct nbt_status_name *r)
371 if (ndr_flags & NDR_SCALARS) {
372 NDR_CHECK(ndr_push_align(ndr, 2));
373 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, 15, sizeof(uint8_t), CH_DOS));
374 NDR_CHECK(ndr_push_nbt_name_type(ndr, NDR_SCALARS, r->type));
375 NDR_CHECK(ndr_push_nb_flags(ndr, NDR_SCALARS, r->nb_flags));
377 if (ndr_flags & NDR_BUFFERS) {
379 return NDR_ERR_SUCCESS;
382 static enum ndr_err_code ndr_pull_nbt_status_name(struct ndr_pull *ndr, int ndr_flags, struct nbt_status_name *r)
384 if (ndr_flags & NDR_SCALARS) {
385 NDR_CHECK(ndr_pull_align(ndr, 2));
386 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, 15, sizeof(uint8_t), CH_DOS));
387 NDR_CHECK(ndr_pull_nbt_name_type(ndr, NDR_SCALARS, &r->type));
388 NDR_CHECK(ndr_pull_nb_flags(ndr, NDR_SCALARS, &r->nb_flags));
390 if (ndr_flags & NDR_BUFFERS) {
392 return NDR_ERR_SUCCESS;
395 _PUBLIC_ void ndr_print_nbt_status_name(struct ndr_print *ndr, const char *name, const struct nbt_status_name *r)
397 ndr_print_struct(ndr, name, "nbt_status_name");
398 ndr->depth++;
399 ndr_print_string(ndr, "name", r->name);
400 ndr_print_nbt_name_type(ndr, "type", r->type);
401 ndr_print_nb_flags(ndr, "nb_flags", r->nb_flags);
402 ndr->depth--;
405 static enum ndr_err_code ndr_push_nbt_rdata_status(struct ndr_push *ndr, int ndr_flags, const struct nbt_rdata_status *r)
407 uint32_t cntr_names_0;
408 if (ndr_flags & NDR_SCALARS) {
409 NDR_CHECK(ndr_push_align(ndr, 4));
410 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_names * 18 + 47));
411 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->num_names));
412 for (cntr_names_0 = 0; cntr_names_0 < r->num_names; cntr_names_0++) {
413 NDR_CHECK(ndr_push_nbt_status_name(ndr, NDR_SCALARS, &r->names[cntr_names_0]));
415 NDR_CHECK(ndr_push_nbt_statistics(ndr, NDR_SCALARS, &r->statistics));
417 if (ndr_flags & NDR_BUFFERS) {
419 return NDR_ERR_SUCCESS;
422 static enum ndr_err_code ndr_pull_nbt_rdata_status(struct ndr_pull *ndr, int ndr_flags, struct nbt_rdata_status *r)
424 uint32_t cntr_names_0;
425 TALLOC_CTX *_mem_save_names_0;
426 if (ndr_flags & NDR_SCALARS) {
427 NDR_CHECK(ndr_pull_align(ndr, 4));
428 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
429 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->num_names));
430 NDR_PULL_ALLOC_N(ndr, r->names, r->num_names);
431 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
432 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
433 for (cntr_names_0 = 0; cntr_names_0 < r->num_names; cntr_names_0++) {
434 NDR_CHECK(ndr_pull_nbt_status_name(ndr, NDR_SCALARS, &r->names[cntr_names_0]));
436 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
437 NDR_CHECK(ndr_pull_nbt_statistics(ndr, NDR_SCALARS, &r->statistics));
439 if (ndr_flags & NDR_BUFFERS) {
441 return NDR_ERR_SUCCESS;
444 _PUBLIC_ void ndr_print_nbt_rdata_status(struct ndr_print *ndr, const char *name, const struct nbt_rdata_status *r)
446 uint32_t cntr_names_0;
447 ndr_print_struct(ndr, name, "nbt_rdata_status");
448 ndr->depth++;
449 ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->num_names * 18 + 47:r->length);
450 ndr_print_uint8(ndr, "num_names", r->num_names);
451 ndr->print(ndr, "%s: ARRAY(%d)", "names", r->num_names);
452 ndr->depth++;
453 for (cntr_names_0=0;cntr_names_0<r->num_names;cntr_names_0++) {
454 char *idx_0=NULL;
455 if (asprintf(&idx_0, "[%d]", cntr_names_0) != -1) {
456 ndr_print_nbt_status_name(ndr, "names", &r->names[cntr_names_0]);
457 free(idx_0);
460 ndr->depth--;
461 ndr_print_nbt_statistics(ndr, "statistics", &r->statistics);
462 ndr->depth--;
465 static enum ndr_err_code ndr_push_nbt_rdata_data(struct ndr_push *ndr, int ndr_flags, const struct nbt_rdata_data *r)
467 if (ndr_flags & NDR_SCALARS) {
468 NDR_CHECK(ndr_push_align(ndr, 2));
469 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
470 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
472 if (ndr_flags & NDR_BUFFERS) {
474 return NDR_ERR_SUCCESS;
477 static enum ndr_err_code ndr_pull_nbt_rdata_data(struct ndr_pull *ndr, int ndr_flags, struct nbt_rdata_data *r)
479 if (ndr_flags & NDR_SCALARS) {
480 NDR_CHECK(ndr_pull_align(ndr, 2));
481 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
482 NDR_PULL_ALLOC_N(ndr, r->data, r->length);
483 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
485 if (ndr_flags & NDR_BUFFERS) {
487 return NDR_ERR_SUCCESS;
490 _PUBLIC_ void ndr_print_nbt_rdata_data(struct ndr_print *ndr, const char *name, const struct nbt_rdata_data *r)
492 ndr_print_struct(ndr, name, "nbt_rdata_data");
493 ndr->depth++;
494 ndr_print_uint16(ndr, "length", r->length);
495 ndr_print_array_uint8(ndr, "data", r->data, r->length);
496 ndr->depth--;
499 static enum ndr_err_code ndr_push_nbt_rdata(struct ndr_push *ndr, int ndr_flags, const union nbt_rdata *r)
501 if (ndr_flags & NDR_SCALARS) {
502 int level = ndr_push_get_switch_value(ndr, r);
503 switch (level) {
504 case NBT_QTYPE_NETBIOS: {
505 NDR_CHECK(ndr_push_nbt_rdata_netbios(ndr, NDR_SCALARS, &r->netbios));
506 break; }
508 case NBT_QTYPE_STATUS: {
509 NDR_CHECK(ndr_push_nbt_rdata_status(ndr, NDR_SCALARS, &r->status));
510 break; }
512 default: {
513 NDR_CHECK(ndr_push_nbt_rdata_data(ndr, NDR_SCALARS, &r->data));
514 break; }
518 if (ndr_flags & NDR_BUFFERS) {
519 int level = ndr_push_get_switch_value(ndr, r);
520 switch (level) {
521 case NBT_QTYPE_NETBIOS:
522 break;
524 case NBT_QTYPE_STATUS:
525 break;
527 default:
528 break;
532 return NDR_ERR_SUCCESS;
535 static enum ndr_err_code ndr_pull_nbt_rdata(struct ndr_pull *ndr, int ndr_flags, union nbt_rdata *r)
537 int level;
538 level = ndr_pull_get_switch_value(ndr, r);
539 if (ndr_flags & NDR_SCALARS) {
540 switch (level) {
541 case NBT_QTYPE_NETBIOS: {
542 NDR_CHECK(ndr_pull_nbt_rdata_netbios(ndr, NDR_SCALARS, &r->netbios));
543 break; }
545 case NBT_QTYPE_STATUS: {
546 NDR_CHECK(ndr_pull_nbt_rdata_status(ndr, NDR_SCALARS, &r->status));
547 break; }
549 default: {
550 NDR_CHECK(ndr_pull_nbt_rdata_data(ndr, NDR_SCALARS, &r->data));
551 break; }
555 if (ndr_flags & NDR_BUFFERS) {
556 switch (level) {
557 case NBT_QTYPE_NETBIOS:
558 break;
560 case NBT_QTYPE_STATUS:
561 break;
563 default:
564 break;
568 return NDR_ERR_SUCCESS;
571 _PUBLIC_ void ndr_print_nbt_rdata(struct ndr_print *ndr, const char *name, const union nbt_rdata *r)
573 int level;
574 level = ndr_print_get_switch_value(ndr, r);
575 ndr_print_union(ndr, name, level, "nbt_rdata");
576 switch (level) {
577 case NBT_QTYPE_NETBIOS:
578 ndr_print_nbt_rdata_netbios(ndr, "netbios", &r->netbios);
579 break;
581 case NBT_QTYPE_STATUS:
582 ndr_print_nbt_rdata_status(ndr, "status", &r->status);
583 break;
585 default:
586 ndr_print_nbt_rdata_data(ndr, "data", &r->data);
587 break;
592 static enum ndr_err_code ndr_push_nbt_res_rec(struct ndr_push *ndr, int ndr_flags, const struct nbt_res_rec *r)
595 uint32_t _flags_save_STRUCT = ndr->flags;
596 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
597 if (ndr_flags & NDR_SCALARS) {
598 NDR_CHECK(ndr_push_align(ndr, 4));
599 NDR_CHECK(ndr_push_nbt_name(ndr, NDR_SCALARS, &r->name));
600 NDR_CHECK(ndr_push_nbt_qtype(ndr, NDR_SCALARS, r->rr_type));
601 NDR_CHECK(ndr_push_nbt_qclass(ndr, NDR_SCALARS, r->rr_class));
602 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ttl));
603 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->rdata, ((((r->rr_type) == NBT_QTYPE_NETBIOS) && talloc_check_name(ndr, "struct ndr_push") && ((r->rdata).data.length == 2))?0:r->rr_type)));
604 NDR_CHECK(ndr_push_nbt_rdata(ndr, NDR_SCALARS, &r->rdata));
606 if (ndr_flags & NDR_BUFFERS) {
608 ndr->flags = _flags_save_STRUCT;
610 return NDR_ERR_SUCCESS;
613 static enum ndr_err_code ndr_pull_nbt_res_rec(struct ndr_pull *ndr, int ndr_flags, struct nbt_res_rec *r)
616 uint32_t _flags_save_STRUCT = ndr->flags;
617 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
618 if (ndr_flags & NDR_SCALARS) {
619 NDR_CHECK(ndr_pull_align(ndr, 4));
620 NDR_CHECK(ndr_pull_nbt_name(ndr, NDR_SCALARS, &r->name));
621 NDR_CHECK(ndr_pull_nbt_qtype(ndr, NDR_SCALARS, &r->rr_type));
622 NDR_CHECK(ndr_pull_nbt_qclass(ndr, NDR_SCALARS, &r->rr_class));
623 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ttl));
624 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->rdata, ((((r->rr_type) == NBT_QTYPE_NETBIOS) && talloc_check_name(ndr, "struct ndr_push") && ((r->rdata).data.length == 2))?0:r->rr_type)));
625 NDR_CHECK(ndr_pull_nbt_rdata(ndr, NDR_SCALARS, &r->rdata));
627 if (ndr_flags & NDR_BUFFERS) {
629 ndr->flags = _flags_save_STRUCT;
631 return NDR_ERR_SUCCESS;
634 _PUBLIC_ void ndr_print_nbt_res_rec(struct ndr_print *ndr, const char *name, const struct nbt_res_rec *r)
636 ndr_print_struct(ndr, name, "nbt_res_rec");
638 uint32_t _flags_save_STRUCT = ndr->flags;
639 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
640 ndr->depth++;
641 ndr_print_nbt_name(ndr, "name", &r->name);
642 ndr_print_nbt_qtype(ndr, "rr_type", r->rr_type);
643 ndr_print_nbt_qclass(ndr, "rr_class", r->rr_class);
644 ndr_print_uint32(ndr, "ttl", r->ttl);
645 ndr_print_set_switch_value(ndr, &r->rdata, ((((r->rr_type) == NBT_QTYPE_NETBIOS) && talloc_check_name(ndr, "struct ndr_push") && ((r->rdata).data.length == 2))?0:r->rr_type));
646 ndr_print_nbt_rdata(ndr, "rdata", &r->rdata);
647 ndr->depth--;
648 ndr->flags = _flags_save_STRUCT;
652 _PUBLIC_ enum ndr_err_code ndr_push_nbt_name_packet(struct ndr_push *ndr, int ndr_flags, const struct nbt_name_packet *r)
654 uint32_t cntr_questions_0;
655 uint32_t cntr_answers_0;
656 uint32_t cntr_nsrecs_0;
657 uint32_t cntr_additional_0;
659 uint32_t _flags_save_STRUCT = ndr->flags;
660 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
661 if (ndr_flags & NDR_SCALARS) {
662 NDR_CHECK(ndr_push_align(ndr, 4));
663 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->name_trn_id));
664 NDR_CHECK(ndr_push_nbt_operation(ndr, NDR_SCALARS, r->operation));
665 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->qdcount));
666 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ancount));
667 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nscount));
668 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->arcount));
669 for (cntr_questions_0 = 0; cntr_questions_0 < r->qdcount; cntr_questions_0++) {
670 NDR_CHECK(ndr_push_nbt_name_question(ndr, NDR_SCALARS, &r->questions[cntr_questions_0]));
672 for (cntr_answers_0 = 0; cntr_answers_0 < r->ancount; cntr_answers_0++) {
673 NDR_CHECK(ndr_push_nbt_res_rec(ndr, NDR_SCALARS, &r->answers[cntr_answers_0]));
675 for (cntr_nsrecs_0 = 0; cntr_nsrecs_0 < r->nscount; cntr_nsrecs_0++) {
676 NDR_CHECK(ndr_push_nbt_res_rec(ndr, NDR_SCALARS, &r->nsrecs[cntr_nsrecs_0]));
678 for (cntr_additional_0 = 0; cntr_additional_0 < r->arcount; cntr_additional_0++) {
679 NDR_CHECK(ndr_push_nbt_res_rec(ndr, NDR_SCALARS, &r->additional[cntr_additional_0]));
682 uint32_t _flags_save_DATA_BLOB = ndr->flags;
683 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
684 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->padding));
685 ndr->flags = _flags_save_DATA_BLOB;
688 if (ndr_flags & NDR_BUFFERS) {
690 ndr->flags = _flags_save_STRUCT;
692 return NDR_ERR_SUCCESS;
695 _PUBLIC_ enum ndr_err_code ndr_pull_nbt_name_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_name_packet *r)
697 uint32_t cntr_questions_0;
698 TALLOC_CTX *_mem_save_questions_0;
699 uint32_t cntr_answers_0;
700 TALLOC_CTX *_mem_save_answers_0;
701 uint32_t cntr_nsrecs_0;
702 TALLOC_CTX *_mem_save_nsrecs_0;
703 uint32_t cntr_additional_0;
704 TALLOC_CTX *_mem_save_additional_0;
706 uint32_t _flags_save_STRUCT = ndr->flags;
707 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
708 if (ndr_flags & NDR_SCALARS) {
709 NDR_CHECK(ndr_pull_align(ndr, 4));
710 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->name_trn_id));
711 NDR_CHECK(ndr_pull_nbt_operation(ndr, NDR_SCALARS, &r->operation));
712 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->qdcount));
713 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ancount));
714 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nscount));
715 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->arcount));
716 NDR_PULL_ALLOC_N(ndr, r->questions, r->qdcount);
717 _mem_save_questions_0 = NDR_PULL_GET_MEM_CTX(ndr);
718 NDR_PULL_SET_MEM_CTX(ndr, r->questions, 0);
719 for (cntr_questions_0 = 0; cntr_questions_0 < r->qdcount; cntr_questions_0++) {
720 NDR_CHECK(ndr_pull_nbt_name_question(ndr, NDR_SCALARS, &r->questions[cntr_questions_0]));
722 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_questions_0, 0);
723 NDR_PULL_ALLOC_N(ndr, r->answers, r->ancount);
724 _mem_save_answers_0 = NDR_PULL_GET_MEM_CTX(ndr);
725 NDR_PULL_SET_MEM_CTX(ndr, r->answers, 0);
726 for (cntr_answers_0 = 0; cntr_answers_0 < r->ancount; cntr_answers_0++) {
727 NDR_CHECK(ndr_pull_nbt_res_rec(ndr, NDR_SCALARS, &r->answers[cntr_answers_0]));
729 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_answers_0, 0);
730 NDR_PULL_ALLOC_N(ndr, r->nsrecs, r->nscount);
731 _mem_save_nsrecs_0 = NDR_PULL_GET_MEM_CTX(ndr);
732 NDR_PULL_SET_MEM_CTX(ndr, r->nsrecs, 0);
733 for (cntr_nsrecs_0 = 0; cntr_nsrecs_0 < r->nscount; cntr_nsrecs_0++) {
734 NDR_CHECK(ndr_pull_nbt_res_rec(ndr, NDR_SCALARS, &r->nsrecs[cntr_nsrecs_0]));
736 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nsrecs_0, 0);
737 NDR_PULL_ALLOC_N(ndr, r->additional, r->arcount);
738 _mem_save_additional_0 = NDR_PULL_GET_MEM_CTX(ndr);
739 NDR_PULL_SET_MEM_CTX(ndr, r->additional, 0);
740 for (cntr_additional_0 = 0; cntr_additional_0 < r->arcount; cntr_additional_0++) {
741 NDR_CHECK(ndr_pull_nbt_res_rec(ndr, NDR_SCALARS, &r->additional[cntr_additional_0]));
743 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_additional_0, 0);
745 uint32_t _flags_save_DATA_BLOB = ndr->flags;
746 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
747 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->padding));
748 ndr->flags = _flags_save_DATA_BLOB;
751 if (ndr_flags & NDR_BUFFERS) {
753 ndr->flags = _flags_save_STRUCT;
755 return NDR_ERR_SUCCESS;
758 _PUBLIC_ void ndr_print_nbt_name_packet(struct ndr_print *ndr, const char *name, const struct nbt_name_packet *r)
760 uint32_t cntr_questions_0;
761 uint32_t cntr_answers_0;
762 uint32_t cntr_nsrecs_0;
763 uint32_t cntr_additional_0;
764 ndr_print_struct(ndr, name, "nbt_name_packet");
766 uint32_t _flags_save_STRUCT = ndr->flags;
767 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
768 ndr->depth++;
769 ndr_print_uint16(ndr, "name_trn_id", r->name_trn_id);
770 ndr_print_nbt_operation(ndr, "operation", r->operation);
771 ndr_print_uint16(ndr, "qdcount", r->qdcount);
772 ndr_print_uint16(ndr, "ancount", r->ancount);
773 ndr_print_uint16(ndr, "nscount", r->nscount);
774 ndr_print_uint16(ndr, "arcount", r->arcount);
775 ndr->print(ndr, "%s: ARRAY(%d)", "questions", r->qdcount);
776 ndr->depth++;
777 for (cntr_questions_0=0;cntr_questions_0<r->qdcount;cntr_questions_0++) {
778 char *idx_0=NULL;
779 if (asprintf(&idx_0, "[%d]", cntr_questions_0) != -1) {
780 ndr_print_nbt_name_question(ndr, "questions", &r->questions[cntr_questions_0]);
781 free(idx_0);
784 ndr->depth--;
785 ndr->print(ndr, "%s: ARRAY(%d)", "answers", r->ancount);
786 ndr->depth++;
787 for (cntr_answers_0=0;cntr_answers_0<r->ancount;cntr_answers_0++) {
788 char *idx_0=NULL;
789 if (asprintf(&idx_0, "[%d]", cntr_answers_0) != -1) {
790 ndr_print_nbt_res_rec(ndr, "answers", &r->answers[cntr_answers_0]);
791 free(idx_0);
794 ndr->depth--;
795 ndr->print(ndr, "%s: ARRAY(%d)", "nsrecs", r->nscount);
796 ndr->depth++;
797 for (cntr_nsrecs_0=0;cntr_nsrecs_0<r->nscount;cntr_nsrecs_0++) {
798 char *idx_0=NULL;
799 if (asprintf(&idx_0, "[%d]", cntr_nsrecs_0) != -1) {
800 ndr_print_nbt_res_rec(ndr, "nsrecs", &r->nsrecs[cntr_nsrecs_0]);
801 free(idx_0);
804 ndr->depth--;
805 ndr->print(ndr, "%s: ARRAY(%d)", "additional", r->arcount);
806 ndr->depth++;
807 for (cntr_additional_0=0;cntr_additional_0<r->arcount;cntr_additional_0++) {
808 char *idx_0=NULL;
809 if (asprintf(&idx_0, "[%d]", cntr_additional_0) != -1) {
810 ndr_print_nbt_res_rec(ndr, "additional", &r->additional[cntr_additional_0]);
811 free(idx_0);
814 ndr->depth--;
815 ndr_print_DATA_BLOB(ndr, "padding", r->padding);
816 ndr->depth--;
817 ndr->flags = _flags_save_STRUCT;
821 static enum ndr_err_code ndr_push_dgram_msg_type(struct ndr_push *ndr, int ndr_flags, enum dgram_msg_type r)
823 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
824 return NDR_ERR_SUCCESS;
827 static enum ndr_err_code ndr_pull_dgram_msg_type(struct ndr_pull *ndr, int ndr_flags, enum dgram_msg_type *r)
829 uint8_t v;
830 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
831 *r = v;
832 return NDR_ERR_SUCCESS;
835 _PUBLIC_ void ndr_print_dgram_msg_type(struct ndr_print *ndr, const char *name, enum dgram_msg_type r)
837 const char *val = NULL;
839 switch (r) {
840 case DGRAM_DIRECT_UNIQUE: val = "DGRAM_DIRECT_UNIQUE"; break;
841 case DGRAM_DIRECT_GROUP: val = "DGRAM_DIRECT_GROUP"; break;
842 case DGRAM_BCAST: val = "DGRAM_BCAST"; break;
843 case DGRAM_ERROR: val = "DGRAM_ERROR"; break;
844 case DGRAM_QUERY: val = "DGRAM_QUERY"; break;
845 case DGRAM_QUERY_POSITIVE: val = "DGRAM_QUERY_POSITIVE"; break;
846 case DGRAM_QUERY_NEGATIVE: val = "DGRAM_QUERY_NEGATIVE"; break;
848 ndr_print_enum(ndr, name, "ENUM", val, r);
851 static enum ndr_err_code ndr_push_dgram_flags(struct ndr_push *ndr, int ndr_flags, uint8_t r)
853 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
854 return NDR_ERR_SUCCESS;
857 static enum ndr_err_code ndr_pull_dgram_flags(struct ndr_pull *ndr, int ndr_flags, uint8_t *r)
859 uint8_t v;
860 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
861 *r = v;
862 return NDR_ERR_SUCCESS;
865 _PUBLIC_ void ndr_print_dgram_flags(struct ndr_print *ndr, const char *name, uint8_t r)
867 ndr_print_uint8(ndr, name, r);
868 ndr->depth++;
869 ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "DGRAM_FLAG_MORE", DGRAM_FLAG_MORE, r);
870 ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "DGRAM_FLAG_FIRST", DGRAM_FLAG_FIRST, r);
871 ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "DGRAM_FLAG_NODE_TYPE", DGRAM_FLAG_NODE_TYPE, r);
872 ndr->depth--;
875 static enum ndr_err_code ndr_push_smb_command(struct ndr_push *ndr, int ndr_flags, enum smb_command r)
877 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
878 return NDR_ERR_SUCCESS;
881 static enum ndr_err_code ndr_pull_smb_command(struct ndr_pull *ndr, int ndr_flags, enum smb_command *r)
883 uint8_t v;
884 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
885 *r = v;
886 return NDR_ERR_SUCCESS;
889 _PUBLIC_ void ndr_print_smb_command(struct ndr_print *ndr, const char *name, enum smb_command r)
891 const char *val = NULL;
893 switch (r) {
894 case SMB_TRANSACTION: val = "SMB_TRANSACTION"; break;
896 ndr_print_enum(ndr, name, "ENUM", val, r);
899 static enum ndr_err_code ndr_push_smb_trans_body(struct ndr_push *ndr, int ndr_flags, const struct smb_trans_body *r)
901 if (ndr_flags & NDR_SCALARS) {
902 NDR_CHECK(ndr_push_align(ndr, 4));
903 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 17));
904 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->total_param_count));
905 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->total_data_count));
906 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_param_count));
907 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_data_count));
908 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->max_setup_count));
909 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pad));
910 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->trans_flags));
911 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timeout));
912 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reserved));
913 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->param_count));
914 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->param_offset));
915 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->data_count));
916 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->data_offset));
917 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 3));
918 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pad2));
919 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->opcode));
920 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->priority));
921 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->_class));
922 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen(r->mailslot_name) + 1 + r->data.length));
924 uint32_t _flags_save_string = ndr->flags;
925 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
926 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->mailslot_name));
927 ndr->flags = _flags_save_string;
930 uint32_t _flags_save_DATA_BLOB = ndr->flags;
931 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
932 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data));
933 ndr->flags = _flags_save_DATA_BLOB;
936 if (ndr_flags & NDR_BUFFERS) {
938 return NDR_ERR_SUCCESS;
941 static enum ndr_err_code ndr_pull_smb_trans_body(struct ndr_pull *ndr, int ndr_flags, struct smb_trans_body *r)
943 if (ndr_flags & NDR_SCALARS) {
944 NDR_CHECK(ndr_pull_align(ndr, 4));
945 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->wct));
946 if (r->wct < 17 || r->wct > 17) {
947 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
949 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->total_param_count));
950 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->total_data_count));
951 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_param_count));
952 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_data_count));
953 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->max_setup_count));
954 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pad));
955 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->trans_flags));
956 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timeout));
957 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved));
958 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->param_count));
959 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->param_offset));
960 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data_count));
961 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data_offset));
962 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->setup_count));
963 if (r->setup_count < 3 || r->setup_count > 3) {
964 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
966 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pad2));
967 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->opcode));
968 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->priority));
969 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->_class));
970 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->byte_count));
972 uint32_t _flags_save_string = ndr->flags;
973 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
974 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->mailslot_name));
975 ndr->flags = _flags_save_string;
978 uint32_t _flags_save_DATA_BLOB = ndr->flags;
979 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
980 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data));
981 ndr->flags = _flags_save_DATA_BLOB;
984 if (ndr_flags & NDR_BUFFERS) {
986 return NDR_ERR_SUCCESS;
989 _PUBLIC_ void ndr_print_smb_trans_body(struct ndr_print *ndr, const char *name, const struct smb_trans_body *r)
991 ndr_print_struct(ndr, name, "smb_trans_body");
992 ndr->depth++;
993 ndr_print_uint8(ndr, "wct", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?17:r->wct);
994 ndr_print_uint16(ndr, "total_param_count", r->total_param_count);
995 ndr_print_uint16(ndr, "total_data_count", r->total_data_count);
996 ndr_print_uint16(ndr, "max_param_count", r->max_param_count);
997 ndr_print_uint16(ndr, "max_data_count", r->max_data_count);
998 ndr_print_uint8(ndr, "max_setup_count", r->max_setup_count);
999 ndr_print_uint8(ndr, "pad", r->pad);
1000 ndr_print_uint16(ndr, "trans_flags", r->trans_flags);
1001 ndr_print_uint32(ndr, "timeout", r->timeout);
1002 ndr_print_uint16(ndr, "reserved", r->reserved);
1003 ndr_print_uint16(ndr, "param_count", r->param_count);
1004 ndr_print_uint16(ndr, "param_offset", r->param_offset);
1005 ndr_print_uint16(ndr, "data_count", r->data_count);
1006 ndr_print_uint16(ndr, "data_offset", r->data_offset);
1007 ndr_print_uint8(ndr, "setup_count", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?3:r->setup_count);
1008 ndr_print_uint8(ndr, "pad2", r->pad2);
1009 ndr_print_uint16(ndr, "opcode", r->opcode);
1010 ndr_print_uint16(ndr, "priority", r->priority);
1011 ndr_print_uint16(ndr, "_class", r->_class);
1012 ndr_print_uint16(ndr, "byte_count", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->mailslot_name) + 1 + r->data.length:r->byte_count);
1013 ndr_print_string(ndr, "mailslot_name", r->mailslot_name);
1014 ndr_print_DATA_BLOB(ndr, "data", r->data);
1015 ndr->depth--;
1018 static enum ndr_err_code ndr_push_smb_body(struct ndr_push *ndr, int ndr_flags, const union smb_body *r)
1020 if (ndr_flags & NDR_SCALARS) {
1021 int level = ndr_push_get_switch_value(ndr, r);
1022 switch (level) {
1023 case SMB_TRANSACTION: {
1024 NDR_CHECK(ndr_push_smb_trans_body(ndr, NDR_SCALARS, &r->trans));
1025 break; }
1027 default:
1028 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1031 if (ndr_flags & NDR_BUFFERS) {
1032 int level = ndr_push_get_switch_value(ndr, r);
1033 switch (level) {
1034 case SMB_TRANSACTION:
1035 break;
1037 default:
1038 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1041 return NDR_ERR_SUCCESS;
1044 static enum ndr_err_code ndr_pull_smb_body(struct ndr_pull *ndr, int ndr_flags, union smb_body *r)
1046 int level;
1047 level = ndr_pull_get_switch_value(ndr, r);
1048 if (ndr_flags & NDR_SCALARS) {
1049 switch (level) {
1050 case SMB_TRANSACTION: {
1051 NDR_CHECK(ndr_pull_smb_trans_body(ndr, NDR_SCALARS, &r->trans));
1052 break; }
1054 default:
1055 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1058 if (ndr_flags & NDR_BUFFERS) {
1059 switch (level) {
1060 case SMB_TRANSACTION:
1061 break;
1063 default:
1064 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1067 return NDR_ERR_SUCCESS;
1070 _PUBLIC_ void ndr_print_smb_body(struct ndr_print *ndr, const char *name, const union smb_body *r)
1072 int level;
1073 level = ndr_print_get_switch_value(ndr, r);
1074 ndr_print_union(ndr, name, level, "smb_body");
1075 switch (level) {
1076 case SMB_TRANSACTION:
1077 ndr_print_smb_trans_body(ndr, "trans", &r->trans);
1078 break;
1080 default:
1081 ndr_print_bad_level(ndr, name, level);
1085 _PUBLIC_ enum ndr_err_code ndr_push_dgram_smb_packet(struct ndr_push *ndr, int ndr_flags, const struct dgram_smb_packet *r)
1088 uint32_t _flags_save_STRUCT = ndr->flags;
1089 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN|LIBNDR_PRINT_ARRAY_HEX);
1090 if (ndr_flags & NDR_SCALARS) {
1091 NDR_CHECK(ndr_push_align(ndr, 4));
1092 NDR_CHECK(ndr_push_smb_command(ndr, NDR_SCALARS, r->smb_command));
1093 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->err_class));
1094 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pad));
1095 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->err_code));
1096 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->flags));
1097 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->flags2));
1098 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->pid_high));
1099 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->signature, 8));
1100 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reserved));
1101 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->tid));
1102 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->pid));
1103 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->vuid));
1104 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->mid));
1105 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->body, r->smb_command));
1106 NDR_CHECK(ndr_push_smb_body(ndr, NDR_SCALARS, &r->body));
1108 if (ndr_flags & NDR_BUFFERS) {
1110 ndr->flags = _flags_save_STRUCT;
1112 return NDR_ERR_SUCCESS;
1115 _PUBLIC_ enum ndr_err_code ndr_pull_dgram_smb_packet(struct ndr_pull *ndr, int ndr_flags, struct dgram_smb_packet *r)
1118 uint32_t _flags_save_STRUCT = ndr->flags;
1119 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN|LIBNDR_PRINT_ARRAY_HEX);
1120 if (ndr_flags & NDR_SCALARS) {
1121 NDR_CHECK(ndr_pull_align(ndr, 4));
1122 NDR_CHECK(ndr_pull_smb_command(ndr, NDR_SCALARS, &r->smb_command));
1123 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->err_class));
1124 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pad));
1125 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->err_code));
1126 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->flags));
1127 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->flags2));
1128 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->pid_high));
1129 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->signature, 8));
1130 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved));
1131 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->tid));
1132 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->pid));
1133 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->vuid));
1134 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->mid));
1135 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->body, r->smb_command));
1136 NDR_CHECK(ndr_pull_smb_body(ndr, NDR_SCALARS, &r->body));
1138 if (ndr_flags & NDR_BUFFERS) {
1140 ndr->flags = _flags_save_STRUCT;
1142 return NDR_ERR_SUCCESS;
1145 _PUBLIC_ void ndr_print_dgram_smb_packet(struct ndr_print *ndr, const char *name, const struct dgram_smb_packet *r)
1147 ndr_print_struct(ndr, name, "dgram_smb_packet");
1149 uint32_t _flags_save_STRUCT = ndr->flags;
1150 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN|LIBNDR_PRINT_ARRAY_HEX);
1151 ndr->depth++;
1152 ndr_print_smb_command(ndr, "smb_command", r->smb_command);
1153 ndr_print_uint8(ndr, "err_class", r->err_class);
1154 ndr_print_uint8(ndr, "pad", r->pad);
1155 ndr_print_uint16(ndr, "err_code", r->err_code);
1156 ndr_print_uint8(ndr, "flags", r->flags);
1157 ndr_print_uint16(ndr, "flags2", r->flags2);
1158 ndr_print_uint16(ndr, "pid_high", r->pid_high);
1159 ndr_print_array_uint8(ndr, "signature", r->signature, 8);
1160 ndr_print_uint16(ndr, "reserved", r->reserved);
1161 ndr_print_uint16(ndr, "tid", r->tid);
1162 ndr_print_uint16(ndr, "pid", r->pid);
1163 ndr_print_uint16(ndr, "vuid", r->vuid);
1164 ndr_print_uint16(ndr, "mid", r->mid);
1165 ndr_print_set_switch_value(ndr, &r->body, r->smb_command);
1166 ndr_print_smb_body(ndr, "body", &r->body);
1167 ndr->depth--;
1168 ndr->flags = _flags_save_STRUCT;
1172 static enum ndr_err_code ndr_push_dgram_message_body(struct ndr_push *ndr, int ndr_flags, const union dgram_message_body *r)
1174 if (ndr_flags & NDR_SCALARS) {
1175 int level = ndr_push_get_switch_value(ndr, r);
1176 switch (level) {
1177 case DGRAM_SMB: {
1178 NDR_CHECK(ndr_push_dgram_smb_packet(ndr, NDR_SCALARS, &r->smb));
1179 break; }
1181 default:
1182 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1185 if (ndr_flags & NDR_BUFFERS) {
1186 int level = ndr_push_get_switch_value(ndr, r);
1187 switch (level) {
1188 case DGRAM_SMB:
1189 break;
1191 default:
1192 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1195 return NDR_ERR_SUCCESS;
1198 static enum ndr_err_code ndr_pull_dgram_message_body(struct ndr_pull *ndr, int ndr_flags, union dgram_message_body *r)
1200 int level;
1201 level = ndr_pull_get_switch_value(ndr, r);
1202 if (ndr_flags & NDR_SCALARS) {
1203 switch (level) {
1204 case DGRAM_SMB: {
1205 NDR_CHECK(ndr_pull_dgram_smb_packet(ndr, NDR_SCALARS, &r->smb));
1206 break; }
1208 default:
1209 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1212 if (ndr_flags & NDR_BUFFERS) {
1213 switch (level) {
1214 case DGRAM_SMB:
1215 break;
1217 default:
1218 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1221 return NDR_ERR_SUCCESS;
1224 _PUBLIC_ void ndr_print_dgram_message_body(struct ndr_print *ndr, const char *name, const union dgram_message_body *r)
1226 int level;
1227 level = ndr_print_get_switch_value(ndr, r);
1228 ndr_print_union(ndr, name, level, "dgram_message_body");
1229 switch (level) {
1230 case DGRAM_SMB:
1231 ndr_print_dgram_smb_packet(ndr, "smb", &r->smb);
1232 break;
1234 default:
1235 ndr_print_bad_level(ndr, name, level);
1239 static enum ndr_err_code ndr_push_dgram_message(struct ndr_push *ndr, int ndr_flags, const struct dgram_message *r)
1241 if (ndr_flags & NDR_SCALARS) {
1242 NDR_CHECK(ndr_push_align(ndr, 4));
1243 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
1244 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->offset));
1245 NDR_CHECK(ndr_push_nbt_name(ndr, NDR_SCALARS, &r->source_name));
1246 NDR_CHECK(ndr_push_nbt_name(ndr, NDR_SCALARS, &r->dest_name));
1247 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dgram_body_type));
1248 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->body, r->dgram_body_type));
1249 NDR_CHECK(ndr_push_dgram_message_body(ndr, NDR_SCALARS, &r->body));
1251 if (ndr_flags & NDR_BUFFERS) {
1253 return NDR_ERR_SUCCESS;
1256 static enum ndr_err_code ndr_pull_dgram_message(struct ndr_pull *ndr, int ndr_flags, struct dgram_message *r)
1258 if (ndr_flags & NDR_SCALARS) {
1259 NDR_CHECK(ndr_pull_align(ndr, 4));
1260 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
1261 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->offset));
1262 NDR_CHECK(ndr_pull_nbt_name(ndr, NDR_SCALARS, &r->source_name));
1263 NDR_CHECK(ndr_pull_nbt_name(ndr, NDR_SCALARS, &r->dest_name));
1264 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dgram_body_type));
1265 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->body, r->dgram_body_type));
1266 NDR_CHECK(ndr_pull_dgram_message_body(ndr, NDR_SCALARS, &r->body));
1268 if (ndr_flags & NDR_BUFFERS) {
1270 return NDR_ERR_SUCCESS;
1273 _PUBLIC_ void ndr_print_dgram_message(struct ndr_print *ndr, const char *name, const struct dgram_message *r)
1275 ndr_print_struct(ndr, name, "dgram_message");
1276 ndr->depth++;
1277 ndr_print_uint16(ndr, "length", r->length);
1278 ndr_print_uint16(ndr, "offset", r->offset);
1279 ndr_print_nbt_name(ndr, "source_name", &r->source_name);
1280 ndr_print_nbt_name(ndr, "dest_name", &r->dest_name);
1281 ndr_print_uint32(ndr, "dgram_body_type", r->dgram_body_type);
1282 ndr_print_set_switch_value(ndr, &r->body, r->dgram_body_type);
1283 ndr_print_dgram_message_body(ndr, "body", &r->body);
1284 ndr->depth--;
1287 static enum ndr_err_code ndr_push_dgram_err_code(struct ndr_push *ndr, int ndr_flags, enum dgram_err_code r)
1289 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
1290 return NDR_ERR_SUCCESS;
1293 static enum ndr_err_code ndr_pull_dgram_err_code(struct ndr_pull *ndr, int ndr_flags, enum dgram_err_code *r)
1295 uint8_t v;
1296 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
1297 *r = v;
1298 return NDR_ERR_SUCCESS;
1301 _PUBLIC_ void ndr_print_dgram_err_code(struct ndr_print *ndr, const char *name, enum dgram_err_code r)
1303 const char *val = NULL;
1305 switch (r) {
1306 case DGRAM_ERROR_NAME_NOT_PRESENT: val = "DGRAM_ERROR_NAME_NOT_PRESENT"; break;
1307 case DGRAM_ERROR_INVALID_SOURCE: val = "DGRAM_ERROR_INVALID_SOURCE"; break;
1308 case DGRAM_ERROR_INVALID_DEST: val = "DGRAM_ERROR_INVALID_DEST"; break;
1310 ndr_print_enum(ndr, name, "ENUM", val, r);
1313 static enum ndr_err_code ndr_push_dgram_data(struct ndr_push *ndr, int ndr_flags, const union dgram_data *r)
1315 if (ndr_flags & NDR_SCALARS) {
1316 int level = ndr_push_get_switch_value(ndr, r);
1317 switch (level) {
1318 case DGRAM_DIRECT_UNIQUE: {
1319 NDR_CHECK(ndr_push_dgram_message(ndr, NDR_SCALARS, &r->msg));
1320 break; }
1322 case DGRAM_DIRECT_GROUP: {
1323 NDR_CHECK(ndr_push_dgram_message(ndr, NDR_SCALARS, &r->msg));
1324 break; }
1326 case DGRAM_BCAST: {
1327 NDR_CHECK(ndr_push_dgram_message(ndr, NDR_SCALARS, &r->msg));
1328 break; }
1330 case DGRAM_ERROR: {
1331 NDR_CHECK(ndr_push_dgram_err_code(ndr, NDR_SCALARS, r->error));
1332 break; }
1334 case DGRAM_QUERY: {
1335 NDR_CHECK(ndr_push_nbt_name(ndr, NDR_SCALARS, &r->dest_name));
1336 break; }
1338 case DGRAM_QUERY_POSITIVE: {
1339 NDR_CHECK(ndr_push_nbt_name(ndr, NDR_SCALARS, &r->dest_name));
1340 break; }
1342 case DGRAM_QUERY_NEGATIVE: {
1343 NDR_CHECK(ndr_push_nbt_name(ndr, NDR_SCALARS, &r->dest_name));
1344 break; }
1346 default:
1347 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1350 if (ndr_flags & NDR_BUFFERS) {
1351 int level = ndr_push_get_switch_value(ndr, r);
1352 switch (level) {
1353 case DGRAM_DIRECT_UNIQUE:
1354 break;
1356 case DGRAM_DIRECT_GROUP:
1357 break;
1359 case DGRAM_BCAST:
1360 break;
1362 case DGRAM_ERROR:
1363 break;
1365 case DGRAM_QUERY:
1366 break;
1368 case DGRAM_QUERY_POSITIVE:
1369 break;
1371 case DGRAM_QUERY_NEGATIVE:
1372 break;
1374 default:
1375 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1378 return NDR_ERR_SUCCESS;
1381 static enum ndr_err_code ndr_pull_dgram_data(struct ndr_pull *ndr, int ndr_flags, union dgram_data *r)
1383 int level;
1384 level = ndr_pull_get_switch_value(ndr, r);
1385 if (ndr_flags & NDR_SCALARS) {
1386 switch (level) {
1387 case DGRAM_DIRECT_UNIQUE: {
1388 NDR_CHECK(ndr_pull_dgram_message(ndr, NDR_SCALARS, &r->msg));
1389 break; }
1391 case DGRAM_DIRECT_GROUP: {
1392 NDR_CHECK(ndr_pull_dgram_message(ndr, NDR_SCALARS, &r->msg));
1393 break; }
1395 case DGRAM_BCAST: {
1396 NDR_CHECK(ndr_pull_dgram_message(ndr, NDR_SCALARS, &r->msg));
1397 break; }
1399 case DGRAM_ERROR: {
1400 NDR_CHECK(ndr_pull_dgram_err_code(ndr, NDR_SCALARS, &r->error));
1401 break; }
1403 case DGRAM_QUERY: {
1404 NDR_CHECK(ndr_pull_nbt_name(ndr, NDR_SCALARS, &r->dest_name));
1405 break; }
1407 case DGRAM_QUERY_POSITIVE: {
1408 NDR_CHECK(ndr_pull_nbt_name(ndr, NDR_SCALARS, &r->dest_name));
1409 break; }
1411 case DGRAM_QUERY_NEGATIVE: {
1412 NDR_CHECK(ndr_pull_nbt_name(ndr, NDR_SCALARS, &r->dest_name));
1413 break; }
1415 default:
1416 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1419 if (ndr_flags & NDR_BUFFERS) {
1420 switch (level) {
1421 case DGRAM_DIRECT_UNIQUE:
1422 break;
1424 case DGRAM_DIRECT_GROUP:
1425 break;
1427 case DGRAM_BCAST:
1428 break;
1430 case DGRAM_ERROR:
1431 break;
1433 case DGRAM_QUERY:
1434 break;
1436 case DGRAM_QUERY_POSITIVE:
1437 break;
1439 case DGRAM_QUERY_NEGATIVE:
1440 break;
1442 default:
1443 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1446 return NDR_ERR_SUCCESS;
1449 _PUBLIC_ void ndr_print_dgram_data(struct ndr_print *ndr, const char *name, const union dgram_data *r)
1451 int level;
1452 level = ndr_print_get_switch_value(ndr, r);
1453 ndr_print_union(ndr, name, level, "dgram_data");
1454 switch (level) {
1455 case DGRAM_DIRECT_UNIQUE:
1456 ndr_print_dgram_message(ndr, "msg", &r->msg);
1457 break;
1459 case DGRAM_DIRECT_GROUP:
1460 ndr_print_dgram_message(ndr, "msg", &r->msg);
1461 break;
1463 case DGRAM_BCAST:
1464 ndr_print_dgram_message(ndr, "msg", &r->msg);
1465 break;
1467 case DGRAM_ERROR:
1468 ndr_print_dgram_err_code(ndr, "error", r->error);
1469 break;
1471 case DGRAM_QUERY:
1472 ndr_print_nbt_name(ndr, "dest_name", &r->dest_name);
1473 break;
1475 case DGRAM_QUERY_POSITIVE:
1476 ndr_print_nbt_name(ndr, "dest_name", &r->dest_name);
1477 break;
1479 case DGRAM_QUERY_NEGATIVE:
1480 ndr_print_nbt_name(ndr, "dest_name", &r->dest_name);
1481 break;
1483 default:
1484 ndr_print_bad_level(ndr, name, level);
1488 _PUBLIC_ enum ndr_err_code ndr_push_nbt_dgram_packet(struct ndr_push *ndr, int ndr_flags, const struct nbt_dgram_packet *r)
1491 uint32_t _flags_save_STRUCT = ndr->flags;
1492 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
1493 if (ndr_flags & NDR_SCALARS) {
1494 NDR_CHECK(ndr_push_align(ndr, 4));
1495 NDR_CHECK(ndr_push_dgram_msg_type(ndr, NDR_SCALARS, r->msg_type));
1496 NDR_CHECK(ndr_push_dgram_flags(ndr, NDR_SCALARS, r->flags));
1497 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->dgram_id));
1498 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->src_addr));
1499 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->src_port));
1500 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->data, r->msg_type));
1501 NDR_CHECK(ndr_push_dgram_data(ndr, NDR_SCALARS, &r->data));
1503 if (ndr_flags & NDR_BUFFERS) {
1505 ndr->flags = _flags_save_STRUCT;
1507 return NDR_ERR_SUCCESS;
1510 _PUBLIC_ enum ndr_err_code ndr_pull_nbt_dgram_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_dgram_packet *r)
1513 uint32_t _flags_save_STRUCT = ndr->flags;
1514 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
1515 if (ndr_flags & NDR_SCALARS) {
1516 NDR_CHECK(ndr_pull_align(ndr, 4));
1517 NDR_CHECK(ndr_pull_dgram_msg_type(ndr, NDR_SCALARS, &r->msg_type));
1518 NDR_CHECK(ndr_pull_dgram_flags(ndr, NDR_SCALARS, &r->flags));
1519 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->dgram_id));
1520 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->src_addr));
1521 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->src_port));
1522 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->data, r->msg_type));
1523 NDR_CHECK(ndr_pull_dgram_data(ndr, NDR_SCALARS, &r->data));
1525 if (ndr_flags & NDR_BUFFERS) {
1527 ndr->flags = _flags_save_STRUCT;
1529 return NDR_ERR_SUCCESS;
1532 _PUBLIC_ void ndr_print_nbt_dgram_packet(struct ndr_print *ndr, const char *name, const struct nbt_dgram_packet *r)
1534 ndr_print_struct(ndr, name, "nbt_dgram_packet");
1536 uint32_t _flags_save_STRUCT = ndr->flags;
1537 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
1538 ndr->depth++;
1539 ndr_print_dgram_msg_type(ndr, "msg_type", r->msg_type);
1540 ndr_print_dgram_flags(ndr, "flags", r->flags);
1541 ndr_print_uint16(ndr, "dgram_id", r->dgram_id);
1542 ndr_print_ipv4address(ndr, "src_addr", r->src_addr);
1543 ndr_print_uint16(ndr, "src_port", r->src_port);
1544 ndr_print_set_switch_value(ndr, &r->data, r->msg_type);
1545 ndr_print_dgram_data(ndr, "data", &r->data);
1546 ndr->depth--;
1547 ndr->flags = _flags_save_STRUCT;
1551 static enum ndr_err_code ndr_push_nbt_netlogon_command(struct ndr_push *ndr, int ndr_flags, enum nbt_netlogon_command r)
1553 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
1554 return NDR_ERR_SUCCESS;
1557 static enum ndr_err_code ndr_pull_nbt_netlogon_command(struct ndr_pull *ndr, int ndr_flags, enum nbt_netlogon_command *r)
1559 uint16_t v;
1560 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
1561 *r = v;
1562 return NDR_ERR_SUCCESS;
1565 _PUBLIC_ void ndr_print_nbt_netlogon_command(struct ndr_print *ndr, const char *name, enum nbt_netlogon_command r)
1567 const char *val = NULL;
1569 switch (r) {
1570 case NETLOGON_QUERY_FOR_PDC: val = "NETLOGON_QUERY_FOR_PDC"; break;
1571 case NETLOGON_ANNOUNCE_UAS: val = "NETLOGON_ANNOUNCE_UAS"; break;
1572 case NETLOGON_RESPONSE_FROM_PDC: val = "NETLOGON_RESPONSE_FROM_PDC"; break;
1573 case NETLOGON_QUERY_FOR_PDC2: val = "NETLOGON_QUERY_FOR_PDC2"; break;
1574 case NETLOGON_RESPONSE_FROM_PDC2: val = "NETLOGON_RESPONSE_FROM_PDC2"; break;
1575 case NETLOGON_RESPONSE_FROM_PDC_USER: val = "NETLOGON_RESPONSE_FROM_PDC_USER"; break;
1577 ndr_print_enum(ndr, name, "ENUM", val, r);
1580 static enum ndr_err_code ndr_push_nbt_netlogon_version(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1583 uint32_t _flags_save_BITMAP = ndr->flags;
1584 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
1585 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1586 ndr->flags = _flags_save_BITMAP;
1588 return NDR_ERR_SUCCESS;
1591 static enum ndr_err_code ndr_pull_nbt_netlogon_version(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1593 uint32_t v;
1595 uint32_t _flags_save_BITMAP = ndr->flags;
1596 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
1597 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1598 *r = v;
1599 ndr->flags = _flags_save_BITMAP;
1601 return NDR_ERR_SUCCESS;
1604 _PUBLIC_ void ndr_print_nbt_netlogon_version(struct ndr_print *ndr, const char *name, uint32_t r)
1607 uint32_t _flags_save_BITMAP = ndr->flags;
1608 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
1609 ndr_print_uint32(ndr, name, r);
1610 ndr->depth++;
1611 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_1", NETLOGON_VERSION_1, r);
1612 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_5", NETLOGON_VERSION_5, r);
1613 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_5EX", NETLOGON_VERSION_5EX, r);
1614 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_5EX_WITH_IP", NETLOGON_VERSION_5EX_WITH_IP, r);
1615 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_WITH_CLOSEST_SITE", NETLOGON_VERSION_WITH_CLOSEST_SITE, r);
1616 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_AVOID_NT4_EMUL", NETLOGON_VERSION_AVOID_NT4_EMUL, r);
1617 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_PDC", NETLOGON_VERSION_PDC, r);
1618 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_IP", NETLOGON_VERSION_IP, r);
1619 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_LOCAL", NETLOGON_VERSION_LOCAL, r);
1620 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_GC", NETLOGON_VERSION_GC, r);
1621 ndr->depth--;
1622 ndr->flags = _flags_save_BITMAP;
1626 static enum ndr_err_code ndr_push_nbt_netlogon_query_for_pdc(struct ndr_push *ndr, int ndr_flags, const struct nbt_netlogon_query_for_pdc *r)
1628 if (ndr_flags & NDR_SCALARS) {
1629 NDR_CHECK(ndr_push_align(ndr, 4));
1631 uint32_t _flags_save_string = ndr->flags;
1632 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1633 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->computer_name));
1634 ndr->flags = _flags_save_string;
1637 uint32_t _flags_save_string = ndr->flags;
1638 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1639 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->mailslot_name));
1640 ndr->flags = _flags_save_string;
1643 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1644 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN2);
1645 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad));
1646 ndr->flags = _flags_save_DATA_BLOB;
1649 uint32_t _flags_save_string = ndr->flags;
1650 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1651 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->unicode_name));
1652 ndr->flags = _flags_save_string;
1654 NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, r->nt_version));
1655 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
1656 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
1658 if (ndr_flags & NDR_BUFFERS) {
1660 return NDR_ERR_SUCCESS;
1663 static enum ndr_err_code ndr_pull_nbt_netlogon_query_for_pdc(struct ndr_pull *ndr, int ndr_flags, struct nbt_netlogon_query_for_pdc *r)
1665 if (ndr_flags & NDR_SCALARS) {
1666 NDR_CHECK(ndr_pull_align(ndr, 4));
1668 uint32_t _flags_save_string = ndr->flags;
1669 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1670 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->computer_name));
1671 ndr->flags = _flags_save_string;
1674 uint32_t _flags_save_string = ndr->flags;
1675 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1676 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->mailslot_name));
1677 ndr->flags = _flags_save_string;
1680 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1681 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN2);
1682 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad));
1683 ndr->flags = _flags_save_DATA_BLOB;
1686 uint32_t _flags_save_string = ndr->flags;
1687 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1688 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->unicode_name));
1689 ndr->flags = _flags_save_string;
1691 NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
1692 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
1693 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
1695 if (ndr_flags & NDR_BUFFERS) {
1697 return NDR_ERR_SUCCESS;
1700 _PUBLIC_ void ndr_print_nbt_netlogon_query_for_pdc(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_query_for_pdc *r)
1702 ndr_print_struct(ndr, name, "nbt_netlogon_query_for_pdc");
1703 ndr->depth++;
1704 ndr_print_string(ndr, "computer_name", r->computer_name);
1705 ndr_print_string(ndr, "mailslot_name", r->mailslot_name);
1706 ndr_print_DATA_BLOB(ndr, "_pad", r->_pad);
1707 ndr_print_string(ndr, "unicode_name", r->unicode_name);
1708 ndr_print_nbt_netlogon_version(ndr, "nt_version", r->nt_version);
1709 ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
1710 ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
1711 ndr->depth--;
1714 static enum ndr_err_code ndr_push_nbt_netlogon_query_for_pdc2(struct ndr_push *ndr, int ndr_flags, const struct nbt_netlogon_query_for_pdc2 *r)
1716 uint32_t cntr_unknown_0;
1717 if (ndr_flags & NDR_SCALARS) {
1718 NDR_CHECK(ndr_push_align(ndr, 4));
1719 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->request_count));
1721 uint32_t _flags_save_string = ndr->flags;
1722 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1723 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->computer_name));
1724 ndr->flags = _flags_save_string;
1727 uint32_t _flags_save_string = ndr->flags;
1728 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1729 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
1730 ndr->flags = _flags_save_string;
1733 uint32_t _flags_save_string = ndr->flags;
1734 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1735 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->mailslot_name));
1736 ndr->flags = _flags_save_string;
1738 for (cntr_unknown_0 = 0; cntr_unknown_0 < 2; cntr_unknown_0++) {
1739 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
1741 NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, r->nt_version));
1742 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
1743 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
1745 if (ndr_flags & NDR_BUFFERS) {
1747 return NDR_ERR_SUCCESS;
1750 static enum ndr_err_code ndr_pull_nbt_netlogon_query_for_pdc2(struct ndr_pull *ndr, int ndr_flags, struct nbt_netlogon_query_for_pdc2 *r)
1752 uint32_t cntr_unknown_0;
1753 if (ndr_flags & NDR_SCALARS) {
1754 NDR_CHECK(ndr_pull_align(ndr, 4));
1755 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->request_count));
1757 uint32_t _flags_save_string = ndr->flags;
1758 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1759 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->computer_name));
1760 ndr->flags = _flags_save_string;
1763 uint32_t _flags_save_string = ndr->flags;
1764 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1765 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name));
1766 ndr->flags = _flags_save_string;
1769 uint32_t _flags_save_string = ndr->flags;
1770 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1771 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->mailslot_name));
1772 ndr->flags = _flags_save_string;
1774 for (cntr_unknown_0 = 0; cntr_unknown_0 < 2; cntr_unknown_0++) {
1775 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
1777 NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
1778 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
1779 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
1781 if (ndr_flags & NDR_BUFFERS) {
1783 return NDR_ERR_SUCCESS;
1786 _PUBLIC_ void ndr_print_nbt_netlogon_query_for_pdc2(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_query_for_pdc2 *r)
1788 uint32_t cntr_unknown_0;
1789 ndr_print_struct(ndr, name, "nbt_netlogon_query_for_pdc2");
1790 ndr->depth++;
1791 ndr_print_uint16(ndr, "request_count", r->request_count);
1792 ndr_print_string(ndr, "computer_name", r->computer_name);
1793 ndr_print_string(ndr, "user_name", r->user_name);
1794 ndr_print_string(ndr, "mailslot_name", r->mailslot_name);
1795 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", 2);
1796 ndr->depth++;
1797 for (cntr_unknown_0=0;cntr_unknown_0<2;cntr_unknown_0++) {
1798 char *idx_0=NULL;
1799 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
1800 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
1801 free(idx_0);
1804 ndr->depth--;
1805 ndr_print_nbt_netlogon_version(ndr, "nt_version", r->nt_version);
1806 ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
1807 ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
1808 ndr->depth--;
1811 static enum ndr_err_code ndr_push_nbt_netlogon_response_from_pdc(struct ndr_push *ndr, int ndr_flags, const struct nbt_netlogon_response_from_pdc *r)
1813 if (ndr_flags & NDR_SCALARS) {
1814 NDR_CHECK(ndr_push_align(ndr, 4));
1816 uint32_t _flags_save_string = ndr->flags;
1817 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1818 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->pdc_name));
1819 ndr->flags = _flags_save_string;
1822 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1823 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN2);
1824 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad));
1825 ndr->flags = _flags_save_DATA_BLOB;
1828 uint32_t _flags_save_string = ndr->flags;
1829 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1830 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->unicode_pdc_name));
1831 ndr->flags = _flags_save_string;
1834 uint32_t _flags_save_string = ndr->flags;
1835 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1836 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->domain_name));
1837 ndr->flags = _flags_save_string;
1839 NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, r->nt_version));
1840 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
1841 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
1843 if (ndr_flags & NDR_BUFFERS) {
1845 return NDR_ERR_SUCCESS;
1848 static enum ndr_err_code ndr_pull_nbt_netlogon_response_from_pdc(struct ndr_pull *ndr, int ndr_flags, struct nbt_netlogon_response_from_pdc *r)
1850 if (ndr_flags & NDR_SCALARS) {
1851 NDR_CHECK(ndr_pull_align(ndr, 4));
1853 uint32_t _flags_save_string = ndr->flags;
1854 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1855 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->pdc_name));
1856 ndr->flags = _flags_save_string;
1859 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1860 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN2);
1861 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad));
1862 ndr->flags = _flags_save_DATA_BLOB;
1865 uint32_t _flags_save_string = ndr->flags;
1866 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1867 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->unicode_pdc_name));
1868 ndr->flags = _flags_save_string;
1871 uint32_t _flags_save_string = ndr->flags;
1872 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1873 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->domain_name));
1874 ndr->flags = _flags_save_string;
1876 NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
1877 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
1878 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
1880 if (ndr_flags & NDR_BUFFERS) {
1882 return NDR_ERR_SUCCESS;
1885 _PUBLIC_ void ndr_print_nbt_netlogon_response_from_pdc(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_response_from_pdc *r)
1887 ndr_print_struct(ndr, name, "nbt_netlogon_response_from_pdc");
1888 ndr->depth++;
1889 ndr_print_string(ndr, "pdc_name", r->pdc_name);
1890 ndr_print_DATA_BLOB(ndr, "_pad", r->_pad);
1891 ndr_print_string(ndr, "unicode_pdc_name", r->unicode_pdc_name);
1892 ndr_print_string(ndr, "domain_name", r->domain_name);
1893 ndr_print_nbt_netlogon_version(ndr, "nt_version", r->nt_version);
1894 ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
1895 ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
1896 ndr->depth--;
1899 static enum ndr_err_code ndr_push_nbt_server_type(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1901 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1902 return NDR_ERR_SUCCESS;
1905 static enum ndr_err_code ndr_pull_nbt_server_type(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1907 uint32_t v;
1908 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1909 *r = v;
1910 return NDR_ERR_SUCCESS;
1913 _PUBLIC_ void ndr_print_nbt_server_type(struct ndr_print *ndr, const char *name, uint32_t r)
1915 ndr_print_uint32(ndr, name, r);
1916 ndr->depth++;
1917 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_PDC", NBT_SERVER_PDC, r);
1918 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_GC", NBT_SERVER_GC, r);
1919 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_LDAP", NBT_SERVER_LDAP, r);
1920 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_DS", NBT_SERVER_DS, r);
1921 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_KDC", NBT_SERVER_KDC, r);
1922 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_TIMESERV", NBT_SERVER_TIMESERV, r);
1923 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_CLOSEST", NBT_SERVER_CLOSEST, r);
1924 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_WRITABLE", NBT_SERVER_WRITABLE, r);
1925 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_GOOD_TIMESERV", NBT_SERVER_GOOD_TIMESERV, r);
1926 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_NDNC", NBT_SERVER_NDNC, r);
1927 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_SELECT_SECRET_DOMAIN_6", NBT_SERVER_SELECT_SECRET_DOMAIN_6, r);
1928 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_FULL_SECRET_DOMAIN_6", NBT_SERVER_FULL_SECRET_DOMAIN_6, r);
1929 ndr->depth--;
1932 static enum ndr_err_code ndr_push_nbt_dc_sock_addr(struct ndr_push *ndr, int ndr_flags, const struct nbt_dc_sock_addr *r)
1934 if (ndr_flags & NDR_SCALARS) {
1935 NDR_CHECK(ndr_push_align(ndr, 4));
1936 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sa_family));
1938 uint32_t _flags_save_ipv4address = ndr->flags;
1939 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
1940 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->pdc_ip));
1941 ndr->flags = _flags_save_ipv4address;
1944 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1945 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1946 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->remaining));
1947 ndr->flags = _flags_save_DATA_BLOB;
1950 if (ndr_flags & NDR_BUFFERS) {
1952 return NDR_ERR_SUCCESS;
1955 static enum ndr_err_code ndr_pull_nbt_dc_sock_addr(struct ndr_pull *ndr, int ndr_flags, struct nbt_dc_sock_addr *r)
1957 if (ndr_flags & NDR_SCALARS) {
1958 NDR_CHECK(ndr_pull_align(ndr, 4));
1959 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sa_family));
1961 uint32_t _flags_save_ipv4address = ndr->flags;
1962 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
1963 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->pdc_ip));
1964 ndr->flags = _flags_save_ipv4address;
1967 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1968 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1969 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->remaining));
1970 ndr->flags = _flags_save_DATA_BLOB;
1973 if (ndr_flags & NDR_BUFFERS) {
1975 return NDR_ERR_SUCCESS;
1978 _PUBLIC_ void ndr_print_nbt_dc_sock_addr(struct ndr_print *ndr, const char *name, const struct nbt_dc_sock_addr *r)
1980 ndr_print_struct(ndr, name, "nbt_dc_sock_addr");
1981 ndr->depth++;
1982 ndr_print_uint32(ndr, "sa_family", r->sa_family);
1983 ndr_print_ipv4address(ndr, "pdc_ip", r->pdc_ip);
1984 ndr_print_DATA_BLOB(ndr, "remaining", r->remaining);
1985 ndr->depth--;
1988 static enum ndr_err_code ndr_push_nbt_netlogon_response_from_pdc2(struct ndr_push *ndr, int ndr_flags, const struct nbt_netlogon_response_from_pdc2 *r)
1990 if (ndr_flags & NDR_SCALARS) {
1991 NDR_CHECK(ndr_push_align(ndr, 4));
1993 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1994 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
1995 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad));
1996 ndr->flags = _flags_save_DATA_BLOB;
1998 NDR_CHECK(ndr_push_nbt_server_type(ndr, NDR_SCALARS, r->server_type));
1999 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_uuid));
2000 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->forest));
2001 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->dns_domain));
2002 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->pdc_dns_name));
2003 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->domain));
2004 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->pdc_name));
2005 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->user_name));
2006 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->server_site));
2007 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->client_site));
2008 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->dc_sock_addr_size));
2010 struct ndr_push *_ndr_dc_sock_addr;
2011 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
2012 NDR_CHECK(ndr_push_nbt_dc_sock_addr(_ndr_dc_sock_addr, NDR_SCALARS, &r->dc_sock_addr));
2013 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
2015 NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, r->nt_version));
2016 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
2017 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
2019 if (ndr_flags & NDR_BUFFERS) {
2021 return NDR_ERR_SUCCESS;
2024 static enum ndr_err_code ndr_pull_nbt_netlogon_response_from_pdc2(struct ndr_pull *ndr, int ndr_flags, struct nbt_netlogon_response_from_pdc2 *r)
2026 if (ndr_flags & NDR_SCALARS) {
2027 NDR_CHECK(ndr_pull_align(ndr, 4));
2029 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2030 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2031 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad));
2032 ndr->flags = _flags_save_DATA_BLOB;
2034 NDR_CHECK(ndr_pull_nbt_server_type(ndr, NDR_SCALARS, &r->server_type));
2035 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_uuid));
2036 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->forest));
2037 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->dns_domain));
2038 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->pdc_dns_name));
2039 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->domain));
2040 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->pdc_name));
2041 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->user_name));
2042 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->server_site));
2043 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->client_site));
2044 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->dc_sock_addr_size));
2046 struct ndr_pull *_ndr_dc_sock_addr;
2047 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
2048 NDR_CHECK(ndr_pull_nbt_dc_sock_addr(_ndr_dc_sock_addr, NDR_SCALARS, &r->dc_sock_addr));
2049 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
2051 NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
2052 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
2053 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
2055 if (ndr_flags & NDR_BUFFERS) {
2057 return NDR_ERR_SUCCESS;
2060 _PUBLIC_ void ndr_print_nbt_netlogon_response_from_pdc2(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_response_from_pdc2 *r)
2062 ndr_print_struct(ndr, name, "nbt_netlogon_response_from_pdc2");
2063 ndr->depth++;
2064 ndr_print_DATA_BLOB(ndr, "_pad", r->_pad);
2065 ndr_print_nbt_server_type(ndr, "server_type", r->server_type);
2066 ndr_print_GUID(ndr, "domain_uuid", &r->domain_uuid);
2067 ndr_print_nbt_string(ndr, "forest", r->forest);
2068 ndr_print_nbt_string(ndr, "dns_domain", r->dns_domain);
2069 ndr_print_nbt_string(ndr, "pdc_dns_name", r->pdc_dns_name);
2070 ndr_print_nbt_string(ndr, "domain", r->domain);
2071 ndr_print_nbt_string(ndr, "pdc_name", r->pdc_name);
2072 ndr_print_nbt_string(ndr, "user_name", r->user_name);
2073 ndr_print_nbt_string(ndr, "server_site", r->server_site);
2074 ndr_print_nbt_string(ndr, "client_site", r->client_site);
2075 ndr_print_uint8(ndr, "dc_sock_addr_size", r->dc_sock_addr_size);
2076 ndr_print_nbt_dc_sock_addr(ndr, "dc_sock_addr", &r->dc_sock_addr);
2077 ndr_print_nbt_netlogon_version(ndr, "nt_version", r->nt_version);
2078 ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
2079 ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
2080 ndr->depth--;
2083 static enum ndr_err_code ndr_push_nbt_db_change(struct ndr_push *ndr, int ndr_flags, const struct nbt_db_change *r)
2085 if (ndr_flags & NDR_SCALARS) {
2086 NDR_CHECK(ndr_push_align(ndr, 8));
2087 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->db_index));
2088 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->serial));
2089 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timestamp));
2091 if (ndr_flags & NDR_BUFFERS) {
2093 return NDR_ERR_SUCCESS;
2096 static enum ndr_err_code ndr_pull_nbt_db_change(struct ndr_pull *ndr, int ndr_flags, struct nbt_db_change *r)
2098 if (ndr_flags & NDR_SCALARS) {
2099 NDR_CHECK(ndr_pull_align(ndr, 8));
2100 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->db_index));
2101 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->serial));
2102 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timestamp));
2104 if (ndr_flags & NDR_BUFFERS) {
2106 return NDR_ERR_SUCCESS;
2109 _PUBLIC_ void ndr_print_nbt_db_change(struct ndr_print *ndr, const char *name, const struct nbt_db_change *r)
2111 ndr_print_struct(ndr, name, "nbt_db_change");
2112 ndr->depth++;
2113 ndr_print_netr_SamDatabaseID(ndr, "db_index", r->db_index);
2114 ndr_print_hyper(ndr, "serial", r->serial);
2115 ndr_print_NTTIME(ndr, "timestamp", r->timestamp);
2116 ndr->depth--;
2119 static enum ndr_err_code ndr_push_nbt_netlogon_announce_uas(struct ndr_push *ndr, int ndr_flags, const struct nbt_netlogon_announce_uas *r)
2121 uint32_t cntr_dbchange_0;
2122 if (ndr_flags & NDR_SCALARS) {
2123 NDR_CHECK(ndr_push_align(ndr, 8));
2124 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_lo));
2125 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
2126 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pulse));
2127 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->random));
2129 uint32_t _flags_save_string = ndr->flags;
2130 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2131 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->pdc_name));
2132 ndr->flags = _flags_save_string;
2135 uint32_t _flags_save_string = ndr->flags;
2136 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2137 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->domain));
2138 ndr->flags = _flags_save_string;
2141 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2142 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN2);
2143 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad));
2144 ndr->flags = _flags_save_DATA_BLOB;
2147 uint32_t _flags_save_string = ndr->flags;
2148 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2149 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->unicode_pdc_name));
2150 ndr->flags = _flags_save_string;
2153 uint32_t _flags_save_string = ndr->flags;
2154 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2155 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->unicode_domain));
2156 ndr->flags = _flags_save_string;
2158 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->db_count));
2159 for (cntr_dbchange_0 = 0; cntr_dbchange_0 < r->db_count; cntr_dbchange_0++) {
2160 NDR_CHECK(ndr_push_nbt_db_change(ndr, NDR_SCALARS, &r->dbchange[cntr_dbchange_0]));
2162 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid0(&r->sid, ndr->flags)));
2164 struct ndr_push *_ndr_sid;
2165 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sid, 0, ndr_size_dom_sid0(&r->sid, ndr->flags)));
2166 NDR_CHECK(ndr_push_dom_sid0(_ndr_sid, NDR_SCALARS|NDR_BUFFERS, &r->sid));
2167 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sid, 0, ndr_size_dom_sid0(&r->sid, ndr->flags)));
2169 NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, r->nt_version));
2170 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
2171 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
2173 if (ndr_flags & NDR_BUFFERS) {
2175 return NDR_ERR_SUCCESS;
2178 static enum ndr_err_code ndr_pull_nbt_netlogon_announce_uas(struct ndr_pull *ndr, int ndr_flags, struct nbt_netlogon_announce_uas *r)
2180 uint32_t cntr_dbchange_0;
2181 TALLOC_CTX *_mem_save_dbchange_0;
2182 if (ndr_flags & NDR_SCALARS) {
2183 NDR_CHECK(ndr_pull_align(ndr, 8));
2184 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_lo));
2185 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
2186 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pulse));
2187 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->random));
2189 uint32_t _flags_save_string = ndr->flags;
2190 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2191 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->pdc_name));
2192 ndr->flags = _flags_save_string;
2195 uint32_t _flags_save_string = ndr->flags;
2196 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2197 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->domain));
2198 ndr->flags = _flags_save_string;
2201 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2202 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN2);
2203 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad));
2204 ndr->flags = _flags_save_DATA_BLOB;
2207 uint32_t _flags_save_string = ndr->flags;
2208 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2209 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->unicode_pdc_name));
2210 ndr->flags = _flags_save_string;
2213 uint32_t _flags_save_string = ndr->flags;
2214 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2215 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->unicode_domain));
2216 ndr->flags = _flags_save_string;
2218 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->db_count));
2219 NDR_PULL_ALLOC_N(ndr, r->dbchange, r->db_count);
2220 _mem_save_dbchange_0 = NDR_PULL_GET_MEM_CTX(ndr);
2221 NDR_PULL_SET_MEM_CTX(ndr, r->dbchange, 0);
2222 for (cntr_dbchange_0 = 0; cntr_dbchange_0 < r->db_count; cntr_dbchange_0++) {
2223 NDR_CHECK(ndr_pull_nbt_db_change(ndr, NDR_SCALARS, &r->dbchange[cntr_dbchange_0]));
2225 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dbchange_0, 0);
2226 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_size));
2228 struct ndr_pull *_ndr_sid;
2229 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_sid, 0, r->sid_size));
2230 NDR_CHECK(ndr_pull_dom_sid0(_ndr_sid, NDR_SCALARS|NDR_BUFFERS, &r->sid));
2231 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sid, 0, r->sid_size));
2233 NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
2234 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
2235 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
2237 if (ndr_flags & NDR_BUFFERS) {
2239 return NDR_ERR_SUCCESS;
2242 _PUBLIC_ void ndr_print_nbt_netlogon_announce_uas(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_announce_uas *r)
2244 uint32_t cntr_dbchange_0;
2245 ndr_print_struct(ndr, name, "nbt_netlogon_announce_uas");
2246 ndr->depth++;
2247 ndr_print_uint32(ndr, "serial_lo", r->serial_lo);
2248 ndr_print_time_t(ndr, "timestamp", r->timestamp);
2249 ndr_print_uint32(ndr, "pulse", r->pulse);
2250 ndr_print_uint32(ndr, "random", r->random);
2251 ndr_print_string(ndr, "pdc_name", r->pdc_name);
2252 ndr_print_string(ndr, "domain", r->domain);
2253 ndr_print_DATA_BLOB(ndr, "_pad", r->_pad);
2254 ndr_print_string(ndr, "unicode_pdc_name", r->unicode_pdc_name);
2255 ndr_print_string(ndr, "unicode_domain", r->unicode_domain);
2256 ndr_print_uint32(ndr, "db_count", r->db_count);
2257 ndr->print(ndr, "%s: ARRAY(%d)", "dbchange", r->db_count);
2258 ndr->depth++;
2259 for (cntr_dbchange_0=0;cntr_dbchange_0<r->db_count;cntr_dbchange_0++) {
2260 char *idx_0=NULL;
2261 if (asprintf(&idx_0, "[%d]", cntr_dbchange_0) != -1) {
2262 ndr_print_nbt_db_change(ndr, "dbchange", &r->dbchange[cntr_dbchange_0]);
2263 free(idx_0);
2266 ndr->depth--;
2267 ndr_print_uint32(ndr, "sid_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid0(&r->sid, ndr->flags):r->sid_size);
2268 ndr_print_dom_sid0(ndr, "sid", &r->sid);
2269 ndr_print_nbt_netlogon_version(ndr, "nt_version", r->nt_version);
2270 ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
2271 ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
2272 ndr->depth--;
2275 static enum ndr_err_code ndr_push_nbt_netlogon_request(struct ndr_push *ndr, int ndr_flags, const union nbt_netlogon_request *r)
2277 if (ndr_flags & NDR_SCALARS) {
2278 int level = ndr_push_get_switch_value(ndr, r);
2279 switch (level) {
2280 case NETLOGON_QUERY_FOR_PDC: {
2281 NDR_CHECK(ndr_push_nbt_netlogon_query_for_pdc(ndr, NDR_SCALARS, &r->pdc));
2282 break; }
2284 case NETLOGON_QUERY_FOR_PDC2: {
2285 NDR_CHECK(ndr_push_nbt_netlogon_query_for_pdc2(ndr, NDR_SCALARS, &r->pdc2));
2286 break; }
2288 case NETLOGON_ANNOUNCE_UAS: {
2289 NDR_CHECK(ndr_push_nbt_netlogon_announce_uas(ndr, NDR_SCALARS, &r->uas));
2290 break; }
2292 case NETLOGON_RESPONSE_FROM_PDC: {
2293 NDR_CHECK(ndr_push_nbt_netlogon_response_from_pdc(ndr, NDR_SCALARS, &r->response));
2294 break; }
2296 case NETLOGON_RESPONSE_FROM_PDC2: {
2297 NDR_CHECK(ndr_push_nbt_netlogon_response_from_pdc2(ndr, NDR_SCALARS, &r->response2));
2298 break; }
2300 case NETLOGON_RESPONSE_FROM_PDC_USER: {
2301 NDR_CHECK(ndr_push_nbt_netlogon_response_from_pdc2(ndr, NDR_SCALARS, &r->response2));
2302 break; }
2304 default:
2305 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2308 if (ndr_flags & NDR_BUFFERS) {
2309 int level = ndr_push_get_switch_value(ndr, r);
2310 switch (level) {
2311 case NETLOGON_QUERY_FOR_PDC:
2312 break;
2314 case NETLOGON_QUERY_FOR_PDC2:
2315 break;
2317 case NETLOGON_ANNOUNCE_UAS:
2318 NDR_CHECK(ndr_push_nbt_netlogon_announce_uas(ndr, NDR_BUFFERS, &r->uas));
2319 break;
2321 case NETLOGON_RESPONSE_FROM_PDC:
2322 break;
2324 case NETLOGON_RESPONSE_FROM_PDC2:
2325 break;
2327 case NETLOGON_RESPONSE_FROM_PDC_USER:
2328 break;
2330 default:
2331 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2334 return NDR_ERR_SUCCESS;
2337 static enum ndr_err_code ndr_pull_nbt_netlogon_request(struct ndr_pull *ndr, int ndr_flags, union nbt_netlogon_request *r)
2339 int level;
2340 level = ndr_pull_get_switch_value(ndr, r);
2341 if (ndr_flags & NDR_SCALARS) {
2342 switch (level) {
2343 case NETLOGON_QUERY_FOR_PDC: {
2344 NDR_CHECK(ndr_pull_nbt_netlogon_query_for_pdc(ndr, NDR_SCALARS, &r->pdc));
2345 break; }
2347 case NETLOGON_QUERY_FOR_PDC2: {
2348 NDR_CHECK(ndr_pull_nbt_netlogon_query_for_pdc2(ndr, NDR_SCALARS, &r->pdc2));
2349 break; }
2351 case NETLOGON_ANNOUNCE_UAS: {
2352 NDR_CHECK(ndr_pull_nbt_netlogon_announce_uas(ndr, NDR_SCALARS, &r->uas));
2353 break; }
2355 case NETLOGON_RESPONSE_FROM_PDC: {
2356 NDR_CHECK(ndr_pull_nbt_netlogon_response_from_pdc(ndr, NDR_SCALARS, &r->response));
2357 break; }
2359 case NETLOGON_RESPONSE_FROM_PDC2: {
2360 NDR_CHECK(ndr_pull_nbt_netlogon_response_from_pdc2(ndr, NDR_SCALARS, &r->response2));
2361 break; }
2363 case NETLOGON_RESPONSE_FROM_PDC_USER: {
2364 NDR_CHECK(ndr_pull_nbt_netlogon_response_from_pdc2(ndr, NDR_SCALARS, &r->response2));
2365 break; }
2367 default:
2368 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2371 if (ndr_flags & NDR_BUFFERS) {
2372 switch (level) {
2373 case NETLOGON_QUERY_FOR_PDC:
2374 break;
2376 case NETLOGON_QUERY_FOR_PDC2:
2377 break;
2379 case NETLOGON_ANNOUNCE_UAS:
2380 NDR_CHECK(ndr_pull_nbt_netlogon_announce_uas(ndr, NDR_BUFFERS, &r->uas));
2381 break;
2383 case NETLOGON_RESPONSE_FROM_PDC:
2384 break;
2386 case NETLOGON_RESPONSE_FROM_PDC2:
2387 break;
2389 case NETLOGON_RESPONSE_FROM_PDC_USER:
2390 break;
2392 default:
2393 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2396 return NDR_ERR_SUCCESS;
2399 _PUBLIC_ void ndr_print_nbt_netlogon_request(struct ndr_print *ndr, const char *name, const union nbt_netlogon_request *r)
2401 int level;
2402 level = ndr_print_get_switch_value(ndr, r);
2403 ndr_print_union(ndr, name, level, "nbt_netlogon_request");
2404 switch (level) {
2405 case NETLOGON_QUERY_FOR_PDC:
2406 ndr_print_nbt_netlogon_query_for_pdc(ndr, "pdc", &r->pdc);
2407 break;
2409 case NETLOGON_QUERY_FOR_PDC2:
2410 ndr_print_nbt_netlogon_query_for_pdc2(ndr, "pdc2", &r->pdc2);
2411 break;
2413 case NETLOGON_ANNOUNCE_UAS:
2414 ndr_print_nbt_netlogon_announce_uas(ndr, "uas", &r->uas);
2415 break;
2417 case NETLOGON_RESPONSE_FROM_PDC:
2418 ndr_print_nbt_netlogon_response_from_pdc(ndr, "response", &r->response);
2419 break;
2421 case NETLOGON_RESPONSE_FROM_PDC2:
2422 ndr_print_nbt_netlogon_response_from_pdc2(ndr, "response2", &r->response2);
2423 break;
2425 case NETLOGON_RESPONSE_FROM_PDC_USER:
2426 ndr_print_nbt_netlogon_response_from_pdc2(ndr, "response2", &r->response2);
2427 break;
2429 default:
2430 ndr_print_bad_level(ndr, name, level);
2434 _PUBLIC_ enum ndr_err_code ndr_push_nbt_netlogon_packet(struct ndr_push *ndr, int ndr_flags, const struct nbt_netlogon_packet *r)
2437 uint32_t _flags_save_STRUCT = ndr->flags;
2438 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
2439 if (ndr_flags & NDR_SCALARS) {
2440 NDR_CHECK(ndr_push_align(ndr, 8));
2441 NDR_CHECK(ndr_push_nbt_netlogon_command(ndr, NDR_SCALARS, r->command));
2442 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->req, r->command));
2443 NDR_CHECK(ndr_push_nbt_netlogon_request(ndr, NDR_SCALARS, &r->req));
2445 if (ndr_flags & NDR_BUFFERS) {
2446 NDR_CHECK(ndr_push_nbt_netlogon_request(ndr, NDR_BUFFERS, &r->req));
2448 ndr->flags = _flags_save_STRUCT;
2450 return NDR_ERR_SUCCESS;
2453 _PUBLIC_ enum ndr_err_code ndr_pull_nbt_netlogon_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_netlogon_packet *r)
2456 uint32_t _flags_save_STRUCT = ndr->flags;
2457 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
2458 if (ndr_flags & NDR_SCALARS) {
2459 NDR_CHECK(ndr_pull_align(ndr, 8));
2460 NDR_CHECK(ndr_pull_nbt_netlogon_command(ndr, NDR_SCALARS, &r->command));
2461 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->req, r->command));
2462 NDR_CHECK(ndr_pull_nbt_netlogon_request(ndr, NDR_SCALARS, &r->req));
2464 if (ndr_flags & NDR_BUFFERS) {
2465 NDR_CHECK(ndr_pull_nbt_netlogon_request(ndr, NDR_BUFFERS, &r->req));
2467 ndr->flags = _flags_save_STRUCT;
2469 return NDR_ERR_SUCCESS;
2472 _PUBLIC_ void ndr_print_nbt_netlogon_packet(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_packet *r)
2474 ndr_print_struct(ndr, name, "nbt_netlogon_packet");
2476 uint32_t _flags_save_STRUCT = ndr->flags;
2477 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
2478 ndr->depth++;
2479 ndr_print_nbt_netlogon_command(ndr, "command", r->command);
2480 ndr_print_set_switch_value(ndr, &r->req, r->command);
2481 ndr_print_nbt_netlogon_request(ndr, "req", &r->req);
2482 ndr->depth--;
2483 ndr->flags = _flags_save_STRUCT;
2487 static enum ndr_err_code ndr_push_nbt_cldap_netlogon_1(struct ndr_push *ndr, int ndr_flags, const struct nbt_cldap_netlogon_1 *r)
2489 if (ndr_flags & NDR_SCALARS) {
2490 NDR_CHECK(ndr_push_align(ndr, 4));
2491 NDR_CHECK(ndr_push_nbt_netlogon_command(ndr, NDR_SCALARS, r->type));
2493 uint32_t _flags_save_string = ndr->flags;
2494 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2495 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->pdc_name));
2496 ndr->flags = _flags_save_string;
2499 uint32_t _flags_save_string = ndr->flags;
2500 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2501 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
2502 ndr->flags = _flags_save_string;
2505 uint32_t _flags_save_string = ndr->flags;
2506 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2507 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->domain_name));
2508 ndr->flags = _flags_save_string;
2510 NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, 1));
2511 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
2512 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
2514 if (ndr_flags & NDR_BUFFERS) {
2516 return NDR_ERR_SUCCESS;
2519 static enum ndr_err_code ndr_pull_nbt_cldap_netlogon_1(struct ndr_pull *ndr, int ndr_flags, struct nbt_cldap_netlogon_1 *r)
2521 if (ndr_flags & NDR_SCALARS) {
2522 NDR_CHECK(ndr_pull_align(ndr, 4));
2523 NDR_CHECK(ndr_pull_nbt_netlogon_command(ndr, NDR_SCALARS, &r->type));
2525 uint32_t _flags_save_string = ndr->flags;
2526 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2527 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->pdc_name));
2528 ndr->flags = _flags_save_string;
2531 uint32_t _flags_save_string = ndr->flags;
2532 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2533 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name));
2534 ndr->flags = _flags_save_string;
2537 uint32_t _flags_save_string = ndr->flags;
2538 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2539 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->domain_name));
2540 ndr->flags = _flags_save_string;
2542 NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
2543 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
2544 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
2546 if (ndr_flags & NDR_BUFFERS) {
2548 return NDR_ERR_SUCCESS;
2551 _PUBLIC_ void ndr_print_nbt_cldap_netlogon_1(struct ndr_print *ndr, const char *name, const struct nbt_cldap_netlogon_1 *r)
2553 ndr_print_struct(ndr, name, "nbt_cldap_netlogon_1");
2554 ndr->depth++;
2555 ndr_print_nbt_netlogon_command(ndr, "type", r->type);
2556 ndr_print_string(ndr, "pdc_name", r->pdc_name);
2557 ndr_print_string(ndr, "user_name", r->user_name);
2558 ndr_print_string(ndr, "domain_name", r->domain_name);
2559 ndr_print_nbt_netlogon_version(ndr, "nt_version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->nt_version);
2560 ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
2561 ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
2562 ndr->depth--;
2565 static enum ndr_err_code ndr_push_nbt_cldap_netlogon_3(struct ndr_push *ndr, int ndr_flags, const struct nbt_cldap_netlogon_3 *r)
2567 if (ndr_flags & NDR_SCALARS) {
2568 NDR_CHECK(ndr_push_align(ndr, 4));
2569 NDR_CHECK(ndr_push_nbt_netlogon_command(ndr, NDR_SCALARS, r->type));
2571 uint32_t _flags_save_string = ndr->flags;
2572 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2573 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->pdc_name));
2574 ndr->flags = _flags_save_string;
2577 uint32_t _flags_save_string = ndr->flags;
2578 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2579 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
2580 ndr->flags = _flags_save_string;
2583 uint32_t _flags_save_string = ndr->flags;
2584 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2585 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->domain_name));
2586 ndr->flags = _flags_save_string;
2588 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_uuid));
2589 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->unknown_uuid));
2590 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->forest));
2591 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->dns_domain));
2592 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->pdc_dns_name));
2593 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->pdc_ip));
2594 NDR_CHECK(ndr_push_nbt_server_type(ndr, NDR_SCALARS, r->server_type));
2595 NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, 3));
2596 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
2597 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
2599 if (ndr_flags & NDR_BUFFERS) {
2601 return NDR_ERR_SUCCESS;
2604 static enum ndr_err_code ndr_pull_nbt_cldap_netlogon_3(struct ndr_pull *ndr, int ndr_flags, struct nbt_cldap_netlogon_3 *r)
2606 if (ndr_flags & NDR_SCALARS) {
2607 NDR_CHECK(ndr_pull_align(ndr, 4));
2608 NDR_CHECK(ndr_pull_nbt_netlogon_command(ndr, NDR_SCALARS, &r->type));
2610 uint32_t _flags_save_string = ndr->flags;
2611 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2612 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->pdc_name));
2613 ndr->flags = _flags_save_string;
2616 uint32_t _flags_save_string = ndr->flags;
2617 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2618 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name));
2619 ndr->flags = _flags_save_string;
2622 uint32_t _flags_save_string = ndr->flags;
2623 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2624 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->domain_name));
2625 ndr->flags = _flags_save_string;
2627 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_uuid));
2628 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->unknown_uuid));
2629 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->forest));
2630 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->dns_domain));
2631 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->pdc_dns_name));
2632 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->pdc_ip));
2633 NDR_CHECK(ndr_pull_nbt_server_type(ndr, NDR_SCALARS, &r->server_type));
2634 NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
2635 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
2636 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
2638 if (ndr_flags & NDR_BUFFERS) {
2640 return NDR_ERR_SUCCESS;
2643 _PUBLIC_ void ndr_print_nbt_cldap_netlogon_3(struct ndr_print *ndr, const char *name, const struct nbt_cldap_netlogon_3 *r)
2645 ndr_print_struct(ndr, name, "nbt_cldap_netlogon_3");
2646 ndr->depth++;
2647 ndr_print_nbt_netlogon_command(ndr, "type", r->type);
2648 ndr_print_string(ndr, "pdc_name", r->pdc_name);
2649 ndr_print_string(ndr, "user_name", r->user_name);
2650 ndr_print_string(ndr, "domain_name", r->domain_name);
2651 ndr_print_GUID(ndr, "domain_uuid", &r->domain_uuid);
2652 ndr_print_GUID(ndr, "unknown_uuid", &r->unknown_uuid);
2653 ndr_print_nbt_string(ndr, "forest", r->forest);
2654 ndr_print_nbt_string(ndr, "dns_domain", r->dns_domain);
2655 ndr_print_nbt_string(ndr, "pdc_dns_name", r->pdc_dns_name);
2656 ndr_print_ipv4address(ndr, "pdc_ip", r->pdc_ip);
2657 ndr_print_nbt_server_type(ndr, "server_type", r->server_type);
2658 ndr_print_nbt_netlogon_version(ndr, "nt_version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?3:r->nt_version);
2659 ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
2660 ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
2661 ndr->depth--;
2664 _PUBLIC_ enum ndr_err_code ndr_push_nbt_cldap_netlogon_5(struct ndr_push *ndr, int ndr_flags, const struct nbt_cldap_netlogon_5 *r)
2666 if (ndr_flags & NDR_SCALARS) {
2667 NDR_CHECK(ndr_push_align(ndr, 4));
2668 NDR_CHECK(ndr_push_nbt_netlogon_command(ndr, NDR_SCALARS, r->type));
2669 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->sbz));
2670 NDR_CHECK(ndr_push_nbt_server_type(ndr, NDR_SCALARS, r->server_type));
2671 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_uuid));
2672 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->forest));
2673 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->dns_domain));
2674 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->pdc_dns_name));
2675 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->domain));
2676 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->pdc_name));
2677 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->user_name));
2678 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->server_site));
2679 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->client_site));
2680 NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, 5));
2681 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
2682 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
2684 if (ndr_flags & NDR_BUFFERS) {
2686 return NDR_ERR_SUCCESS;
2689 _PUBLIC_ enum ndr_err_code ndr_pull_nbt_cldap_netlogon_5(struct ndr_pull *ndr, int ndr_flags, struct nbt_cldap_netlogon_5 *r)
2691 if (ndr_flags & NDR_SCALARS) {
2692 NDR_CHECK(ndr_pull_align(ndr, 4));
2693 NDR_CHECK(ndr_pull_nbt_netlogon_command(ndr, NDR_SCALARS, &r->type));
2694 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->sbz));
2695 NDR_CHECK(ndr_pull_nbt_server_type(ndr, NDR_SCALARS, &r->server_type));
2696 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_uuid));
2697 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->forest));
2698 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->dns_domain));
2699 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->pdc_dns_name));
2700 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->domain));
2701 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->pdc_name));
2702 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->user_name));
2703 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->server_site));
2704 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->client_site));
2705 NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
2706 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
2707 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
2709 if (ndr_flags & NDR_BUFFERS) {
2711 return NDR_ERR_SUCCESS;
2714 _PUBLIC_ void ndr_print_nbt_cldap_netlogon_5(struct ndr_print *ndr, const char *name, const struct nbt_cldap_netlogon_5 *r)
2716 ndr_print_struct(ndr, name, "nbt_cldap_netlogon_5");
2717 ndr->depth++;
2718 ndr_print_nbt_netlogon_command(ndr, "type", r->type);
2719 ndr_print_uint16(ndr, "sbz", r->sbz);
2720 ndr_print_nbt_server_type(ndr, "server_type", r->server_type);
2721 ndr_print_GUID(ndr, "domain_uuid", &r->domain_uuid);
2722 ndr_print_nbt_string(ndr, "forest", r->forest);
2723 ndr_print_nbt_string(ndr, "dns_domain", r->dns_domain);
2724 ndr_print_nbt_string(ndr, "pdc_dns_name", r->pdc_dns_name);
2725 ndr_print_nbt_string(ndr, "domain", r->domain);
2726 ndr_print_nbt_string(ndr, "pdc_name", r->pdc_name);
2727 ndr_print_nbt_string(ndr, "user_name", r->user_name);
2728 ndr_print_nbt_string(ndr, "server_site", r->server_site);
2729 ndr_print_nbt_string(ndr, "client_site", r->client_site);
2730 ndr_print_nbt_netlogon_version(ndr, "nt_version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?5:r->nt_version);
2731 ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
2732 ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
2733 ndr->depth--;
2736 static enum ndr_err_code ndr_push_nbt_cldap_netlogon_13(struct ndr_push *ndr, int ndr_flags, const struct nbt_cldap_netlogon_13 *r)
2738 if (ndr_flags & NDR_SCALARS) {
2739 NDR_CHECK(ndr_push_align(ndr, 4));
2740 NDR_CHECK(ndr_push_nbt_netlogon_command(ndr, NDR_SCALARS, r->type));
2741 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->sbz));
2742 NDR_CHECK(ndr_push_nbt_server_type(ndr, NDR_SCALARS, r->server_type));
2743 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_uuid));
2744 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->forest));
2745 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->dns_domain));
2746 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->pdc_dns_name));
2747 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->domain));
2748 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->pdc_name));
2749 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->user_name));
2750 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->server_site));
2751 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->client_site));
2752 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->dc_sock_addr_size));
2754 struct ndr_push *_ndr_dc_sock_addr;
2755 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
2756 NDR_CHECK(ndr_push_nbt_dc_sock_addr(_ndr_dc_sock_addr, NDR_SCALARS, &r->dc_sock_addr));
2757 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
2759 NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, 13));
2760 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
2761 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
2763 if (ndr_flags & NDR_BUFFERS) {
2765 return NDR_ERR_SUCCESS;
2768 static enum ndr_err_code ndr_pull_nbt_cldap_netlogon_13(struct ndr_pull *ndr, int ndr_flags, struct nbt_cldap_netlogon_13 *r)
2770 if (ndr_flags & NDR_SCALARS) {
2771 NDR_CHECK(ndr_pull_align(ndr, 4));
2772 NDR_CHECK(ndr_pull_nbt_netlogon_command(ndr, NDR_SCALARS, &r->type));
2773 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->sbz));
2774 NDR_CHECK(ndr_pull_nbt_server_type(ndr, NDR_SCALARS, &r->server_type));
2775 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_uuid));
2776 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->forest));
2777 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->dns_domain));
2778 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->pdc_dns_name));
2779 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->domain));
2780 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->pdc_name));
2781 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->user_name));
2782 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->server_site));
2783 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->client_site));
2784 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->dc_sock_addr_size));
2786 struct ndr_pull *_ndr_dc_sock_addr;
2787 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
2788 NDR_CHECK(ndr_pull_nbt_dc_sock_addr(_ndr_dc_sock_addr, NDR_SCALARS, &r->dc_sock_addr));
2789 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
2791 NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
2792 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
2793 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
2795 if (ndr_flags & NDR_BUFFERS) {
2797 return NDR_ERR_SUCCESS;
2800 _PUBLIC_ void ndr_print_nbt_cldap_netlogon_13(struct ndr_print *ndr, const char *name, const struct nbt_cldap_netlogon_13 *r)
2802 ndr_print_struct(ndr, name, "nbt_cldap_netlogon_13");
2803 ndr->depth++;
2804 ndr_print_nbt_netlogon_command(ndr, "type", r->type);
2805 ndr_print_uint16(ndr, "sbz", r->sbz);
2806 ndr_print_nbt_server_type(ndr, "server_type", r->server_type);
2807 ndr_print_GUID(ndr, "domain_uuid", &r->domain_uuid);
2808 ndr_print_nbt_string(ndr, "forest", r->forest);
2809 ndr_print_nbt_string(ndr, "dns_domain", r->dns_domain);
2810 ndr_print_nbt_string(ndr, "pdc_dns_name", r->pdc_dns_name);
2811 ndr_print_nbt_string(ndr, "domain", r->domain);
2812 ndr_print_nbt_string(ndr, "pdc_name", r->pdc_name);
2813 ndr_print_nbt_string(ndr, "user_name", r->user_name);
2814 ndr_print_nbt_string(ndr, "server_site", r->server_site);
2815 ndr_print_nbt_string(ndr, "client_site", r->client_site);
2816 ndr_print_uint8(ndr, "dc_sock_addr_size", r->dc_sock_addr_size);
2817 ndr_print_nbt_dc_sock_addr(ndr, "dc_sock_addr", &r->dc_sock_addr);
2818 ndr_print_nbt_netlogon_version(ndr, "nt_version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?13:r->nt_version);
2819 ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
2820 ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
2821 ndr->depth--;
2824 static enum ndr_err_code ndr_push_nbt_cldap_netlogon_29(struct ndr_push *ndr, int ndr_flags, const struct nbt_cldap_netlogon_29 *r)
2826 if (ndr_flags & NDR_SCALARS) {
2827 NDR_CHECK(ndr_push_align(ndr, 4));
2828 NDR_CHECK(ndr_push_nbt_netlogon_command(ndr, NDR_SCALARS, r->type));
2829 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->sbz));
2830 NDR_CHECK(ndr_push_nbt_server_type(ndr, NDR_SCALARS, r->server_type));
2831 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_uuid));
2832 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->forest));
2833 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->dns_domain));
2834 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->pdc_dns_name));
2835 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->domain));
2836 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->pdc_name));
2837 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->user_name));
2838 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->server_site));
2839 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->client_site));
2840 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->dc_sock_addr_size));
2842 struct ndr_push *_ndr_dc_sock_addr;
2843 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
2844 NDR_CHECK(ndr_push_nbt_dc_sock_addr(_ndr_dc_sock_addr, NDR_SCALARS, &r->dc_sock_addr));
2845 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
2847 NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->next_closest_site));
2848 NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, 29));
2849 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
2850 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
2852 if (ndr_flags & NDR_BUFFERS) {
2854 return NDR_ERR_SUCCESS;
2857 static enum ndr_err_code ndr_pull_nbt_cldap_netlogon_29(struct ndr_pull *ndr, int ndr_flags, struct nbt_cldap_netlogon_29 *r)
2859 if (ndr_flags & NDR_SCALARS) {
2860 NDR_CHECK(ndr_pull_align(ndr, 4));
2861 NDR_CHECK(ndr_pull_nbt_netlogon_command(ndr, NDR_SCALARS, &r->type));
2862 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->sbz));
2863 NDR_CHECK(ndr_pull_nbt_server_type(ndr, NDR_SCALARS, &r->server_type));
2864 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_uuid));
2865 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->forest));
2866 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->dns_domain));
2867 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->pdc_dns_name));
2868 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->domain));
2869 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->pdc_name));
2870 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->user_name));
2871 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->server_site));
2872 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->client_site));
2873 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->dc_sock_addr_size));
2875 struct ndr_pull *_ndr_dc_sock_addr;
2876 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
2877 NDR_CHECK(ndr_pull_nbt_dc_sock_addr(_ndr_dc_sock_addr, NDR_SCALARS, &r->dc_sock_addr));
2878 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
2880 NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->next_closest_site));
2881 NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
2882 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
2883 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
2885 if (ndr_flags & NDR_BUFFERS) {
2887 return NDR_ERR_SUCCESS;
2890 _PUBLIC_ void ndr_print_nbt_cldap_netlogon_29(struct ndr_print *ndr, const char *name, const struct nbt_cldap_netlogon_29 *r)
2892 ndr_print_struct(ndr, name, "nbt_cldap_netlogon_29");
2893 ndr->depth++;
2894 ndr_print_nbt_netlogon_command(ndr, "type", r->type);
2895 ndr_print_uint16(ndr, "sbz", r->sbz);
2896 ndr_print_nbt_server_type(ndr, "server_type", r->server_type);
2897 ndr_print_GUID(ndr, "domain_uuid", &r->domain_uuid);
2898 ndr_print_nbt_string(ndr, "forest", r->forest);
2899 ndr_print_nbt_string(ndr, "dns_domain", r->dns_domain);
2900 ndr_print_nbt_string(ndr, "pdc_dns_name", r->pdc_dns_name);
2901 ndr_print_nbt_string(ndr, "domain", r->domain);
2902 ndr_print_nbt_string(ndr, "pdc_name", r->pdc_name);
2903 ndr_print_nbt_string(ndr, "user_name", r->user_name);
2904 ndr_print_nbt_string(ndr, "server_site", r->server_site);
2905 ndr_print_nbt_string(ndr, "client_site", r->client_site);
2906 ndr_print_uint8(ndr, "dc_sock_addr_size", r->dc_sock_addr_size);
2907 ndr_print_nbt_dc_sock_addr(ndr, "dc_sock_addr", &r->dc_sock_addr);
2908 ndr_print_nbt_string(ndr, "next_closest_site", r->next_closest_site);
2909 ndr_print_nbt_netlogon_version(ndr, "nt_version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?29:r->nt_version);
2910 ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
2911 ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
2912 ndr->depth--;
2915 _PUBLIC_ enum ndr_err_code ndr_push_nbt_cldap_netlogon(struct ndr_push *ndr, int ndr_flags, const union nbt_cldap_netlogon *r)
2918 uint32_t _flags_save_UNION = ndr->flags;
2919 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
2920 if (ndr_flags & NDR_SCALARS) {
2921 int level = ndr_push_get_switch_value(ndr, r);
2922 switch (level) {
2923 case 0: {
2924 NDR_CHECK(ndr_push_nbt_cldap_netlogon_1(ndr, NDR_SCALARS, &r->logon1));
2925 break; }
2927 case 1: {
2928 NDR_CHECK(ndr_push_nbt_cldap_netlogon_1(ndr, NDR_SCALARS, &r->logon1));
2929 break; }
2931 case 2: {
2932 NDR_CHECK(ndr_push_nbt_cldap_netlogon_3(ndr, NDR_SCALARS, &r->logon3));
2933 break; }
2935 case 3: {
2936 NDR_CHECK(ndr_push_nbt_cldap_netlogon_3(ndr, NDR_SCALARS, &r->logon3));
2937 break; }
2939 case 4: {
2940 NDR_CHECK(ndr_push_nbt_cldap_netlogon_5(ndr, NDR_SCALARS, &r->logon5));
2941 break; }
2943 case 5: {
2944 NDR_CHECK(ndr_push_nbt_cldap_netlogon_5(ndr, NDR_SCALARS, &r->logon5));
2945 break; }
2947 case 6: {
2948 NDR_CHECK(ndr_push_nbt_cldap_netlogon_5(ndr, NDR_SCALARS, &r->logon5));
2949 break; }
2951 case 7: {
2952 NDR_CHECK(ndr_push_nbt_cldap_netlogon_5(ndr, NDR_SCALARS, &r->logon5));
2953 break; }
2955 case 8: {
2956 NDR_CHECK(ndr_push_nbt_cldap_netlogon_13(ndr, NDR_SCALARS, &r->logon13));
2957 break; }
2959 case 9: {
2960 NDR_CHECK(ndr_push_nbt_cldap_netlogon_13(ndr, NDR_SCALARS, &r->logon13));
2961 break; }
2963 case 10: {
2964 NDR_CHECK(ndr_push_nbt_cldap_netlogon_13(ndr, NDR_SCALARS, &r->logon13));
2965 break; }
2967 case 11: {
2968 NDR_CHECK(ndr_push_nbt_cldap_netlogon_13(ndr, NDR_SCALARS, &r->logon13));
2969 break; }
2971 case 12: {
2972 NDR_CHECK(ndr_push_nbt_cldap_netlogon_13(ndr, NDR_SCALARS, &r->logon13));
2973 break; }
2975 case 13: {
2976 NDR_CHECK(ndr_push_nbt_cldap_netlogon_13(ndr, NDR_SCALARS, &r->logon13));
2977 break; }
2979 case 14: {
2980 NDR_CHECK(ndr_push_nbt_cldap_netlogon_13(ndr, NDR_SCALARS, &r->logon13));
2981 break; }
2983 case 15: {
2984 NDR_CHECK(ndr_push_nbt_cldap_netlogon_13(ndr, NDR_SCALARS, &r->logon13));
2985 break; }
2987 default: {
2988 NDR_CHECK(ndr_push_nbt_cldap_netlogon_29(ndr, NDR_SCALARS, &r->logon29));
2989 break; }
2993 if (ndr_flags & NDR_BUFFERS) {
2994 int level = ndr_push_get_switch_value(ndr, r);
2995 switch (level) {
2996 case 0:
2997 break;
2999 case 1:
3000 break;
3002 case 2:
3003 break;
3005 case 3:
3006 break;
3008 case 4:
3009 break;
3011 case 5:
3012 break;
3014 case 6:
3015 break;
3017 case 7:
3018 break;
3020 case 8:
3021 break;
3023 case 9:
3024 break;
3026 case 10:
3027 break;
3029 case 11:
3030 break;
3032 case 12:
3033 break;
3035 case 13:
3036 break;
3038 case 14:
3039 break;
3041 case 15:
3042 break;
3044 default:
3045 break;
3049 ndr->flags = _flags_save_UNION;
3051 return NDR_ERR_SUCCESS;
3054 _PUBLIC_ enum ndr_err_code ndr_pull_nbt_cldap_netlogon(struct ndr_pull *ndr, int ndr_flags, union nbt_cldap_netlogon *r)
3056 int level;
3058 uint32_t _flags_save_UNION = ndr->flags;
3059 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
3060 level = ndr_pull_get_switch_value(ndr, r);
3061 if (ndr_flags & NDR_SCALARS) {
3062 switch (level) {
3063 case 0: {
3064 NDR_CHECK(ndr_pull_nbt_cldap_netlogon_1(ndr, NDR_SCALARS, &r->logon1));
3065 break; }
3067 case 1: {
3068 NDR_CHECK(ndr_pull_nbt_cldap_netlogon_1(ndr, NDR_SCALARS, &r->logon1));
3069 break; }
3071 case 2: {
3072 NDR_CHECK(ndr_pull_nbt_cldap_netlogon_3(ndr, NDR_SCALARS, &r->logon3));
3073 break; }
3075 case 3: {
3076 NDR_CHECK(ndr_pull_nbt_cldap_netlogon_3(ndr, NDR_SCALARS, &r->logon3));
3077 break; }
3079 case 4: {
3080 NDR_CHECK(ndr_pull_nbt_cldap_netlogon_5(ndr, NDR_SCALARS, &r->logon5));
3081 break; }
3083 case 5: {
3084 NDR_CHECK(ndr_pull_nbt_cldap_netlogon_5(ndr, NDR_SCALARS, &r->logon5));
3085 break; }
3087 case 6: {
3088 NDR_CHECK(ndr_pull_nbt_cldap_netlogon_5(ndr, NDR_SCALARS, &r->logon5));
3089 break; }
3091 case 7: {
3092 NDR_CHECK(ndr_pull_nbt_cldap_netlogon_5(ndr, NDR_SCALARS, &r->logon5));
3093 break; }
3095 case 8: {
3096 NDR_CHECK(ndr_pull_nbt_cldap_netlogon_13(ndr, NDR_SCALARS, &r->logon13));
3097 break; }
3099 case 9: {
3100 NDR_CHECK(ndr_pull_nbt_cldap_netlogon_13(ndr, NDR_SCALARS, &r->logon13));
3101 break; }
3103 case 10: {
3104 NDR_CHECK(ndr_pull_nbt_cldap_netlogon_13(ndr, NDR_SCALARS, &r->logon13));
3105 break; }
3107 case 11: {
3108 NDR_CHECK(ndr_pull_nbt_cldap_netlogon_13(ndr, NDR_SCALARS, &r->logon13));
3109 break; }
3111 case 12: {
3112 NDR_CHECK(ndr_pull_nbt_cldap_netlogon_13(ndr, NDR_SCALARS, &r->logon13));
3113 break; }
3115 case 13: {
3116 NDR_CHECK(ndr_pull_nbt_cldap_netlogon_13(ndr, NDR_SCALARS, &r->logon13));
3117 break; }
3119 case 14: {
3120 NDR_CHECK(ndr_pull_nbt_cldap_netlogon_13(ndr, NDR_SCALARS, &r->logon13));
3121 break; }
3123 case 15: {
3124 NDR_CHECK(ndr_pull_nbt_cldap_netlogon_13(ndr, NDR_SCALARS, &r->logon13));
3125 break; }
3127 default: {
3128 NDR_CHECK(ndr_pull_nbt_cldap_netlogon_29(ndr, NDR_SCALARS, &r->logon29));
3129 break; }
3133 if (ndr_flags & NDR_BUFFERS) {
3134 switch (level) {
3135 case 0:
3136 break;
3138 case 1:
3139 break;
3141 case 2:
3142 break;
3144 case 3:
3145 break;
3147 case 4:
3148 break;
3150 case 5:
3151 break;
3153 case 6:
3154 break;
3156 case 7:
3157 break;
3159 case 8:
3160 break;
3162 case 9:
3163 break;
3165 case 10:
3166 break;
3168 case 11:
3169 break;
3171 case 12:
3172 break;
3174 case 13:
3175 break;
3177 case 14:
3178 break;
3180 case 15:
3181 break;
3183 default:
3184 break;
3188 ndr->flags = _flags_save_UNION;
3190 return NDR_ERR_SUCCESS;
3193 _PUBLIC_ void ndr_print_nbt_cldap_netlogon(struct ndr_print *ndr, const char *name, const union nbt_cldap_netlogon *r)
3195 int level;
3197 uint32_t _flags_save_UNION = ndr->flags;
3198 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
3199 level = ndr_print_get_switch_value(ndr, r);
3200 ndr_print_union(ndr, name, level, "nbt_cldap_netlogon");
3201 switch (level) {
3202 case 0:
3203 ndr_print_nbt_cldap_netlogon_1(ndr, "logon1", &r->logon1);
3204 break;
3206 case 1:
3207 ndr_print_nbt_cldap_netlogon_1(ndr, "logon1", &r->logon1);
3208 break;
3210 case 2:
3211 ndr_print_nbt_cldap_netlogon_3(ndr, "logon3", &r->logon3);
3212 break;
3214 case 3:
3215 ndr_print_nbt_cldap_netlogon_3(ndr, "logon3", &r->logon3);
3216 break;
3218 case 4:
3219 ndr_print_nbt_cldap_netlogon_5(ndr, "logon5", &r->logon5);
3220 break;
3222 case 5:
3223 ndr_print_nbt_cldap_netlogon_5(ndr, "logon5", &r->logon5);
3224 break;
3226 case 6:
3227 ndr_print_nbt_cldap_netlogon_5(ndr, "logon5", &r->logon5);
3228 break;
3230 case 7:
3231 ndr_print_nbt_cldap_netlogon_5(ndr, "logon5", &r->logon5);
3232 break;
3234 case 8:
3235 ndr_print_nbt_cldap_netlogon_13(ndr, "logon13", &r->logon13);
3236 break;
3238 case 9:
3239 ndr_print_nbt_cldap_netlogon_13(ndr, "logon13", &r->logon13);
3240 break;
3242 case 10:
3243 ndr_print_nbt_cldap_netlogon_13(ndr, "logon13", &r->logon13);
3244 break;
3246 case 11:
3247 ndr_print_nbt_cldap_netlogon_13(ndr, "logon13", &r->logon13);
3248 break;
3250 case 12:
3251 ndr_print_nbt_cldap_netlogon_13(ndr, "logon13", &r->logon13);
3252 break;
3254 case 13:
3255 ndr_print_nbt_cldap_netlogon_13(ndr, "logon13", &r->logon13);
3256 break;
3258 case 14:
3259 ndr_print_nbt_cldap_netlogon_13(ndr, "logon13", &r->logon13);
3260 break;
3262 case 15:
3263 ndr_print_nbt_cldap_netlogon_13(ndr, "logon13", &r->logon13);
3264 break;
3266 default:
3267 ndr_print_nbt_cldap_netlogon_29(ndr, "logon29", &r->logon29);
3268 break;
3271 ndr->flags = _flags_save_UNION;
3275 static enum ndr_err_code ndr_push_nbt_ntlogon_command(struct ndr_push *ndr, int ndr_flags, enum nbt_ntlogon_command r)
3277 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
3278 return NDR_ERR_SUCCESS;
3281 static enum ndr_err_code ndr_pull_nbt_ntlogon_command(struct ndr_pull *ndr, int ndr_flags, enum nbt_ntlogon_command *r)
3283 uint16_t v;
3284 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
3285 *r = v;
3286 return NDR_ERR_SUCCESS;
3289 _PUBLIC_ void ndr_print_nbt_ntlogon_command(struct ndr_print *ndr, const char *name, enum nbt_ntlogon_command r)
3291 const char *val = NULL;
3293 switch (r) {
3294 case NTLOGON_SAM_LOGON: val = "NTLOGON_SAM_LOGON"; break;
3295 case NTLOGON_SAM_LOGON_REPLY: val = "NTLOGON_SAM_LOGON_REPLY"; break;
3296 case NTLOGON_SAM_LOGON_REPLY15: val = "NTLOGON_SAM_LOGON_REPLY15"; break;
3297 case NTLOGON_RESPONSE_FROM_PDC2: val = "NTLOGON_RESPONSE_FROM_PDC2"; break;
3299 ndr_print_enum(ndr, name, "ENUM", val, r);
3302 static enum ndr_err_code ndr_push_nbt_ntlogon_sam_logon(struct ndr_push *ndr, int ndr_flags, const struct nbt_ntlogon_sam_logon *r)
3304 if (ndr_flags & NDR_SCALARS) {
3305 NDR_CHECK(ndr_push_align(ndr, 4));
3306 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->request_count));
3308 uint32_t _flags_save_string = ndr->flags;
3309 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3310 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->computer_name));
3311 ndr->flags = _flags_save_string;
3314 uint32_t _flags_save_string = ndr->flags;
3315 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3316 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
3317 ndr->flags = _flags_save_string;
3320 uint32_t _flags_save_string = ndr->flags;
3321 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3322 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->mailslot_name));
3323 ndr->flags = _flags_save_string;
3325 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_control));
3326 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid0(&r->sid, ndr->flags)));
3328 struct ndr_push *_ndr_sid;
3329 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sid, 0, ndr_size_dom_sid0(&r->sid, ndr->flags)));
3330 NDR_CHECK(ndr_push_dom_sid0(_ndr_sid, NDR_SCALARS|NDR_BUFFERS, &r->sid));
3331 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sid, 0, ndr_size_dom_sid0(&r->sid, ndr->flags)));
3333 NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, r->nt_version));
3334 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
3335 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
3337 if (ndr_flags & NDR_BUFFERS) {
3339 return NDR_ERR_SUCCESS;
3342 static enum ndr_err_code ndr_pull_nbt_ntlogon_sam_logon(struct ndr_pull *ndr, int ndr_flags, struct nbt_ntlogon_sam_logon *r)
3344 if (ndr_flags & NDR_SCALARS) {
3345 NDR_CHECK(ndr_pull_align(ndr, 4));
3346 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->request_count));
3348 uint32_t _flags_save_string = ndr->flags;
3349 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3350 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->computer_name));
3351 ndr->flags = _flags_save_string;
3354 uint32_t _flags_save_string = ndr->flags;
3355 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3356 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name));
3357 ndr->flags = _flags_save_string;
3360 uint32_t _flags_save_string = ndr->flags;
3361 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3362 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->mailslot_name));
3363 ndr->flags = _flags_save_string;
3365 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_control));
3366 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_size));
3368 struct ndr_pull *_ndr_sid;
3369 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_sid, 0, r->sid_size));
3370 NDR_CHECK(ndr_pull_dom_sid0(_ndr_sid, NDR_SCALARS|NDR_BUFFERS, &r->sid));
3371 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sid, 0, r->sid_size));
3373 NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
3374 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
3375 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
3377 if (ndr_flags & NDR_BUFFERS) {
3379 return NDR_ERR_SUCCESS;
3382 _PUBLIC_ void ndr_print_nbt_ntlogon_sam_logon(struct ndr_print *ndr, const char *name, const struct nbt_ntlogon_sam_logon *r)
3384 ndr_print_struct(ndr, name, "nbt_ntlogon_sam_logon");
3385 ndr->depth++;
3386 ndr_print_uint16(ndr, "request_count", r->request_count);
3387 ndr_print_string(ndr, "computer_name", r->computer_name);
3388 ndr_print_string(ndr, "user_name", r->user_name);
3389 ndr_print_string(ndr, "mailslot_name", r->mailslot_name);
3390 ndr_print_samr_AcctFlags(ndr, "acct_control", r->acct_control);
3391 ndr_print_uint32(ndr, "sid_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid0(&r->sid, ndr->flags):r->sid_size);
3392 ndr_print_dom_sid0(ndr, "sid", &r->sid);
3393 ndr_print_nbt_netlogon_version(ndr, "nt_version", r->nt_version);
3394 ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
3395 ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
3396 ndr->depth--;
3399 static enum ndr_err_code ndr_push_nbt_ntlogon_sam_logon_reply(struct ndr_push *ndr, int ndr_flags, const struct nbt_ntlogon_sam_logon_reply *r)
3401 if (ndr_flags & NDR_SCALARS) {
3402 NDR_CHECK(ndr_push_align(ndr, 4));
3404 uint32_t _flags_save_string = ndr->flags;
3405 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3406 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server));
3407 ndr->flags = _flags_save_string;
3410 uint32_t _flags_save_string = ndr->flags;
3411 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3412 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
3413 ndr->flags = _flags_save_string;
3416 uint32_t _flags_save_string = ndr->flags;
3417 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3418 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->domain));
3419 ndr->flags = _flags_save_string;
3421 NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, r->nt_version));
3422 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
3423 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
3425 if (ndr_flags & NDR_BUFFERS) {
3427 return NDR_ERR_SUCCESS;
3430 static enum ndr_err_code ndr_pull_nbt_ntlogon_sam_logon_reply(struct ndr_pull *ndr, int ndr_flags, struct nbt_ntlogon_sam_logon_reply *r)
3432 if (ndr_flags & NDR_SCALARS) {
3433 NDR_CHECK(ndr_pull_align(ndr, 4));
3435 uint32_t _flags_save_string = ndr->flags;
3436 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3437 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->server));
3438 ndr->flags = _flags_save_string;
3441 uint32_t _flags_save_string = ndr->flags;
3442 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3443 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name));
3444 ndr->flags = _flags_save_string;
3447 uint32_t _flags_save_string = ndr->flags;
3448 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3449 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->domain));
3450 ndr->flags = _flags_save_string;
3452 NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
3453 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
3454 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
3456 if (ndr_flags & NDR_BUFFERS) {
3458 return NDR_ERR_SUCCESS;
3461 _PUBLIC_ void ndr_print_nbt_ntlogon_sam_logon_reply(struct ndr_print *ndr, const char *name, const struct nbt_ntlogon_sam_logon_reply *r)
3463 ndr_print_struct(ndr, name, "nbt_ntlogon_sam_logon_reply");
3464 ndr->depth++;
3465 ndr_print_string(ndr, "server", r->server);
3466 ndr_print_string(ndr, "user_name", r->user_name);
3467 ndr_print_string(ndr, "domain", r->domain);
3468 ndr_print_nbt_netlogon_version(ndr, "nt_version", r->nt_version);
3469 ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
3470 ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
3471 ndr->depth--;
3474 static enum ndr_err_code ndr_push_nbt_ntlogon_request(struct ndr_push *ndr, int ndr_flags, const union nbt_ntlogon_request *r)
3476 if (ndr_flags & NDR_SCALARS) {
3477 int level = ndr_push_get_switch_value(ndr, r);
3478 switch (level) {
3479 case NTLOGON_SAM_LOGON: {
3480 NDR_CHECK(ndr_push_nbt_ntlogon_sam_logon(ndr, NDR_SCALARS, &r->logon));
3481 break; }
3483 case NTLOGON_SAM_LOGON_REPLY: {
3484 NDR_CHECK(ndr_push_nbt_ntlogon_sam_logon_reply(ndr, NDR_SCALARS, &r->reply));
3485 break; }
3487 case NTLOGON_SAM_LOGON_REPLY15: {
3488 NDR_CHECK(ndr_push_nbt_ntlogon_sam_logon_reply(ndr, NDR_SCALARS, &r->reply));
3489 break; }
3491 case NTLOGON_RESPONSE_FROM_PDC2: {
3492 NDR_CHECK(ndr_push_nbt_netlogon_response_from_pdc2(ndr, NDR_SCALARS, &r->reply2));
3493 break; }
3495 default:
3496 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3499 if (ndr_flags & NDR_BUFFERS) {
3500 int level = ndr_push_get_switch_value(ndr, r);
3501 switch (level) {
3502 case NTLOGON_SAM_LOGON:
3503 NDR_CHECK(ndr_push_nbt_ntlogon_sam_logon(ndr, NDR_BUFFERS, &r->logon));
3504 break;
3506 case NTLOGON_SAM_LOGON_REPLY:
3507 break;
3509 case NTLOGON_SAM_LOGON_REPLY15:
3510 break;
3512 case NTLOGON_RESPONSE_FROM_PDC2:
3513 break;
3515 default:
3516 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3519 return NDR_ERR_SUCCESS;
3522 static enum ndr_err_code ndr_pull_nbt_ntlogon_request(struct ndr_pull *ndr, int ndr_flags, union nbt_ntlogon_request *r)
3524 int level;
3525 level = ndr_pull_get_switch_value(ndr, r);
3526 if (ndr_flags & NDR_SCALARS) {
3527 switch (level) {
3528 case NTLOGON_SAM_LOGON: {
3529 NDR_CHECK(ndr_pull_nbt_ntlogon_sam_logon(ndr, NDR_SCALARS, &r->logon));
3530 break; }
3532 case NTLOGON_SAM_LOGON_REPLY: {
3533 NDR_CHECK(ndr_pull_nbt_ntlogon_sam_logon_reply(ndr, NDR_SCALARS, &r->reply));
3534 break; }
3536 case NTLOGON_SAM_LOGON_REPLY15: {
3537 NDR_CHECK(ndr_pull_nbt_ntlogon_sam_logon_reply(ndr, NDR_SCALARS, &r->reply));
3538 break; }
3540 case NTLOGON_RESPONSE_FROM_PDC2: {
3541 NDR_CHECK(ndr_pull_nbt_netlogon_response_from_pdc2(ndr, NDR_SCALARS, &r->reply2));
3542 break; }
3544 default:
3545 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3548 if (ndr_flags & NDR_BUFFERS) {
3549 switch (level) {
3550 case NTLOGON_SAM_LOGON:
3551 NDR_CHECK(ndr_pull_nbt_ntlogon_sam_logon(ndr, NDR_BUFFERS, &r->logon));
3552 break;
3554 case NTLOGON_SAM_LOGON_REPLY:
3555 break;
3557 case NTLOGON_SAM_LOGON_REPLY15:
3558 break;
3560 case NTLOGON_RESPONSE_FROM_PDC2:
3561 break;
3563 default:
3564 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3567 return NDR_ERR_SUCCESS;
3570 _PUBLIC_ void ndr_print_nbt_ntlogon_request(struct ndr_print *ndr, const char *name, const union nbt_ntlogon_request *r)
3572 int level;
3573 level = ndr_print_get_switch_value(ndr, r);
3574 ndr_print_union(ndr, name, level, "nbt_ntlogon_request");
3575 switch (level) {
3576 case NTLOGON_SAM_LOGON:
3577 ndr_print_nbt_ntlogon_sam_logon(ndr, "logon", &r->logon);
3578 break;
3580 case NTLOGON_SAM_LOGON_REPLY:
3581 ndr_print_nbt_ntlogon_sam_logon_reply(ndr, "reply", &r->reply);
3582 break;
3584 case NTLOGON_SAM_LOGON_REPLY15:
3585 ndr_print_nbt_ntlogon_sam_logon_reply(ndr, "reply", &r->reply);
3586 break;
3588 case NTLOGON_RESPONSE_FROM_PDC2:
3589 ndr_print_nbt_netlogon_response_from_pdc2(ndr, "reply2", &r->reply2);
3590 break;
3592 default:
3593 ndr_print_bad_level(ndr, name, level);
3597 _PUBLIC_ enum ndr_err_code ndr_push_nbt_ntlogon_packet(struct ndr_push *ndr, int ndr_flags, const struct nbt_ntlogon_packet *r)
3600 uint32_t _flags_save_STRUCT = ndr->flags;
3601 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
3602 if (ndr_flags & NDR_SCALARS) {
3603 NDR_CHECK(ndr_push_align(ndr, 4));
3604 NDR_CHECK(ndr_push_nbt_ntlogon_command(ndr, NDR_SCALARS, r->command));
3605 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->req, r->command));
3606 NDR_CHECK(ndr_push_nbt_ntlogon_request(ndr, NDR_SCALARS, &r->req));
3608 if (ndr_flags & NDR_BUFFERS) {
3609 NDR_CHECK(ndr_push_nbt_ntlogon_request(ndr, NDR_BUFFERS, &r->req));
3611 ndr->flags = _flags_save_STRUCT;
3613 return NDR_ERR_SUCCESS;
3616 _PUBLIC_ enum ndr_err_code ndr_pull_nbt_ntlogon_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_ntlogon_packet *r)
3619 uint32_t _flags_save_STRUCT = ndr->flags;
3620 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
3621 if (ndr_flags & NDR_SCALARS) {
3622 NDR_CHECK(ndr_pull_align(ndr, 4));
3623 NDR_CHECK(ndr_pull_nbt_ntlogon_command(ndr, NDR_SCALARS, &r->command));
3624 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->req, r->command));
3625 NDR_CHECK(ndr_pull_nbt_ntlogon_request(ndr, NDR_SCALARS, &r->req));
3627 if (ndr_flags & NDR_BUFFERS) {
3628 NDR_CHECK(ndr_pull_nbt_ntlogon_request(ndr, NDR_BUFFERS, &r->req));
3630 ndr->flags = _flags_save_STRUCT;
3632 return NDR_ERR_SUCCESS;
3635 _PUBLIC_ void ndr_print_nbt_ntlogon_packet(struct ndr_print *ndr, const char *name, const struct nbt_ntlogon_packet *r)
3637 ndr_print_struct(ndr, name, "nbt_ntlogon_packet");
3639 uint32_t _flags_save_STRUCT = ndr->flags;
3640 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
3641 ndr->depth++;
3642 ndr_print_nbt_ntlogon_command(ndr, "command", r->command);
3643 ndr_print_set_switch_value(ndr, &r->req, r->command);
3644 ndr_print_nbt_ntlogon_request(ndr, "req", &r->req);
3645 ndr->depth--;
3646 ndr->flags = _flags_save_STRUCT;
3650 static enum ndr_err_code ndr_push_nbt_browse_opcode(struct ndr_push *ndr, int ndr_flags, enum nbt_browse_opcode r)
3652 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
3653 return NDR_ERR_SUCCESS;
3656 static enum ndr_err_code ndr_pull_nbt_browse_opcode(struct ndr_pull *ndr, int ndr_flags, enum nbt_browse_opcode *r)
3658 uint8_t v;
3659 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
3660 *r = v;
3661 return NDR_ERR_SUCCESS;
3664 _PUBLIC_ void ndr_print_nbt_browse_opcode(struct ndr_print *ndr, const char *name, enum nbt_browse_opcode r)
3666 const char *val = NULL;
3668 switch (r) {
3669 case HostAnnouncement: val = "HostAnnouncement"; break;
3670 case AnnouncementRequest: val = "AnnouncementRequest"; break;
3671 case Election: val = "Election"; break;
3672 case GetBackupListReq: val = "GetBackupListReq"; break;
3673 case GetBackupListResp: val = "GetBackupListResp"; break;
3674 case BecomeBackup: val = "BecomeBackup"; break;
3675 case DomainAnnouncement: val = "DomainAnnouncement"; break;
3676 case MasterAnnouncement: val = "MasterAnnouncement"; break;
3677 case ResetBrowserState: val = "ResetBrowserState"; break;
3678 case LocalMasterAnnouncement: val = "LocalMasterAnnouncement"; break;
3680 ndr_print_enum(ndr, name, "ENUM", val, r);
3683 static enum ndr_err_code ndr_push_nbt_browse_host_announcement(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_host_announcement *r)
3685 if (ndr_flags & NDR_SCALARS) {
3686 NDR_CHECK(ndr_push_align(ndr, 4));
3687 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->UpdateCount));
3688 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Periodicity));
3689 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ServerName, 16, sizeof(uint8_t), CH_DOS));
3690 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->OSMajor));
3691 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->OSMinor));
3692 NDR_CHECK(ndr_push_svcctl_ServerType(ndr, NDR_SCALARS, r->ServerType));
3693 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->BroMajorVer));
3694 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->BroMinorVer));
3695 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Signature));
3697 uint32_t _flags_save_string = ndr->flags;
3698 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3699 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Comment));
3700 ndr->flags = _flags_save_string;
3703 if (ndr_flags & NDR_BUFFERS) {
3705 return NDR_ERR_SUCCESS;
3708 static enum ndr_err_code ndr_pull_nbt_browse_host_announcement(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_host_announcement *r)
3710 if (ndr_flags & NDR_SCALARS) {
3711 NDR_CHECK(ndr_pull_align(ndr, 4));
3712 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->UpdateCount));
3713 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Periodicity));
3714 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ServerName, 16, sizeof(uint8_t), CH_DOS));
3715 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->OSMajor));
3716 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->OSMinor));
3717 NDR_CHECK(ndr_pull_svcctl_ServerType(ndr, NDR_SCALARS, &r->ServerType));
3718 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->BroMajorVer));
3719 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->BroMinorVer));
3720 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Signature));
3722 uint32_t _flags_save_string = ndr->flags;
3723 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3724 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Comment));
3725 ndr->flags = _flags_save_string;
3728 if (ndr_flags & NDR_BUFFERS) {
3730 return NDR_ERR_SUCCESS;
3733 _PUBLIC_ void ndr_print_nbt_browse_host_announcement(struct ndr_print *ndr, const char *name, const struct nbt_browse_host_announcement *r)
3735 ndr_print_struct(ndr, name, "nbt_browse_host_announcement");
3736 ndr->depth++;
3737 ndr_print_uint8(ndr, "UpdateCount", r->UpdateCount);
3738 ndr_print_uint32(ndr, "Periodicity", r->Periodicity);
3739 ndr_print_string(ndr, "ServerName", r->ServerName);
3740 ndr_print_uint8(ndr, "OSMajor", r->OSMajor);
3741 ndr_print_uint8(ndr, "OSMinor", r->OSMinor);
3742 ndr_print_svcctl_ServerType(ndr, "ServerType", r->ServerType);
3743 ndr_print_uint8(ndr, "BroMajorVer", r->BroMajorVer);
3744 ndr_print_uint8(ndr, "BroMinorVer", r->BroMinorVer);
3745 ndr_print_uint16(ndr, "Signature", r->Signature);
3746 ndr_print_string(ndr, "Comment", r->Comment);
3747 ndr->depth--;
3750 static enum ndr_err_code ndr_push_nbt_browse_announcement_request(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_announcement_request *r)
3752 if (ndr_flags & NDR_SCALARS) {
3753 NDR_CHECK(ndr_push_align(ndr, 4));
3754 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Unused));
3756 uint32_t _flags_save_string = ndr->flags;
3757 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3758 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->ResponseName));
3759 ndr->flags = _flags_save_string;
3762 if (ndr_flags & NDR_BUFFERS) {
3764 return NDR_ERR_SUCCESS;
3767 static enum ndr_err_code ndr_pull_nbt_browse_announcement_request(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_announcement_request *r)
3769 if (ndr_flags & NDR_SCALARS) {
3770 NDR_CHECK(ndr_pull_align(ndr, 4));
3771 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Unused));
3773 uint32_t _flags_save_string = ndr->flags;
3774 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3775 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->ResponseName));
3776 ndr->flags = _flags_save_string;
3779 if (ndr_flags & NDR_BUFFERS) {
3781 return NDR_ERR_SUCCESS;
3784 _PUBLIC_ void ndr_print_nbt_browse_announcement_request(struct ndr_print *ndr, const char *name, const struct nbt_browse_announcement_request *r)
3786 ndr_print_struct(ndr, name, "nbt_browse_announcement_request");
3787 ndr->depth++;
3788 ndr_print_uint8(ndr, "Unused", r->Unused);
3789 ndr_print_string(ndr, "ResponseName", r->ResponseName);
3790 ndr->depth--;
3793 static enum ndr_err_code ndr_push_nbt_browse_election_request(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_election_request *r)
3795 if (ndr_flags & NDR_SCALARS) {
3796 NDR_CHECK(ndr_push_align(ndr, 4));
3797 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Version));
3798 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Criteria));
3799 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->UpTime));
3800 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Reserved));
3802 uint32_t _flags_save_string = ndr->flags;
3803 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3804 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->ServerName));
3805 ndr->flags = _flags_save_string;
3808 if (ndr_flags & NDR_BUFFERS) {
3810 return NDR_ERR_SUCCESS;
3813 static enum ndr_err_code ndr_pull_nbt_browse_election_request(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_election_request *r)
3815 if (ndr_flags & NDR_SCALARS) {
3816 NDR_CHECK(ndr_pull_align(ndr, 4));
3817 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Version));
3818 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Criteria));
3819 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->UpTime));
3820 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Reserved));
3822 uint32_t _flags_save_string = ndr->flags;
3823 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3824 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->ServerName));
3825 ndr->flags = _flags_save_string;
3828 if (ndr_flags & NDR_BUFFERS) {
3830 return NDR_ERR_SUCCESS;
3833 _PUBLIC_ void ndr_print_nbt_browse_election_request(struct ndr_print *ndr, const char *name, const struct nbt_browse_election_request *r)
3835 ndr_print_struct(ndr, name, "nbt_browse_election_request");
3836 ndr->depth++;
3837 ndr_print_uint8(ndr, "Version", r->Version);
3838 ndr_print_uint32(ndr, "Criteria", r->Criteria);
3839 ndr_print_uint32(ndr, "UpTime", r->UpTime);
3840 ndr_print_uint32(ndr, "Reserved", r->Reserved);
3841 ndr_print_string(ndr, "ServerName", r->ServerName);
3842 ndr->depth--;
3845 static enum ndr_err_code ndr_push_nbt_browse_backup_list_request(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_backup_list_request *r)
3847 if (ndr_flags & NDR_SCALARS) {
3848 NDR_CHECK(ndr_push_align(ndr, 4));
3849 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->ReqCount));
3850 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Token));
3852 if (ndr_flags & NDR_BUFFERS) {
3854 return NDR_ERR_SUCCESS;
3857 static enum ndr_err_code ndr_pull_nbt_browse_backup_list_request(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_backup_list_request *r)
3859 if (ndr_flags & NDR_SCALARS) {
3860 NDR_CHECK(ndr_pull_align(ndr, 4));
3861 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->ReqCount));
3862 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Token));
3864 if (ndr_flags & NDR_BUFFERS) {
3866 return NDR_ERR_SUCCESS;
3869 _PUBLIC_ void ndr_print_nbt_browse_backup_list_request(struct ndr_print *ndr, const char *name, const struct nbt_browse_backup_list_request *r)
3871 ndr_print_struct(ndr, name, "nbt_browse_backup_list_request");
3872 ndr->depth++;
3873 ndr_print_uint8(ndr, "ReqCount", r->ReqCount);
3874 ndr_print_uint32(ndr, "Token", r->Token);
3875 ndr->depth--;
3878 static enum ndr_err_code ndr_push_nbt_browse_backup_list_response(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_backup_list_response *r)
3880 uint32_t cntr_BackupServerList_0;
3881 if (ndr_flags & NDR_SCALARS) {
3882 NDR_CHECK(ndr_push_align(ndr, 4));
3883 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->BackupCount));
3884 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Token));
3885 for (cntr_BackupServerList_0 = 0; cntr_BackupServerList_0 < r->BackupCount; cntr_BackupServerList_0++) {
3886 NDR_CHECK(ndr_push_nbt_name(ndr, NDR_SCALARS, &r->BackupServerList[cntr_BackupServerList_0]));
3889 if (ndr_flags & NDR_BUFFERS) {
3891 return NDR_ERR_SUCCESS;
3894 static enum ndr_err_code ndr_pull_nbt_browse_backup_list_response(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_backup_list_response *r)
3896 uint32_t cntr_BackupServerList_0;
3897 TALLOC_CTX *_mem_save_BackupServerList_0;
3898 if (ndr_flags & NDR_SCALARS) {
3899 NDR_CHECK(ndr_pull_align(ndr, 4));
3900 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->BackupCount));
3901 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Token));
3902 NDR_PULL_ALLOC_N(ndr, r->BackupServerList, r->BackupCount);
3903 _mem_save_BackupServerList_0 = NDR_PULL_GET_MEM_CTX(ndr);
3904 NDR_PULL_SET_MEM_CTX(ndr, r->BackupServerList, 0);
3905 for (cntr_BackupServerList_0 = 0; cntr_BackupServerList_0 < r->BackupCount; cntr_BackupServerList_0++) {
3906 NDR_CHECK(ndr_pull_nbt_name(ndr, NDR_SCALARS, &r->BackupServerList[cntr_BackupServerList_0]));
3908 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_BackupServerList_0, 0);
3910 if (ndr_flags & NDR_BUFFERS) {
3912 return NDR_ERR_SUCCESS;
3915 _PUBLIC_ void ndr_print_nbt_browse_backup_list_response(struct ndr_print *ndr, const char *name, const struct nbt_browse_backup_list_response *r)
3917 uint32_t cntr_BackupServerList_0;
3918 ndr_print_struct(ndr, name, "nbt_browse_backup_list_response");
3919 ndr->depth++;
3920 ndr_print_uint8(ndr, "BackupCount", r->BackupCount);
3921 ndr_print_uint32(ndr, "Token", r->Token);
3922 ndr->print(ndr, "%s: ARRAY(%d)", "BackupServerList", r->BackupCount);
3923 ndr->depth++;
3924 for (cntr_BackupServerList_0=0;cntr_BackupServerList_0<r->BackupCount;cntr_BackupServerList_0++) {
3925 char *idx_0=NULL;
3926 if (asprintf(&idx_0, "[%d]", cntr_BackupServerList_0) != -1) {
3927 ndr_print_nbt_name(ndr, "BackupServerList", &r->BackupServerList[cntr_BackupServerList_0]);
3928 free(idx_0);
3931 ndr->depth--;
3932 ndr->depth--;
3935 static enum ndr_err_code ndr_push_nbt_browse_become_backup(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_become_backup *r)
3937 if (ndr_flags & NDR_SCALARS) {
3938 NDR_CHECK(ndr_push_align(ndr, 4));
3940 uint32_t _flags_save_string = ndr->flags;
3941 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3942 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->BrowserName));
3943 ndr->flags = _flags_save_string;
3946 if (ndr_flags & NDR_BUFFERS) {
3948 return NDR_ERR_SUCCESS;
3951 static enum ndr_err_code ndr_pull_nbt_browse_become_backup(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_become_backup *r)
3953 if (ndr_flags & NDR_SCALARS) {
3954 NDR_CHECK(ndr_pull_align(ndr, 4));
3956 uint32_t _flags_save_string = ndr->flags;
3957 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3958 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->BrowserName));
3959 ndr->flags = _flags_save_string;
3962 if (ndr_flags & NDR_BUFFERS) {
3964 return NDR_ERR_SUCCESS;
3967 _PUBLIC_ void ndr_print_nbt_browse_become_backup(struct ndr_print *ndr, const char *name, const struct nbt_browse_become_backup *r)
3969 ndr_print_struct(ndr, name, "nbt_browse_become_backup");
3970 ndr->depth++;
3971 ndr_print_string(ndr, "BrowserName", r->BrowserName);
3972 ndr->depth--;
3975 static enum ndr_err_code ndr_push_nbt_browse_domain_announcement(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_domain_announcement *r)
3977 if (ndr_flags & NDR_SCALARS) {
3978 NDR_CHECK(ndr_push_align(ndr, 4));
3979 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->UpdateCount));
3980 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Periodicity));
3981 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ServerName, 16, sizeof(uint8_t), CH_DOS));
3982 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->OSMajor));
3983 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->OSMinor));
3984 NDR_CHECK(ndr_push_svcctl_ServerType(ndr, NDR_SCALARS, r->ServerType));
3985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MysteriousField));
3987 uint32_t _flags_save_string = ndr->flags;
3988 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3989 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Comment));
3990 ndr->flags = _flags_save_string;
3993 if (ndr_flags & NDR_BUFFERS) {
3995 return NDR_ERR_SUCCESS;
3998 static enum ndr_err_code ndr_pull_nbt_browse_domain_announcement(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_domain_announcement *r)
4000 if (ndr_flags & NDR_SCALARS) {
4001 NDR_CHECK(ndr_pull_align(ndr, 4));
4002 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->UpdateCount));
4003 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Periodicity));
4004 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ServerName, 16, sizeof(uint8_t), CH_DOS));
4005 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->OSMajor));
4006 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->OSMinor));
4007 NDR_CHECK(ndr_pull_svcctl_ServerType(ndr, NDR_SCALARS, &r->ServerType));
4008 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MysteriousField));
4010 uint32_t _flags_save_string = ndr->flags;
4011 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4012 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Comment));
4013 ndr->flags = _flags_save_string;
4016 if (ndr_flags & NDR_BUFFERS) {
4018 return NDR_ERR_SUCCESS;
4021 _PUBLIC_ void ndr_print_nbt_browse_domain_announcement(struct ndr_print *ndr, const char *name, const struct nbt_browse_domain_announcement *r)
4023 ndr_print_struct(ndr, name, "nbt_browse_domain_announcement");
4024 ndr->depth++;
4025 ndr_print_uint8(ndr, "UpdateCount", r->UpdateCount);
4026 ndr_print_uint32(ndr, "Periodicity", r->Periodicity);
4027 ndr_print_string(ndr, "ServerName", r->ServerName);
4028 ndr_print_uint8(ndr, "OSMajor", r->OSMajor);
4029 ndr_print_uint8(ndr, "OSMinor", r->OSMinor);
4030 ndr_print_svcctl_ServerType(ndr, "ServerType", r->ServerType);
4031 ndr_print_uint32(ndr, "MysteriousField", r->MysteriousField);
4032 ndr_print_string(ndr, "Comment", r->Comment);
4033 ndr->depth--;
4036 static enum ndr_err_code ndr_push_nbt_browse_master_announcement(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_master_announcement *r)
4038 if (ndr_flags & NDR_SCALARS) {
4039 NDR_CHECK(ndr_push_align(ndr, 4));
4041 uint32_t _flags_save_string = ndr->flags;
4042 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4043 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->ServerName));
4044 ndr->flags = _flags_save_string;
4047 if (ndr_flags & NDR_BUFFERS) {
4049 return NDR_ERR_SUCCESS;
4052 static enum ndr_err_code ndr_pull_nbt_browse_master_announcement(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_master_announcement *r)
4054 if (ndr_flags & NDR_SCALARS) {
4055 NDR_CHECK(ndr_pull_align(ndr, 4));
4057 uint32_t _flags_save_string = ndr->flags;
4058 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4059 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->ServerName));
4060 ndr->flags = _flags_save_string;
4063 if (ndr_flags & NDR_BUFFERS) {
4065 return NDR_ERR_SUCCESS;
4068 _PUBLIC_ void ndr_print_nbt_browse_master_announcement(struct ndr_print *ndr, const char *name, const struct nbt_browse_master_announcement *r)
4070 ndr_print_struct(ndr, name, "nbt_browse_master_announcement");
4071 ndr->depth++;
4072 ndr_print_string(ndr, "ServerName", r->ServerName);
4073 ndr->depth--;
4076 static enum ndr_err_code ndr_push_nbt_browse_reset_state(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_reset_state *r)
4078 if (ndr_flags & NDR_SCALARS) {
4079 NDR_CHECK(ndr_push_align(ndr, 1));
4080 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Command));
4082 if (ndr_flags & NDR_BUFFERS) {
4084 return NDR_ERR_SUCCESS;
4087 static enum ndr_err_code ndr_pull_nbt_browse_reset_state(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_reset_state *r)
4089 if (ndr_flags & NDR_SCALARS) {
4090 NDR_CHECK(ndr_pull_align(ndr, 1));
4091 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Command));
4093 if (ndr_flags & NDR_BUFFERS) {
4095 return NDR_ERR_SUCCESS;
4098 _PUBLIC_ void ndr_print_nbt_browse_reset_state(struct ndr_print *ndr, const char *name, const struct nbt_browse_reset_state *r)
4100 ndr_print_struct(ndr, name, "nbt_browse_reset_state");
4101 ndr->depth++;
4102 ndr_print_uint8(ndr, "Command", r->Command);
4103 ndr->depth--;
4106 static enum ndr_err_code ndr_push_nbt_browse_local_master_announcement(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_local_master_announcement *r)
4108 if (ndr_flags & NDR_SCALARS) {
4109 NDR_CHECK(ndr_push_align(ndr, 4));
4110 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->UpdateCount));
4111 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Periodicity));
4112 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ServerName, 16, sizeof(uint8_t), CH_DOS));
4113 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->OSMajor));
4114 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->OSMinor));
4115 NDR_CHECK(ndr_push_svcctl_ServerType(ndr, NDR_SCALARS, r->ServerType));
4116 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->BroMajorVer));
4117 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->BroMinorVer));
4118 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Signature));
4120 uint32_t _flags_save_string = ndr->flags;
4121 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4122 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Comment));
4123 ndr->flags = _flags_save_string;
4126 if (ndr_flags & NDR_BUFFERS) {
4128 return NDR_ERR_SUCCESS;
4131 static enum ndr_err_code ndr_pull_nbt_browse_local_master_announcement(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_local_master_announcement *r)
4133 if (ndr_flags & NDR_SCALARS) {
4134 NDR_CHECK(ndr_pull_align(ndr, 4));
4135 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->UpdateCount));
4136 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Periodicity));
4137 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ServerName, 16, sizeof(uint8_t), CH_DOS));
4138 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->OSMajor));
4139 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->OSMinor));
4140 NDR_CHECK(ndr_pull_svcctl_ServerType(ndr, NDR_SCALARS, &r->ServerType));
4141 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->BroMajorVer));
4142 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->BroMinorVer));
4143 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Signature));
4145 uint32_t _flags_save_string = ndr->flags;
4146 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4147 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Comment));
4148 ndr->flags = _flags_save_string;
4151 if (ndr_flags & NDR_BUFFERS) {
4153 return NDR_ERR_SUCCESS;
4156 _PUBLIC_ void ndr_print_nbt_browse_local_master_announcement(struct ndr_print *ndr, const char *name, const struct nbt_browse_local_master_announcement *r)
4158 ndr_print_struct(ndr, name, "nbt_browse_local_master_announcement");
4159 ndr->depth++;
4160 ndr_print_uint8(ndr, "UpdateCount", r->UpdateCount);
4161 ndr_print_uint32(ndr, "Periodicity", r->Periodicity);
4162 ndr_print_string(ndr, "ServerName", r->ServerName);
4163 ndr_print_uint8(ndr, "OSMajor", r->OSMajor);
4164 ndr_print_uint8(ndr, "OSMinor", r->OSMinor);
4165 ndr_print_svcctl_ServerType(ndr, "ServerType", r->ServerType);
4166 ndr_print_uint8(ndr, "BroMajorVer", r->BroMajorVer);
4167 ndr_print_uint8(ndr, "BroMinorVer", r->BroMinorVer);
4168 ndr_print_uint16(ndr, "Signature", r->Signature);
4169 ndr_print_string(ndr, "Comment", r->Comment);
4170 ndr->depth--;
4173 static enum ndr_err_code ndr_push_nbt_browse_payload(struct ndr_push *ndr, int ndr_flags, const union nbt_browse_payload *r)
4175 if (ndr_flags & NDR_SCALARS) {
4176 int level = ndr_push_get_switch_value(ndr, r);
4177 switch (level) {
4178 case HostAnnouncement: {
4179 NDR_CHECK(ndr_push_nbt_browse_host_announcement(ndr, NDR_SCALARS, &r->host_annoucement));
4180 break; }
4182 case AnnouncementRequest: {
4183 NDR_CHECK(ndr_push_nbt_browse_announcement_request(ndr, NDR_SCALARS, &r->announcement_request));
4184 break; }
4186 case Election: {
4187 NDR_CHECK(ndr_push_nbt_browse_election_request(ndr, NDR_SCALARS, &r->election_request));
4188 break; }
4190 case GetBackupListReq: {
4191 NDR_CHECK(ndr_push_nbt_browse_backup_list_request(ndr, NDR_SCALARS, &r->backup_list_request));
4192 break; }
4194 case GetBackupListResp: {
4195 NDR_CHECK(ndr_push_nbt_browse_backup_list_response(ndr, NDR_SCALARS, &r->backup_list_response));
4196 break; }
4198 case BecomeBackup: {
4199 NDR_CHECK(ndr_push_nbt_browse_become_backup(ndr, NDR_SCALARS, &r->become_backup));
4200 break; }
4202 case DomainAnnouncement: {
4203 NDR_CHECK(ndr_push_nbt_browse_domain_announcement(ndr, NDR_SCALARS, &r->domain_announcement));
4204 break; }
4206 case MasterAnnouncement: {
4207 NDR_CHECK(ndr_push_nbt_browse_master_announcement(ndr, NDR_SCALARS, &r->master_announcement));
4208 break; }
4210 case ResetBrowserState: {
4211 NDR_CHECK(ndr_push_nbt_browse_reset_state(ndr, NDR_SCALARS, &r->reset_browser_state));
4212 break; }
4214 case LocalMasterAnnouncement: {
4215 NDR_CHECK(ndr_push_nbt_browse_local_master_announcement(ndr, NDR_SCALARS, &r->local_master_announcement));
4216 break; }
4218 default:
4219 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4222 if (ndr_flags & NDR_BUFFERS) {
4223 int level = ndr_push_get_switch_value(ndr, r);
4224 switch (level) {
4225 case HostAnnouncement:
4226 break;
4228 case AnnouncementRequest:
4229 break;
4231 case Election:
4232 break;
4234 case GetBackupListReq:
4235 break;
4237 case GetBackupListResp:
4238 break;
4240 case BecomeBackup:
4241 break;
4243 case DomainAnnouncement:
4244 break;
4246 case MasterAnnouncement:
4247 break;
4249 case ResetBrowserState:
4250 break;
4252 case LocalMasterAnnouncement:
4253 break;
4255 default:
4256 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4259 return NDR_ERR_SUCCESS;
4262 static enum ndr_err_code ndr_pull_nbt_browse_payload(struct ndr_pull *ndr, int ndr_flags, union nbt_browse_payload *r)
4264 int level;
4265 level = ndr_pull_get_switch_value(ndr, r);
4266 if (ndr_flags & NDR_SCALARS) {
4267 switch (level) {
4268 case HostAnnouncement: {
4269 NDR_CHECK(ndr_pull_nbt_browse_host_announcement(ndr, NDR_SCALARS, &r->host_annoucement));
4270 break; }
4272 case AnnouncementRequest: {
4273 NDR_CHECK(ndr_pull_nbt_browse_announcement_request(ndr, NDR_SCALARS, &r->announcement_request));
4274 break; }
4276 case Election: {
4277 NDR_CHECK(ndr_pull_nbt_browse_election_request(ndr, NDR_SCALARS, &r->election_request));
4278 break; }
4280 case GetBackupListReq: {
4281 NDR_CHECK(ndr_pull_nbt_browse_backup_list_request(ndr, NDR_SCALARS, &r->backup_list_request));
4282 break; }
4284 case GetBackupListResp: {
4285 NDR_CHECK(ndr_pull_nbt_browse_backup_list_response(ndr, NDR_SCALARS, &r->backup_list_response));
4286 break; }
4288 case BecomeBackup: {
4289 NDR_CHECK(ndr_pull_nbt_browse_become_backup(ndr, NDR_SCALARS, &r->become_backup));
4290 break; }
4292 case DomainAnnouncement: {
4293 NDR_CHECK(ndr_pull_nbt_browse_domain_announcement(ndr, NDR_SCALARS, &r->domain_announcement));
4294 break; }
4296 case MasterAnnouncement: {
4297 NDR_CHECK(ndr_pull_nbt_browse_master_announcement(ndr, NDR_SCALARS, &r->master_announcement));
4298 break; }
4300 case ResetBrowserState: {
4301 NDR_CHECK(ndr_pull_nbt_browse_reset_state(ndr, NDR_SCALARS, &r->reset_browser_state));
4302 break; }
4304 case LocalMasterAnnouncement: {
4305 NDR_CHECK(ndr_pull_nbt_browse_local_master_announcement(ndr, NDR_SCALARS, &r->local_master_announcement));
4306 break; }
4308 default:
4309 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4312 if (ndr_flags & NDR_BUFFERS) {
4313 switch (level) {
4314 case HostAnnouncement:
4315 break;
4317 case AnnouncementRequest:
4318 break;
4320 case Election:
4321 break;
4323 case GetBackupListReq:
4324 break;
4326 case GetBackupListResp:
4327 break;
4329 case BecomeBackup:
4330 break;
4332 case DomainAnnouncement:
4333 break;
4335 case MasterAnnouncement:
4336 break;
4338 case ResetBrowserState:
4339 break;
4341 case LocalMasterAnnouncement:
4342 break;
4344 default:
4345 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4348 return NDR_ERR_SUCCESS;
4351 _PUBLIC_ void ndr_print_nbt_browse_payload(struct ndr_print *ndr, const char *name, const union nbt_browse_payload *r)
4353 int level;
4354 level = ndr_print_get_switch_value(ndr, r);
4355 ndr_print_union(ndr, name, level, "nbt_browse_payload");
4356 switch (level) {
4357 case HostAnnouncement:
4358 ndr_print_nbt_browse_host_announcement(ndr, "host_annoucement", &r->host_annoucement);
4359 break;
4361 case AnnouncementRequest:
4362 ndr_print_nbt_browse_announcement_request(ndr, "announcement_request", &r->announcement_request);
4363 break;
4365 case Election:
4366 ndr_print_nbt_browse_election_request(ndr, "election_request", &r->election_request);
4367 break;
4369 case GetBackupListReq:
4370 ndr_print_nbt_browse_backup_list_request(ndr, "backup_list_request", &r->backup_list_request);
4371 break;
4373 case GetBackupListResp:
4374 ndr_print_nbt_browse_backup_list_response(ndr, "backup_list_response", &r->backup_list_response);
4375 break;
4377 case BecomeBackup:
4378 ndr_print_nbt_browse_become_backup(ndr, "become_backup", &r->become_backup);
4379 break;
4381 case DomainAnnouncement:
4382 ndr_print_nbt_browse_domain_announcement(ndr, "domain_announcement", &r->domain_announcement);
4383 break;
4385 case MasterAnnouncement:
4386 ndr_print_nbt_browse_master_announcement(ndr, "master_announcement", &r->master_announcement);
4387 break;
4389 case ResetBrowserState:
4390 ndr_print_nbt_browse_reset_state(ndr, "reset_browser_state", &r->reset_browser_state);
4391 break;
4393 case LocalMasterAnnouncement:
4394 ndr_print_nbt_browse_local_master_announcement(ndr, "local_master_announcement", &r->local_master_announcement);
4395 break;
4397 default:
4398 ndr_print_bad_level(ndr, name, level);
4402 _PUBLIC_ enum ndr_err_code ndr_push_nbt_browse_packet(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_packet *r)
4405 uint32_t _flags_save_STRUCT = ndr->flags;
4406 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4407 if (ndr_flags & NDR_SCALARS) {
4408 NDR_CHECK(ndr_push_align(ndr, 4));
4409 NDR_CHECK(ndr_push_nbt_browse_opcode(ndr, NDR_SCALARS, r->opcode));
4410 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->payload, r->opcode));
4411 NDR_CHECK(ndr_push_nbt_browse_payload(ndr, NDR_SCALARS, &r->payload));
4413 if (ndr_flags & NDR_BUFFERS) {
4415 ndr->flags = _flags_save_STRUCT;
4417 return NDR_ERR_SUCCESS;
4420 _PUBLIC_ enum ndr_err_code ndr_pull_nbt_browse_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_packet *r)
4423 uint32_t _flags_save_STRUCT = ndr->flags;
4424 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4425 if (ndr_flags & NDR_SCALARS) {
4426 NDR_CHECK(ndr_pull_align(ndr, 4));
4427 NDR_CHECK(ndr_pull_nbt_browse_opcode(ndr, NDR_SCALARS, &r->opcode));
4428 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->payload, r->opcode));
4429 NDR_CHECK(ndr_pull_nbt_browse_payload(ndr, NDR_SCALARS, &r->payload));
4431 if (ndr_flags & NDR_BUFFERS) {
4433 ndr->flags = _flags_save_STRUCT;
4435 return NDR_ERR_SUCCESS;
4438 _PUBLIC_ void ndr_print_nbt_browse_packet(struct ndr_print *ndr, const char *name, const struct nbt_browse_packet *r)
4440 ndr_print_struct(ndr, name, "nbt_browse_packet");
4442 uint32_t _flags_save_STRUCT = ndr->flags;
4443 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4444 ndr->depth++;
4445 ndr_print_nbt_browse_opcode(ndr, "opcode", r->opcode);
4446 ndr_print_set_switch_value(ndr, &r->payload, r->opcode);
4447 ndr_print_nbt_browse_payload(ndr, "payload", &r->payload);
4448 ndr->depth--;
4449 ndr->flags = _flags_save_STRUCT;