1 /* parser auto-generated by pidl */
4 #include "../librpc/gen_ndr/ndr_rap.h"
6 static enum ndr_err_code ndr_push_rap_share_info_0(struct ndr_push *ndr, int ndr_flags, const struct rap_share_info_0 *r)
8 if (ndr_flags & NDR_SCALARS) {
9 NDR_CHECK(ndr_push_align(ndr, 1));
10 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->share_name, 13));
11 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
13 if (ndr_flags & NDR_BUFFERS) {
15 return NDR_ERR_SUCCESS;
18 static enum ndr_err_code ndr_pull_rap_share_info_0(struct ndr_pull *ndr, int ndr_flags, struct rap_share_info_0 *r)
20 if (ndr_flags & NDR_SCALARS) {
21 NDR_CHECK(ndr_pull_align(ndr, 1));
22 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->share_name, 13));
23 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
25 if (ndr_flags & NDR_BUFFERS) {
27 return NDR_ERR_SUCCESS;
30 _PUBLIC_ void ndr_print_rap_share_info_0(struct ndr_print *ndr, const char *name, const struct rap_share_info_0 *r)
32 ndr_print_struct(ndr, name, "rap_share_info_0");
34 ndr_print_array_uint8(ndr, "share_name", r->share_name, 13);
38 static enum ndr_err_code ndr_push_rap_share_info_1(struct ndr_push *ndr, int ndr_flags, const struct rap_share_info_1 *r)
40 if (ndr_flags & NDR_SCALARS) {
41 NDR_CHECK(ndr_push_align(ndr, 5));
42 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->share_name, 13));
43 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->reserved1));
44 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->share_type));
45 NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
46 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
48 if (ndr_flags & NDR_BUFFERS) {
50 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_DOS)));
51 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
52 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_DOS)));
53 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_DOS), sizeof(uint8_t), CH_DOS));
56 return NDR_ERR_SUCCESS;
59 static enum ndr_err_code ndr_pull_rap_share_info_1(struct ndr_pull *ndr, int ndr_flags, struct rap_share_info_1 *r)
61 uint32_t _ptr_comment;
62 TALLOC_CTX *_mem_save_comment_0;
63 if (ndr_flags & NDR_SCALARS) {
64 NDR_CHECK(ndr_pull_align(ndr, 5));
65 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->share_name, 13));
66 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->reserved1));
67 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->share_type));
68 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
70 NDR_PULL_ALLOC(ndr, r->comment);
74 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
76 if (ndr_flags & NDR_BUFFERS) {
78 _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
79 NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
80 NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
81 NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
82 if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
83 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
85 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint8_t)));
86 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint8_t), CH_DOS));
87 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
90 return NDR_ERR_SUCCESS;
93 _PUBLIC_ void ndr_print_rap_share_info_1(struct ndr_print *ndr, const char *name, const struct rap_share_info_1 *r)
95 ndr_print_struct(ndr, name, "rap_share_info_1");
97 ndr_print_array_uint8(ndr, "share_name", r->share_name, 13);
98 ndr_print_uint8(ndr, "reserved1", r->reserved1);
99 ndr_print_uint16(ndr, "share_type", r->share_type);
100 ndr_print_ptr(ndr, "comment", r->comment);
103 ndr_print_string(ndr, "comment", r->comment);
109 static enum ndr_err_code ndr_push_rap_share_info_2(struct ndr_push *ndr, int ndr_flags, const struct rap_share_info_2 *r)
111 if (ndr_flags & NDR_SCALARS) {
112 NDR_CHECK(ndr_push_align(ndr, 5));
113 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->share_name, 13));
114 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->reserved1));
115 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->share_type));
116 NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
117 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->perms));
118 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->maximum_users));
119 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->active_users));
120 NDR_CHECK(ndr_push_unique_ptr(ndr, r->path));
121 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->password, 9));
122 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->reserved2));
123 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
125 if (ndr_flags & NDR_BUFFERS) {
127 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_DOS)));
128 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
129 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_DOS)));
130 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_DOS), sizeof(uint8_t), CH_DOS));
133 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->path, CH_DOS)));
134 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
135 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->path, CH_DOS)));
136 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->path, ndr_charset_length(r->path, CH_DOS), sizeof(uint8_t), CH_DOS));
139 return NDR_ERR_SUCCESS;
142 static enum ndr_err_code ndr_pull_rap_share_info_2(struct ndr_pull *ndr, int ndr_flags, struct rap_share_info_2 *r)
144 uint32_t _ptr_comment;
145 TALLOC_CTX *_mem_save_comment_0;
147 TALLOC_CTX *_mem_save_path_0;
148 if (ndr_flags & NDR_SCALARS) {
149 NDR_CHECK(ndr_pull_align(ndr, 5));
150 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->share_name, 13));
151 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->reserved1));
152 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->share_type));
153 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
155 NDR_PULL_ALLOC(ndr, r->comment);
159 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->perms));
160 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->maximum_users));
161 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->active_users));
162 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_path));
164 NDR_PULL_ALLOC(ndr, r->path);
168 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->password, 9));
169 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->reserved2));
170 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
172 if (ndr_flags & NDR_BUFFERS) {
174 _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
175 NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
176 NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
177 NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
178 if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
179 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
181 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint8_t)));
182 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint8_t), CH_DOS));
183 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
186 _mem_save_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
187 NDR_PULL_SET_MEM_CTX(ndr, r->path, 0);
188 NDR_CHECK(ndr_pull_array_size(ndr, &r->path));
189 NDR_CHECK(ndr_pull_array_length(ndr, &r->path));
190 if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) {
191 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path));
193 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint8_t)));
194 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint8_t), CH_DOS));
195 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
198 return NDR_ERR_SUCCESS;
201 _PUBLIC_ void ndr_print_rap_share_info_2(struct ndr_print *ndr, const char *name, const struct rap_share_info_2 *r)
203 ndr_print_struct(ndr, name, "rap_share_info_2");
205 ndr_print_array_uint8(ndr, "share_name", r->share_name, 13);
206 ndr_print_uint8(ndr, "reserved1", r->reserved1);
207 ndr_print_uint16(ndr, "share_type", r->share_type);
208 ndr_print_ptr(ndr, "comment", r->comment);
211 ndr_print_string(ndr, "comment", r->comment);
214 ndr_print_uint16(ndr, "perms", r->perms);
215 ndr_print_uint16(ndr, "maximum_users", r->maximum_users);
216 ndr_print_uint16(ndr, "active_users", r->active_users);
217 ndr_print_ptr(ndr, "path", r->path);
220 ndr_print_string(ndr, "path", r->path);
223 ndr_print_array_uint8(ndr, "password", r->password, 9);
224 ndr_print_uint8(ndr, "reserved2", r->reserved2);
228 static enum ndr_err_code ndr_push_rap_share_info(struct ndr_push *ndr, int ndr_flags, const union rap_share_info *r)
230 if (ndr_flags & NDR_SCALARS) {
231 int level = ndr_push_get_switch_value(ndr, r);
232 NDR_CHECK(ndr_push_union_align(ndr, 5));
235 NDR_CHECK(ndr_push_rap_share_info_0(ndr, NDR_SCALARS, &r->info0));
239 NDR_CHECK(ndr_push_rap_share_info_1(ndr, NDR_SCALARS, &r->info1));
243 NDR_CHECK(ndr_push_rap_share_info_2(ndr, NDR_SCALARS, &r->info2));
247 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
250 if (ndr_flags & NDR_BUFFERS) {
251 int level = ndr_push_get_switch_value(ndr, r);
257 NDR_CHECK(ndr_push_rap_share_info_1(ndr, NDR_BUFFERS, &r->info1));
261 NDR_CHECK(ndr_push_rap_share_info_2(ndr, NDR_BUFFERS, &r->info2));
265 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
268 return NDR_ERR_SUCCESS;
271 static enum ndr_err_code ndr_pull_rap_share_info(struct ndr_pull *ndr, int ndr_flags, union rap_share_info *r)
274 level = ndr_pull_get_switch_value(ndr, r);
275 if (ndr_flags & NDR_SCALARS) {
276 NDR_CHECK(ndr_pull_union_align(ndr, 5));
279 NDR_CHECK(ndr_pull_rap_share_info_0(ndr, NDR_SCALARS, &r->info0));
283 NDR_CHECK(ndr_pull_rap_share_info_1(ndr, NDR_SCALARS, &r->info1));
287 NDR_CHECK(ndr_pull_rap_share_info_2(ndr, NDR_SCALARS, &r->info2));
291 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
294 if (ndr_flags & NDR_BUFFERS) {
300 NDR_CHECK(ndr_pull_rap_share_info_1(ndr, NDR_BUFFERS, &r->info1));
304 NDR_CHECK(ndr_pull_rap_share_info_2(ndr, NDR_BUFFERS, &r->info2));
308 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
311 return NDR_ERR_SUCCESS;
314 _PUBLIC_ void ndr_print_rap_share_info(struct ndr_print *ndr, const char *name, const union rap_share_info *r)
317 level = ndr_print_get_switch_value(ndr, r);
318 ndr_print_union(ndr, name, level, "rap_share_info");
321 ndr_print_rap_share_info_0(ndr, "info0", &r->info0);
325 ndr_print_rap_share_info_1(ndr, "info1", &r->info1);
329 ndr_print_rap_share_info_2(ndr, "info2", &r->info2);
333 ndr_print_bad_level(ndr, name, level);
337 static enum ndr_err_code ndr_push_rap_server_info_0(struct ndr_push *ndr, int ndr_flags, const struct rap_server_info_0 *r)
339 if (ndr_flags & NDR_SCALARS) {
340 NDR_CHECK(ndr_push_align(ndr, 1));
341 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->name, 16));
342 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
344 if (ndr_flags & NDR_BUFFERS) {
346 return NDR_ERR_SUCCESS;
349 static enum ndr_err_code ndr_pull_rap_server_info_0(struct ndr_pull *ndr, int ndr_flags, struct rap_server_info_0 *r)
351 if (ndr_flags & NDR_SCALARS) {
352 NDR_CHECK(ndr_pull_align(ndr, 1));
353 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->name, 16));
354 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
356 if (ndr_flags & NDR_BUFFERS) {
358 return NDR_ERR_SUCCESS;
361 _PUBLIC_ void ndr_print_rap_server_info_0(struct ndr_print *ndr, const char *name, const struct rap_server_info_0 *r)
363 ndr_print_struct(ndr, name, "rap_server_info_0");
365 ndr_print_array_uint8(ndr, "name", r->name, 16);
369 static enum ndr_err_code ndr_push_rap_server_info_1(struct ndr_push *ndr, int ndr_flags, const struct rap_server_info_1 *r)
371 if (ndr_flags & NDR_SCALARS) {
372 NDR_CHECK(ndr_push_align(ndr, 5));
373 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->name, 16));
374 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->version_major));
375 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->version_minor));
376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->servertype));
377 NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
378 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
380 if (ndr_flags & NDR_BUFFERS) {
382 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_DOS)));
383 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
384 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_DOS)));
385 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_DOS), sizeof(uint8_t), CH_DOS));
388 return NDR_ERR_SUCCESS;
391 static enum ndr_err_code ndr_pull_rap_server_info_1(struct ndr_pull *ndr, int ndr_flags, struct rap_server_info_1 *r)
393 uint32_t _ptr_comment;
394 TALLOC_CTX *_mem_save_comment_0;
395 if (ndr_flags & NDR_SCALARS) {
396 NDR_CHECK(ndr_pull_align(ndr, 5));
397 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->name, 16));
398 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->version_major));
399 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->version_minor));
400 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->servertype));
401 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
403 NDR_PULL_ALLOC(ndr, r->comment);
407 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
409 if (ndr_flags & NDR_BUFFERS) {
411 _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
412 NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
413 NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
414 NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
415 if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
416 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
418 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint8_t)));
419 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint8_t), CH_DOS));
420 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
423 return NDR_ERR_SUCCESS;
426 _PUBLIC_ void ndr_print_rap_server_info_1(struct ndr_print *ndr, const char *name, const struct rap_server_info_1 *r)
428 ndr_print_struct(ndr, name, "rap_server_info_1");
430 ndr_print_array_uint8(ndr, "name", r->name, 16);
431 ndr_print_uint8(ndr, "version_major", r->version_major);
432 ndr_print_uint8(ndr, "version_minor", r->version_minor);
433 ndr_print_uint32(ndr, "servertype", r->servertype);
434 ndr_print_ptr(ndr, "comment", r->comment);
437 ndr_print_string(ndr, "comment", r->comment);
443 static enum ndr_err_code ndr_push_rap_server_info(struct ndr_push *ndr, int ndr_flags, const union rap_server_info *r)
445 if (ndr_flags & NDR_SCALARS) {
446 int level = ndr_push_get_switch_value(ndr, r);
447 NDR_CHECK(ndr_push_union_align(ndr, 5));
450 NDR_CHECK(ndr_push_rap_server_info_0(ndr, NDR_SCALARS, &r->info0));
454 NDR_CHECK(ndr_push_rap_server_info_1(ndr, NDR_SCALARS, &r->info1));
458 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
461 if (ndr_flags & NDR_BUFFERS) {
462 int level = ndr_push_get_switch_value(ndr, r);
468 NDR_CHECK(ndr_push_rap_server_info_1(ndr, NDR_BUFFERS, &r->info1));
472 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
475 return NDR_ERR_SUCCESS;
478 static enum ndr_err_code ndr_pull_rap_server_info(struct ndr_pull *ndr, int ndr_flags, union rap_server_info *r)
481 level = ndr_pull_get_switch_value(ndr, r);
482 if (ndr_flags & NDR_SCALARS) {
483 NDR_CHECK(ndr_pull_union_align(ndr, 5));
486 NDR_CHECK(ndr_pull_rap_server_info_0(ndr, NDR_SCALARS, &r->info0));
490 NDR_CHECK(ndr_pull_rap_server_info_1(ndr, NDR_SCALARS, &r->info1));
494 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
497 if (ndr_flags & NDR_BUFFERS) {
503 NDR_CHECK(ndr_pull_rap_server_info_1(ndr, NDR_BUFFERS, &r->info1));
507 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
510 return NDR_ERR_SUCCESS;
513 _PUBLIC_ void ndr_print_rap_server_info(struct ndr_print *ndr, const char *name, const union rap_server_info *r)
516 level = ndr_print_get_switch_value(ndr, r);
517 ndr_print_union(ndr, name, level, "rap_server_info");
520 ndr_print_rap_server_info_0(ndr, "info0", &r->info0);
524 ndr_print_rap_server_info_1(ndr, "info1", &r->info1);
528 ndr_print_bad_level(ndr, name, level);
532 _PUBLIC_ enum ndr_err_code ndr_push_rap_PrintJStatusCode(struct ndr_push *ndr, int ndr_flags, enum rap_PrintJStatusCode r)
534 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
535 return NDR_ERR_SUCCESS;
538 _PUBLIC_ enum ndr_err_code ndr_pull_rap_PrintJStatusCode(struct ndr_pull *ndr, int ndr_flags, enum rap_PrintJStatusCode *r)
541 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
543 return NDR_ERR_SUCCESS;
546 _PUBLIC_ void ndr_print_rap_PrintJStatusCode(struct ndr_print *ndr, const char *name, enum rap_PrintJStatusCode r)
548 const char *val = NULL;
551 case PRJ_QS_QUEUED: val = "PRJ_QS_QUEUED"; break;
552 case PRJ_QS_PAUSED: val = "PRJ_QS_PAUSED"; break;
553 case PRJ_QS_SPOOLING: val = "PRJ_QS_SPOOLING"; break;
554 case PRJ_QS_PRINTING: val = "PRJ_QS_PRINTING"; break;
555 case PRJ_QS_ERROR: val = "PRJ_QS_ERROR"; break;
557 ndr_print_enum(ndr, name, "ENUM", val, r);
560 static enum ndr_err_code ndr_push_rap_PrintJobInfo1(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintJobInfo1 *r)
562 if (ndr_flags & NDR_SCALARS) {
563 NDR_CHECK(ndr_push_align(ndr, 5));
564 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobID));
565 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->UserName, 21));
566 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Pad));
567 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->NotifyName, 16));
568 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->DataType, 10));
569 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintParameterString));
570 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintParameterStringHigh));
571 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobPosition));
572 NDR_CHECK(ndr_push_rap_PrintJStatusCode(ndr, NDR_SCALARS, r->JobStatus));
573 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->JobStatusString));
574 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobStatusStringHigh));
575 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->TimeSubmitted));
576 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->JobSize));
577 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->JobCommentString));
578 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobCommentStringHigh));
579 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
581 if (ndr_flags & NDR_BUFFERS) {
582 if (r->PrintParameterString) {
583 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintParameterString));
584 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->PrintParameterString, CH_DOS)));
585 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
586 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->PrintParameterString, CH_DOS)));
587 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->PrintParameterString, ndr_charset_length(r->PrintParameterString, CH_DOS), sizeof(uint8_t), CH_DOS));
589 if (r->JobStatusString) {
590 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->JobStatusString));
591 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->JobStatusString, CH_DOS)));
592 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
593 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->JobStatusString, CH_DOS)));
594 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->JobStatusString, ndr_charset_length(r->JobStatusString, CH_DOS), sizeof(uint8_t), CH_DOS));
596 if (r->JobCommentString) {
597 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->JobCommentString));
598 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->JobCommentString, CH_DOS)));
599 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
600 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->JobCommentString, CH_DOS)));
601 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->JobCommentString, ndr_charset_length(r->JobCommentString, CH_DOS), sizeof(uint8_t), CH_DOS));
604 return NDR_ERR_SUCCESS;
607 static enum ndr_err_code ndr_pull_rap_PrintJobInfo1(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintJobInfo1 *r)
609 uint16_t _ptr_PrintParameterString;
610 TALLOC_CTX *_mem_save_PrintParameterString_0;
611 uint16_t _ptr_JobStatusString;
612 TALLOC_CTX *_mem_save_JobStatusString_0;
613 uint16_t _ptr_JobCommentString;
614 TALLOC_CTX *_mem_save_JobCommentString_0;
615 if (ndr_flags & NDR_SCALARS) {
616 NDR_CHECK(ndr_pull_align(ndr, 5));
617 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobID));
618 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->UserName, 21));
619 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Pad));
620 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->NotifyName, 16));
621 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->DataType, 10));
622 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintParameterString));
623 if (_ptr_PrintParameterString) {
624 NDR_PULL_ALLOC(ndr, r->PrintParameterString);
625 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintParameterString, _ptr_PrintParameterString));
627 r->PrintParameterString = NULL;
629 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintParameterStringHigh));
630 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobPosition));
631 NDR_CHECK(ndr_pull_rap_PrintJStatusCode(ndr, NDR_SCALARS, &r->JobStatus));
632 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_JobStatusString));
633 if (_ptr_JobStatusString) {
634 NDR_PULL_ALLOC(ndr, r->JobStatusString);
635 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->JobStatusString, _ptr_JobStatusString));
637 r->JobStatusString = NULL;
639 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobStatusStringHigh));
640 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->TimeSubmitted));
641 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->JobSize));
642 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_JobCommentString));
643 if (_ptr_JobCommentString) {
644 NDR_PULL_ALLOC(ndr, r->JobCommentString);
645 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->JobCommentString, _ptr_JobCommentString));
647 r->JobCommentString = NULL;
649 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobCommentStringHigh));
650 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
652 if (ndr_flags & NDR_BUFFERS) {
653 if (r->PrintParameterString) {
654 uint32_t _relative_save_offset;
655 _relative_save_offset = ndr->offset;
656 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintParameterString));
657 _mem_save_PrintParameterString_0 = NDR_PULL_GET_MEM_CTX(ndr);
658 NDR_PULL_SET_MEM_CTX(ndr, r->PrintParameterString, 0);
659 NDR_CHECK(ndr_pull_array_size(ndr, &r->PrintParameterString));
660 NDR_CHECK(ndr_pull_array_length(ndr, &r->PrintParameterString));
661 if (ndr_get_array_length(ndr, &r->PrintParameterString) > ndr_get_array_size(ndr, &r->PrintParameterString)) {
662 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->PrintParameterString), ndr_get_array_length(ndr, &r->PrintParameterString));
664 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->PrintParameterString), sizeof(uint8_t)));
665 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->PrintParameterString, ndr_get_array_length(ndr, &r->PrintParameterString), sizeof(uint8_t), CH_DOS));
666 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintParameterString_0, 0);
668 if (r->JobStatusString) {
669 uint32_t _relative_save_offset;
670 _relative_save_offset = ndr->offset;
671 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->JobStatusString));
672 _mem_save_JobStatusString_0 = NDR_PULL_GET_MEM_CTX(ndr);
673 NDR_PULL_SET_MEM_CTX(ndr, r->JobStatusString, 0);
674 NDR_CHECK(ndr_pull_array_size(ndr, &r->JobStatusString));
675 NDR_CHECK(ndr_pull_array_length(ndr, &r->JobStatusString));
676 if (ndr_get_array_length(ndr, &r->JobStatusString) > ndr_get_array_size(ndr, &r->JobStatusString)) {
677 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->JobStatusString), ndr_get_array_length(ndr, &r->JobStatusString));
679 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->JobStatusString), sizeof(uint8_t)));
680 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->JobStatusString, ndr_get_array_length(ndr, &r->JobStatusString), sizeof(uint8_t), CH_DOS));
681 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_JobStatusString_0, 0);
683 if (r->JobCommentString) {
684 uint32_t _relative_save_offset;
685 _relative_save_offset = ndr->offset;
686 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->JobCommentString));
687 _mem_save_JobCommentString_0 = NDR_PULL_GET_MEM_CTX(ndr);
688 NDR_PULL_SET_MEM_CTX(ndr, r->JobCommentString, 0);
689 NDR_CHECK(ndr_pull_array_size(ndr, &r->JobCommentString));
690 NDR_CHECK(ndr_pull_array_length(ndr, &r->JobCommentString));
691 if (ndr_get_array_length(ndr, &r->JobCommentString) > ndr_get_array_size(ndr, &r->JobCommentString)) {
692 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->JobCommentString), ndr_get_array_length(ndr, &r->JobCommentString));
694 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->JobCommentString), sizeof(uint8_t)));
695 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->JobCommentString, ndr_get_array_length(ndr, &r->JobCommentString), sizeof(uint8_t), CH_DOS));
696 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_JobCommentString_0, 0);
699 return NDR_ERR_SUCCESS;
702 _PUBLIC_ void ndr_print_rap_PrintJobInfo1(struct ndr_print *ndr, const char *name, const struct rap_PrintJobInfo1 *r)
704 ndr_print_struct(ndr, name, "rap_PrintJobInfo1");
706 ndr_print_uint16(ndr, "JobID", r->JobID);
707 ndr_print_array_uint8(ndr, "UserName", r->UserName, 21);
708 ndr_print_uint8(ndr, "Pad", r->Pad);
709 ndr_print_array_uint8(ndr, "NotifyName", r->NotifyName, 16);
710 ndr_print_array_uint8(ndr, "DataType", r->DataType, 10);
711 ndr_print_ptr(ndr, "PrintParameterString", r->PrintParameterString);
713 if (r->PrintParameterString) {
714 ndr_print_string(ndr, "PrintParameterString", r->PrintParameterString);
717 ndr_print_uint16(ndr, "PrintParameterStringHigh", r->PrintParameterStringHigh);
718 ndr_print_uint16(ndr, "JobPosition", r->JobPosition);
719 ndr_print_rap_PrintJStatusCode(ndr, "JobStatus", r->JobStatus);
720 ndr_print_ptr(ndr, "JobStatusString", r->JobStatusString);
722 if (r->JobStatusString) {
723 ndr_print_string(ndr, "JobStatusString", r->JobStatusString);
726 ndr_print_uint16(ndr, "JobStatusStringHigh", r->JobStatusStringHigh);
727 ndr_print_uint32(ndr, "TimeSubmitted", r->TimeSubmitted);
728 ndr_print_uint32(ndr, "JobSize", r->JobSize);
729 ndr_print_ptr(ndr, "JobCommentString", r->JobCommentString);
731 if (r->JobCommentString) {
732 ndr_print_string(ndr, "JobCommentString", r->JobCommentString);
735 ndr_print_uint16(ndr, "JobCommentStringHigh", r->JobCommentStringHigh);
739 _PUBLIC_ enum ndr_err_code ndr_push_rap_PrintQStatusCode(struct ndr_push *ndr, int ndr_flags, enum rap_PrintQStatusCode r)
741 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
742 return NDR_ERR_SUCCESS;
745 _PUBLIC_ enum ndr_err_code ndr_pull_rap_PrintQStatusCode(struct ndr_pull *ndr, int ndr_flags, enum rap_PrintQStatusCode *r)
748 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
750 return NDR_ERR_SUCCESS;
753 _PUBLIC_ void ndr_print_rap_PrintQStatusCode(struct ndr_print *ndr, const char *name, enum rap_PrintQStatusCode r)
755 const char *val = NULL;
758 case PRQ_ACTIVE: val = "PRQ_ACTIVE"; break;
759 case PRQ_PAUSE: val = "PRQ_PAUSE"; break;
760 case PRQ_ERROR: val = "PRQ_ERROR"; break;
761 case PRQ_PENDING: val = "PRQ_PENDING"; break;
763 ndr_print_enum(ndr, name, "ENUM", val, r);
766 static enum ndr_err_code ndr_push_rap_PrintQueue0(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue0 *r)
768 if (ndr_flags & NDR_SCALARS) {
769 NDR_CHECK(ndr_push_align(ndr, 1));
770 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->PrintQName, 13));
771 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
773 if (ndr_flags & NDR_BUFFERS) {
775 return NDR_ERR_SUCCESS;
778 static enum ndr_err_code ndr_pull_rap_PrintQueue0(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue0 *r)
780 if (ndr_flags & NDR_SCALARS) {
781 NDR_CHECK(ndr_pull_align(ndr, 1));
782 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->PrintQName, 13));
783 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
785 if (ndr_flags & NDR_BUFFERS) {
787 return NDR_ERR_SUCCESS;
790 _PUBLIC_ void ndr_print_rap_PrintQueue0(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue0 *r)
792 ndr_print_struct(ndr, name, "rap_PrintQueue0");
794 ndr_print_array_uint8(ndr, "PrintQName", r->PrintQName, 13);
798 static enum ndr_err_code ndr_push_rap_PrintQueue1(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue1 *r)
800 if (ndr_flags & NDR_SCALARS) {
801 NDR_CHECK(ndr_push_align(ndr, 5));
802 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->PrintQName, 13));
803 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Pad1));
804 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Priority));
805 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->StartTime));
806 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->UntilTime));
807 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->SeparatorPageFilename));
808 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->SeparatorPageFilenameHigh));
809 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintProcessorDllName));
810 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintProcessorDllNameHigh));
811 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintDestinationsName));
812 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintDestinationsNameHigh));
813 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintParameterString));
814 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintParameterStringHigh));
815 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->CommentString));
816 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->CommentStringHigh));
817 NDR_CHECK(ndr_push_rap_PrintQStatusCode(ndr, NDR_SCALARS, r->PrintQStatus));
818 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintJobCount));
819 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
821 if (ndr_flags & NDR_BUFFERS) {
822 if (r->SeparatorPageFilename) {
823 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->SeparatorPageFilename));
824 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->SeparatorPageFilename, CH_DOS)));
825 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
826 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->SeparatorPageFilename, CH_DOS)));
827 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->SeparatorPageFilename, ndr_charset_length(r->SeparatorPageFilename, CH_DOS), sizeof(uint8_t), CH_DOS));
829 if (r->PrintProcessorDllName) {
830 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintProcessorDllName));
831 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->PrintProcessorDllName, CH_DOS)));
832 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
833 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->PrintProcessorDllName, CH_DOS)));
834 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->PrintProcessorDllName, ndr_charset_length(r->PrintProcessorDllName, CH_DOS), sizeof(uint8_t), CH_DOS));
836 if (r->PrintDestinationsName) {
837 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintDestinationsName));
838 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->PrintDestinationsName, CH_DOS)));
839 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
840 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->PrintDestinationsName, CH_DOS)));
841 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->PrintDestinationsName, ndr_charset_length(r->PrintDestinationsName, CH_DOS), sizeof(uint8_t), CH_DOS));
843 if (r->PrintParameterString) {
844 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintParameterString));
845 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->PrintParameterString, CH_DOS)));
846 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
847 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->PrintParameterString, CH_DOS)));
848 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->PrintParameterString, ndr_charset_length(r->PrintParameterString, CH_DOS), sizeof(uint8_t), CH_DOS));
850 if (r->CommentString) {
851 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->CommentString));
852 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->CommentString, CH_DOS)));
853 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
854 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->CommentString, CH_DOS)));
855 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->CommentString, ndr_charset_length(r->CommentString, CH_DOS), sizeof(uint8_t), CH_DOS));
858 return NDR_ERR_SUCCESS;
861 static enum ndr_err_code ndr_pull_rap_PrintQueue1(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue1 *r)
863 uint16_t _ptr_SeparatorPageFilename;
864 TALLOC_CTX *_mem_save_SeparatorPageFilename_0;
865 uint16_t _ptr_PrintProcessorDllName;
866 TALLOC_CTX *_mem_save_PrintProcessorDllName_0;
867 uint16_t _ptr_PrintDestinationsName;
868 TALLOC_CTX *_mem_save_PrintDestinationsName_0;
869 uint16_t _ptr_PrintParameterString;
870 TALLOC_CTX *_mem_save_PrintParameterString_0;
871 uint16_t _ptr_CommentString;
872 TALLOC_CTX *_mem_save_CommentString_0;
873 if (ndr_flags & NDR_SCALARS) {
874 NDR_CHECK(ndr_pull_align(ndr, 5));
875 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->PrintQName, 13));
876 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Pad1));
877 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Priority));
878 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->StartTime));
879 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UntilTime));
880 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_SeparatorPageFilename));
881 if (_ptr_SeparatorPageFilename) {
882 NDR_PULL_ALLOC(ndr, r->SeparatorPageFilename);
883 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->SeparatorPageFilename, _ptr_SeparatorPageFilename));
885 r->SeparatorPageFilename = NULL;
887 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->SeparatorPageFilenameHigh));
888 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintProcessorDllName));
889 if (_ptr_PrintProcessorDllName) {
890 NDR_PULL_ALLOC(ndr, r->PrintProcessorDllName);
891 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintProcessorDllName, _ptr_PrintProcessorDllName));
893 r->PrintProcessorDllName = NULL;
895 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintProcessorDllNameHigh));
896 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintDestinationsName));
897 if (_ptr_PrintDestinationsName) {
898 NDR_PULL_ALLOC(ndr, r->PrintDestinationsName);
899 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintDestinationsName, _ptr_PrintDestinationsName));
901 r->PrintDestinationsName = NULL;
903 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintDestinationsNameHigh));
904 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintParameterString));
905 if (_ptr_PrintParameterString) {
906 NDR_PULL_ALLOC(ndr, r->PrintParameterString);
907 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintParameterString, _ptr_PrintParameterString));
909 r->PrintParameterString = NULL;
911 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintParameterStringHigh));
912 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_CommentString));
913 if (_ptr_CommentString) {
914 NDR_PULL_ALLOC(ndr, r->CommentString);
915 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->CommentString, _ptr_CommentString));
917 r->CommentString = NULL;
919 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->CommentStringHigh));
920 NDR_CHECK(ndr_pull_rap_PrintQStatusCode(ndr, NDR_SCALARS, &r->PrintQStatus));
921 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintJobCount));
922 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
924 if (ndr_flags & NDR_BUFFERS) {
925 if (r->SeparatorPageFilename) {
926 uint32_t _relative_save_offset;
927 _relative_save_offset = ndr->offset;
928 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->SeparatorPageFilename));
929 _mem_save_SeparatorPageFilename_0 = NDR_PULL_GET_MEM_CTX(ndr);
930 NDR_PULL_SET_MEM_CTX(ndr, r->SeparatorPageFilename, 0);
931 NDR_CHECK(ndr_pull_array_size(ndr, &r->SeparatorPageFilename));
932 NDR_CHECK(ndr_pull_array_length(ndr, &r->SeparatorPageFilename));
933 if (ndr_get_array_length(ndr, &r->SeparatorPageFilename) > ndr_get_array_size(ndr, &r->SeparatorPageFilename)) {
934 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->SeparatorPageFilename), ndr_get_array_length(ndr, &r->SeparatorPageFilename));
936 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->SeparatorPageFilename), sizeof(uint8_t)));
937 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->SeparatorPageFilename, ndr_get_array_length(ndr, &r->SeparatorPageFilename), sizeof(uint8_t), CH_DOS));
938 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SeparatorPageFilename_0, 0);
940 if (r->PrintProcessorDllName) {
941 uint32_t _relative_save_offset;
942 _relative_save_offset = ndr->offset;
943 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintProcessorDllName));
944 _mem_save_PrintProcessorDllName_0 = NDR_PULL_GET_MEM_CTX(ndr);
945 NDR_PULL_SET_MEM_CTX(ndr, r->PrintProcessorDllName, 0);
946 NDR_CHECK(ndr_pull_array_size(ndr, &r->PrintProcessorDllName));
947 NDR_CHECK(ndr_pull_array_length(ndr, &r->PrintProcessorDllName));
948 if (ndr_get_array_length(ndr, &r->PrintProcessorDllName) > ndr_get_array_size(ndr, &r->PrintProcessorDllName)) {
949 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->PrintProcessorDllName), ndr_get_array_length(ndr, &r->PrintProcessorDllName));
951 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->PrintProcessorDllName), sizeof(uint8_t)));
952 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->PrintProcessorDllName, ndr_get_array_length(ndr, &r->PrintProcessorDllName), sizeof(uint8_t), CH_DOS));
953 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintProcessorDllName_0, 0);
955 if (r->PrintDestinationsName) {
956 uint32_t _relative_save_offset;
957 _relative_save_offset = ndr->offset;
958 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintDestinationsName));
959 _mem_save_PrintDestinationsName_0 = NDR_PULL_GET_MEM_CTX(ndr);
960 NDR_PULL_SET_MEM_CTX(ndr, r->PrintDestinationsName, 0);
961 NDR_CHECK(ndr_pull_array_size(ndr, &r->PrintDestinationsName));
962 NDR_CHECK(ndr_pull_array_length(ndr, &r->PrintDestinationsName));
963 if (ndr_get_array_length(ndr, &r->PrintDestinationsName) > ndr_get_array_size(ndr, &r->PrintDestinationsName)) {
964 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->PrintDestinationsName), ndr_get_array_length(ndr, &r->PrintDestinationsName));
966 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->PrintDestinationsName), sizeof(uint8_t)));
967 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->PrintDestinationsName, ndr_get_array_length(ndr, &r->PrintDestinationsName), sizeof(uint8_t), CH_DOS));
968 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintDestinationsName_0, 0);
970 if (r->PrintParameterString) {
971 uint32_t _relative_save_offset;
972 _relative_save_offset = ndr->offset;
973 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintParameterString));
974 _mem_save_PrintParameterString_0 = NDR_PULL_GET_MEM_CTX(ndr);
975 NDR_PULL_SET_MEM_CTX(ndr, r->PrintParameterString, 0);
976 NDR_CHECK(ndr_pull_array_size(ndr, &r->PrintParameterString));
977 NDR_CHECK(ndr_pull_array_length(ndr, &r->PrintParameterString));
978 if (ndr_get_array_length(ndr, &r->PrintParameterString) > ndr_get_array_size(ndr, &r->PrintParameterString)) {
979 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->PrintParameterString), ndr_get_array_length(ndr, &r->PrintParameterString));
981 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->PrintParameterString), sizeof(uint8_t)));
982 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->PrintParameterString, ndr_get_array_length(ndr, &r->PrintParameterString), sizeof(uint8_t), CH_DOS));
983 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintParameterString_0, 0);
985 if (r->CommentString) {
986 uint32_t _relative_save_offset;
987 _relative_save_offset = ndr->offset;
988 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->CommentString));
989 _mem_save_CommentString_0 = NDR_PULL_GET_MEM_CTX(ndr);
990 NDR_PULL_SET_MEM_CTX(ndr, r->CommentString, 0);
991 NDR_CHECK(ndr_pull_array_size(ndr, &r->CommentString));
992 NDR_CHECK(ndr_pull_array_length(ndr, &r->CommentString));
993 if (ndr_get_array_length(ndr, &r->CommentString) > ndr_get_array_size(ndr, &r->CommentString)) {
994 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->CommentString), ndr_get_array_length(ndr, &r->CommentString));
996 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->CommentString), sizeof(uint8_t)));
997 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->CommentString, ndr_get_array_length(ndr, &r->CommentString), sizeof(uint8_t), CH_DOS));
998 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_CommentString_0, 0);
1001 return NDR_ERR_SUCCESS;
1004 _PUBLIC_ void ndr_print_rap_PrintQueue1(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue1 *r)
1006 ndr_print_struct(ndr, name, "rap_PrintQueue1");
1008 ndr_print_array_uint8(ndr, "PrintQName", r->PrintQName, 13);
1009 ndr_print_uint8(ndr, "Pad1", r->Pad1);
1010 ndr_print_uint16(ndr, "Priority", r->Priority);
1011 ndr_print_uint16(ndr, "StartTime", r->StartTime);
1012 ndr_print_uint16(ndr, "UntilTime", r->UntilTime);
1013 ndr_print_ptr(ndr, "SeparatorPageFilename", r->SeparatorPageFilename);
1015 if (r->SeparatorPageFilename) {
1016 ndr_print_string(ndr, "SeparatorPageFilename", r->SeparatorPageFilename);
1019 ndr_print_uint16(ndr, "SeparatorPageFilenameHigh", r->SeparatorPageFilenameHigh);
1020 ndr_print_ptr(ndr, "PrintProcessorDllName", r->PrintProcessorDllName);
1022 if (r->PrintProcessorDllName) {
1023 ndr_print_string(ndr, "PrintProcessorDllName", r->PrintProcessorDllName);
1026 ndr_print_uint16(ndr, "PrintProcessorDllNameHigh", r->PrintProcessorDllNameHigh);
1027 ndr_print_ptr(ndr, "PrintDestinationsName", r->PrintDestinationsName);
1029 if (r->PrintDestinationsName) {
1030 ndr_print_string(ndr, "PrintDestinationsName", r->PrintDestinationsName);
1033 ndr_print_uint16(ndr, "PrintDestinationsNameHigh", r->PrintDestinationsNameHigh);
1034 ndr_print_ptr(ndr, "PrintParameterString", r->PrintParameterString);
1036 if (r->PrintParameterString) {
1037 ndr_print_string(ndr, "PrintParameterString", r->PrintParameterString);
1040 ndr_print_uint16(ndr, "PrintParameterStringHigh", r->PrintParameterStringHigh);
1041 ndr_print_ptr(ndr, "CommentString", r->CommentString);
1043 if (r->CommentString) {
1044 ndr_print_string(ndr, "CommentString", r->CommentString);
1047 ndr_print_uint16(ndr, "CommentStringHigh", r->CommentStringHigh);
1048 ndr_print_rap_PrintQStatusCode(ndr, "PrintQStatus", r->PrintQStatus);
1049 ndr_print_uint16(ndr, "PrintJobCount", r->PrintJobCount);
1053 static enum ndr_err_code ndr_push_rap_PrintQueue2(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue2 *r)
1055 if (ndr_flags & NDR_SCALARS) {
1056 NDR_CHECK(ndr_push_align(ndr, 5));
1057 NDR_CHECK(ndr_push_rap_PrintQueue1(ndr, NDR_SCALARS, &r->queue));
1058 NDR_CHECK(ndr_push_rap_PrintJobInfo1(ndr, NDR_SCALARS, &r->job));
1059 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1061 if (ndr_flags & NDR_BUFFERS) {
1062 NDR_CHECK(ndr_push_rap_PrintQueue1(ndr, NDR_BUFFERS, &r->queue));
1063 NDR_CHECK(ndr_push_rap_PrintJobInfo1(ndr, NDR_BUFFERS, &r->job));
1065 return NDR_ERR_SUCCESS;
1068 static enum ndr_err_code ndr_pull_rap_PrintQueue2(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue2 *r)
1070 if (ndr_flags & NDR_SCALARS) {
1071 NDR_CHECK(ndr_pull_align(ndr, 5));
1072 NDR_CHECK(ndr_pull_rap_PrintQueue1(ndr, NDR_SCALARS, &r->queue));
1073 NDR_CHECK(ndr_pull_rap_PrintJobInfo1(ndr, NDR_SCALARS, &r->job));
1074 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1076 if (ndr_flags & NDR_BUFFERS) {
1077 NDR_CHECK(ndr_pull_rap_PrintQueue1(ndr, NDR_BUFFERS, &r->queue));
1078 NDR_CHECK(ndr_pull_rap_PrintJobInfo1(ndr, NDR_BUFFERS, &r->job));
1080 return NDR_ERR_SUCCESS;
1083 _PUBLIC_ void ndr_print_rap_PrintQueue2(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue2 *r)
1085 ndr_print_struct(ndr, name, "rap_PrintQueue2");
1087 ndr_print_rap_PrintQueue1(ndr, "queue", &r->queue);
1088 ndr_print_rap_PrintJobInfo1(ndr, "job", &r->job);
1092 static enum ndr_err_code ndr_push_rap_PrintQueue3(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue3 *r)
1094 if (ndr_flags & NDR_SCALARS) {
1095 NDR_CHECK(ndr_push_align(ndr, 5));
1096 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintQueueName));
1097 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintQueueNameHigh));
1098 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Priority));
1099 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->StartTime));
1100 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->UntilTime));
1101 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Pad));
1102 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->SeparatorPageFilename));
1103 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->SeparatorPageFilenameHigh));
1104 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintProcessorDllName));
1105 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintProcessorDllNameHigh));
1106 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintParameterString));
1107 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintParameterStringHigh));
1108 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->CommentString));
1109 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->CommentStringHigh));
1110 NDR_CHECK(ndr_push_rap_PrintQStatusCode(ndr, NDR_SCALARS, r->PrintQStatus));
1111 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintJobCount));
1112 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->Printers));
1113 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintersHigh));
1114 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->DriverName));
1115 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->DriverNameHigh));
1116 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintDriverData));
1117 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintDriverDataHigh));
1118 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1120 if (ndr_flags & NDR_BUFFERS) {
1121 if (r->PrintQueueName) {
1122 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintQueueName));
1123 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->PrintQueueName, CH_DOS)));
1124 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1125 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->PrintQueueName, CH_DOS)));
1126 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->PrintQueueName, ndr_charset_length(r->PrintQueueName, CH_DOS), sizeof(uint8_t), CH_DOS));
1128 if (r->SeparatorPageFilename) {
1129 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->SeparatorPageFilename));
1130 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->SeparatorPageFilename, CH_DOS)));
1131 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1132 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->SeparatorPageFilename, CH_DOS)));
1133 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->SeparatorPageFilename, ndr_charset_length(r->SeparatorPageFilename, CH_DOS), sizeof(uint8_t), CH_DOS));
1135 if (r->PrintProcessorDllName) {
1136 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintProcessorDllName));
1137 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->PrintProcessorDllName, CH_DOS)));
1138 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1139 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->PrintProcessorDllName, CH_DOS)));
1140 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->PrintProcessorDllName, ndr_charset_length(r->PrintProcessorDllName, CH_DOS), sizeof(uint8_t), CH_DOS));
1142 if (r->PrintParameterString) {
1143 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintParameterString));
1144 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->PrintParameterString, CH_DOS)));
1145 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1146 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->PrintParameterString, CH_DOS)));
1147 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->PrintParameterString, ndr_charset_length(r->PrintParameterString, CH_DOS), sizeof(uint8_t), CH_DOS));
1149 if (r->CommentString) {
1150 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->CommentString));
1151 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->CommentString, CH_DOS)));
1152 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1153 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->CommentString, CH_DOS)));
1154 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->CommentString, ndr_charset_length(r->CommentString, CH_DOS), sizeof(uint8_t), CH_DOS));
1157 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->Printers));
1158 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->Printers, CH_DOS)));
1159 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1160 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->Printers, CH_DOS)));
1161 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->Printers, ndr_charset_length(r->Printers, CH_DOS), sizeof(uint8_t), CH_DOS));
1163 if (r->DriverName) {
1164 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->DriverName));
1165 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->DriverName, CH_DOS)));
1166 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1167 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->DriverName, CH_DOS)));
1168 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->DriverName, ndr_charset_length(r->DriverName, CH_DOS), sizeof(uint8_t), CH_DOS));
1170 if (r->PrintDriverData) {
1171 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintDriverData));
1172 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->PrintDriverData, CH_DOS)));
1173 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1174 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->PrintDriverData, CH_DOS)));
1175 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->PrintDriverData, ndr_charset_length(r->PrintDriverData, CH_DOS), sizeof(uint8_t), CH_DOS));
1178 return NDR_ERR_SUCCESS;
1181 static enum ndr_err_code ndr_pull_rap_PrintQueue3(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue3 *r)
1183 uint16_t _ptr_PrintQueueName;
1184 TALLOC_CTX *_mem_save_PrintQueueName_0;
1185 uint16_t _ptr_SeparatorPageFilename;
1186 TALLOC_CTX *_mem_save_SeparatorPageFilename_0;
1187 uint16_t _ptr_PrintProcessorDllName;
1188 TALLOC_CTX *_mem_save_PrintProcessorDllName_0;
1189 uint16_t _ptr_PrintParameterString;
1190 TALLOC_CTX *_mem_save_PrintParameterString_0;
1191 uint16_t _ptr_CommentString;
1192 TALLOC_CTX *_mem_save_CommentString_0;
1193 uint16_t _ptr_Printers;
1194 TALLOC_CTX *_mem_save_Printers_0;
1195 uint16_t _ptr_DriverName;
1196 TALLOC_CTX *_mem_save_DriverName_0;
1197 uint16_t _ptr_PrintDriverData;
1198 TALLOC_CTX *_mem_save_PrintDriverData_0;
1199 if (ndr_flags & NDR_SCALARS) {
1200 NDR_CHECK(ndr_pull_align(ndr, 5));
1201 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintQueueName));
1202 if (_ptr_PrintQueueName) {
1203 NDR_PULL_ALLOC(ndr, r->PrintQueueName);
1204 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintQueueName, _ptr_PrintQueueName));
1206 r->PrintQueueName = NULL;
1208 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintQueueNameHigh));
1209 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Priority));
1210 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->StartTime));
1211 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UntilTime));
1212 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Pad));
1213 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_SeparatorPageFilename));
1214 if (_ptr_SeparatorPageFilename) {
1215 NDR_PULL_ALLOC(ndr, r->SeparatorPageFilename);
1216 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->SeparatorPageFilename, _ptr_SeparatorPageFilename));
1218 r->SeparatorPageFilename = NULL;
1220 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->SeparatorPageFilenameHigh));
1221 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintProcessorDllName));
1222 if (_ptr_PrintProcessorDllName) {
1223 NDR_PULL_ALLOC(ndr, r->PrintProcessorDllName);
1224 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintProcessorDllName, _ptr_PrintProcessorDllName));
1226 r->PrintProcessorDllName = NULL;
1228 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintProcessorDllNameHigh));
1229 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintParameterString));
1230 if (_ptr_PrintParameterString) {
1231 NDR_PULL_ALLOC(ndr, r->PrintParameterString);
1232 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintParameterString, _ptr_PrintParameterString));
1234 r->PrintParameterString = NULL;
1236 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintParameterStringHigh));
1237 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_CommentString));
1238 if (_ptr_CommentString) {
1239 NDR_PULL_ALLOC(ndr, r->CommentString);
1240 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->CommentString, _ptr_CommentString));
1242 r->CommentString = NULL;
1244 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->CommentStringHigh));
1245 NDR_CHECK(ndr_pull_rap_PrintQStatusCode(ndr, NDR_SCALARS, &r->PrintQStatus));
1246 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintJobCount));
1247 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_Printers));
1248 if (_ptr_Printers) {
1249 NDR_PULL_ALLOC(ndr, r->Printers);
1250 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->Printers, _ptr_Printers));
1254 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintersHigh));
1255 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_DriverName));
1256 if (_ptr_DriverName) {
1257 NDR_PULL_ALLOC(ndr, r->DriverName);
1258 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DriverName, _ptr_DriverName));
1260 r->DriverName = NULL;
1262 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DriverNameHigh));
1263 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintDriverData));
1264 if (_ptr_PrintDriverData) {
1265 NDR_PULL_ALLOC(ndr, r->PrintDriverData);
1266 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintDriverData, _ptr_PrintDriverData));
1268 r->PrintDriverData = NULL;
1270 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintDriverDataHigh));
1271 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1273 if (ndr_flags & NDR_BUFFERS) {
1274 if (r->PrintQueueName) {
1275 uint32_t _relative_save_offset;
1276 _relative_save_offset = ndr->offset;
1277 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintQueueName));
1278 _mem_save_PrintQueueName_0 = NDR_PULL_GET_MEM_CTX(ndr);
1279 NDR_PULL_SET_MEM_CTX(ndr, r->PrintQueueName, 0);
1280 NDR_CHECK(ndr_pull_array_size(ndr, &r->PrintQueueName));
1281 NDR_CHECK(ndr_pull_array_length(ndr, &r->PrintQueueName));
1282 if (ndr_get_array_length(ndr, &r->PrintQueueName) > ndr_get_array_size(ndr, &r->PrintQueueName)) {
1283 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->PrintQueueName), ndr_get_array_length(ndr, &r->PrintQueueName));
1285 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->PrintQueueName), sizeof(uint8_t)));
1286 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->PrintQueueName, ndr_get_array_length(ndr, &r->PrintQueueName), sizeof(uint8_t), CH_DOS));
1287 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintQueueName_0, 0);
1289 if (r->SeparatorPageFilename) {
1290 uint32_t _relative_save_offset;
1291 _relative_save_offset = ndr->offset;
1292 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->SeparatorPageFilename));
1293 _mem_save_SeparatorPageFilename_0 = NDR_PULL_GET_MEM_CTX(ndr);
1294 NDR_PULL_SET_MEM_CTX(ndr, r->SeparatorPageFilename, 0);
1295 NDR_CHECK(ndr_pull_array_size(ndr, &r->SeparatorPageFilename));
1296 NDR_CHECK(ndr_pull_array_length(ndr, &r->SeparatorPageFilename));
1297 if (ndr_get_array_length(ndr, &r->SeparatorPageFilename) > ndr_get_array_size(ndr, &r->SeparatorPageFilename)) {
1298 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->SeparatorPageFilename), ndr_get_array_length(ndr, &r->SeparatorPageFilename));
1300 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->SeparatorPageFilename), sizeof(uint8_t)));
1301 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->SeparatorPageFilename, ndr_get_array_length(ndr, &r->SeparatorPageFilename), sizeof(uint8_t), CH_DOS));
1302 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SeparatorPageFilename_0, 0);
1304 if (r->PrintProcessorDllName) {
1305 uint32_t _relative_save_offset;
1306 _relative_save_offset = ndr->offset;
1307 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintProcessorDllName));
1308 _mem_save_PrintProcessorDllName_0 = NDR_PULL_GET_MEM_CTX(ndr);
1309 NDR_PULL_SET_MEM_CTX(ndr, r->PrintProcessorDllName, 0);
1310 NDR_CHECK(ndr_pull_array_size(ndr, &r->PrintProcessorDllName));
1311 NDR_CHECK(ndr_pull_array_length(ndr, &r->PrintProcessorDllName));
1312 if (ndr_get_array_length(ndr, &r->PrintProcessorDllName) > ndr_get_array_size(ndr, &r->PrintProcessorDllName)) {
1313 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->PrintProcessorDllName), ndr_get_array_length(ndr, &r->PrintProcessorDllName));
1315 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->PrintProcessorDllName), sizeof(uint8_t)));
1316 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->PrintProcessorDllName, ndr_get_array_length(ndr, &r->PrintProcessorDllName), sizeof(uint8_t), CH_DOS));
1317 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintProcessorDllName_0, 0);
1319 if (r->PrintParameterString) {
1320 uint32_t _relative_save_offset;
1321 _relative_save_offset = ndr->offset;
1322 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintParameterString));
1323 _mem_save_PrintParameterString_0 = NDR_PULL_GET_MEM_CTX(ndr);
1324 NDR_PULL_SET_MEM_CTX(ndr, r->PrintParameterString, 0);
1325 NDR_CHECK(ndr_pull_array_size(ndr, &r->PrintParameterString));
1326 NDR_CHECK(ndr_pull_array_length(ndr, &r->PrintParameterString));
1327 if (ndr_get_array_length(ndr, &r->PrintParameterString) > ndr_get_array_size(ndr, &r->PrintParameterString)) {
1328 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->PrintParameterString), ndr_get_array_length(ndr, &r->PrintParameterString));
1330 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->PrintParameterString), sizeof(uint8_t)));
1331 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->PrintParameterString, ndr_get_array_length(ndr, &r->PrintParameterString), sizeof(uint8_t), CH_DOS));
1332 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintParameterString_0, 0);
1334 if (r->CommentString) {
1335 uint32_t _relative_save_offset;
1336 _relative_save_offset = ndr->offset;
1337 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->CommentString));
1338 _mem_save_CommentString_0 = NDR_PULL_GET_MEM_CTX(ndr);
1339 NDR_PULL_SET_MEM_CTX(ndr, r->CommentString, 0);
1340 NDR_CHECK(ndr_pull_array_size(ndr, &r->CommentString));
1341 NDR_CHECK(ndr_pull_array_length(ndr, &r->CommentString));
1342 if (ndr_get_array_length(ndr, &r->CommentString) > ndr_get_array_size(ndr, &r->CommentString)) {
1343 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->CommentString), ndr_get_array_length(ndr, &r->CommentString));
1345 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->CommentString), sizeof(uint8_t)));
1346 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->CommentString, ndr_get_array_length(ndr, &r->CommentString), sizeof(uint8_t), CH_DOS));
1347 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_CommentString_0, 0);
1350 uint32_t _relative_save_offset;
1351 _relative_save_offset = ndr->offset;
1352 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->Printers));
1353 _mem_save_Printers_0 = NDR_PULL_GET_MEM_CTX(ndr);
1354 NDR_PULL_SET_MEM_CTX(ndr, r->Printers, 0);
1355 NDR_CHECK(ndr_pull_array_size(ndr, &r->Printers));
1356 NDR_CHECK(ndr_pull_array_length(ndr, &r->Printers));
1357 if (ndr_get_array_length(ndr, &r->Printers) > ndr_get_array_size(ndr, &r->Printers)) {
1358 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->Printers), ndr_get_array_length(ndr, &r->Printers));
1360 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->Printers), sizeof(uint8_t)));
1361 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->Printers, ndr_get_array_length(ndr, &r->Printers), sizeof(uint8_t), CH_DOS));
1362 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Printers_0, 0);
1364 if (r->DriverName) {
1365 uint32_t _relative_save_offset;
1366 _relative_save_offset = ndr->offset;
1367 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DriverName));
1368 _mem_save_DriverName_0 = NDR_PULL_GET_MEM_CTX(ndr);
1369 NDR_PULL_SET_MEM_CTX(ndr, r->DriverName, 0);
1370 NDR_CHECK(ndr_pull_array_size(ndr, &r->DriverName));
1371 NDR_CHECK(ndr_pull_array_length(ndr, &r->DriverName));
1372 if (ndr_get_array_length(ndr, &r->DriverName) > ndr_get_array_size(ndr, &r->DriverName)) {
1373 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->DriverName), ndr_get_array_length(ndr, &r->DriverName));
1375 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->DriverName), sizeof(uint8_t)));
1376 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->DriverName, ndr_get_array_length(ndr, &r->DriverName), sizeof(uint8_t), CH_DOS));
1377 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DriverName_0, 0);
1379 if (r->PrintDriverData) {
1380 uint32_t _relative_save_offset;
1381 _relative_save_offset = ndr->offset;
1382 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintDriverData));
1383 _mem_save_PrintDriverData_0 = NDR_PULL_GET_MEM_CTX(ndr);
1384 NDR_PULL_SET_MEM_CTX(ndr, r->PrintDriverData, 0);
1385 NDR_CHECK(ndr_pull_array_size(ndr, &r->PrintDriverData));
1386 NDR_CHECK(ndr_pull_array_length(ndr, &r->PrintDriverData));
1387 if (ndr_get_array_length(ndr, &r->PrintDriverData) > ndr_get_array_size(ndr, &r->PrintDriverData)) {
1388 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->PrintDriverData), ndr_get_array_length(ndr, &r->PrintDriverData));
1390 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->PrintDriverData), sizeof(uint8_t)));
1391 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->PrintDriverData, ndr_get_array_length(ndr, &r->PrintDriverData), sizeof(uint8_t), CH_DOS));
1392 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintDriverData_0, 0);
1395 return NDR_ERR_SUCCESS;
1398 _PUBLIC_ void ndr_print_rap_PrintQueue3(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue3 *r)
1400 ndr_print_struct(ndr, name, "rap_PrintQueue3");
1402 ndr_print_ptr(ndr, "PrintQueueName", r->PrintQueueName);
1404 if (r->PrintQueueName) {
1405 ndr_print_string(ndr, "PrintQueueName", r->PrintQueueName);
1408 ndr_print_uint16(ndr, "PrintQueueNameHigh", r->PrintQueueNameHigh);
1409 ndr_print_uint16(ndr, "Priority", r->Priority);
1410 ndr_print_uint16(ndr, "StartTime", r->StartTime);
1411 ndr_print_uint16(ndr, "UntilTime", r->UntilTime);
1412 ndr_print_uint16(ndr, "Pad", r->Pad);
1413 ndr_print_ptr(ndr, "SeparatorPageFilename", r->SeparatorPageFilename);
1415 if (r->SeparatorPageFilename) {
1416 ndr_print_string(ndr, "SeparatorPageFilename", r->SeparatorPageFilename);
1419 ndr_print_uint16(ndr, "SeparatorPageFilenameHigh", r->SeparatorPageFilenameHigh);
1420 ndr_print_ptr(ndr, "PrintProcessorDllName", r->PrintProcessorDllName);
1422 if (r->PrintProcessorDllName) {
1423 ndr_print_string(ndr, "PrintProcessorDllName", r->PrintProcessorDllName);
1426 ndr_print_uint16(ndr, "PrintProcessorDllNameHigh", r->PrintProcessorDllNameHigh);
1427 ndr_print_ptr(ndr, "PrintParameterString", r->PrintParameterString);
1429 if (r->PrintParameterString) {
1430 ndr_print_string(ndr, "PrintParameterString", r->PrintParameterString);
1433 ndr_print_uint16(ndr, "PrintParameterStringHigh", r->PrintParameterStringHigh);
1434 ndr_print_ptr(ndr, "CommentString", r->CommentString);
1436 if (r->CommentString) {
1437 ndr_print_string(ndr, "CommentString", r->CommentString);
1440 ndr_print_uint16(ndr, "CommentStringHigh", r->CommentStringHigh);
1441 ndr_print_rap_PrintQStatusCode(ndr, "PrintQStatus", r->PrintQStatus);
1442 ndr_print_uint16(ndr, "PrintJobCount", r->PrintJobCount);
1443 ndr_print_ptr(ndr, "Printers", r->Printers);
1446 ndr_print_string(ndr, "Printers", r->Printers);
1449 ndr_print_uint16(ndr, "PrintersHigh", r->PrintersHigh);
1450 ndr_print_ptr(ndr, "DriverName", r->DriverName);
1452 if (r->DriverName) {
1453 ndr_print_string(ndr, "DriverName", r->DriverName);
1456 ndr_print_uint16(ndr, "DriverNameHigh", r->DriverNameHigh);
1457 ndr_print_ptr(ndr, "PrintDriverData", r->PrintDriverData);
1459 if (r->PrintDriverData) {
1460 ndr_print_string(ndr, "PrintDriverData", r->PrintDriverData);
1463 ndr_print_uint16(ndr, "PrintDriverDataHigh", r->PrintDriverDataHigh);
1467 static enum ndr_err_code ndr_push_rap_PrintQueue4(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue4 *r)
1469 if (ndr_flags & NDR_SCALARS) {
1470 NDR_CHECK(ndr_push_align(ndr, 1));
1471 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1473 if (ndr_flags & NDR_BUFFERS) {
1475 return NDR_ERR_SUCCESS;
1478 static enum ndr_err_code ndr_pull_rap_PrintQueue4(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue4 *r)
1480 if (ndr_flags & NDR_SCALARS) {
1481 NDR_CHECK(ndr_pull_align(ndr, 1));
1482 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1484 if (ndr_flags & NDR_BUFFERS) {
1486 return NDR_ERR_SUCCESS;
1489 _PUBLIC_ void ndr_print_rap_PrintQueue4(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue4 *r)
1491 ndr_print_struct(ndr, name, "rap_PrintQueue4");
1496 static enum ndr_err_code ndr_push_rap_PrintQueue5(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue5 *r)
1498 if (ndr_flags & NDR_SCALARS) {
1499 NDR_CHECK(ndr_push_align(ndr, 5));
1500 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintQueueName));
1501 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintQueueNameHigh));
1502 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1504 if (ndr_flags & NDR_BUFFERS) {
1505 if (r->PrintQueueName) {
1506 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintQueueName));
1507 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->PrintQueueName, CH_DOS)));
1508 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1509 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->PrintQueueName, CH_DOS)));
1510 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->PrintQueueName, ndr_charset_length(r->PrintQueueName, CH_DOS), sizeof(uint8_t), CH_DOS));
1513 return NDR_ERR_SUCCESS;
1516 static enum ndr_err_code ndr_pull_rap_PrintQueue5(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue5 *r)
1518 uint16_t _ptr_PrintQueueName;
1519 TALLOC_CTX *_mem_save_PrintQueueName_0;
1520 if (ndr_flags & NDR_SCALARS) {
1521 NDR_CHECK(ndr_pull_align(ndr, 5));
1522 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintQueueName));
1523 if (_ptr_PrintQueueName) {
1524 NDR_PULL_ALLOC(ndr, r->PrintQueueName);
1525 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintQueueName, _ptr_PrintQueueName));
1527 r->PrintQueueName = NULL;
1529 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintQueueNameHigh));
1530 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1532 if (ndr_flags & NDR_BUFFERS) {
1533 if (r->PrintQueueName) {
1534 uint32_t _relative_save_offset;
1535 _relative_save_offset = ndr->offset;
1536 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintQueueName));
1537 _mem_save_PrintQueueName_0 = NDR_PULL_GET_MEM_CTX(ndr);
1538 NDR_PULL_SET_MEM_CTX(ndr, r->PrintQueueName, 0);
1539 NDR_CHECK(ndr_pull_array_size(ndr, &r->PrintQueueName));
1540 NDR_CHECK(ndr_pull_array_length(ndr, &r->PrintQueueName));
1541 if (ndr_get_array_length(ndr, &r->PrintQueueName) > ndr_get_array_size(ndr, &r->PrintQueueName)) {
1542 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->PrintQueueName), ndr_get_array_length(ndr, &r->PrintQueueName));
1544 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->PrintQueueName), sizeof(uint8_t)));
1545 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->PrintQueueName, ndr_get_array_length(ndr, &r->PrintQueueName), sizeof(uint8_t), CH_DOS));
1546 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintQueueName_0, 0);
1549 return NDR_ERR_SUCCESS;
1552 _PUBLIC_ void ndr_print_rap_PrintQueue5(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue5 *r)
1554 ndr_print_struct(ndr, name, "rap_PrintQueue5");
1556 ndr_print_ptr(ndr, "PrintQueueName", r->PrintQueueName);
1558 if (r->PrintQueueName) {
1559 ndr_print_string(ndr, "PrintQueueName", r->PrintQueueName);
1562 ndr_print_uint16(ndr, "PrintQueueNameHigh", r->PrintQueueNameHigh);
1566 static enum ndr_err_code ndr_push_rap_printq_info(struct ndr_push *ndr, int ndr_flags, const union rap_printq_info *r)
1568 if (ndr_flags & NDR_SCALARS) {
1569 int level = ndr_push_get_switch_value(ndr, r);
1570 NDR_CHECK(ndr_push_union_align(ndr, 5));
1573 NDR_CHECK(ndr_push_rap_PrintQueue0(ndr, NDR_SCALARS, &r->info0));
1577 NDR_CHECK(ndr_push_rap_PrintQueue1(ndr, NDR_SCALARS, &r->info1));
1581 NDR_CHECK(ndr_push_rap_PrintQueue2(ndr, NDR_SCALARS, &r->info2));
1585 NDR_CHECK(ndr_push_rap_PrintQueue3(ndr, NDR_SCALARS, &r->info3));
1589 NDR_CHECK(ndr_push_rap_PrintQueue4(ndr, NDR_SCALARS, &r->info4));
1593 NDR_CHECK(ndr_push_rap_PrintQueue5(ndr, NDR_SCALARS, &r->info5));
1597 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1600 if (ndr_flags & NDR_BUFFERS) {
1601 int level = ndr_push_get_switch_value(ndr, r);
1607 NDR_CHECK(ndr_push_rap_PrintQueue1(ndr, NDR_BUFFERS, &r->info1));
1611 NDR_CHECK(ndr_push_rap_PrintQueue2(ndr, NDR_BUFFERS, &r->info2));
1615 NDR_CHECK(ndr_push_rap_PrintQueue3(ndr, NDR_BUFFERS, &r->info3));
1622 NDR_CHECK(ndr_push_rap_PrintQueue5(ndr, NDR_BUFFERS, &r->info5));
1626 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1629 return NDR_ERR_SUCCESS;
1632 static enum ndr_err_code ndr_pull_rap_printq_info(struct ndr_pull *ndr, int ndr_flags, union rap_printq_info *r)
1635 level = ndr_pull_get_switch_value(ndr, r);
1636 if (ndr_flags & NDR_SCALARS) {
1637 NDR_CHECK(ndr_pull_union_align(ndr, 5));
1640 NDR_CHECK(ndr_pull_rap_PrintQueue0(ndr, NDR_SCALARS, &r->info0));
1644 NDR_CHECK(ndr_pull_rap_PrintQueue1(ndr, NDR_SCALARS, &r->info1));
1648 NDR_CHECK(ndr_pull_rap_PrintQueue2(ndr, NDR_SCALARS, &r->info2));
1652 NDR_CHECK(ndr_pull_rap_PrintQueue3(ndr, NDR_SCALARS, &r->info3));
1656 NDR_CHECK(ndr_pull_rap_PrintQueue4(ndr, NDR_SCALARS, &r->info4));
1660 NDR_CHECK(ndr_pull_rap_PrintQueue5(ndr, NDR_SCALARS, &r->info5));
1664 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1667 if (ndr_flags & NDR_BUFFERS) {
1673 NDR_CHECK(ndr_pull_rap_PrintQueue1(ndr, NDR_BUFFERS, &r->info1));
1677 NDR_CHECK(ndr_pull_rap_PrintQueue2(ndr, NDR_BUFFERS, &r->info2));
1681 NDR_CHECK(ndr_pull_rap_PrintQueue3(ndr, NDR_BUFFERS, &r->info3));
1688 NDR_CHECK(ndr_pull_rap_PrintQueue5(ndr, NDR_BUFFERS, &r->info5));
1692 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1695 return NDR_ERR_SUCCESS;
1698 _PUBLIC_ void ndr_print_rap_printq_info(struct ndr_print *ndr, const char *name, const union rap_printq_info *r)
1701 level = ndr_print_get_switch_value(ndr, r);
1702 ndr_print_union(ndr, name, level, "rap_printq_info");
1705 ndr_print_rap_PrintQueue0(ndr, "info0", &r->info0);
1709 ndr_print_rap_PrintQueue1(ndr, "info1", &r->info1);
1713 ndr_print_rap_PrintQueue2(ndr, "info2", &r->info2);
1717 ndr_print_rap_PrintQueue3(ndr, "info3", &r->info3);
1721 ndr_print_rap_PrintQueue4(ndr, "info4", &r->info4);
1725 ndr_print_rap_PrintQueue5(ndr, "info5", &r->info5);
1729 ndr_print_bad_level(ndr, name, level);
1733 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetShareEnum(struct ndr_push *ndr, int flags, const struct rap_NetShareEnum *r)
1735 if (flags & NDR_IN) {
1736 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
1737 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
1739 if (flags & NDR_OUT) {
1740 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.status));
1741 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
1742 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.count));
1743 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available));
1744 if (r->out.info == NULL) {
1745 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1747 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
1748 NDR_CHECK(ndr_push_rap_share_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
1750 return NDR_ERR_SUCCESS;
1753 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetShareEnum(struct ndr_pull *ndr, int flags, struct rap_NetShareEnum *r)
1755 TALLOC_CTX *_mem_save_info_0;
1756 if (flags & NDR_IN) {
1757 ZERO_STRUCT(r->out);
1759 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
1760 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
1761 NDR_PULL_ALLOC(ndr, r->out.info);
1762 ZERO_STRUCTP(r->out.info);
1764 if (flags & NDR_OUT) {
1765 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.status));
1766 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
1767 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.count));
1768 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available));
1769 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1770 NDR_PULL_ALLOC(ndr, r->out.info);
1772 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
1773 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
1774 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
1775 NDR_CHECK(ndr_pull_rap_share_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
1776 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
1778 return NDR_ERR_SUCCESS;
1781 _PUBLIC_ void ndr_print_rap_NetShareEnum(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetShareEnum *r)
1783 ndr_print_struct(ndr, name, "rap_NetShareEnum");
1785 if (flags & NDR_SET_VALUES) {
1786 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1788 if (flags & NDR_IN) {
1789 ndr_print_struct(ndr, "in", "rap_NetShareEnum");
1791 ndr_print_uint16(ndr, "level", r->in.level);
1792 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
1795 if (flags & NDR_OUT) {
1796 ndr_print_struct(ndr, "out", "rap_NetShareEnum");
1798 ndr_print_uint16(ndr, "status", r->out.status);
1799 ndr_print_uint16(ndr, "convert", r->out.convert);
1800 ndr_print_uint16(ndr, "count", r->out.count);
1801 ndr_print_uint16(ndr, "available", r->out.available);
1802 ndr_print_ptr(ndr, "info", r->out.info);
1804 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
1805 ndr_print_rap_share_info(ndr, "info", r->out.info);
1812 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetServerEnum2(struct ndr_push *ndr, int flags, const struct rap_NetServerEnum2 *r)
1814 if (flags & NDR_IN) {
1815 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
1816 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
1817 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.servertype));
1818 if (r->in.domain == NULL) {
1819 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1821 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_DOS)));
1822 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1823 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_DOS)));
1824 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_DOS), sizeof(uint8_t), CH_DOS));
1826 if (flags & NDR_OUT) {
1827 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.status));
1828 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
1829 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.count));
1830 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available));
1831 if (r->out.info == NULL) {
1832 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1834 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
1835 NDR_CHECK(ndr_push_rap_server_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
1837 return NDR_ERR_SUCCESS;
1840 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetServerEnum2(struct ndr_pull *ndr, int flags, struct rap_NetServerEnum2 *r)
1842 TALLOC_CTX *_mem_save_info_0;
1843 if (flags & NDR_IN) {
1844 ZERO_STRUCT(r->out);
1846 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
1847 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
1848 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.servertype));
1849 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
1850 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
1851 if (ndr_get_array_length(ndr, &r->in.domain) > ndr_get_array_size(ndr, &r->in.domain)) {
1852 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain), ndr_get_array_length(ndr, &r->in.domain));
1854 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint8_t)));
1855 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint8_t), CH_DOS));
1856 NDR_PULL_ALLOC(ndr, r->out.info);
1857 ZERO_STRUCTP(r->out.info);
1859 if (flags & NDR_OUT) {
1860 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.status));
1861 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
1862 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.count));
1863 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available));
1864 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1865 NDR_PULL_ALLOC(ndr, r->out.info);
1867 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
1868 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
1869 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
1870 NDR_CHECK(ndr_pull_rap_server_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
1871 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
1873 return NDR_ERR_SUCCESS;
1876 _PUBLIC_ void ndr_print_rap_NetServerEnum2(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetServerEnum2 *r)
1878 ndr_print_struct(ndr, name, "rap_NetServerEnum2");
1880 if (flags & NDR_SET_VALUES) {
1881 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1883 if (flags & NDR_IN) {
1884 ndr_print_struct(ndr, "in", "rap_NetServerEnum2");
1886 ndr_print_uint16(ndr, "level", r->in.level);
1887 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
1888 ndr_print_uint32(ndr, "servertype", r->in.servertype);
1889 ndr_print_ptr(ndr, "domain", r->in.domain);
1891 ndr_print_string(ndr, "domain", r->in.domain);
1895 if (flags & NDR_OUT) {
1896 ndr_print_struct(ndr, "out", "rap_NetServerEnum2");
1898 ndr_print_uint16(ndr, "status", r->out.status);
1899 ndr_print_uint16(ndr, "convert", r->out.convert);
1900 ndr_print_uint16(ndr, "count", r->out.count);
1901 ndr_print_uint16(ndr, "available", r->out.available);
1902 ndr_print_ptr(ndr, "info", r->out.info);
1904 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
1905 ndr_print_rap_server_info(ndr, "info", r->out.info);
1912 _PUBLIC_ enum ndr_err_code ndr_push_rap_WserverGetInfo(struct ndr_push *ndr, int flags, const struct rap_WserverGetInfo *r)
1914 if (flags & NDR_IN) {
1915 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
1916 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
1918 if (flags & NDR_OUT) {
1919 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.status));
1920 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
1921 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available));
1922 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info, r->in.level));
1923 NDR_CHECK(ndr_push_rap_server_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info));
1925 return NDR_ERR_SUCCESS;
1928 _PUBLIC_ enum ndr_err_code ndr_pull_rap_WserverGetInfo(struct ndr_pull *ndr, int flags, struct rap_WserverGetInfo *r)
1930 if (flags & NDR_IN) {
1931 ZERO_STRUCT(r->out);
1933 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
1934 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
1936 if (flags & NDR_OUT) {
1937 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.status));
1938 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
1939 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available));
1940 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info, r->in.level));
1941 NDR_CHECK(ndr_pull_rap_server_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info));
1943 return NDR_ERR_SUCCESS;
1946 _PUBLIC_ void ndr_print_rap_WserverGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_WserverGetInfo *r)
1948 ndr_print_struct(ndr, name, "rap_WserverGetInfo");
1950 if (flags & NDR_SET_VALUES) {
1951 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1953 if (flags & NDR_IN) {
1954 ndr_print_struct(ndr, "in", "rap_WserverGetInfo");
1956 ndr_print_uint16(ndr, "level", r->in.level);
1957 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
1960 if (flags & NDR_OUT) {
1961 ndr_print_struct(ndr, "out", "rap_WserverGetInfo");
1963 ndr_print_uint16(ndr, "status", r->out.status);
1964 ndr_print_uint16(ndr, "convert", r->out.convert);
1965 ndr_print_uint16(ndr, "available", r->out.available);
1966 ndr_print_set_switch_value(ndr, &r->out.info, r->in.level);
1967 ndr_print_rap_server_info(ndr, "info", &r->out.info);
1973 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintQEnum(struct ndr_push *ndr, int flags, const struct rap_NetPrintQEnum *r)
1975 if (flags & NDR_IN) {
1976 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
1977 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
1979 if (flags & NDR_OUT) {
1980 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.status));
1981 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
1982 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.count));
1983 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available));
1984 if (r->out.info == NULL) {
1985 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1987 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
1988 NDR_CHECK(ndr_push_rap_printq_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
1990 return NDR_ERR_SUCCESS;
1993 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintQEnum(struct ndr_pull *ndr, int flags, struct rap_NetPrintQEnum *r)
1995 TALLOC_CTX *_mem_save_info_0;
1996 if (flags & NDR_IN) {
1997 ZERO_STRUCT(r->out);
1999 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
2000 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
2001 NDR_PULL_ALLOC(ndr, r->out.info);
2002 ZERO_STRUCTP(r->out.info);
2004 if (flags & NDR_OUT) {
2005 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.status));
2006 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
2007 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.count));
2008 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available));
2009 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2010 NDR_PULL_ALLOC(ndr, r->out.info);
2012 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
2013 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
2014 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
2015 NDR_CHECK(ndr_pull_rap_printq_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
2016 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
2018 return NDR_ERR_SUCCESS;