1 /* parser auto-generated by pidl */
4 #include "bin/default/librpc/gen_ndr/ndr_echo.h"
6 _PUBLIC_ enum ndr_err_code ndr_push_echo_info1(struct ndr_push *ndr, int ndr_flags, const struct echo_info1 *r)
8 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9 if (ndr_flags & NDR_SCALARS) {
10 NDR_CHECK(ndr_push_align(ndr, 1));
11 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->v));
12 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
14 if (ndr_flags & NDR_BUFFERS) {
16 return NDR_ERR_SUCCESS;
19 _PUBLIC_ enum ndr_err_code ndr_pull_echo_info1(struct ndr_pull *ndr, int ndr_flags, struct echo_info1 *r)
21 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
22 if (ndr_flags & NDR_SCALARS) {
23 NDR_CHECK(ndr_pull_align(ndr, 1));
24 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->v));
25 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
27 if (ndr_flags & NDR_BUFFERS) {
29 return NDR_ERR_SUCCESS;
32 _PUBLIC_ void ndr_print_echo_info1(struct ndr_print *ndr, const char *name, const struct echo_info1 *r)
34 ndr_print_struct(ndr, name, "echo_info1");
35 if (r == NULL) { ndr_print_null(ndr); return; }
37 ndr_print_uint8(ndr, "v", r->v);
41 static enum ndr_err_code ndr_push_echo_info2(struct ndr_push *ndr, int ndr_flags, const struct echo_info2 *r)
43 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
44 if (ndr_flags & NDR_SCALARS) {
45 NDR_CHECK(ndr_push_align(ndr, 2));
46 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->v));
47 NDR_CHECK(ndr_push_trailer_align(ndr, 2));
49 if (ndr_flags & NDR_BUFFERS) {
51 return NDR_ERR_SUCCESS;
54 static enum ndr_err_code ndr_pull_echo_info2(struct ndr_pull *ndr, int ndr_flags, struct echo_info2 *r)
56 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
57 if (ndr_flags & NDR_SCALARS) {
58 NDR_CHECK(ndr_pull_align(ndr, 2));
59 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->v));
60 NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
62 if (ndr_flags & NDR_BUFFERS) {
64 return NDR_ERR_SUCCESS;
67 _PUBLIC_ void ndr_print_echo_info2(struct ndr_print *ndr, const char *name, const struct echo_info2 *r)
69 ndr_print_struct(ndr, name, "echo_info2");
70 if (r == NULL) { ndr_print_null(ndr); return; }
72 ndr_print_uint16(ndr, "v", r->v);
76 static enum ndr_err_code ndr_push_echo_info3(struct ndr_push *ndr, int ndr_flags, const struct echo_info3 *r)
78 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
79 if (ndr_flags & NDR_SCALARS) {
80 NDR_CHECK(ndr_push_align(ndr, 4));
81 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->v));
82 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
84 if (ndr_flags & NDR_BUFFERS) {
86 return NDR_ERR_SUCCESS;
89 static enum ndr_err_code ndr_pull_echo_info3(struct ndr_pull *ndr, int ndr_flags, struct echo_info3 *r)
91 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
92 if (ndr_flags & NDR_SCALARS) {
93 NDR_CHECK(ndr_pull_align(ndr, 4));
94 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->v));
95 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
97 if (ndr_flags & NDR_BUFFERS) {
99 return NDR_ERR_SUCCESS;
102 _PUBLIC_ void ndr_print_echo_info3(struct ndr_print *ndr, const char *name, const struct echo_info3 *r)
104 ndr_print_struct(ndr, name, "echo_info3");
105 if (r == NULL) { ndr_print_null(ndr); return; }
107 ndr_print_uint32(ndr, "v", r->v);
111 static enum ndr_err_code ndr_push_STRUCT_echo_info4(struct ndr_push *ndr, int ndr_flags, const struct echo_info4 *r)
113 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
114 if (ndr_flags & NDR_SCALARS) {
115 NDR_CHECK(ndr_push_align(ndr, 8));
116 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->v));
117 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
119 if (ndr_flags & NDR_BUFFERS) {
121 return NDR_ERR_SUCCESS;
124 static enum ndr_err_code ndr_pull_STRUCT_echo_info4(struct ndr_pull *ndr, int ndr_flags, struct echo_info4 *r)
126 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
127 if (ndr_flags & NDR_SCALARS) {
128 NDR_CHECK(ndr_pull_align(ndr, 8));
129 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->v));
130 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
132 if (ndr_flags & NDR_BUFFERS) {
134 return NDR_ERR_SUCCESS;
137 _PUBLIC_ void ndr_print_STRUCT_echo_info4(struct ndr_print *ndr, const char *name, const struct echo_info4 *r)
139 ndr_print_struct(ndr, name, "echo_info4");
140 if (r == NULL) { ndr_print_null(ndr); return; }
142 ndr_print_hyper(ndr, "v", r->v);
146 static enum ndr_err_code ndr_push_echo_info5(struct ndr_push *ndr, int ndr_flags, const struct echo_info5 *r)
148 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
149 if (ndr_flags & NDR_SCALARS) {
150 NDR_CHECK(ndr_push_align(ndr, 8));
151 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->v1));
152 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->v2));
153 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
155 if (ndr_flags & NDR_BUFFERS) {
157 return NDR_ERR_SUCCESS;
160 static enum ndr_err_code ndr_pull_echo_info5(struct ndr_pull *ndr, int ndr_flags, struct echo_info5 *r)
162 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
163 if (ndr_flags & NDR_SCALARS) {
164 NDR_CHECK(ndr_pull_align(ndr, 8));
165 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->v1));
166 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->v2));
167 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
169 if (ndr_flags & NDR_BUFFERS) {
171 return NDR_ERR_SUCCESS;
174 _PUBLIC_ void ndr_print_echo_info5(struct ndr_print *ndr, const char *name, const struct echo_info5 *r)
176 ndr_print_struct(ndr, name, "echo_info5");
177 if (r == NULL) { ndr_print_null(ndr); return; }
179 ndr_print_uint8(ndr, "v1", r->v1);
180 ndr_print_hyper(ndr, "v2", r->v2);
184 static enum ndr_err_code ndr_push_echo_info6(struct ndr_push *ndr, int ndr_flags, const struct echo_info6 *r)
186 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
187 if (ndr_flags & NDR_SCALARS) {
188 NDR_CHECK(ndr_push_align(ndr, 1));
189 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->v1));
190 NDR_CHECK(ndr_push_echo_info1(ndr, NDR_SCALARS, &r->info1));
191 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
193 if (ndr_flags & NDR_BUFFERS) {
195 return NDR_ERR_SUCCESS;
198 static enum ndr_err_code ndr_pull_echo_info6(struct ndr_pull *ndr, int ndr_flags, struct echo_info6 *r)
200 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
201 if (ndr_flags & NDR_SCALARS) {
202 NDR_CHECK(ndr_pull_align(ndr, 1));
203 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->v1));
204 NDR_CHECK(ndr_pull_echo_info1(ndr, NDR_SCALARS, &r->info1));
205 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
207 if (ndr_flags & NDR_BUFFERS) {
209 return NDR_ERR_SUCCESS;
212 _PUBLIC_ void ndr_print_echo_info6(struct ndr_print *ndr, const char *name, const struct echo_info6 *r)
214 ndr_print_struct(ndr, name, "echo_info6");
215 if (r == NULL) { ndr_print_null(ndr); return; }
217 ndr_print_uint8(ndr, "v1", r->v1);
218 ndr_print_echo_info1(ndr, "info1", &r->info1);
222 static enum ndr_err_code ndr_push_echo_info7(struct ndr_push *ndr, int ndr_flags, const struct echo_info7 *r)
224 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
225 if (ndr_flags & NDR_SCALARS) {
226 NDR_CHECK(ndr_push_align(ndr, 8));
227 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->v1));
228 NDR_CHECK(ndr_push_STRUCT_echo_info4(ndr, NDR_SCALARS, &r->info4));
229 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
231 if (ndr_flags & NDR_BUFFERS) {
233 return NDR_ERR_SUCCESS;
236 static enum ndr_err_code ndr_pull_echo_info7(struct ndr_pull *ndr, int ndr_flags, struct echo_info7 *r)
238 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
239 if (ndr_flags & NDR_SCALARS) {
240 NDR_CHECK(ndr_pull_align(ndr, 8));
241 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->v1));
242 NDR_CHECK(ndr_pull_STRUCT_echo_info4(ndr, NDR_SCALARS, &r->info4));
243 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
245 if (ndr_flags & NDR_BUFFERS) {
247 return NDR_ERR_SUCCESS;
250 _PUBLIC_ void ndr_print_echo_info7(struct ndr_print *ndr, const char *name, const struct echo_info7 *r)
252 ndr_print_struct(ndr, name, "echo_info7");
253 if (r == NULL) { ndr_print_null(ndr); return; }
255 ndr_print_uint8(ndr, "v1", r->v1);
256 ndr_print_STRUCT_echo_info4(ndr, "info4", &r->info4);
260 static enum ndr_err_code ndr_push_echo_Info(struct ndr_push *ndr, int ndr_flags, const union echo_Info *r)
262 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
263 if (ndr_flags & NDR_SCALARS) {
264 uint32_t level = ndr_push_get_switch_value(ndr, r);
265 NDR_CHECK(ndr_push_union_align(ndr, 8));
266 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
267 NDR_CHECK(ndr_push_union_align(ndr, 8));
270 NDR_CHECK(ndr_push_echo_info1(ndr, NDR_SCALARS, &r->info1));
274 NDR_CHECK(ndr_push_echo_info2(ndr, NDR_SCALARS, &r->info2));
278 NDR_CHECK(ndr_push_echo_info3(ndr, NDR_SCALARS, &r->info3));
282 NDR_CHECK(ndr_push_STRUCT_echo_info4(ndr, NDR_SCALARS, &r->info4));
286 NDR_CHECK(ndr_push_echo_info5(ndr, NDR_SCALARS, &r->info5));
290 NDR_CHECK(ndr_push_echo_info6(ndr, NDR_SCALARS, &r->info6));
294 NDR_CHECK(ndr_push_echo_info7(ndr, NDR_SCALARS, &r->info7));
298 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
301 if (ndr_flags & NDR_BUFFERS) {
302 uint32_t level = ndr_push_get_switch_value(ndr, r);
326 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
329 return NDR_ERR_SUCCESS;
332 static enum ndr_err_code ndr_pull_echo_Info(struct ndr_pull *ndr, int ndr_flags, union echo_Info *r)
336 level = ndr_pull_get_switch_value(ndr, r);
337 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
338 if (ndr_flags & NDR_SCALARS) {
339 NDR_CHECK(ndr_pull_union_align(ndr, 8));
340 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
341 if (_level != level) {
342 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
344 NDR_CHECK(ndr_pull_union_align(ndr, 8));
347 NDR_CHECK(ndr_pull_echo_info1(ndr, NDR_SCALARS, &r->info1));
351 NDR_CHECK(ndr_pull_echo_info2(ndr, NDR_SCALARS, &r->info2));
355 NDR_CHECK(ndr_pull_echo_info3(ndr, NDR_SCALARS, &r->info3));
359 NDR_CHECK(ndr_pull_STRUCT_echo_info4(ndr, NDR_SCALARS, &r->info4));
363 NDR_CHECK(ndr_pull_echo_info5(ndr, NDR_SCALARS, &r->info5));
367 NDR_CHECK(ndr_pull_echo_info6(ndr, NDR_SCALARS, &r->info6));
371 NDR_CHECK(ndr_pull_echo_info7(ndr, NDR_SCALARS, &r->info7));
375 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
378 if (ndr_flags & NDR_BUFFERS) {
402 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
405 return NDR_ERR_SUCCESS;
408 _PUBLIC_ void ndr_print_echo_Info(struct ndr_print *ndr, const char *name, const union echo_Info *r)
411 level = ndr_print_get_switch_value(ndr, r);
412 ndr_print_union(ndr, name, level, "echo_Info");
415 ndr_print_echo_info1(ndr, "info1", &r->info1);
419 ndr_print_echo_info2(ndr, "info2", &r->info2);
423 ndr_print_echo_info3(ndr, "info3", &r->info3);
427 ndr_print_STRUCT_echo_info4(ndr, "info4", &r->info4);
431 ndr_print_echo_info5(ndr, "info5", &r->info5);
435 ndr_print_echo_info6(ndr, "info6", &r->info6);
439 ndr_print_echo_info7(ndr, "info7", &r->info7);
443 ndr_print_bad_level(ndr, name, level);
447 static enum ndr_err_code ndr_push_echo_Enum1(struct ndr_push *ndr, int ndr_flags, enum echo_Enum1 r)
449 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
450 return NDR_ERR_SUCCESS;
453 static enum ndr_err_code ndr_pull_echo_Enum1(struct ndr_pull *ndr, int ndr_flags, enum echo_Enum1 *r)
456 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
458 return NDR_ERR_SUCCESS;
461 _PUBLIC_ void ndr_print_echo_Enum1(struct ndr_print *ndr, const char *name, enum echo_Enum1 r)
463 const char *val = NULL;
466 case ECHO_ENUM1: val = "ECHO_ENUM1"; break;
467 case ECHO_ENUM2: val = "ECHO_ENUM2"; break;
469 ndr_print_enum(ndr, name, "ENUM", val, r);
472 static enum ndr_err_code ndr_push_echo_Enum1_32(struct ndr_push *ndr, int ndr_flags, enum echo_Enum1_32 r)
474 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
475 return NDR_ERR_SUCCESS;
478 static enum ndr_err_code ndr_pull_echo_Enum1_32(struct ndr_pull *ndr, int ndr_flags, enum echo_Enum1_32 *r)
481 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
483 return NDR_ERR_SUCCESS;
486 _PUBLIC_ void ndr_print_echo_Enum1_32(struct ndr_print *ndr, const char *name, enum echo_Enum1_32 r)
488 const char *val = NULL;
491 case ECHO_ENUM1_32: val = "ECHO_ENUM1_32"; break;
492 case ECHO_ENUM2_32: val = "ECHO_ENUM2_32"; break;
494 ndr_print_enum(ndr, name, "ENUM", val, r);
497 static enum ndr_err_code ndr_push_echo_Enum2(struct ndr_push *ndr, int ndr_flags, const struct echo_Enum2 *r)
499 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
500 if (ndr_flags & NDR_SCALARS) {
501 NDR_CHECK(ndr_push_align(ndr, 4));
502 NDR_CHECK(ndr_push_echo_Enum1(ndr, NDR_SCALARS, r->e1));
503 NDR_CHECK(ndr_push_echo_Enum1_32(ndr, NDR_SCALARS, r->e2));
504 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
506 if (ndr_flags & NDR_BUFFERS) {
508 return NDR_ERR_SUCCESS;
511 static enum ndr_err_code ndr_pull_echo_Enum2(struct ndr_pull *ndr, int ndr_flags, struct echo_Enum2 *r)
513 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
514 if (ndr_flags & NDR_SCALARS) {
515 NDR_CHECK(ndr_pull_align(ndr, 4));
516 NDR_CHECK(ndr_pull_echo_Enum1(ndr, NDR_SCALARS, &r->e1));
517 NDR_CHECK(ndr_pull_echo_Enum1_32(ndr, NDR_SCALARS, &r->e2));
518 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
520 if (ndr_flags & NDR_BUFFERS) {
522 return NDR_ERR_SUCCESS;
525 _PUBLIC_ void ndr_print_echo_Enum2(struct ndr_print *ndr, const char *name, const struct echo_Enum2 *r)
527 ndr_print_struct(ndr, name, "echo_Enum2");
528 if (r == NULL) { ndr_print_null(ndr); return; }
530 ndr_print_echo_Enum1(ndr, "e1", r->e1);
531 ndr_print_echo_Enum1_32(ndr, "e2", r->e2);
535 static enum ndr_err_code ndr_push_echo_Enum3(struct ndr_push *ndr, int ndr_flags, const union echo_Enum3 *r)
537 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
538 if (ndr_flags & NDR_SCALARS) {
539 uint32_t level = ndr_push_get_switch_value(ndr, r);
540 NDR_CHECK(ndr_push_union_align(ndr, 4));
541 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
542 NDR_CHECK(ndr_push_union_align(ndr, 4));
545 NDR_CHECK(ndr_push_echo_Enum1(ndr, NDR_SCALARS, r->e1));
549 NDR_CHECK(ndr_push_echo_Enum2(ndr, NDR_SCALARS, &r->e2));
553 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
556 if (ndr_flags & NDR_BUFFERS) {
557 uint32_t level = ndr_push_get_switch_value(ndr, r);
566 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
569 return NDR_ERR_SUCCESS;
572 static enum ndr_err_code ndr_pull_echo_Enum3(struct ndr_pull *ndr, int ndr_flags, union echo_Enum3 *r)
576 level = ndr_pull_get_switch_value(ndr, r);
577 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
578 if (ndr_flags & NDR_SCALARS) {
579 NDR_CHECK(ndr_pull_union_align(ndr, 4));
580 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
581 if (_level != level) {
582 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
584 NDR_CHECK(ndr_pull_union_align(ndr, 4));
587 NDR_CHECK(ndr_pull_echo_Enum1(ndr, NDR_SCALARS, &r->e1));
591 NDR_CHECK(ndr_pull_echo_Enum2(ndr, NDR_SCALARS, &r->e2));
595 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
598 if (ndr_flags & NDR_BUFFERS) {
607 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
610 return NDR_ERR_SUCCESS;
613 _PUBLIC_ void ndr_print_echo_Enum3(struct ndr_print *ndr, const char *name, const union echo_Enum3 *r)
616 level = ndr_print_get_switch_value(ndr, r);
617 ndr_print_union(ndr, name, level, "echo_Enum3");
620 ndr_print_echo_Enum1(ndr, "e1", r->e1);
624 ndr_print_echo_Enum2(ndr, "e2", &r->e2);
628 ndr_print_bad_level(ndr, name, level);
632 static enum ndr_err_code ndr_push_echo_Surrounding(struct ndr_push *ndr, int ndr_flags, const struct echo_Surrounding *r)
634 uint32_t cntr_surrounding_0;
635 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
636 if (ndr_flags & NDR_SCALARS) {
637 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->x));
638 NDR_CHECK(ndr_push_align(ndr, 4));
639 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->x));
640 for (cntr_surrounding_0 = 0; cntr_surrounding_0 < r->x; cntr_surrounding_0++) {
641 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->surrounding[cntr_surrounding_0]));
643 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
645 if (ndr_flags & NDR_BUFFERS) {
647 return NDR_ERR_SUCCESS;
650 static enum ndr_err_code ndr_pull_echo_Surrounding(struct ndr_pull *ndr, int ndr_flags, struct echo_Surrounding *r)
652 uint32_t size_surrounding_0 = 0;
653 uint32_t cntr_surrounding_0;
654 TALLOC_CTX *_mem_save_surrounding_0;
655 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
656 if (ndr_flags & NDR_SCALARS) {
657 NDR_CHECK(ndr_pull_array_size(ndr, &r->surrounding));
658 NDR_CHECK(ndr_pull_align(ndr, 4));
659 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->x));
660 size_surrounding_0 = ndr_get_array_size(ndr, &r->surrounding);
661 NDR_PULL_ALLOC_N(ndr, r->surrounding, size_surrounding_0);
662 _mem_save_surrounding_0 = NDR_PULL_GET_MEM_CTX(ndr);
663 NDR_PULL_SET_MEM_CTX(ndr, r->surrounding, 0);
664 for (cntr_surrounding_0 = 0; cntr_surrounding_0 < size_surrounding_0; cntr_surrounding_0++) {
665 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->surrounding[cntr_surrounding_0]));
667 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_surrounding_0, 0);
668 if (r->surrounding) {
669 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->surrounding, r->x));
671 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
673 if (ndr_flags & NDR_BUFFERS) {
675 return NDR_ERR_SUCCESS;
678 _PUBLIC_ void ndr_print_echo_Surrounding(struct ndr_print *ndr, const char *name, const struct echo_Surrounding *r)
680 uint32_t cntr_surrounding_0;
681 ndr_print_struct(ndr, name, "echo_Surrounding");
682 if (r == NULL) { ndr_print_null(ndr); return; }
684 ndr_print_uint32(ndr, "x", r->x);
685 ndr->print(ndr, "%s: ARRAY(%d)", "surrounding", (int)r->x);
687 for (cntr_surrounding_0=0;cntr_surrounding_0<r->x;cntr_surrounding_0++) {
688 ndr_print_uint16(ndr, "surrounding", r->surrounding[cntr_surrounding_0]);
694 static enum ndr_err_code ndr_push_echo_BytePipe_chunk(struct ndr_push *ndr, int ndr_flags, const struct echo_BytePipe_chunk *r)
696 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
697 if (ndr_flags & NDR_SCALARS) {
698 NDR_CHECK(ndr_push_align(ndr, 5));
699 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
700 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->array, r->count));
701 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
703 if (ndr_flags & NDR_BUFFERS) {
706 NDR_CHECK(ndr_push_pipe_chunk_trailer(ndr, ndr_flags, r->count));
708 return NDR_ERR_SUCCESS;
711 static enum ndr_err_code ndr_pull_echo_BytePipe_chunk(struct ndr_pull *ndr, int ndr_flags, struct echo_BytePipe_chunk *r)
713 uint32_t size_array_0 = 0;
714 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
715 if (ndr_flags & NDR_SCALARS) {
716 NDR_CHECK(ndr_pull_align(ndr, 5));
717 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->count));
718 size_array_0 = r->count;
719 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
720 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->array, size_array_0));
721 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
723 if (ndr_flags & NDR_BUFFERS) {
726 NDR_CHECK(ndr_check_pipe_chunk_trailer(ndr, ndr_flags, r->count));
728 return NDR_ERR_SUCCESS;
731 _PUBLIC_ void ndr_print_echo_BytePipe_chunk(struct ndr_print *ndr, const char *name, const struct echo_BytePipe_chunk *r)
733 ndr_print_struct(ndr, name, "echo_BytePipe_chunk");
734 if (r == NULL) { ndr_print_null(ndr); return; }
736 ndr_print_uint3264(ndr, "count", r->count);
737 ndr_print_array_uint8(ndr, "array", r->array, r->count);
741 static enum ndr_err_code ndr_push_echo_AddOne(struct ndr_push *ndr, int flags, const struct echo_AddOne *r)
743 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
744 if (flags & NDR_IN) {
745 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.in_data));
747 if (flags & NDR_OUT) {
748 if (r->out.out_data == NULL) {
749 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
751 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.out_data));
753 return NDR_ERR_SUCCESS;
756 static enum ndr_err_code ndr_pull_echo_AddOne(struct ndr_pull *ndr, int flags, struct echo_AddOne *r)
758 TALLOC_CTX *_mem_save_out_data_0;
759 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
760 if (flags & NDR_IN) {
763 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.in_data));
764 NDR_PULL_ALLOC(ndr, r->out.out_data);
765 ZERO_STRUCTP(r->out.out_data);
767 if (flags & NDR_OUT) {
768 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
769 NDR_PULL_ALLOC(ndr, r->out.out_data);
771 _mem_save_out_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
772 NDR_PULL_SET_MEM_CTX(ndr, r->out.out_data, LIBNDR_FLAG_REF_ALLOC);
773 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.out_data));
774 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_out_data_0, LIBNDR_FLAG_REF_ALLOC);
776 return NDR_ERR_SUCCESS;
779 _PUBLIC_ void ndr_print_echo_AddOne(struct ndr_print *ndr, const char *name, int flags, const struct echo_AddOne *r)
781 ndr_print_struct(ndr, name, "echo_AddOne");
782 if (r == NULL) { ndr_print_null(ndr); return; }
784 if (flags & NDR_SET_VALUES) {
785 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
787 if (flags & NDR_IN) {
788 ndr_print_struct(ndr, "in", "echo_AddOne");
790 ndr_print_uint32(ndr, "in_data", r->in.in_data);
793 if (flags & NDR_OUT) {
794 ndr_print_struct(ndr, "out", "echo_AddOne");
796 ndr_print_ptr(ndr, "out_data", r->out.out_data);
798 ndr_print_uint32(ndr, "out_data", *r->out.out_data);
805 static enum ndr_err_code ndr_push_echo_EchoData(struct ndr_push *ndr, int flags, const struct echo_EchoData *r)
807 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
808 if (flags & NDR_IN) {
809 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.len));
810 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.len));
811 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.in_data, r->in.len));
813 if (flags & NDR_OUT) {
814 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.len));
815 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.out_data, r->in.len));
817 return NDR_ERR_SUCCESS;
820 static enum ndr_err_code ndr_pull_echo_EchoData(struct ndr_pull *ndr, int flags, struct echo_EchoData *r)
822 uint32_t size_in_data_0 = 0;
823 uint32_t size_out_data_0 = 0;
824 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
825 if (flags & NDR_IN) {
828 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.len));
829 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.in_data));
830 size_in_data_0 = ndr_get_array_size(ndr, &r->in.in_data);
831 NDR_PULL_ALLOC_N(ndr, r->in.in_data, size_in_data_0);
832 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.in_data, size_in_data_0));
834 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.in_data, r->in.len));
837 if (flags & NDR_OUT) {
838 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.out_data));
839 size_out_data_0 = ndr_get_array_size(ndr, &r->out.out_data);
840 NDR_PULL_ALLOC_N(ndr, r->out.out_data, size_out_data_0);
841 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.out_data, size_out_data_0));
842 if (r->out.out_data) {
843 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.out_data, r->in.len));
846 return NDR_ERR_SUCCESS;
849 _PUBLIC_ void ndr_print_echo_EchoData(struct ndr_print *ndr, const char *name, int flags, const struct echo_EchoData *r)
851 ndr_print_struct(ndr, name, "echo_EchoData");
852 if (r == NULL) { ndr_print_null(ndr); return; }
854 if (flags & NDR_SET_VALUES) {
855 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
857 if (flags & NDR_IN) {
858 ndr_print_struct(ndr, "in", "echo_EchoData");
860 ndr_print_uint32(ndr, "len", r->in.len);
861 ndr_print_array_uint8(ndr, "in_data", r->in.in_data, r->in.len);
864 if (flags & NDR_OUT) {
865 ndr_print_struct(ndr, "out", "echo_EchoData");
867 ndr_print_array_uint8(ndr, "out_data", r->out.out_data, r->in.len);
873 static enum ndr_err_code ndr_push_echo_SinkData(struct ndr_push *ndr, int flags, const struct echo_SinkData *r)
875 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
876 if (flags & NDR_IN) {
877 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.len));
878 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.len));
879 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.len));
881 if (flags & NDR_OUT) {
883 return NDR_ERR_SUCCESS;
886 static enum ndr_err_code ndr_pull_echo_SinkData(struct ndr_pull *ndr, int flags, struct echo_SinkData *r)
888 uint32_t size_data_0 = 0;
889 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
890 if (flags & NDR_IN) {
891 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.len));
892 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data));
893 size_data_0 = ndr_get_array_size(ndr, &r->in.data);
894 NDR_PULL_ALLOC_N(ndr, r->in.data, size_data_0);
895 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, size_data_0));
897 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.len));
900 if (flags & NDR_OUT) {
902 return NDR_ERR_SUCCESS;
905 _PUBLIC_ void ndr_print_echo_SinkData(struct ndr_print *ndr, const char *name, int flags, const struct echo_SinkData *r)
907 ndr_print_struct(ndr, name, "echo_SinkData");
908 if (r == NULL) { ndr_print_null(ndr); return; }
910 if (flags & NDR_SET_VALUES) {
911 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
913 if (flags & NDR_IN) {
914 ndr_print_struct(ndr, "in", "echo_SinkData");
916 ndr_print_uint32(ndr, "len", r->in.len);
917 ndr_print_array_uint8(ndr, "data", r->in.data, r->in.len);
920 if (flags & NDR_OUT) {
921 ndr_print_struct(ndr, "out", "echo_SinkData");
928 static enum ndr_err_code ndr_push_echo_SourceData(struct ndr_push *ndr, int flags, const struct echo_SourceData *r)
930 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
931 if (flags & NDR_IN) {
932 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.len));
934 if (flags & NDR_OUT) {
935 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.len));
936 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.len));
938 return NDR_ERR_SUCCESS;
941 static enum ndr_err_code ndr_pull_echo_SourceData(struct ndr_pull *ndr, int flags, struct echo_SourceData *r)
943 uint32_t size_data_0 = 0;
944 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
945 if (flags & NDR_IN) {
948 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.len));
950 if (flags & NDR_OUT) {
951 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data));
952 size_data_0 = ndr_get_array_size(ndr, &r->out.data);
953 NDR_PULL_ALLOC_N(ndr, r->out.data, size_data_0);
954 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, size_data_0));
956 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.len));
959 return NDR_ERR_SUCCESS;
962 _PUBLIC_ void ndr_print_echo_SourceData(struct ndr_print *ndr, const char *name, int flags, const struct echo_SourceData *r)
964 ndr_print_struct(ndr, name, "echo_SourceData");
965 if (r == NULL) { ndr_print_null(ndr); return; }
967 if (flags & NDR_SET_VALUES) {
968 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
970 if (flags & NDR_IN) {
971 ndr_print_struct(ndr, "in", "echo_SourceData");
973 ndr_print_uint32(ndr, "len", r->in.len);
976 if (flags & NDR_OUT) {
977 ndr_print_struct(ndr, "out", "echo_SourceData");
979 ndr_print_array_uint8(ndr, "data", r->out.data, r->in.len);
985 static enum ndr_err_code ndr_push_echo_TestCall(struct ndr_push *ndr, int flags, const struct echo_TestCall *r)
987 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
988 if (flags & NDR_IN) {
989 if (r->in.s1 == NULL) {
990 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
992 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.s1, CH_UTF16)));
993 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
994 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.s1, CH_UTF16)));
995 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.s1, ndr_charset_length(r->in.s1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
997 if (flags & NDR_OUT) {
998 if (r->out.s2 == NULL) {
999 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1001 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.s2));
1003 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.s2, CH_UTF16)));
1004 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1005 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.s2, CH_UTF16)));
1006 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.s2, ndr_charset_length(*r->out.s2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
1009 return NDR_ERR_SUCCESS;
1012 static enum ndr_err_code ndr_pull_echo_TestCall(struct ndr_pull *ndr, int flags, struct echo_TestCall *r)
1014 uint32_t size_s1_1 = 0;
1015 uint32_t length_s1_1 = 0;
1017 uint32_t size_s2_2 = 0;
1018 uint32_t length_s2_2 = 0;
1019 TALLOC_CTX *_mem_save_s2_0;
1020 TALLOC_CTX *_mem_save_s2_1;
1021 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1022 if (flags & NDR_IN) {
1023 ZERO_STRUCT(r->out);
1025 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.s1));
1026 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.s1));
1027 size_s1_1 = ndr_get_array_size(ndr, &r->in.s1);
1028 length_s1_1 = ndr_get_array_length(ndr, &r->in.s1);
1029 if (length_s1_1 > size_s1_1) {
1030 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_s1_1, length_s1_1);
1032 NDR_CHECK(ndr_check_string_terminator(ndr, length_s1_1, sizeof(uint16_t)));
1033 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.s1, length_s1_1, sizeof(uint16_t), CH_UTF16));
1034 NDR_PULL_ALLOC(ndr, r->out.s2);
1035 ZERO_STRUCTP(r->out.s2);
1037 if (flags & NDR_OUT) {
1038 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1039 NDR_PULL_ALLOC(ndr, r->out.s2);
1041 _mem_save_s2_0 = NDR_PULL_GET_MEM_CTX(ndr);
1042 NDR_PULL_SET_MEM_CTX(ndr, r->out.s2, LIBNDR_FLAG_REF_ALLOC);
1043 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_s2));
1045 NDR_PULL_ALLOC(ndr, *r->out.s2);
1050 _mem_save_s2_1 = NDR_PULL_GET_MEM_CTX(ndr);
1051 NDR_PULL_SET_MEM_CTX(ndr, *r->out.s2, 0);
1052 NDR_CHECK(ndr_pull_array_size(ndr, r->out.s2));
1053 NDR_CHECK(ndr_pull_array_length(ndr, r->out.s2));
1054 size_s2_2 = ndr_get_array_size(ndr, r->out.s2);
1055 length_s2_2 = ndr_get_array_length(ndr, r->out.s2);
1056 if (length_s2_2 > size_s2_2) {
1057 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_s2_2, length_s2_2);
1059 NDR_CHECK(ndr_check_string_terminator(ndr, length_s2_2, sizeof(uint16_t)));
1060 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.s2, length_s2_2, sizeof(uint16_t), CH_UTF16));
1061 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s2_1, 0);
1063 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s2_0, LIBNDR_FLAG_REF_ALLOC);
1065 return NDR_ERR_SUCCESS;
1068 _PUBLIC_ void ndr_print_echo_TestCall(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestCall *r)
1070 ndr_print_struct(ndr, name, "echo_TestCall");
1071 if (r == NULL) { ndr_print_null(ndr); return; }
1073 if (flags & NDR_SET_VALUES) {
1074 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1076 if (flags & NDR_IN) {
1077 ndr_print_struct(ndr, "in", "echo_TestCall");
1079 ndr_print_ptr(ndr, "s1", r->in.s1);
1081 ndr_print_string(ndr, "s1", r->in.s1);
1085 if (flags & NDR_OUT) {
1086 ndr_print_struct(ndr, "out", "echo_TestCall");
1088 ndr_print_ptr(ndr, "s2", r->out.s2);
1090 ndr_print_ptr(ndr, "s2", *r->out.s2);
1093 ndr_print_string(ndr, "s2", *r->out.s2);
1102 static enum ndr_err_code ndr_push_echo_TestCall2(struct ndr_push *ndr, int flags, const struct echo_TestCall2 *r)
1104 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1105 if (flags & NDR_IN) {
1106 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
1108 if (flags & NDR_OUT) {
1109 if (r->out.info == NULL) {
1110 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1112 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
1113 NDR_CHECK(ndr_push_echo_Info(ndr, NDR_SCALARS, r->out.info));
1114 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
1116 return NDR_ERR_SUCCESS;
1119 static enum ndr_err_code ndr_pull_echo_TestCall2(struct ndr_pull *ndr, int flags, struct echo_TestCall2 *r)
1121 TALLOC_CTX *_mem_save_info_0;
1122 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1123 if (flags & NDR_IN) {
1124 ZERO_STRUCT(r->out);
1126 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
1127 NDR_PULL_ALLOC(ndr, r->out.info);
1128 ZERO_STRUCTP(r->out.info);
1130 if (flags & NDR_OUT) {
1131 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1132 NDR_PULL_ALLOC(ndr, r->out.info);
1134 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
1135 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
1136 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
1137 NDR_CHECK(ndr_pull_echo_Info(ndr, NDR_SCALARS, r->out.info));
1138 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
1139 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
1141 return NDR_ERR_SUCCESS;
1144 _PUBLIC_ void ndr_print_echo_TestCall2(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestCall2 *r)
1146 ndr_print_struct(ndr, name, "echo_TestCall2");
1147 if (r == NULL) { ndr_print_null(ndr); return; }
1149 if (flags & NDR_SET_VALUES) {
1150 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1152 if (flags & NDR_IN) {
1153 ndr_print_struct(ndr, "in", "echo_TestCall2");
1155 ndr_print_uint16(ndr, "level", r->in.level);
1158 if (flags & NDR_OUT) {
1159 ndr_print_struct(ndr, "out", "echo_TestCall2");
1161 ndr_print_ptr(ndr, "info", r->out.info);
1163 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
1164 ndr_print_echo_Info(ndr, "info", r->out.info);
1166 ndr_print_NTSTATUS(ndr, "result", r->out.result);
1172 static enum ndr_err_code ndr_push_echo_TestSleep(struct ndr_push *ndr, int flags, const struct echo_TestSleep *r)
1174 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1175 if (flags & NDR_IN) {
1176 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.seconds));
1178 if (flags & NDR_OUT) {
1179 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result));
1181 return NDR_ERR_SUCCESS;
1184 static enum ndr_err_code ndr_pull_echo_TestSleep(struct ndr_pull *ndr, int flags, struct echo_TestSleep *r)
1186 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1187 if (flags & NDR_IN) {
1188 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.seconds));
1190 if (flags & NDR_OUT) {
1191 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result));
1193 return NDR_ERR_SUCCESS;
1196 _PUBLIC_ void ndr_print_echo_TestSleep(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestSleep *r)
1198 ndr_print_struct(ndr, name, "echo_TestSleep");
1199 if (r == NULL) { ndr_print_null(ndr); return; }
1201 if (flags & NDR_SET_VALUES) {
1202 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1204 if (flags & NDR_IN) {
1205 ndr_print_struct(ndr, "in", "echo_TestSleep");
1207 ndr_print_uint32(ndr, "seconds", r->in.seconds);
1210 if (flags & NDR_OUT) {
1211 ndr_print_struct(ndr, "out", "echo_TestSleep");
1213 ndr_print_uint32(ndr, "result", r->out.result);
1219 static enum ndr_err_code ndr_push_echo_TestEnum(struct ndr_push *ndr, int flags, const struct echo_TestEnum *r)
1221 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1222 if (flags & NDR_IN) {
1223 if (r->in.foo1 == NULL) {
1224 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1226 NDR_CHECK(ndr_push_echo_Enum1(ndr, NDR_SCALARS, *r->in.foo1));
1227 if (r->in.foo2 == NULL) {
1228 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1230 NDR_CHECK(ndr_push_echo_Enum2(ndr, NDR_SCALARS, r->in.foo2));
1231 if (r->in.foo3 == NULL) {
1232 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1234 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.foo3, *r->in.foo1));
1235 NDR_CHECK(ndr_push_echo_Enum3(ndr, NDR_SCALARS, r->in.foo3));
1237 if (flags & NDR_OUT) {
1238 if (r->out.foo1 == NULL) {
1239 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1241 NDR_CHECK(ndr_push_echo_Enum1(ndr, NDR_SCALARS, *r->out.foo1));
1242 if (r->out.foo2 == NULL) {
1243 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1245 NDR_CHECK(ndr_push_echo_Enum2(ndr, NDR_SCALARS, r->out.foo2));
1246 if (r->out.foo3 == NULL) {
1247 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1249 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.foo3, *r->out.foo1));
1250 NDR_CHECK(ndr_push_echo_Enum3(ndr, NDR_SCALARS, r->out.foo3));
1252 return NDR_ERR_SUCCESS;
1255 static enum ndr_err_code ndr_pull_echo_TestEnum(struct ndr_pull *ndr, int flags, struct echo_TestEnum *r)
1257 TALLOC_CTX *_mem_save_foo1_0;
1258 TALLOC_CTX *_mem_save_foo2_0;
1259 TALLOC_CTX *_mem_save_foo3_0;
1260 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1261 if (flags & NDR_IN) {
1262 ZERO_STRUCT(r->out);
1264 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1265 NDR_PULL_ALLOC(ndr, r->in.foo1);
1267 _mem_save_foo1_0 = NDR_PULL_GET_MEM_CTX(ndr);
1268 NDR_PULL_SET_MEM_CTX(ndr, r->in.foo1, LIBNDR_FLAG_REF_ALLOC);
1269 NDR_CHECK(ndr_pull_echo_Enum1(ndr, NDR_SCALARS, r->in.foo1));
1270 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_foo1_0, LIBNDR_FLAG_REF_ALLOC);
1271 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1272 NDR_PULL_ALLOC(ndr, r->in.foo2);
1274 _mem_save_foo2_0 = NDR_PULL_GET_MEM_CTX(ndr);
1275 NDR_PULL_SET_MEM_CTX(ndr, r->in.foo2, LIBNDR_FLAG_REF_ALLOC);
1276 NDR_CHECK(ndr_pull_echo_Enum2(ndr, NDR_SCALARS, r->in.foo2));
1277 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_foo2_0, LIBNDR_FLAG_REF_ALLOC);
1278 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1279 NDR_PULL_ALLOC(ndr, r->in.foo3);
1281 _mem_save_foo3_0 = NDR_PULL_GET_MEM_CTX(ndr);
1282 NDR_PULL_SET_MEM_CTX(ndr, r->in.foo3, LIBNDR_FLAG_REF_ALLOC);
1283 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.foo3, *r->in.foo1));
1284 NDR_CHECK(ndr_pull_echo_Enum3(ndr, NDR_SCALARS, r->in.foo3));
1285 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_foo3_0, LIBNDR_FLAG_REF_ALLOC);
1286 NDR_PULL_ALLOC(ndr, r->out.foo1);
1287 *r->out.foo1 = *r->in.foo1;
1288 NDR_PULL_ALLOC(ndr, r->out.foo2);
1289 *r->out.foo2 = *r->in.foo2;
1290 NDR_PULL_ALLOC(ndr, r->out.foo3);
1291 *r->out.foo3 = *r->in.foo3;
1293 if (flags & NDR_OUT) {
1294 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1295 NDR_PULL_ALLOC(ndr, r->out.foo1);
1297 _mem_save_foo1_0 = NDR_PULL_GET_MEM_CTX(ndr);
1298 NDR_PULL_SET_MEM_CTX(ndr, r->out.foo1, LIBNDR_FLAG_REF_ALLOC);
1299 NDR_CHECK(ndr_pull_echo_Enum1(ndr, NDR_SCALARS, r->out.foo1));
1300 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_foo1_0, LIBNDR_FLAG_REF_ALLOC);
1301 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1302 NDR_PULL_ALLOC(ndr, r->out.foo2);
1304 _mem_save_foo2_0 = NDR_PULL_GET_MEM_CTX(ndr);
1305 NDR_PULL_SET_MEM_CTX(ndr, r->out.foo2, LIBNDR_FLAG_REF_ALLOC);
1306 NDR_CHECK(ndr_pull_echo_Enum2(ndr, NDR_SCALARS, r->out.foo2));
1307 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_foo2_0, LIBNDR_FLAG_REF_ALLOC);
1308 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1309 NDR_PULL_ALLOC(ndr, r->out.foo3);
1311 _mem_save_foo3_0 = NDR_PULL_GET_MEM_CTX(ndr);
1312 NDR_PULL_SET_MEM_CTX(ndr, r->out.foo3, LIBNDR_FLAG_REF_ALLOC);
1313 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.foo3, *r->out.foo1));
1314 NDR_CHECK(ndr_pull_echo_Enum3(ndr, NDR_SCALARS, r->out.foo3));
1315 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_foo3_0, LIBNDR_FLAG_REF_ALLOC);
1317 return NDR_ERR_SUCCESS;
1320 _PUBLIC_ void ndr_print_echo_TestEnum(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestEnum *r)
1322 ndr_print_struct(ndr, name, "echo_TestEnum");
1323 if (r == NULL) { ndr_print_null(ndr); return; }
1325 if (flags & NDR_SET_VALUES) {
1326 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1328 if (flags & NDR_IN) {
1329 ndr_print_struct(ndr, "in", "echo_TestEnum");
1331 ndr_print_ptr(ndr, "foo1", r->in.foo1);
1333 ndr_print_echo_Enum1(ndr, "foo1", *r->in.foo1);
1335 ndr_print_ptr(ndr, "foo2", r->in.foo2);
1337 ndr_print_echo_Enum2(ndr, "foo2", r->in.foo2);
1339 ndr_print_ptr(ndr, "foo3", r->in.foo3);
1341 ndr_print_set_switch_value(ndr, r->in.foo3, *r->in.foo1);
1342 ndr_print_echo_Enum3(ndr, "foo3", r->in.foo3);
1346 if (flags & NDR_OUT) {
1347 ndr_print_struct(ndr, "out", "echo_TestEnum");
1349 ndr_print_ptr(ndr, "foo1", r->out.foo1);
1351 ndr_print_echo_Enum1(ndr, "foo1", *r->out.foo1);
1353 ndr_print_ptr(ndr, "foo2", r->out.foo2);
1355 ndr_print_echo_Enum2(ndr, "foo2", r->out.foo2);
1357 ndr_print_ptr(ndr, "foo3", r->out.foo3);
1359 ndr_print_set_switch_value(ndr, r->out.foo3, *r->out.foo1);
1360 ndr_print_echo_Enum3(ndr, "foo3", r->out.foo3);
1367 static enum ndr_err_code ndr_push_echo_TestSurrounding(struct ndr_push *ndr, int flags, const struct echo_TestSurrounding *r)
1369 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1370 if (flags & NDR_IN) {
1371 if (r->in.data == NULL) {
1372 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1374 NDR_CHECK(ndr_push_echo_Surrounding(ndr, NDR_SCALARS, r->in.data));
1376 if (flags & NDR_OUT) {
1377 if (r->out.data == NULL) {
1378 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1380 NDR_CHECK(ndr_push_echo_Surrounding(ndr, NDR_SCALARS, r->out.data));
1382 return NDR_ERR_SUCCESS;
1385 static enum ndr_err_code ndr_pull_echo_TestSurrounding(struct ndr_pull *ndr, int flags, struct echo_TestSurrounding *r)
1387 TALLOC_CTX *_mem_save_data_0;
1388 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1389 if (flags & NDR_IN) {
1390 ZERO_STRUCT(r->out);
1392 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1393 NDR_PULL_ALLOC(ndr, r->in.data);
1395 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
1396 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
1397 NDR_CHECK(ndr_pull_echo_Surrounding(ndr, NDR_SCALARS, r->in.data));
1398 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
1399 NDR_PULL_ALLOC(ndr, r->out.data);
1400 *r->out.data = *r->in.data;
1402 if (flags & NDR_OUT) {
1403 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1404 NDR_PULL_ALLOC(ndr, r->out.data);
1406 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
1407 NDR_PULL_SET_MEM_CTX(ndr, r->out.data, LIBNDR_FLAG_REF_ALLOC);
1408 NDR_CHECK(ndr_pull_echo_Surrounding(ndr, NDR_SCALARS, r->out.data));
1409 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
1411 return NDR_ERR_SUCCESS;
1414 _PUBLIC_ void ndr_print_echo_TestSurrounding(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestSurrounding *r)
1416 ndr_print_struct(ndr, name, "echo_TestSurrounding");
1417 if (r == NULL) { ndr_print_null(ndr); return; }
1419 if (flags & NDR_SET_VALUES) {
1420 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1422 if (flags & NDR_IN) {
1423 ndr_print_struct(ndr, "in", "echo_TestSurrounding");
1425 ndr_print_ptr(ndr, "data", r->in.data);
1427 ndr_print_echo_Surrounding(ndr, "data", r->in.data);
1431 if (flags & NDR_OUT) {
1432 ndr_print_struct(ndr, "out", "echo_TestSurrounding");
1434 ndr_print_ptr(ndr, "data", r->out.data);
1436 ndr_print_echo_Surrounding(ndr, "data", r->out.data);
1443 static enum ndr_err_code ndr_push_echo_TestDoublePointer(struct ndr_push *ndr, int flags, const struct echo_TestDoublePointer *r)
1445 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1446 if (flags & NDR_IN) {
1447 if (r->in.data == NULL) {
1448 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1450 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->in.data));
1452 NDR_CHECK(ndr_push_unique_ptr(ndr, **r->in.data));
1454 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ***r->in.data));
1458 if (flags & NDR_OUT) {
1459 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.result));
1461 return NDR_ERR_SUCCESS;
1464 static enum ndr_err_code ndr_pull_echo_TestDoublePointer(struct ndr_pull *ndr, int flags, struct echo_TestDoublePointer *r)
1467 TALLOC_CTX *_mem_save_data_0;
1468 TALLOC_CTX *_mem_save_data_1;
1469 TALLOC_CTX *_mem_save_data_2;
1470 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1471 if (flags & NDR_IN) {
1472 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1473 NDR_PULL_ALLOC(ndr, r->in.data);
1475 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
1476 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
1477 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
1479 NDR_PULL_ALLOC(ndr, *r->in.data);
1484 _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
1485 NDR_PULL_SET_MEM_CTX(ndr, *r->in.data, 0);
1486 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
1488 NDR_PULL_ALLOC(ndr, **r->in.data);
1490 **r->in.data = NULL;
1493 _mem_save_data_2 = NDR_PULL_GET_MEM_CTX(ndr);
1494 NDR_PULL_SET_MEM_CTX(ndr, **r->in.data, 0);
1495 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, **r->in.data));
1496 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_2, 0);
1498 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
1500 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
1502 if (flags & NDR_OUT) {
1503 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.result));
1505 return NDR_ERR_SUCCESS;
1508 _PUBLIC_ void ndr_print_echo_TestDoublePointer(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestDoublePointer *r)
1510 ndr_print_struct(ndr, name, "echo_TestDoublePointer");
1511 if (r == NULL) { ndr_print_null(ndr); return; }
1513 if (flags & NDR_SET_VALUES) {
1514 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1516 if (flags & NDR_IN) {
1517 ndr_print_struct(ndr, "in", "echo_TestDoublePointer");
1519 ndr_print_ptr(ndr, "data", r->in.data);
1521 ndr_print_ptr(ndr, "data", *r->in.data);
1524 ndr_print_ptr(ndr, "data", **r->in.data);
1527 ndr_print_uint16(ndr, "data", ***r->in.data);
1535 if (flags & NDR_OUT) {
1536 ndr_print_struct(ndr, "out", "echo_TestDoublePointer");
1538 ndr_print_uint16(ndr, "result", r->out.result);
1544 static enum ndr_err_code ndr_push_echo_TestBytePipeIn(struct ndr_push *ndr, int flags, const struct echo_TestBytePipeIn *r)
1546 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1547 if (flags & NDR_IN) {
1548 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_chunks));
1549 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.chunk_size));
1551 if (flags & NDR_OUT) {
1552 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result));
1554 return NDR_ERR_SUCCESS;
1557 static enum ndr_err_code ndr_pull_echo_TestBytePipeIn(struct ndr_pull *ndr, int flags, struct echo_TestBytePipeIn *r)
1559 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1560 if (flags & NDR_IN) {
1561 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_chunks));
1562 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.chunk_size));
1564 if (flags & NDR_OUT) {
1565 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result));
1567 return NDR_ERR_SUCCESS;
1570 _PUBLIC_ void ndr_print_echo_TestBytePipeIn(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestBytePipeIn *r)
1572 ndr_print_struct(ndr, name, "echo_TestBytePipeIn");
1573 if (r == NULL) { ndr_print_null(ndr); return; }
1575 if (flags & NDR_SET_VALUES) {
1576 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1578 if (flags & NDR_IN) {
1579 ndr_print_struct(ndr, "in", "echo_TestBytePipeIn");
1581 ndr_print_uint32(ndr, "num_chunks", r->in.num_chunks);
1582 ndr_print_uint32(ndr, "chunk_size", r->in.chunk_size);
1583 ndr_print_ptr(ndr, "in_pipe", r->in.in_pipe);
1588 if (flags & NDR_OUT) {
1589 ndr_print_struct(ndr, "out", "echo_TestBytePipeIn");
1591 ndr_print_uint32(ndr, "result", r->out.result);
1597 static enum ndr_err_code ndr_push_echo_TestBytePipeOut(struct ndr_push *ndr, int flags, const struct echo_TestBytePipeOut *r)
1599 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1600 if (flags & NDR_IN) {
1601 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_chunks));
1602 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.chunk_size));
1604 if (flags & NDR_OUT) {
1605 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result));
1607 return NDR_ERR_SUCCESS;
1610 static enum ndr_err_code ndr_pull_echo_TestBytePipeOut(struct ndr_pull *ndr, int flags, struct echo_TestBytePipeOut *r)
1612 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1613 if (flags & NDR_IN) {
1614 ZERO_STRUCT(r->out);
1616 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_chunks));
1617 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.chunk_size));
1619 if (flags & NDR_OUT) {
1620 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result));
1622 return NDR_ERR_SUCCESS;
1625 _PUBLIC_ void ndr_print_echo_TestBytePipeOut(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestBytePipeOut *r)
1627 ndr_print_struct(ndr, name, "echo_TestBytePipeOut");
1628 if (r == NULL) { ndr_print_null(ndr); return; }
1630 if (flags & NDR_SET_VALUES) {
1631 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1633 if (flags & NDR_IN) {
1634 ndr_print_struct(ndr, "in", "echo_TestBytePipeOut");
1636 ndr_print_uint32(ndr, "num_chunks", r->in.num_chunks);
1637 ndr_print_uint32(ndr, "chunk_size", r->in.chunk_size);
1640 if (flags & NDR_OUT) {
1641 ndr_print_struct(ndr, "out", "echo_TestBytePipeOut");
1643 ndr_print_ptr(ndr, "out_pipe", r->out.out_pipe);
1646 ndr_print_uint32(ndr, "result", r->out.result);
1652 static enum ndr_err_code ndr_push_echo_TestBytePipeInOut(struct ndr_push *ndr, int flags, const struct echo_TestBytePipeInOut *r)
1654 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1655 if (flags & NDR_IN) {
1656 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_chunks));
1657 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.chunk_size));
1659 if (flags & NDR_OUT) {
1660 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result));
1662 return NDR_ERR_SUCCESS;
1665 static enum ndr_err_code ndr_pull_echo_TestBytePipeInOut(struct ndr_pull *ndr, int flags, struct echo_TestBytePipeInOut *r)
1667 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1668 if (flags & NDR_IN) {
1669 ZERO_STRUCT(r->out);
1671 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_chunks));
1672 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.chunk_size));
1674 if (flags & NDR_OUT) {
1675 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result));
1677 return NDR_ERR_SUCCESS;
1680 _PUBLIC_ void ndr_print_echo_TestBytePipeInOut(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestBytePipeInOut *r)
1682 ndr_print_struct(ndr, name, "echo_TestBytePipeInOut");
1683 if (r == NULL) { ndr_print_null(ndr); return; }
1685 if (flags & NDR_SET_VALUES) {
1686 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1688 if (flags & NDR_IN) {
1689 ndr_print_struct(ndr, "in", "echo_TestBytePipeInOut");
1691 ndr_print_uint32(ndr, "num_chunks", r->in.num_chunks);
1692 ndr_print_uint32(ndr, "chunk_size", r->in.chunk_size);
1693 ndr_print_ptr(ndr, "out_pipe", r->in.out_pipe);
1698 if (flags & NDR_OUT) {
1699 ndr_print_struct(ndr, "out", "echo_TestBytePipeInOut");
1701 ndr_print_ptr(ndr, "out_pipe", r->out.out_pipe);
1704 ndr_print_uint32(ndr, "result", r->out.result);
1710 static const struct ndr_interface_call_pipe echo_TestBytePipeIn_in_pipes[] = {
1713 "echo_BytePipe_chunk",
1714 sizeof(struct echo_BytePipe_chunk),
1715 (ndr_push_flags_fn_t) ndr_push_echo_BytePipe_chunk,
1716 (ndr_pull_flags_fn_t) ndr_pull_echo_BytePipe_chunk,
1717 (ndr_print_fn_t) ndr_print_echo_BytePipe_chunk,
1719 { NULL, NULL, 0, NULL, NULL, NULL }
1722 static const struct ndr_interface_call_pipe echo_TestBytePipeOut_out_pipes[] = {
1725 "echo_BytePipe_chunk",
1726 sizeof(struct echo_BytePipe_chunk),
1727 (ndr_push_flags_fn_t) ndr_push_echo_BytePipe_chunk,
1728 (ndr_pull_flags_fn_t) ndr_pull_echo_BytePipe_chunk,
1729 (ndr_print_fn_t) ndr_print_echo_BytePipe_chunk,
1731 { NULL, NULL, 0, NULL, NULL, NULL }
1734 static const struct ndr_interface_call_pipe echo_TestBytePipeInOut_in_pipes[] = {
1737 "echo_BytePipe_chunk",
1738 sizeof(struct echo_BytePipe_chunk),
1739 (ndr_push_flags_fn_t) ndr_push_echo_BytePipe_chunk,
1740 (ndr_pull_flags_fn_t) ndr_pull_echo_BytePipe_chunk,
1741 (ndr_print_fn_t) ndr_print_echo_BytePipe_chunk,
1743 { NULL, NULL, 0, NULL, NULL, NULL }
1746 static const struct ndr_interface_call_pipe echo_TestBytePipeInOut_out_pipes[] = {
1749 "echo_BytePipe_chunk",
1750 sizeof(struct echo_BytePipe_chunk),
1751 (ndr_push_flags_fn_t) ndr_push_echo_BytePipe_chunk,
1752 (ndr_pull_flags_fn_t) ndr_pull_echo_BytePipe_chunk,
1753 (ndr_print_fn_t) ndr_print_echo_BytePipe_chunk,
1755 { NULL, NULL, 0, NULL, NULL, NULL }
1758 static const struct ndr_interface_call rpcecho_calls[] = {
1761 sizeof(struct echo_AddOne),
1762 (ndr_push_flags_fn_t) ndr_push_echo_AddOne,
1763 (ndr_pull_flags_fn_t) ndr_pull_echo_AddOne,
1764 (ndr_print_function_t) ndr_print_echo_AddOne,
1770 sizeof(struct echo_EchoData),
1771 (ndr_push_flags_fn_t) ndr_push_echo_EchoData,
1772 (ndr_pull_flags_fn_t) ndr_pull_echo_EchoData,
1773 (ndr_print_function_t) ndr_print_echo_EchoData,
1779 sizeof(struct echo_SinkData),
1780 (ndr_push_flags_fn_t) ndr_push_echo_SinkData,
1781 (ndr_pull_flags_fn_t) ndr_pull_echo_SinkData,
1782 (ndr_print_function_t) ndr_print_echo_SinkData,
1788 sizeof(struct echo_SourceData),
1789 (ndr_push_flags_fn_t) ndr_push_echo_SourceData,
1790 (ndr_pull_flags_fn_t) ndr_pull_echo_SourceData,
1791 (ndr_print_function_t) ndr_print_echo_SourceData,
1797 sizeof(struct echo_TestCall),
1798 (ndr_push_flags_fn_t) ndr_push_echo_TestCall,
1799 (ndr_pull_flags_fn_t) ndr_pull_echo_TestCall,
1800 (ndr_print_function_t) ndr_print_echo_TestCall,
1806 sizeof(struct echo_TestCall2),
1807 (ndr_push_flags_fn_t) ndr_push_echo_TestCall2,
1808 (ndr_pull_flags_fn_t) ndr_pull_echo_TestCall2,
1809 (ndr_print_function_t) ndr_print_echo_TestCall2,
1815 sizeof(struct echo_TestSleep),
1816 (ndr_push_flags_fn_t) ndr_push_echo_TestSleep,
1817 (ndr_pull_flags_fn_t) ndr_pull_echo_TestSleep,
1818 (ndr_print_function_t) ndr_print_echo_TestSleep,
1824 sizeof(struct echo_TestEnum),
1825 (ndr_push_flags_fn_t) ndr_push_echo_TestEnum,
1826 (ndr_pull_flags_fn_t) ndr_pull_echo_TestEnum,
1827 (ndr_print_function_t) ndr_print_echo_TestEnum,
1832 "echo_TestSurrounding",
1833 sizeof(struct echo_TestSurrounding),
1834 (ndr_push_flags_fn_t) ndr_push_echo_TestSurrounding,
1835 (ndr_pull_flags_fn_t) ndr_pull_echo_TestSurrounding,
1836 (ndr_print_function_t) ndr_print_echo_TestSurrounding,
1841 "echo_TestDoublePointer",
1842 sizeof(struct echo_TestDoublePointer),
1843 (ndr_push_flags_fn_t) ndr_push_echo_TestDoublePointer,
1844 (ndr_pull_flags_fn_t) ndr_pull_echo_TestDoublePointer,
1845 (ndr_print_function_t) ndr_print_echo_TestDoublePointer,
1850 "echo_TestBytePipeIn",
1851 sizeof(struct echo_TestBytePipeIn),
1852 (ndr_push_flags_fn_t) ndr_push_echo_TestBytePipeIn,
1853 (ndr_pull_flags_fn_t) ndr_pull_echo_TestBytePipeIn,
1854 (ndr_print_function_t) ndr_print_echo_TestBytePipeIn,
1855 { 1, echo_TestBytePipeIn_in_pipes },
1859 "echo_TestBytePipeOut",
1860 sizeof(struct echo_TestBytePipeOut),
1861 (ndr_push_flags_fn_t) ndr_push_echo_TestBytePipeOut,
1862 (ndr_pull_flags_fn_t) ndr_pull_echo_TestBytePipeOut,
1863 (ndr_print_function_t) ndr_print_echo_TestBytePipeOut,
1865 { 1, echo_TestBytePipeOut_out_pipes },
1868 "echo_TestBytePipeInOut",
1869 sizeof(struct echo_TestBytePipeInOut),
1870 (ndr_push_flags_fn_t) ndr_push_echo_TestBytePipeInOut,
1871 (ndr_pull_flags_fn_t) ndr_pull_echo_TestBytePipeInOut,
1872 (ndr_print_function_t) ndr_print_echo_TestBytePipeInOut,
1873 { 1, echo_TestBytePipeInOut_in_pipes },
1874 { 1, echo_TestBytePipeInOut_out_pipes },
1876 { NULL, 0, NULL, NULL, NULL }
1879 static const char * const rpcecho_endpoint_strings[] = {
1880 "ncacn_np:[\\pipe\\rpcecho]",
1885 static const struct ndr_interface_string_array rpcecho_endpoints = {
1887 .names = rpcecho_endpoint_strings
1890 static const char * const rpcecho_authservice_strings[] = {
1894 static const struct ndr_interface_string_array rpcecho_authservices = {
1896 .names = rpcecho_authservice_strings
1900 const struct ndr_interface_table ndr_table_rpcecho = {
1903 {0x60a15ec5,0x4de8,0x11d7,{0xa6,0x37},{0x00,0x50,0x56,0xa2,0x01,0x82}},
1906 .helpstring = NDR_RPCECHO_HELPSTRING,
1908 .calls = rpcecho_calls,
1909 .endpoints = &rpcecho_endpoints,
1910 .authservices = &rpcecho_authservices