git add -f bin/default/librpc/gen_ndr/*.[ch] bin/default/source*/librpc/gen_ndr/...
[metze/samba/wip.git] / bin.gen_ndr / default / librpc / gen_ndr / ndr_rap.c
1 /* parser auto-generated by pidl */
2
3 #include "includes.h"
4 #include "bin/default/librpc/gen_ndr/ndr_rap.h"
5
6 _PUBLIC_ enum ndr_err_code ndr_push_rap_status(struct ndr_push *ndr, int ndr_flags, enum rap_status r)
7 {
8         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
9         return NDR_ERR_SUCCESS;
10 }
11
12 _PUBLIC_ enum ndr_err_code ndr_pull_rap_status(struct ndr_pull *ndr, int ndr_flags, enum rap_status *r)
13 {
14         uint16_t v;
15         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
16         *r = v;
17         return NDR_ERR_SUCCESS;
18 }
19
20 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)
21 {
22         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
23         if (ndr_flags & NDR_SCALARS) {
24                 NDR_CHECK(ndr_push_align(ndr, 1));
25                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->share_name, 13));
26                 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
27         }
28         if (ndr_flags & NDR_BUFFERS) {
29         }
30         return NDR_ERR_SUCCESS;
31 }
32
33 static enum ndr_err_code ndr_pull_rap_share_info_0(struct ndr_pull *ndr, int ndr_flags, struct rap_share_info_0 *r)
34 {
35         uint32_t size_share_name_0 = 0;
36         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
37         if (ndr_flags & NDR_SCALARS) {
38                 NDR_CHECK(ndr_pull_align(ndr, 1));
39                 size_share_name_0 = 13;
40                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->share_name, size_share_name_0));
41                 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
42         }
43         if (ndr_flags & NDR_BUFFERS) {
44         }
45         return NDR_ERR_SUCCESS;
46 }
47
48 _PUBLIC_ void ndr_print_rap_share_info_0(struct ndr_print *ndr, const char *name, const struct rap_share_info_0 *r)
49 {
50         ndr_print_struct(ndr, name, "rap_share_info_0");
51         if (r == NULL) { ndr_print_null(ndr); return; }
52         ndr->depth++;
53         ndr_print_array_uint8(ndr, "share_name", r->share_name, 13);
54         ndr->depth--;
55 }
56
57 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)
58 {
59         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
60         if (ndr_flags & NDR_SCALARS) {
61                 NDR_CHECK(ndr_push_align(ndr, 5));
62                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->share_name, 13));
63                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->reserved1));
64                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->share_type));
65                 {
66                         uint32_t _flags_save_string = ndr->flags;
67                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
68                         NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
69                         ndr->flags = _flags_save_string;
70                 }
71                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
72         }
73         if (ndr_flags & NDR_BUFFERS) {
74                 {
75                         uint32_t _flags_save_string = ndr->flags;
76                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
77                         if (r->comment) {
78                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->comment));
79                         }
80                         ndr->flags = _flags_save_string;
81                 }
82         }
83         return NDR_ERR_SUCCESS;
84 }
85
86 static enum ndr_err_code ndr_pull_rap_share_info_1(struct ndr_pull *ndr, int ndr_flags, struct rap_share_info_1 *r)
87 {
88         uint32_t size_share_name_0 = 0;
89         uint32_t _ptr_comment;
90         TALLOC_CTX *_mem_save_comment_0;
91         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
92         if (ndr_flags & NDR_SCALARS) {
93                 NDR_CHECK(ndr_pull_align(ndr, 5));
94                 size_share_name_0 = 13;
95                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->share_name, size_share_name_0));
96                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->reserved1));
97                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->share_type));
98                 {
99                         uint32_t _flags_save_string = ndr->flags;
100                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
101                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
102                         if (_ptr_comment) {
103                                 NDR_PULL_ALLOC(ndr, r->comment);
104                         } else {
105                                 r->comment = NULL;
106                         }
107                         ndr->flags = _flags_save_string;
108                 }
109                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
110         }
111         if (ndr_flags & NDR_BUFFERS) {
112                 {
113                         uint32_t _flags_save_string = ndr->flags;
114                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
115                         if (r->comment) {
116                                 _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
117                                 NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
118                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->comment));
119                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
120                         }
121                         ndr->flags = _flags_save_string;
122                 }
123         }
124         return NDR_ERR_SUCCESS;
125 }
126
127 _PUBLIC_ void ndr_print_rap_share_info_1(struct ndr_print *ndr, const char *name, const struct rap_share_info_1 *r)
128 {
129         ndr_print_struct(ndr, name, "rap_share_info_1");
130         if (r == NULL) { ndr_print_null(ndr); return; }
131         ndr->depth++;
132         ndr_print_array_uint8(ndr, "share_name", r->share_name, 13);
133         ndr_print_uint8(ndr, "reserved1", r->reserved1);
134         ndr_print_uint16(ndr, "share_type", r->share_type);
135         ndr_print_ptr(ndr, "comment", r->comment);
136         ndr->depth++;
137         if (r->comment) {
138                 ndr_print_string(ndr, "comment", r->comment);
139         }
140         ndr->depth--;
141         ndr->depth--;
142 }
143
144 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)
145 {
146         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
147         if (ndr_flags & NDR_SCALARS) {
148                 NDR_CHECK(ndr_push_align(ndr, 5));
149                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->share_name, 13));
150                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->reserved1));
151                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->share_type));
152                 {
153                         uint32_t _flags_save_string = ndr->flags;
154                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
155                         NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
156                         ndr->flags = _flags_save_string;
157                 }
158                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->perms));
159                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->maximum_users));
160                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->active_users));
161                 {
162                         uint32_t _flags_save_string = ndr->flags;
163                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
164                         NDR_CHECK(ndr_push_unique_ptr(ndr, r->path));
165                         ndr->flags = _flags_save_string;
166                 }
167                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->password, 9));
168                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->reserved2));
169                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
170         }
171         if (ndr_flags & NDR_BUFFERS) {
172                 {
173                         uint32_t _flags_save_string = ndr->flags;
174                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
175                         if (r->comment) {
176                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->comment));
177                         }
178                         ndr->flags = _flags_save_string;
179                 }
180                 {
181                         uint32_t _flags_save_string = ndr->flags;
182                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
183                         if (r->path) {
184                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->path));
185                         }
186                         ndr->flags = _flags_save_string;
187                 }
188         }
189         return NDR_ERR_SUCCESS;
190 }
191
192 static enum ndr_err_code ndr_pull_rap_share_info_2(struct ndr_pull *ndr, int ndr_flags, struct rap_share_info_2 *r)
193 {
194         uint32_t size_share_name_0 = 0;
195         uint32_t _ptr_comment;
196         TALLOC_CTX *_mem_save_comment_0;
197         uint32_t _ptr_path;
198         TALLOC_CTX *_mem_save_path_0;
199         uint32_t size_password_0 = 0;
200         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
201         if (ndr_flags & NDR_SCALARS) {
202                 NDR_CHECK(ndr_pull_align(ndr, 5));
203                 size_share_name_0 = 13;
204                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->share_name, size_share_name_0));
205                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->reserved1));
206                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->share_type));
207                 {
208                         uint32_t _flags_save_string = ndr->flags;
209                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
210                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
211                         if (_ptr_comment) {
212                                 NDR_PULL_ALLOC(ndr, r->comment);
213                         } else {
214                                 r->comment = NULL;
215                         }
216                         ndr->flags = _flags_save_string;
217                 }
218                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->perms));
219                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->maximum_users));
220                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->active_users));
221                 {
222                         uint32_t _flags_save_string = ndr->flags;
223                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
224                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_path));
225                         if (_ptr_path) {
226                                 NDR_PULL_ALLOC(ndr, r->path);
227                         } else {
228                                 r->path = NULL;
229                         }
230                         ndr->flags = _flags_save_string;
231                 }
232                 size_password_0 = 9;
233                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->password, size_password_0));
234                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->reserved2));
235                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
236         }
237         if (ndr_flags & NDR_BUFFERS) {
238                 {
239                         uint32_t _flags_save_string = ndr->flags;
240                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
241                         if (r->comment) {
242                                 _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
243                                 NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
244                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->comment));
245                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
246                         }
247                         ndr->flags = _flags_save_string;
248                 }
249                 {
250                         uint32_t _flags_save_string = ndr->flags;
251                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
252                         if (r->path) {
253                                 _mem_save_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
254                                 NDR_PULL_SET_MEM_CTX(ndr, r->path, 0);
255                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->path));
256                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
257                         }
258                         ndr->flags = _flags_save_string;
259                 }
260         }
261         return NDR_ERR_SUCCESS;
262 }
263
264 _PUBLIC_ void ndr_print_rap_share_info_2(struct ndr_print *ndr, const char *name, const struct rap_share_info_2 *r)
265 {
266         ndr_print_struct(ndr, name, "rap_share_info_2");
267         if (r == NULL) { ndr_print_null(ndr); return; }
268         ndr->depth++;
269         ndr_print_array_uint8(ndr, "share_name", r->share_name, 13);
270         ndr_print_uint8(ndr, "reserved1", r->reserved1);
271         ndr_print_uint16(ndr, "share_type", r->share_type);
272         ndr_print_ptr(ndr, "comment", r->comment);
273         ndr->depth++;
274         if (r->comment) {
275                 ndr_print_string(ndr, "comment", r->comment);
276         }
277         ndr->depth--;
278         ndr_print_uint16(ndr, "perms", r->perms);
279         ndr_print_uint16(ndr, "maximum_users", r->maximum_users);
280         ndr_print_uint16(ndr, "active_users", r->active_users);
281         ndr_print_ptr(ndr, "path", r->path);
282         ndr->depth++;
283         if (r->path) {
284                 ndr_print_string(ndr, "path", r->path);
285         }
286         ndr->depth--;
287         ndr_print_array_uint8(ndr, "password", r->password, 9);
288         ndr_print_uint8(ndr, "reserved2", r->reserved2);
289         ndr->depth--;
290 }
291
292 static enum ndr_err_code ndr_push_rap_share_info(struct ndr_push *ndr, int ndr_flags, const union rap_share_info *r)
293 {
294         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
295         if (ndr_flags & NDR_SCALARS) {
296                 uint32_t level = ndr_push_get_switch_value(ndr, r);
297                 NDR_CHECK(ndr_push_union_align(ndr, 5));
298                 switch (level) {
299                         case 0: {
300                                 NDR_CHECK(ndr_push_rap_share_info_0(ndr, NDR_SCALARS, &r->info0));
301                         break; }
302
303                         case 1: {
304                                 NDR_CHECK(ndr_push_rap_share_info_1(ndr, NDR_SCALARS, &r->info1));
305                         break; }
306
307                         case 2: {
308                                 NDR_CHECK(ndr_push_rap_share_info_2(ndr, NDR_SCALARS, &r->info2));
309                         break; }
310
311                         default:
312                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
313                 }
314         }
315         if (ndr_flags & NDR_BUFFERS) {
316                 uint32_t level = ndr_push_get_switch_value(ndr, r);
317                 switch (level) {
318                         case 0:
319                         break;
320
321                         case 1:
322                                 NDR_CHECK(ndr_push_rap_share_info_1(ndr, NDR_BUFFERS, &r->info1));
323                         break;
324
325                         case 2:
326                                 NDR_CHECK(ndr_push_rap_share_info_2(ndr, NDR_BUFFERS, &r->info2));
327                         break;
328
329                         default:
330                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
331                 }
332         }
333         return NDR_ERR_SUCCESS;
334 }
335
336 static enum ndr_err_code ndr_pull_rap_share_info(struct ndr_pull *ndr, int ndr_flags, union rap_share_info *r)
337 {
338         uint32_t level;
339         level = ndr_pull_get_switch_value(ndr, r);
340         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
341         if (ndr_flags & NDR_SCALARS) {
342                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
343                 switch (level) {
344                         case 0: {
345                                 NDR_CHECK(ndr_pull_rap_share_info_0(ndr, NDR_SCALARS, &r->info0));
346                         break; }
347
348                         case 1: {
349                                 NDR_CHECK(ndr_pull_rap_share_info_1(ndr, NDR_SCALARS, &r->info1));
350                         break; }
351
352                         case 2: {
353                                 NDR_CHECK(ndr_pull_rap_share_info_2(ndr, NDR_SCALARS, &r->info2));
354                         break; }
355
356                         default:
357                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
358                 }
359         }
360         if (ndr_flags & NDR_BUFFERS) {
361                 switch (level) {
362                         case 0:
363                         break;
364
365                         case 1:
366                                 NDR_CHECK(ndr_pull_rap_share_info_1(ndr, NDR_BUFFERS, &r->info1));
367                         break;
368
369                         case 2:
370                                 NDR_CHECK(ndr_pull_rap_share_info_2(ndr, NDR_BUFFERS, &r->info2));
371                         break;
372
373                         default:
374                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
375                 }
376         }
377         return NDR_ERR_SUCCESS;
378 }
379
380 _PUBLIC_ void ndr_print_rap_share_info(struct ndr_print *ndr, const char *name, const union rap_share_info *r)
381 {
382         uint32_t level;
383         level = ndr_print_get_switch_value(ndr, r);
384         ndr_print_union(ndr, name, level, "rap_share_info");
385         switch (level) {
386                 case 0:
387                         ndr_print_rap_share_info_0(ndr, "info0", &r->info0);
388                 break;
389
390                 case 1:
391                         ndr_print_rap_share_info_1(ndr, "info1", &r->info1);
392                 break;
393
394                 case 2:
395                         ndr_print_rap_share_info_2(ndr, "info2", &r->info2);
396                 break;
397
398                 default:
399                         ndr_print_bad_level(ndr, name, level);
400         }
401 }
402
403 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)
404 {
405         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
406         if (ndr_flags & NDR_SCALARS) {
407                 NDR_CHECK(ndr_push_align(ndr, 1));
408                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->name, 16));
409                 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
410         }
411         if (ndr_flags & NDR_BUFFERS) {
412         }
413         return NDR_ERR_SUCCESS;
414 }
415
416 static enum ndr_err_code ndr_pull_rap_server_info_0(struct ndr_pull *ndr, int ndr_flags, struct rap_server_info_0 *r)
417 {
418         uint32_t size_name_0 = 0;
419         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
420         if (ndr_flags & NDR_SCALARS) {
421                 NDR_CHECK(ndr_pull_align(ndr, 1));
422                 size_name_0 = 16;
423                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->name, size_name_0));
424                 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
425         }
426         if (ndr_flags & NDR_BUFFERS) {
427         }
428         return NDR_ERR_SUCCESS;
429 }
430
431 _PUBLIC_ void ndr_print_rap_server_info_0(struct ndr_print *ndr, const char *name, const struct rap_server_info_0 *r)
432 {
433         ndr_print_struct(ndr, name, "rap_server_info_0");
434         if (r == NULL) { ndr_print_null(ndr); return; }
435         ndr->depth++;
436         ndr_print_array_uint8(ndr, "name", r->name, 16);
437         ndr->depth--;
438 }
439
440 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)
441 {
442         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
443         if (ndr_flags & NDR_SCALARS) {
444                 NDR_CHECK(ndr_push_align(ndr, 5));
445                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->name, 16));
446                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->version_major));
447                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->version_minor));
448                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->servertype));
449                 {
450                         uint32_t _flags_save_string = ndr->flags;
451                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
452                         NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
453                         ndr->flags = _flags_save_string;
454                 }
455                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
456         }
457         if (ndr_flags & NDR_BUFFERS) {
458                 {
459                         uint32_t _flags_save_string = ndr->flags;
460                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
461                         if (r->comment) {
462                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->comment));
463                         }
464                         ndr->flags = _flags_save_string;
465                 }
466         }
467         return NDR_ERR_SUCCESS;
468 }
469
470 static enum ndr_err_code ndr_pull_rap_server_info_1(struct ndr_pull *ndr, int ndr_flags, struct rap_server_info_1 *r)
471 {
472         uint32_t size_name_0 = 0;
473         uint32_t _ptr_comment;
474         TALLOC_CTX *_mem_save_comment_0;
475         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
476         if (ndr_flags & NDR_SCALARS) {
477                 NDR_CHECK(ndr_pull_align(ndr, 5));
478                 size_name_0 = 16;
479                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->name, size_name_0));
480                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->version_major));
481                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->version_minor));
482                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->servertype));
483                 {
484                         uint32_t _flags_save_string = ndr->flags;
485                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
486                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
487                         if (_ptr_comment) {
488                                 NDR_PULL_ALLOC(ndr, r->comment);
489                         } else {
490                                 r->comment = NULL;
491                         }
492                         ndr->flags = _flags_save_string;
493                 }
494                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
495         }
496         if (ndr_flags & NDR_BUFFERS) {
497                 {
498                         uint32_t _flags_save_string = ndr->flags;
499                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
500                         if (r->comment) {
501                                 _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
502                                 NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
503                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->comment));
504                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
505                         }
506                         ndr->flags = _flags_save_string;
507                 }
508         }
509         return NDR_ERR_SUCCESS;
510 }
511
512 _PUBLIC_ void ndr_print_rap_server_info_1(struct ndr_print *ndr, const char *name, const struct rap_server_info_1 *r)
513 {
514         ndr_print_struct(ndr, name, "rap_server_info_1");
515         if (r == NULL) { ndr_print_null(ndr); return; }
516         ndr->depth++;
517         ndr_print_array_uint8(ndr, "name", r->name, 16);
518         ndr_print_uint8(ndr, "version_major", r->version_major);
519         ndr_print_uint8(ndr, "version_minor", r->version_minor);
520         ndr_print_uint32(ndr, "servertype", r->servertype);
521         ndr_print_ptr(ndr, "comment", r->comment);
522         ndr->depth++;
523         if (r->comment) {
524                 ndr_print_string(ndr, "comment", r->comment);
525         }
526         ndr->depth--;
527         ndr->depth--;
528 }
529
530 static enum ndr_err_code ndr_push_rap_server_info(struct ndr_push *ndr, int ndr_flags, const union rap_server_info *r)
531 {
532         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
533         if (ndr_flags & NDR_SCALARS) {
534                 uint32_t level = ndr_push_get_switch_value(ndr, r);
535                 NDR_CHECK(ndr_push_union_align(ndr, 5));
536                 switch (level) {
537                         case 0: {
538                                 NDR_CHECK(ndr_push_rap_server_info_0(ndr, NDR_SCALARS, &r->info0));
539                         break; }
540
541                         case 1: {
542                                 NDR_CHECK(ndr_push_rap_server_info_1(ndr, NDR_SCALARS, &r->info1));
543                         break; }
544
545                         default:
546                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
547                 }
548         }
549         if (ndr_flags & NDR_BUFFERS) {
550                 uint32_t level = ndr_push_get_switch_value(ndr, r);
551                 switch (level) {
552                         case 0:
553                         break;
554
555                         case 1:
556                                 NDR_CHECK(ndr_push_rap_server_info_1(ndr, NDR_BUFFERS, &r->info1));
557                         break;
558
559                         default:
560                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
561                 }
562         }
563         return NDR_ERR_SUCCESS;
564 }
565
566 static enum ndr_err_code ndr_pull_rap_server_info(struct ndr_pull *ndr, int ndr_flags, union rap_server_info *r)
567 {
568         uint32_t level;
569         level = ndr_pull_get_switch_value(ndr, r);
570         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
571         if (ndr_flags & NDR_SCALARS) {
572                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
573                 switch (level) {
574                         case 0: {
575                                 NDR_CHECK(ndr_pull_rap_server_info_0(ndr, NDR_SCALARS, &r->info0));
576                         break; }
577
578                         case 1: {
579                                 NDR_CHECK(ndr_pull_rap_server_info_1(ndr, NDR_SCALARS, &r->info1));
580                         break; }
581
582                         default:
583                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
584                 }
585         }
586         if (ndr_flags & NDR_BUFFERS) {
587                 switch (level) {
588                         case 0:
589                         break;
590
591                         case 1:
592                                 NDR_CHECK(ndr_pull_rap_server_info_1(ndr, NDR_BUFFERS, &r->info1));
593                         break;
594
595                         default:
596                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
597                 }
598         }
599         return NDR_ERR_SUCCESS;
600 }
601
602 _PUBLIC_ void ndr_print_rap_server_info(struct ndr_print *ndr, const char *name, const union rap_server_info *r)
603 {
604         uint32_t level;
605         level = ndr_print_get_switch_value(ndr, r);
606         ndr_print_union(ndr, name, level, "rap_server_info");
607         switch (level) {
608                 case 0:
609                         ndr_print_rap_server_info_0(ndr, "info0", &r->info0);
610                 break;
611
612                 case 1:
613                         ndr_print_rap_server_info_1(ndr, "info1", &r->info1);
614                 break;
615
616                 default:
617                         ndr_print_bad_level(ndr, name, level);
618         }
619 }
620
621 _PUBLIC_ enum ndr_err_code ndr_push_rap_PrintJStatusCode(struct ndr_push *ndr, int ndr_flags, enum rap_PrintJStatusCode r)
622 {
623         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
624         return NDR_ERR_SUCCESS;
625 }
626
627 _PUBLIC_ enum ndr_err_code ndr_pull_rap_PrintJStatusCode(struct ndr_pull *ndr, int ndr_flags, enum rap_PrintJStatusCode *r)
628 {
629         uint16_t v;
630         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
631         *r = v;
632         return NDR_ERR_SUCCESS;
633 }
634
635 _PUBLIC_ void ndr_print_rap_PrintJStatusCode(struct ndr_print *ndr, const char *name, enum rap_PrintJStatusCode r)
636 {
637         const char *val = NULL;
638
639         switch (r) {
640                 case PRJ_QS_QUEUED: val = "PRJ_QS_QUEUED"; break;
641                 case PRJ_QS_PAUSED: val = "PRJ_QS_PAUSED"; break;
642                 case PRJ_QS_SPOOLING: val = "PRJ_QS_SPOOLING"; break;
643                 case PRJ_QS_PRINTING: val = "PRJ_QS_PRINTING"; break;
644                 case PRJ_QS_ERROR: val = "PRJ_QS_ERROR"; break;
645         }
646         ndr_print_enum(ndr, name, "ENUM", val, r);
647 }
648
649 static enum ndr_err_code ndr_push_rap_PrintJobInfo0(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintJobInfo0 *r)
650 {
651         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
652         if (ndr_flags & NDR_SCALARS) {
653                 NDR_CHECK(ndr_push_align(ndr, 2));
654                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobID));
655                 NDR_CHECK(ndr_push_trailer_align(ndr, 2));
656         }
657         if (ndr_flags & NDR_BUFFERS) {
658         }
659         return NDR_ERR_SUCCESS;
660 }
661
662 static enum ndr_err_code ndr_pull_rap_PrintJobInfo0(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintJobInfo0 *r)
663 {
664         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
665         if (ndr_flags & NDR_SCALARS) {
666                 NDR_CHECK(ndr_pull_align(ndr, 2));
667                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobID));
668                 NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
669         }
670         if (ndr_flags & NDR_BUFFERS) {
671         }
672         return NDR_ERR_SUCCESS;
673 }
674
675 _PUBLIC_ void ndr_print_rap_PrintJobInfo0(struct ndr_print *ndr, const char *name, const struct rap_PrintJobInfo0 *r)
676 {
677         ndr_print_struct(ndr, name, "rap_PrintJobInfo0");
678         if (r == NULL) { ndr_print_null(ndr); return; }
679         ndr->depth++;
680         ndr_print_uint16(ndr, "JobID", r->JobID);
681         ndr->depth--;
682 }
683
684 static enum ndr_err_code ndr_push_rap_PrintJobInfo1(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintJobInfo1 *r)
685 {
686         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
687         if (ndr_flags & NDR_SCALARS) {
688                 NDR_CHECK(ndr_push_align(ndr, 5));
689                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobID));
690                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->UserName, 21, sizeof(uint8_t), CH_DOS));
691                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Pad));
692                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->NotifyName, 16, sizeof(uint8_t), CH_DOS));
693                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->DataType, 10, sizeof(uint8_t), CH_DOS));
694                 {
695                         uint32_t _flags_save_string = ndr->flags;
696                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
697                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintParameterString));
698                         ndr->flags = _flags_save_string;
699                 }
700                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintParameterStringHigh));
701                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobPosition));
702                 NDR_CHECK(ndr_push_rap_PrintJStatusCode(ndr, NDR_SCALARS, r->JobStatus));
703                 {
704                         uint32_t _flags_save_string = ndr->flags;
705                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
706                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->JobStatusString));
707                         ndr->flags = _flags_save_string;
708                 }
709                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobStatusStringHigh));
710                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->TimeSubmitted));
711                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->JobSize));
712                 {
713                         uint32_t _flags_save_string = ndr->flags;
714                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
715                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->JobCommentString));
716                         ndr->flags = _flags_save_string;
717                 }
718                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobCommentStringHigh));
719                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
720         }
721         if (ndr_flags & NDR_BUFFERS) {
722                 {
723                         uint32_t _flags_save_string = ndr->flags;
724                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
725                         if (r->PrintParameterString) {
726                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintParameterString));
727                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintParameterString));
728                         }
729                         ndr->flags = _flags_save_string;
730                 }
731                 {
732                         uint32_t _flags_save_string = ndr->flags;
733                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
734                         if (r->JobStatusString) {
735                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->JobStatusString));
736                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->JobStatusString));
737                         }
738                         ndr->flags = _flags_save_string;
739                 }
740                 {
741                         uint32_t _flags_save_string = ndr->flags;
742                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
743                         if (r->JobCommentString) {
744                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->JobCommentString));
745                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->JobCommentString));
746                         }
747                         ndr->flags = _flags_save_string;
748                 }
749         }
750         return NDR_ERR_SUCCESS;
751 }
752
753 static enum ndr_err_code ndr_pull_rap_PrintJobInfo1(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintJobInfo1 *r)
754 {
755         uint32_t size_UserName_0 = 0;
756         uint32_t size_NotifyName_0 = 0;
757         uint32_t size_DataType_0 = 0;
758         uint16_t _ptr_PrintParameterString;
759         TALLOC_CTX *_mem_save_PrintParameterString_0;
760         uint16_t _ptr_JobStatusString;
761         TALLOC_CTX *_mem_save_JobStatusString_0;
762         uint16_t _ptr_JobCommentString;
763         TALLOC_CTX *_mem_save_JobCommentString_0;
764         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
765         if (ndr_flags & NDR_SCALARS) {
766                 NDR_CHECK(ndr_pull_align(ndr, 5));
767                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobID));
768                 size_UserName_0 = 21;
769                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->UserName, size_UserName_0, sizeof(uint8_t), CH_DOS));
770                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Pad));
771                 size_NotifyName_0 = 16;
772                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->NotifyName, size_NotifyName_0, sizeof(uint8_t), CH_DOS));
773                 size_DataType_0 = 10;
774                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->DataType, size_DataType_0, sizeof(uint8_t), CH_DOS));
775                 {
776                         uint32_t _flags_save_string = ndr->flags;
777                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
778                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintParameterString));
779                         if (_ptr_PrintParameterString) {
780                                 NDR_PULL_ALLOC(ndr, r->PrintParameterString);
781                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintParameterString, _ptr_PrintParameterString));
782                         } else {
783                                 r->PrintParameterString = NULL;
784                         }
785                         ndr->flags = _flags_save_string;
786                 }
787                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintParameterStringHigh));
788                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobPosition));
789                 NDR_CHECK(ndr_pull_rap_PrintJStatusCode(ndr, NDR_SCALARS, &r->JobStatus));
790                 {
791                         uint32_t _flags_save_string = ndr->flags;
792                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
793                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_JobStatusString));
794                         if (_ptr_JobStatusString) {
795                                 NDR_PULL_ALLOC(ndr, r->JobStatusString);
796                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->JobStatusString, _ptr_JobStatusString));
797                         } else {
798                                 r->JobStatusString = NULL;
799                         }
800                         ndr->flags = _flags_save_string;
801                 }
802                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobStatusStringHigh));
803                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->TimeSubmitted));
804                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->JobSize));
805                 {
806                         uint32_t _flags_save_string = ndr->flags;
807                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
808                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_JobCommentString));
809                         if (_ptr_JobCommentString) {
810                                 NDR_PULL_ALLOC(ndr, r->JobCommentString);
811                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->JobCommentString, _ptr_JobCommentString));
812                         } else {
813                                 r->JobCommentString = NULL;
814                         }
815                         ndr->flags = _flags_save_string;
816                 }
817                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobCommentStringHigh));
818                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
819         }
820         if (ndr_flags & NDR_BUFFERS) {
821                 {
822                         uint32_t _flags_save_string = ndr->flags;
823                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
824                         if (r->PrintParameterString) {
825                                 uint32_t _relative_save_offset;
826                                 _relative_save_offset = ndr->offset;
827                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintParameterString));
828                                 _mem_save_PrintParameterString_0 = NDR_PULL_GET_MEM_CTX(ndr);
829                                 NDR_PULL_SET_MEM_CTX(ndr, r->PrintParameterString, 0);
830                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintParameterString));
831                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintParameterString_0, 0);
832                                 if (ndr->offset > ndr->relative_highest_offset) {
833                                         ndr->relative_highest_offset = ndr->offset;
834                                 }
835                                 ndr->offset = _relative_save_offset;
836                         }
837                         ndr->flags = _flags_save_string;
838                 }
839                 {
840                         uint32_t _flags_save_string = ndr->flags;
841                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
842                         if (r->JobStatusString) {
843                                 uint32_t _relative_save_offset;
844                                 _relative_save_offset = ndr->offset;
845                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->JobStatusString));
846                                 _mem_save_JobStatusString_0 = NDR_PULL_GET_MEM_CTX(ndr);
847                                 NDR_PULL_SET_MEM_CTX(ndr, r->JobStatusString, 0);
848                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->JobStatusString));
849                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_JobStatusString_0, 0);
850                                 if (ndr->offset > ndr->relative_highest_offset) {
851                                         ndr->relative_highest_offset = ndr->offset;
852                                 }
853                                 ndr->offset = _relative_save_offset;
854                         }
855                         ndr->flags = _flags_save_string;
856                 }
857                 {
858                         uint32_t _flags_save_string = ndr->flags;
859                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
860                         if (r->JobCommentString) {
861                                 uint32_t _relative_save_offset;
862                                 _relative_save_offset = ndr->offset;
863                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->JobCommentString));
864                                 _mem_save_JobCommentString_0 = NDR_PULL_GET_MEM_CTX(ndr);
865                                 NDR_PULL_SET_MEM_CTX(ndr, r->JobCommentString, 0);
866                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->JobCommentString));
867                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_JobCommentString_0, 0);
868                                 if (ndr->offset > ndr->relative_highest_offset) {
869                                         ndr->relative_highest_offset = ndr->offset;
870                                 }
871                                 ndr->offset = _relative_save_offset;
872                         }
873                         ndr->flags = _flags_save_string;
874                 }
875         }
876         return NDR_ERR_SUCCESS;
877 }
878
879 _PUBLIC_ void ndr_print_rap_PrintJobInfo1(struct ndr_print *ndr, const char *name, const struct rap_PrintJobInfo1 *r)
880 {
881         ndr_print_struct(ndr, name, "rap_PrintJobInfo1");
882         if (r == NULL) { ndr_print_null(ndr); return; }
883         ndr->depth++;
884         ndr_print_uint16(ndr, "JobID", r->JobID);
885         ndr_print_string(ndr, "UserName", r->UserName);
886         ndr_print_uint8(ndr, "Pad", r->Pad);
887         ndr_print_string(ndr, "NotifyName", r->NotifyName);
888         ndr_print_string(ndr, "DataType", r->DataType);
889         ndr_print_ptr(ndr, "PrintParameterString", r->PrintParameterString);
890         ndr->depth++;
891         if (r->PrintParameterString) {
892                 ndr_print_string(ndr, "PrintParameterString", r->PrintParameterString);
893         }
894         ndr->depth--;
895         ndr_print_uint16(ndr, "PrintParameterStringHigh", r->PrintParameterStringHigh);
896         ndr_print_uint16(ndr, "JobPosition", r->JobPosition);
897         ndr_print_rap_PrintJStatusCode(ndr, "JobStatus", r->JobStatus);
898         ndr_print_ptr(ndr, "JobStatusString", r->JobStatusString);
899         ndr->depth++;
900         if (r->JobStatusString) {
901                 ndr_print_string(ndr, "JobStatusString", r->JobStatusString);
902         }
903         ndr->depth--;
904         ndr_print_uint16(ndr, "JobStatusStringHigh", r->JobStatusStringHigh);
905         ndr_print_time_t(ndr, "TimeSubmitted", r->TimeSubmitted);
906         ndr_print_uint32(ndr, "JobSize", r->JobSize);
907         ndr_print_ptr(ndr, "JobCommentString", r->JobCommentString);
908         ndr->depth++;
909         if (r->JobCommentString) {
910                 ndr_print_string(ndr, "JobCommentString", r->JobCommentString);
911         }
912         ndr->depth--;
913         ndr_print_uint16(ndr, "JobCommentStringHigh", r->JobCommentStringHigh);
914         ndr->depth--;
915 }
916
917 static enum ndr_err_code ndr_push_rap_PrintJobInfo2(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintJobInfo2 *r)
918 {
919         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
920         if (ndr_flags & NDR_SCALARS) {
921                 NDR_CHECK(ndr_push_align(ndr, 5));
922                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobID));
923                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Priority));
924                 {
925                         uint32_t _flags_save_string = ndr->flags;
926                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
927                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->UserName));
928                         ndr->flags = _flags_save_string;
929                 }
930                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->UserNameHigh));
931                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobPosition));
932                 NDR_CHECK(ndr_push_rap_PrintJStatusCode(ndr, NDR_SCALARS, r->JobStatus));
933                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->TimeSubmitted));
934                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->JobSize));
935                 {
936                         uint32_t _flags_save_string = ndr->flags;
937                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
938                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->JobCommentString));
939                         ndr->flags = _flags_save_string;
940                 }
941                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobCommentStringHigh));
942                 {
943                         uint32_t _flags_save_string = ndr->flags;
944                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
945                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->DocumentName));
946                         ndr->flags = _flags_save_string;
947                 }
948                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->DocumentNameHigh));
949                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
950         }
951         if (ndr_flags & NDR_BUFFERS) {
952                 {
953                         uint32_t _flags_save_string = ndr->flags;
954                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
955                         if (r->UserName) {
956                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->UserName));
957                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->UserName));
958                         }
959                         ndr->flags = _flags_save_string;
960                 }
961                 {
962                         uint32_t _flags_save_string = ndr->flags;
963                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
964                         if (r->JobCommentString) {
965                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->JobCommentString));
966                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->JobCommentString));
967                         }
968                         ndr->flags = _flags_save_string;
969                 }
970                 {
971                         uint32_t _flags_save_string = ndr->flags;
972                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
973                         if (r->DocumentName) {
974                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->DocumentName));
975                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->DocumentName));
976                         }
977                         ndr->flags = _flags_save_string;
978                 }
979         }
980         return NDR_ERR_SUCCESS;
981 }
982
983 static enum ndr_err_code ndr_pull_rap_PrintJobInfo2(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintJobInfo2 *r)
984 {
985         uint16_t _ptr_UserName;
986         TALLOC_CTX *_mem_save_UserName_0;
987         uint16_t _ptr_JobCommentString;
988         TALLOC_CTX *_mem_save_JobCommentString_0;
989         uint16_t _ptr_DocumentName;
990         TALLOC_CTX *_mem_save_DocumentName_0;
991         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
992         if (ndr_flags & NDR_SCALARS) {
993                 NDR_CHECK(ndr_pull_align(ndr, 5));
994                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobID));
995                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Priority));
996                 {
997                         uint32_t _flags_save_string = ndr->flags;
998                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
999                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_UserName));
1000                         if (_ptr_UserName) {
1001                                 NDR_PULL_ALLOC(ndr, r->UserName);
1002                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->UserName, _ptr_UserName));
1003                         } else {
1004                                 r->UserName = NULL;
1005                         }
1006                         ndr->flags = _flags_save_string;
1007                 }
1008                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UserNameHigh));
1009                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobPosition));
1010                 NDR_CHECK(ndr_pull_rap_PrintJStatusCode(ndr, NDR_SCALARS, &r->JobStatus));
1011                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->TimeSubmitted));
1012                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->JobSize));
1013                 {
1014                         uint32_t _flags_save_string = ndr->flags;
1015                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1016                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_JobCommentString));
1017                         if (_ptr_JobCommentString) {
1018                                 NDR_PULL_ALLOC(ndr, r->JobCommentString);
1019                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->JobCommentString, _ptr_JobCommentString));
1020                         } else {
1021                                 r->JobCommentString = NULL;
1022                         }
1023                         ndr->flags = _flags_save_string;
1024                 }
1025                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobCommentStringHigh));
1026                 {
1027                         uint32_t _flags_save_string = ndr->flags;
1028                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1029                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_DocumentName));
1030                         if (_ptr_DocumentName) {
1031                                 NDR_PULL_ALLOC(ndr, r->DocumentName);
1032                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DocumentName, _ptr_DocumentName));
1033                         } else {
1034                                 r->DocumentName = NULL;
1035                         }
1036                         ndr->flags = _flags_save_string;
1037                 }
1038                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DocumentNameHigh));
1039                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1040         }
1041         if (ndr_flags & NDR_BUFFERS) {
1042                 {
1043                         uint32_t _flags_save_string = ndr->flags;
1044                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1045                         if (r->UserName) {
1046                                 uint32_t _relative_save_offset;
1047                                 _relative_save_offset = ndr->offset;
1048                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->UserName));
1049                                 _mem_save_UserName_0 = NDR_PULL_GET_MEM_CTX(ndr);
1050                                 NDR_PULL_SET_MEM_CTX(ndr, r->UserName, 0);
1051                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->UserName));
1052                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_UserName_0, 0);
1053                                 if (ndr->offset > ndr->relative_highest_offset) {
1054                                         ndr->relative_highest_offset = ndr->offset;
1055                                 }
1056                                 ndr->offset = _relative_save_offset;
1057                         }
1058                         ndr->flags = _flags_save_string;
1059                 }
1060                 {
1061                         uint32_t _flags_save_string = ndr->flags;
1062                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1063                         if (r->JobCommentString) {
1064                                 uint32_t _relative_save_offset;
1065                                 _relative_save_offset = ndr->offset;
1066                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->JobCommentString));
1067                                 _mem_save_JobCommentString_0 = NDR_PULL_GET_MEM_CTX(ndr);
1068                                 NDR_PULL_SET_MEM_CTX(ndr, r->JobCommentString, 0);
1069                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->JobCommentString));
1070                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_JobCommentString_0, 0);
1071                                 if (ndr->offset > ndr->relative_highest_offset) {
1072                                         ndr->relative_highest_offset = ndr->offset;
1073                                 }
1074                                 ndr->offset = _relative_save_offset;
1075                         }
1076                         ndr->flags = _flags_save_string;
1077                 }
1078                 {
1079                         uint32_t _flags_save_string = ndr->flags;
1080                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1081                         if (r->DocumentName) {
1082                                 uint32_t _relative_save_offset;
1083                                 _relative_save_offset = ndr->offset;
1084                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DocumentName));
1085                                 _mem_save_DocumentName_0 = NDR_PULL_GET_MEM_CTX(ndr);
1086                                 NDR_PULL_SET_MEM_CTX(ndr, r->DocumentName, 0);
1087                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->DocumentName));
1088                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DocumentName_0, 0);
1089                                 if (ndr->offset > ndr->relative_highest_offset) {
1090                                         ndr->relative_highest_offset = ndr->offset;
1091                                 }
1092                                 ndr->offset = _relative_save_offset;
1093                         }
1094                         ndr->flags = _flags_save_string;
1095                 }
1096         }
1097         return NDR_ERR_SUCCESS;
1098 }
1099
1100 _PUBLIC_ void ndr_print_rap_PrintJobInfo2(struct ndr_print *ndr, const char *name, const struct rap_PrintJobInfo2 *r)
1101 {
1102         ndr_print_struct(ndr, name, "rap_PrintJobInfo2");
1103         if (r == NULL) { ndr_print_null(ndr); return; }
1104         ndr->depth++;
1105         ndr_print_uint16(ndr, "JobID", r->JobID);
1106         ndr_print_uint16(ndr, "Priority", r->Priority);
1107         ndr_print_ptr(ndr, "UserName", r->UserName);
1108         ndr->depth++;
1109         if (r->UserName) {
1110                 ndr_print_string(ndr, "UserName", r->UserName);
1111         }
1112         ndr->depth--;
1113         ndr_print_uint16(ndr, "UserNameHigh", r->UserNameHigh);
1114         ndr_print_uint16(ndr, "JobPosition", r->JobPosition);
1115         ndr_print_rap_PrintJStatusCode(ndr, "JobStatus", r->JobStatus);
1116         ndr_print_time_t(ndr, "TimeSubmitted", r->TimeSubmitted);
1117         ndr_print_uint32(ndr, "JobSize", r->JobSize);
1118         ndr_print_ptr(ndr, "JobCommentString", r->JobCommentString);
1119         ndr->depth++;
1120         if (r->JobCommentString) {
1121                 ndr_print_string(ndr, "JobCommentString", r->JobCommentString);
1122         }
1123         ndr->depth--;
1124         ndr_print_uint16(ndr, "JobCommentStringHigh", r->JobCommentStringHigh);
1125         ndr_print_ptr(ndr, "DocumentName", r->DocumentName);
1126         ndr->depth++;
1127         if (r->DocumentName) {
1128                 ndr_print_string(ndr, "DocumentName", r->DocumentName);
1129         }
1130         ndr->depth--;
1131         ndr_print_uint16(ndr, "DocumentNameHigh", r->DocumentNameHigh);
1132         ndr->depth--;
1133 }
1134
1135 static enum ndr_err_code ndr_push_rap_PrintJobInfo3(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintJobInfo3 *r)
1136 {
1137         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1138         if (ndr_flags & NDR_SCALARS) {
1139                 NDR_CHECK(ndr_push_align(ndr, 5));
1140                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobID));
1141                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Priority));
1142                 {
1143                         uint32_t _flags_save_string = ndr->flags;
1144                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1145                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->UserName));
1146                         ndr->flags = _flags_save_string;
1147                 }
1148                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->UserNameHigh));
1149                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobPosition));
1150                 NDR_CHECK(ndr_push_rap_PrintJStatusCode(ndr, NDR_SCALARS, r->JobStatus));
1151                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->TimeSubmitted));
1152                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->JobSize));
1153                 {
1154                         uint32_t _flags_save_string = ndr->flags;
1155                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1156                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->JobCommentString));
1157                         ndr->flags = _flags_save_string;
1158                 }
1159                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobCommentStringHigh));
1160                 {
1161                         uint32_t _flags_save_string = ndr->flags;
1162                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1163                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->DocumentName));
1164                         ndr->flags = _flags_save_string;
1165                 }
1166                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->DocumentNameHigh));
1167                 {
1168                         uint32_t _flags_save_string = ndr->flags;
1169                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1170                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->NotifyName));
1171                         ndr->flags = _flags_save_string;
1172                 }
1173                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->NotifyNameHigh));
1174                 {
1175                         uint32_t _flags_save_string = ndr->flags;
1176                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1177                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->DataType));
1178                         ndr->flags = _flags_save_string;
1179                 }
1180                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->DataTypeHigh));
1181                 {
1182                         uint32_t _flags_save_string = ndr->flags;
1183                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1184                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintParameterString));
1185                         ndr->flags = _flags_save_string;
1186                 }
1187                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintParameterStringHigh));
1188                 {
1189                         uint32_t _flags_save_string = ndr->flags;
1190                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1191                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->StatusString));
1192                         ndr->flags = _flags_save_string;
1193                 }
1194                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->StatusStringHigh));
1195                 {
1196                         uint32_t _flags_save_string = ndr->flags;
1197                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1198                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->QueueName));
1199                         ndr->flags = _flags_save_string;
1200                 }
1201                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->QueueNameHigh));
1202                 {
1203                         uint32_t _flags_save_string = ndr->flags;
1204                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1205                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintProcessorName));
1206                         ndr->flags = _flags_save_string;
1207                 }
1208                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintProcessorNameHigh));
1209                 {
1210                         uint32_t _flags_save_string = ndr->flags;
1211                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1212                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintProcessorParams));
1213                         ndr->flags = _flags_save_string;
1214                 }
1215                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintProcessorParamsHigh));
1216                 {
1217                         uint32_t _flags_save_string = ndr->flags;
1218                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1219                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->DriverName));
1220                         ndr->flags = _flags_save_string;
1221                 }
1222                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->DriverNameHigh));
1223                 {
1224                         uint32_t _flags_save_string = ndr->flags;
1225                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1226                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->DriverDataOffset));
1227                         ndr->flags = _flags_save_string;
1228                 }
1229                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->DriverDataOffsetHigh));
1230                 {
1231                         uint32_t _flags_save_string = ndr->flags;
1232                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1233                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrinterNameOffset));
1234                         ndr->flags = _flags_save_string;
1235                 }
1236                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrinterNameOffsetHigh));
1237                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1238         }
1239         if (ndr_flags & NDR_BUFFERS) {
1240                 {
1241                         uint32_t _flags_save_string = ndr->flags;
1242                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1243                         if (r->UserName) {
1244                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->UserName));
1245                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->UserName));
1246                         }
1247                         ndr->flags = _flags_save_string;
1248                 }
1249                 {
1250                         uint32_t _flags_save_string = ndr->flags;
1251                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1252                         if (r->JobCommentString) {
1253                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->JobCommentString));
1254                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->JobCommentString));
1255                         }
1256                         ndr->flags = _flags_save_string;
1257                 }
1258                 {
1259                         uint32_t _flags_save_string = ndr->flags;
1260                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1261                         if (r->DocumentName) {
1262                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->DocumentName));
1263                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->DocumentName));
1264                         }
1265                         ndr->flags = _flags_save_string;
1266                 }
1267                 {
1268                         uint32_t _flags_save_string = ndr->flags;
1269                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1270                         if (r->NotifyName) {
1271                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->NotifyName));
1272                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->NotifyName));
1273                         }
1274                         ndr->flags = _flags_save_string;
1275                 }
1276                 {
1277                         uint32_t _flags_save_string = ndr->flags;
1278                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1279                         if (r->DataType) {
1280                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->DataType));
1281                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->DataType));
1282                         }
1283                         ndr->flags = _flags_save_string;
1284                 }
1285                 {
1286                         uint32_t _flags_save_string = ndr->flags;
1287                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1288                         if (r->PrintParameterString) {
1289                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintParameterString));
1290                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintParameterString));
1291                         }
1292                         ndr->flags = _flags_save_string;
1293                 }
1294                 {
1295                         uint32_t _flags_save_string = ndr->flags;
1296                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1297                         if (r->StatusString) {
1298                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->StatusString));
1299                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->StatusString));
1300                         }
1301                         ndr->flags = _flags_save_string;
1302                 }
1303                 {
1304                         uint32_t _flags_save_string = ndr->flags;
1305                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1306                         if (r->QueueName) {
1307                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->QueueName));
1308                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->QueueName));
1309                         }
1310                         ndr->flags = _flags_save_string;
1311                 }
1312                 {
1313                         uint32_t _flags_save_string = ndr->flags;
1314                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1315                         if (r->PrintProcessorName) {
1316                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintProcessorName));
1317                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintProcessorName));
1318                         }
1319                         ndr->flags = _flags_save_string;
1320                 }
1321                 {
1322                         uint32_t _flags_save_string = ndr->flags;
1323                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1324                         if (r->PrintProcessorParams) {
1325                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintProcessorParams));
1326                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintProcessorParams));
1327                         }
1328                         ndr->flags = _flags_save_string;
1329                 }
1330                 {
1331                         uint32_t _flags_save_string = ndr->flags;
1332                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1333                         if (r->DriverName) {
1334                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->DriverName));
1335                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->DriverName));
1336                         }
1337                         ndr->flags = _flags_save_string;
1338                 }
1339                 {
1340                         uint32_t _flags_save_string = ndr->flags;
1341                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1342                         if (r->DriverDataOffset) {
1343                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->DriverDataOffset));
1344                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->DriverDataOffset));
1345                         }
1346                         ndr->flags = _flags_save_string;
1347                 }
1348                 {
1349                         uint32_t _flags_save_string = ndr->flags;
1350                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1351                         if (r->PrinterNameOffset) {
1352                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrinterNameOffset));
1353                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrinterNameOffset));
1354                         }
1355                         ndr->flags = _flags_save_string;
1356                 }
1357         }
1358         return NDR_ERR_SUCCESS;
1359 }
1360
1361 static enum ndr_err_code ndr_pull_rap_PrintJobInfo3(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintJobInfo3 *r)
1362 {
1363         uint16_t _ptr_UserName;
1364         TALLOC_CTX *_mem_save_UserName_0;
1365         uint16_t _ptr_JobCommentString;
1366         TALLOC_CTX *_mem_save_JobCommentString_0;
1367         uint16_t _ptr_DocumentName;
1368         TALLOC_CTX *_mem_save_DocumentName_0;
1369         uint16_t _ptr_NotifyName;
1370         TALLOC_CTX *_mem_save_NotifyName_0;
1371         uint16_t _ptr_DataType;
1372         TALLOC_CTX *_mem_save_DataType_0;
1373         uint16_t _ptr_PrintParameterString;
1374         TALLOC_CTX *_mem_save_PrintParameterString_0;
1375         uint16_t _ptr_StatusString;
1376         TALLOC_CTX *_mem_save_StatusString_0;
1377         uint16_t _ptr_QueueName;
1378         TALLOC_CTX *_mem_save_QueueName_0;
1379         uint16_t _ptr_PrintProcessorName;
1380         TALLOC_CTX *_mem_save_PrintProcessorName_0;
1381         uint16_t _ptr_PrintProcessorParams;
1382         TALLOC_CTX *_mem_save_PrintProcessorParams_0;
1383         uint16_t _ptr_DriverName;
1384         TALLOC_CTX *_mem_save_DriverName_0;
1385         uint16_t _ptr_DriverDataOffset;
1386         TALLOC_CTX *_mem_save_DriverDataOffset_0;
1387         uint16_t _ptr_PrinterNameOffset;
1388         TALLOC_CTX *_mem_save_PrinterNameOffset_0;
1389         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1390         if (ndr_flags & NDR_SCALARS) {
1391                 NDR_CHECK(ndr_pull_align(ndr, 5));
1392                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobID));
1393                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Priority));
1394                 {
1395                         uint32_t _flags_save_string = ndr->flags;
1396                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1397                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_UserName));
1398                         if (_ptr_UserName) {
1399                                 NDR_PULL_ALLOC(ndr, r->UserName);
1400                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->UserName, _ptr_UserName));
1401                         } else {
1402                                 r->UserName = NULL;
1403                         }
1404                         ndr->flags = _flags_save_string;
1405                 }
1406                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UserNameHigh));
1407                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobPosition));
1408                 NDR_CHECK(ndr_pull_rap_PrintJStatusCode(ndr, NDR_SCALARS, &r->JobStatus));
1409                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->TimeSubmitted));
1410                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->JobSize));
1411                 {
1412                         uint32_t _flags_save_string = ndr->flags;
1413                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1414                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_JobCommentString));
1415                         if (_ptr_JobCommentString) {
1416                                 NDR_PULL_ALLOC(ndr, r->JobCommentString);
1417                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->JobCommentString, _ptr_JobCommentString));
1418                         } else {
1419                                 r->JobCommentString = NULL;
1420                         }
1421                         ndr->flags = _flags_save_string;
1422                 }
1423                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobCommentStringHigh));
1424                 {
1425                         uint32_t _flags_save_string = ndr->flags;
1426                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1427                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_DocumentName));
1428                         if (_ptr_DocumentName) {
1429                                 NDR_PULL_ALLOC(ndr, r->DocumentName);
1430                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DocumentName, _ptr_DocumentName));
1431                         } else {
1432                                 r->DocumentName = NULL;
1433                         }
1434                         ndr->flags = _flags_save_string;
1435                 }
1436                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DocumentNameHigh));
1437                 {
1438                         uint32_t _flags_save_string = ndr->flags;
1439                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1440                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_NotifyName));
1441                         if (_ptr_NotifyName) {
1442                                 NDR_PULL_ALLOC(ndr, r->NotifyName);
1443                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->NotifyName, _ptr_NotifyName));
1444                         } else {
1445                                 r->NotifyName = NULL;
1446                         }
1447                         ndr->flags = _flags_save_string;
1448                 }
1449                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->NotifyNameHigh));
1450                 {
1451                         uint32_t _flags_save_string = ndr->flags;
1452                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1453                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_DataType));
1454                         if (_ptr_DataType) {
1455                                 NDR_PULL_ALLOC(ndr, r->DataType);
1456                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DataType, _ptr_DataType));
1457                         } else {
1458                                 r->DataType = NULL;
1459                         }
1460                         ndr->flags = _flags_save_string;
1461                 }
1462                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DataTypeHigh));
1463                 {
1464                         uint32_t _flags_save_string = ndr->flags;
1465                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1466                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintParameterString));
1467                         if (_ptr_PrintParameterString) {
1468                                 NDR_PULL_ALLOC(ndr, r->PrintParameterString);
1469                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintParameterString, _ptr_PrintParameterString));
1470                         } else {
1471                                 r->PrintParameterString = NULL;
1472                         }
1473                         ndr->flags = _flags_save_string;
1474                 }
1475                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintParameterStringHigh));
1476                 {
1477                         uint32_t _flags_save_string = ndr->flags;
1478                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1479                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_StatusString));
1480                         if (_ptr_StatusString) {
1481                                 NDR_PULL_ALLOC(ndr, r->StatusString);
1482                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->StatusString, _ptr_StatusString));
1483                         } else {
1484                                 r->StatusString = NULL;
1485                         }
1486                         ndr->flags = _flags_save_string;
1487                 }
1488                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->StatusStringHigh));
1489                 {
1490                         uint32_t _flags_save_string = ndr->flags;
1491                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1492                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_QueueName));
1493                         if (_ptr_QueueName) {
1494                                 NDR_PULL_ALLOC(ndr, r->QueueName);
1495                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->QueueName, _ptr_QueueName));
1496                         } else {
1497                                 r->QueueName = NULL;
1498                         }
1499                         ndr->flags = _flags_save_string;
1500                 }
1501                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->QueueNameHigh));
1502                 {
1503                         uint32_t _flags_save_string = ndr->flags;
1504                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1505                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintProcessorName));
1506                         if (_ptr_PrintProcessorName) {
1507                                 NDR_PULL_ALLOC(ndr, r->PrintProcessorName);
1508                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintProcessorName, _ptr_PrintProcessorName));
1509                         } else {
1510                                 r->PrintProcessorName = NULL;
1511                         }
1512                         ndr->flags = _flags_save_string;
1513                 }
1514                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintProcessorNameHigh));
1515                 {
1516                         uint32_t _flags_save_string = ndr->flags;
1517                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1518                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintProcessorParams));
1519                         if (_ptr_PrintProcessorParams) {
1520                                 NDR_PULL_ALLOC(ndr, r->PrintProcessorParams);
1521                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintProcessorParams, _ptr_PrintProcessorParams));
1522                         } else {
1523                                 r->PrintProcessorParams = NULL;
1524                         }
1525                         ndr->flags = _flags_save_string;
1526                 }
1527                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintProcessorParamsHigh));
1528                 {
1529                         uint32_t _flags_save_string = ndr->flags;
1530                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1531                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_DriverName));
1532                         if (_ptr_DriverName) {
1533                                 NDR_PULL_ALLOC(ndr, r->DriverName);
1534                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DriverName, _ptr_DriverName));
1535                         } else {
1536                                 r->DriverName = NULL;
1537                         }
1538                         ndr->flags = _flags_save_string;
1539                 }
1540                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DriverNameHigh));
1541                 {
1542                         uint32_t _flags_save_string = ndr->flags;
1543                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1544                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_DriverDataOffset));
1545                         if (_ptr_DriverDataOffset) {
1546                                 NDR_PULL_ALLOC(ndr, r->DriverDataOffset);
1547                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DriverDataOffset, _ptr_DriverDataOffset));
1548                         } else {
1549                                 r->DriverDataOffset = NULL;
1550                         }
1551                         ndr->flags = _flags_save_string;
1552                 }
1553                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DriverDataOffsetHigh));
1554                 {
1555                         uint32_t _flags_save_string = ndr->flags;
1556                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1557                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrinterNameOffset));
1558                         if (_ptr_PrinterNameOffset) {
1559                                 NDR_PULL_ALLOC(ndr, r->PrinterNameOffset);
1560                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrinterNameOffset, _ptr_PrinterNameOffset));
1561                         } else {
1562                                 r->PrinterNameOffset = NULL;
1563                         }
1564                         ndr->flags = _flags_save_string;
1565                 }
1566                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrinterNameOffsetHigh));
1567                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1568         }
1569         if (ndr_flags & NDR_BUFFERS) {
1570                 {
1571                         uint32_t _flags_save_string = ndr->flags;
1572                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1573                         if (r->UserName) {
1574                                 uint32_t _relative_save_offset;
1575                                 _relative_save_offset = ndr->offset;
1576                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->UserName));
1577                                 _mem_save_UserName_0 = NDR_PULL_GET_MEM_CTX(ndr);
1578                                 NDR_PULL_SET_MEM_CTX(ndr, r->UserName, 0);
1579                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->UserName));
1580                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_UserName_0, 0);
1581                                 if (ndr->offset > ndr->relative_highest_offset) {
1582                                         ndr->relative_highest_offset = ndr->offset;
1583                                 }
1584                                 ndr->offset = _relative_save_offset;
1585                         }
1586                         ndr->flags = _flags_save_string;
1587                 }
1588                 {
1589                         uint32_t _flags_save_string = ndr->flags;
1590                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1591                         if (r->JobCommentString) {
1592                                 uint32_t _relative_save_offset;
1593                                 _relative_save_offset = ndr->offset;
1594                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->JobCommentString));
1595                                 _mem_save_JobCommentString_0 = NDR_PULL_GET_MEM_CTX(ndr);
1596                                 NDR_PULL_SET_MEM_CTX(ndr, r->JobCommentString, 0);
1597                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->JobCommentString));
1598                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_JobCommentString_0, 0);
1599                                 if (ndr->offset > ndr->relative_highest_offset) {
1600                                         ndr->relative_highest_offset = ndr->offset;
1601                                 }
1602                                 ndr->offset = _relative_save_offset;
1603                         }
1604                         ndr->flags = _flags_save_string;
1605                 }
1606                 {
1607                         uint32_t _flags_save_string = ndr->flags;
1608                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1609                         if (r->DocumentName) {
1610                                 uint32_t _relative_save_offset;
1611                                 _relative_save_offset = ndr->offset;
1612                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DocumentName));
1613                                 _mem_save_DocumentName_0 = NDR_PULL_GET_MEM_CTX(ndr);
1614                                 NDR_PULL_SET_MEM_CTX(ndr, r->DocumentName, 0);
1615                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->DocumentName));
1616                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DocumentName_0, 0);
1617                                 if (ndr->offset > ndr->relative_highest_offset) {
1618                                         ndr->relative_highest_offset = ndr->offset;
1619                                 }
1620                                 ndr->offset = _relative_save_offset;
1621                         }
1622                         ndr->flags = _flags_save_string;
1623                 }
1624                 {
1625                         uint32_t _flags_save_string = ndr->flags;
1626                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1627                         if (r->NotifyName) {
1628                                 uint32_t _relative_save_offset;
1629                                 _relative_save_offset = ndr->offset;
1630                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->NotifyName));
1631                                 _mem_save_NotifyName_0 = NDR_PULL_GET_MEM_CTX(ndr);
1632                                 NDR_PULL_SET_MEM_CTX(ndr, r->NotifyName, 0);
1633                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->NotifyName));
1634                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_NotifyName_0, 0);
1635                                 if (ndr->offset > ndr->relative_highest_offset) {
1636                                         ndr->relative_highest_offset = ndr->offset;
1637                                 }
1638                                 ndr->offset = _relative_save_offset;
1639                         }
1640                         ndr->flags = _flags_save_string;
1641                 }
1642                 {
1643                         uint32_t _flags_save_string = ndr->flags;
1644                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1645                         if (r->DataType) {
1646                                 uint32_t _relative_save_offset;
1647                                 _relative_save_offset = ndr->offset;
1648                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DataType));
1649                                 _mem_save_DataType_0 = NDR_PULL_GET_MEM_CTX(ndr);
1650                                 NDR_PULL_SET_MEM_CTX(ndr, r->DataType, 0);
1651                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->DataType));
1652                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DataType_0, 0);
1653                                 if (ndr->offset > ndr->relative_highest_offset) {
1654                                         ndr->relative_highest_offset = ndr->offset;
1655                                 }
1656                                 ndr->offset = _relative_save_offset;
1657                         }
1658                         ndr->flags = _flags_save_string;
1659                 }
1660                 {
1661                         uint32_t _flags_save_string = ndr->flags;
1662                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1663                         if (r->PrintParameterString) {
1664                                 uint32_t _relative_save_offset;
1665                                 _relative_save_offset = ndr->offset;
1666                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintParameterString));
1667                                 _mem_save_PrintParameterString_0 = NDR_PULL_GET_MEM_CTX(ndr);
1668                                 NDR_PULL_SET_MEM_CTX(ndr, r->PrintParameterString, 0);
1669                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintParameterString));
1670                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintParameterString_0, 0);
1671                                 if (ndr->offset > ndr->relative_highest_offset) {
1672                                         ndr->relative_highest_offset = ndr->offset;
1673                                 }
1674                                 ndr->offset = _relative_save_offset;
1675                         }
1676                         ndr->flags = _flags_save_string;
1677                 }
1678                 {
1679                         uint32_t _flags_save_string = ndr->flags;
1680                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1681                         if (r->StatusString) {
1682                                 uint32_t _relative_save_offset;
1683                                 _relative_save_offset = ndr->offset;
1684                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->StatusString));
1685                                 _mem_save_StatusString_0 = NDR_PULL_GET_MEM_CTX(ndr);
1686                                 NDR_PULL_SET_MEM_CTX(ndr, r->StatusString, 0);
1687                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->StatusString));
1688                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_StatusString_0, 0);
1689                                 if (ndr->offset > ndr->relative_highest_offset) {
1690                                         ndr->relative_highest_offset = ndr->offset;
1691                                 }
1692                                 ndr->offset = _relative_save_offset;
1693                         }
1694                         ndr->flags = _flags_save_string;
1695                 }
1696                 {
1697                         uint32_t _flags_save_string = ndr->flags;
1698                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1699                         if (r->QueueName) {
1700                                 uint32_t _relative_save_offset;
1701                                 _relative_save_offset = ndr->offset;
1702                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->QueueName));
1703                                 _mem_save_QueueName_0 = NDR_PULL_GET_MEM_CTX(ndr);
1704                                 NDR_PULL_SET_MEM_CTX(ndr, r->QueueName, 0);
1705                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->QueueName));
1706                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_QueueName_0, 0);
1707                                 if (ndr->offset > ndr->relative_highest_offset) {
1708                                         ndr->relative_highest_offset = ndr->offset;
1709                                 }
1710                                 ndr->offset = _relative_save_offset;
1711                         }
1712                         ndr->flags = _flags_save_string;
1713                 }
1714                 {
1715                         uint32_t _flags_save_string = ndr->flags;
1716                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1717                         if (r->PrintProcessorName) {
1718                                 uint32_t _relative_save_offset;
1719                                 _relative_save_offset = ndr->offset;
1720                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintProcessorName));
1721                                 _mem_save_PrintProcessorName_0 = NDR_PULL_GET_MEM_CTX(ndr);
1722                                 NDR_PULL_SET_MEM_CTX(ndr, r->PrintProcessorName, 0);
1723                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintProcessorName));
1724                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintProcessorName_0, 0);
1725                                 if (ndr->offset > ndr->relative_highest_offset) {
1726                                         ndr->relative_highest_offset = ndr->offset;
1727                                 }
1728                                 ndr->offset = _relative_save_offset;
1729                         }
1730                         ndr->flags = _flags_save_string;
1731                 }
1732                 {
1733                         uint32_t _flags_save_string = ndr->flags;
1734                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1735                         if (r->PrintProcessorParams) {
1736                                 uint32_t _relative_save_offset;
1737                                 _relative_save_offset = ndr->offset;
1738                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintProcessorParams));
1739                                 _mem_save_PrintProcessorParams_0 = NDR_PULL_GET_MEM_CTX(ndr);
1740                                 NDR_PULL_SET_MEM_CTX(ndr, r->PrintProcessorParams, 0);
1741                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintProcessorParams));
1742                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintProcessorParams_0, 0);
1743                                 if (ndr->offset > ndr->relative_highest_offset) {
1744                                         ndr->relative_highest_offset = ndr->offset;
1745                                 }
1746                                 ndr->offset = _relative_save_offset;
1747                         }
1748                         ndr->flags = _flags_save_string;
1749                 }
1750                 {
1751                         uint32_t _flags_save_string = ndr->flags;
1752                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1753                         if (r->DriverName) {
1754                                 uint32_t _relative_save_offset;
1755                                 _relative_save_offset = ndr->offset;
1756                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DriverName));
1757                                 _mem_save_DriverName_0 = NDR_PULL_GET_MEM_CTX(ndr);
1758                                 NDR_PULL_SET_MEM_CTX(ndr, r->DriverName, 0);
1759                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->DriverName));
1760                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DriverName_0, 0);
1761                                 if (ndr->offset > ndr->relative_highest_offset) {
1762                                         ndr->relative_highest_offset = ndr->offset;
1763                                 }
1764                                 ndr->offset = _relative_save_offset;
1765                         }
1766                         ndr->flags = _flags_save_string;
1767                 }
1768                 {
1769                         uint32_t _flags_save_string = ndr->flags;
1770                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1771                         if (r->DriverDataOffset) {
1772                                 uint32_t _relative_save_offset;
1773                                 _relative_save_offset = ndr->offset;
1774                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DriverDataOffset));
1775                                 _mem_save_DriverDataOffset_0 = NDR_PULL_GET_MEM_CTX(ndr);
1776                                 NDR_PULL_SET_MEM_CTX(ndr, r->DriverDataOffset, 0);
1777                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->DriverDataOffset));
1778                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DriverDataOffset_0, 0);
1779                                 if (ndr->offset > ndr->relative_highest_offset) {
1780                                         ndr->relative_highest_offset = ndr->offset;
1781                                 }
1782                                 ndr->offset = _relative_save_offset;
1783                         }
1784                         ndr->flags = _flags_save_string;
1785                 }
1786                 {
1787                         uint32_t _flags_save_string = ndr->flags;
1788                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
1789                         if (r->PrinterNameOffset) {
1790                                 uint32_t _relative_save_offset;
1791                                 _relative_save_offset = ndr->offset;
1792                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrinterNameOffset));
1793                                 _mem_save_PrinterNameOffset_0 = NDR_PULL_GET_MEM_CTX(ndr);
1794                                 NDR_PULL_SET_MEM_CTX(ndr, r->PrinterNameOffset, 0);
1795                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrinterNameOffset));
1796                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrinterNameOffset_0, 0);
1797                                 if (ndr->offset > ndr->relative_highest_offset) {
1798                                         ndr->relative_highest_offset = ndr->offset;
1799                                 }
1800                                 ndr->offset = _relative_save_offset;
1801                         }
1802                         ndr->flags = _flags_save_string;
1803                 }
1804         }
1805         return NDR_ERR_SUCCESS;
1806 }
1807
1808 _PUBLIC_ void ndr_print_rap_PrintJobInfo3(struct ndr_print *ndr, const char *name, const struct rap_PrintJobInfo3 *r)
1809 {
1810         ndr_print_struct(ndr, name, "rap_PrintJobInfo3");
1811         if (r == NULL) { ndr_print_null(ndr); return; }
1812         ndr->depth++;
1813         ndr_print_uint16(ndr, "JobID", r->JobID);
1814         ndr_print_uint16(ndr, "Priority", r->Priority);
1815         ndr_print_ptr(ndr, "UserName", r->UserName);
1816         ndr->depth++;
1817         if (r->UserName) {
1818                 ndr_print_string(ndr, "UserName", r->UserName);
1819         }
1820         ndr->depth--;
1821         ndr_print_uint16(ndr, "UserNameHigh", r->UserNameHigh);
1822         ndr_print_uint16(ndr, "JobPosition", r->JobPosition);
1823         ndr_print_rap_PrintJStatusCode(ndr, "JobStatus", r->JobStatus);
1824         ndr_print_time_t(ndr, "TimeSubmitted", r->TimeSubmitted);
1825         ndr_print_uint32(ndr, "JobSize", r->JobSize);
1826         ndr_print_ptr(ndr, "JobCommentString", r->JobCommentString);
1827         ndr->depth++;
1828         if (r->JobCommentString) {
1829                 ndr_print_string(ndr, "JobCommentString", r->JobCommentString);
1830         }
1831         ndr->depth--;
1832         ndr_print_uint16(ndr, "JobCommentStringHigh", r->JobCommentStringHigh);
1833         ndr_print_ptr(ndr, "DocumentName", r->DocumentName);
1834         ndr->depth++;
1835         if (r->DocumentName) {
1836                 ndr_print_string(ndr, "DocumentName", r->DocumentName);
1837         }
1838         ndr->depth--;
1839         ndr_print_uint16(ndr, "DocumentNameHigh", r->DocumentNameHigh);
1840         ndr_print_ptr(ndr, "NotifyName", r->NotifyName);
1841         ndr->depth++;
1842         if (r->NotifyName) {
1843                 ndr_print_string(ndr, "NotifyName", r->NotifyName);
1844         }
1845         ndr->depth--;
1846         ndr_print_uint16(ndr, "NotifyNameHigh", r->NotifyNameHigh);
1847         ndr_print_ptr(ndr, "DataType", r->DataType);
1848         ndr->depth++;
1849         if (r->DataType) {
1850                 ndr_print_string(ndr, "DataType", r->DataType);
1851         }
1852         ndr->depth--;
1853         ndr_print_uint16(ndr, "DataTypeHigh", r->DataTypeHigh);
1854         ndr_print_ptr(ndr, "PrintParameterString", r->PrintParameterString);
1855         ndr->depth++;
1856         if (r->PrintParameterString) {
1857                 ndr_print_string(ndr, "PrintParameterString", r->PrintParameterString);
1858         }
1859         ndr->depth--;
1860         ndr_print_uint16(ndr, "PrintParameterStringHigh", r->PrintParameterStringHigh);
1861         ndr_print_ptr(ndr, "StatusString", r->StatusString);
1862         ndr->depth++;
1863         if (r->StatusString) {
1864                 ndr_print_string(ndr, "StatusString", r->StatusString);
1865         }
1866         ndr->depth--;
1867         ndr_print_uint16(ndr, "StatusStringHigh", r->StatusStringHigh);
1868         ndr_print_ptr(ndr, "QueueName", r->QueueName);
1869         ndr->depth++;
1870         if (r->QueueName) {
1871                 ndr_print_string(ndr, "QueueName", r->QueueName);
1872         }
1873         ndr->depth--;
1874         ndr_print_uint16(ndr, "QueueNameHigh", r->QueueNameHigh);
1875         ndr_print_ptr(ndr, "PrintProcessorName", r->PrintProcessorName);
1876         ndr->depth++;
1877         if (r->PrintProcessorName) {
1878                 ndr_print_string(ndr, "PrintProcessorName", r->PrintProcessorName);
1879         }
1880         ndr->depth--;
1881         ndr_print_uint16(ndr, "PrintProcessorNameHigh", r->PrintProcessorNameHigh);
1882         ndr_print_ptr(ndr, "PrintProcessorParams", r->PrintProcessorParams);
1883         ndr->depth++;
1884         if (r->PrintProcessorParams) {
1885                 ndr_print_string(ndr, "PrintProcessorParams", r->PrintProcessorParams);
1886         }
1887         ndr->depth--;
1888         ndr_print_uint16(ndr, "PrintProcessorParamsHigh", r->PrintProcessorParamsHigh);
1889         ndr_print_ptr(ndr, "DriverName", r->DriverName);
1890         ndr->depth++;
1891         if (r->DriverName) {
1892                 ndr_print_string(ndr, "DriverName", r->DriverName);
1893         }
1894         ndr->depth--;
1895         ndr_print_uint16(ndr, "DriverNameHigh", r->DriverNameHigh);
1896         ndr_print_ptr(ndr, "DriverDataOffset", r->DriverDataOffset);
1897         ndr->depth++;
1898         if (r->DriverDataOffset) {
1899                 ndr_print_string(ndr, "DriverDataOffset", r->DriverDataOffset);
1900         }
1901         ndr->depth--;
1902         ndr_print_uint16(ndr, "DriverDataOffsetHigh", r->DriverDataOffsetHigh);
1903         ndr_print_ptr(ndr, "PrinterNameOffset", r->PrinterNameOffset);
1904         ndr->depth++;
1905         if (r->PrinterNameOffset) {
1906                 ndr_print_string(ndr, "PrinterNameOffset", r->PrinterNameOffset);
1907         }
1908         ndr->depth--;
1909         ndr_print_uint16(ndr, "PrinterNameOffsetHigh", r->PrinterNameOffsetHigh);
1910         ndr->depth--;
1911 }
1912
1913 _PUBLIC_ enum ndr_err_code ndr_push_rap_printj_info(struct ndr_push *ndr, int ndr_flags, const union rap_printj_info *r)
1914 {
1915         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1916         if (ndr_flags & NDR_SCALARS) {
1917                 uint32_t level = ndr_push_get_switch_value(ndr, r);
1918                 NDR_CHECK(ndr_push_union_align(ndr, 5));
1919                 switch (level) {
1920                         case 0: {
1921                                 NDR_CHECK(ndr_push_rap_PrintJobInfo0(ndr, NDR_SCALARS, &r->info0));
1922                         break; }
1923
1924                         case 1: {
1925                                 NDR_CHECK(ndr_push_rap_PrintJobInfo1(ndr, NDR_SCALARS, &r->info1));
1926                         break; }
1927
1928                         case 2: {
1929                                 NDR_CHECK(ndr_push_rap_PrintJobInfo2(ndr, NDR_SCALARS, &r->info2));
1930                         break; }
1931
1932                         case 3: {
1933                                 NDR_CHECK(ndr_push_rap_PrintJobInfo3(ndr, NDR_SCALARS, &r->info3));
1934                         break; }
1935
1936                         default:
1937                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1938                 }
1939         }
1940         if (ndr_flags & NDR_BUFFERS) {
1941                 uint32_t level = ndr_push_get_switch_value(ndr, r);
1942                 switch (level) {
1943                         case 0:
1944                         break;
1945
1946                         case 1:
1947                                 NDR_CHECK(ndr_push_rap_PrintJobInfo1(ndr, NDR_BUFFERS, &r->info1));
1948                         break;
1949
1950                         case 2:
1951                                 NDR_CHECK(ndr_push_rap_PrintJobInfo2(ndr, NDR_BUFFERS, &r->info2));
1952                         break;
1953
1954                         case 3:
1955                                 NDR_CHECK(ndr_push_rap_PrintJobInfo3(ndr, NDR_BUFFERS, &r->info3));
1956                         break;
1957
1958                         default:
1959                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1960                 }
1961         }
1962         return NDR_ERR_SUCCESS;
1963 }
1964
1965 _PUBLIC_ enum ndr_err_code ndr_pull_rap_printj_info(struct ndr_pull *ndr, int ndr_flags, union rap_printj_info *r)
1966 {
1967         uint32_t level;
1968         level = ndr_pull_get_switch_value(ndr, r);
1969         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1970         if (ndr_flags & NDR_SCALARS) {
1971                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
1972                 switch (level) {
1973                         case 0: {
1974                                 NDR_CHECK(ndr_pull_rap_PrintJobInfo0(ndr, NDR_SCALARS, &r->info0));
1975                         break; }
1976
1977                         case 1: {
1978                                 NDR_CHECK(ndr_pull_rap_PrintJobInfo1(ndr, NDR_SCALARS, &r->info1));
1979                         break; }
1980
1981                         case 2: {
1982                                 NDR_CHECK(ndr_pull_rap_PrintJobInfo2(ndr, NDR_SCALARS, &r->info2));
1983                         break; }
1984
1985                         case 3: {
1986                                 NDR_CHECK(ndr_pull_rap_PrintJobInfo3(ndr, NDR_SCALARS, &r->info3));
1987                         break; }
1988
1989                         default:
1990                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1991                 }
1992         }
1993         if (ndr_flags & NDR_BUFFERS) {
1994                 switch (level) {
1995                         case 0:
1996                         break;
1997
1998                         case 1:
1999                                 NDR_CHECK(ndr_pull_rap_PrintJobInfo1(ndr, NDR_BUFFERS, &r->info1));
2000                         break;
2001
2002                         case 2:
2003                                 NDR_CHECK(ndr_pull_rap_PrintJobInfo2(ndr, NDR_BUFFERS, &r->info2));
2004                         break;
2005
2006                         case 3:
2007                                 NDR_CHECK(ndr_pull_rap_PrintJobInfo3(ndr, NDR_BUFFERS, &r->info3));
2008                         break;
2009
2010                         default:
2011                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2012                 }
2013         }
2014         return NDR_ERR_SUCCESS;
2015 }
2016
2017 _PUBLIC_ void ndr_print_rap_printj_info(struct ndr_print *ndr, const char *name, const union rap_printj_info *r)
2018 {
2019         uint32_t level;
2020         level = ndr_print_get_switch_value(ndr, r);
2021         ndr_print_union(ndr, name, level, "rap_printj_info");
2022         switch (level) {
2023                 case 0:
2024                         ndr_print_rap_PrintJobInfo0(ndr, "info0", &r->info0);
2025                 break;
2026
2027                 case 1:
2028                         ndr_print_rap_PrintJobInfo1(ndr, "info1", &r->info1);
2029                 break;
2030
2031                 case 2:
2032                         ndr_print_rap_PrintJobInfo2(ndr, "info2", &r->info2);
2033                 break;
2034
2035                 case 3:
2036                         ndr_print_rap_PrintJobInfo3(ndr, "info3", &r->info3);
2037                 break;
2038
2039                 default:
2040                         ndr_print_bad_level(ndr, name, level);
2041         }
2042 }
2043
2044 _PUBLIC_ enum ndr_err_code ndr_push_rap_PrintQStatusCode(struct ndr_push *ndr, int ndr_flags, enum rap_PrintQStatusCode r)
2045 {
2046         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
2047         return NDR_ERR_SUCCESS;
2048 }
2049
2050 _PUBLIC_ enum ndr_err_code ndr_pull_rap_PrintQStatusCode(struct ndr_pull *ndr, int ndr_flags, enum rap_PrintQStatusCode *r)
2051 {
2052         uint16_t v;
2053         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
2054         *r = v;
2055         return NDR_ERR_SUCCESS;
2056 }
2057
2058 _PUBLIC_ void ndr_print_rap_PrintQStatusCode(struct ndr_print *ndr, const char *name, enum rap_PrintQStatusCode r)
2059 {
2060         const char *val = NULL;
2061
2062         switch (r) {
2063                 case PRQ_ACTIVE: val = "PRQ_ACTIVE"; break;
2064                 case PRQ_PAUSE: val = "PRQ_PAUSE"; break;
2065                 case PRQ_ERROR: val = "PRQ_ERROR"; break;
2066                 case PRQ_PENDING: val = "PRQ_PENDING"; break;
2067         }
2068         ndr_print_enum(ndr, name, "ENUM", val, r);
2069 }
2070
2071 static enum ndr_err_code ndr_push_rap_PrintQueue0(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue0 *r)
2072 {
2073         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2074         if (ndr_flags & NDR_SCALARS) {
2075                 NDR_CHECK(ndr_push_align(ndr, 1));
2076                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->PrintQName, 13, sizeof(uint8_t), CH_DOS));
2077                 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
2078         }
2079         if (ndr_flags & NDR_BUFFERS) {
2080         }
2081         return NDR_ERR_SUCCESS;
2082 }
2083
2084 static enum ndr_err_code ndr_pull_rap_PrintQueue0(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue0 *r)
2085 {
2086         uint32_t size_PrintQName_0 = 0;
2087         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2088         if (ndr_flags & NDR_SCALARS) {
2089                 NDR_CHECK(ndr_pull_align(ndr, 1));
2090                 size_PrintQName_0 = 13;
2091                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->PrintQName, size_PrintQName_0, sizeof(uint8_t), CH_DOS));
2092                 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
2093         }
2094         if (ndr_flags & NDR_BUFFERS) {
2095         }
2096         return NDR_ERR_SUCCESS;
2097 }
2098
2099 _PUBLIC_ void ndr_print_rap_PrintQueue0(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue0 *r)
2100 {
2101         ndr_print_struct(ndr, name, "rap_PrintQueue0");
2102         if (r == NULL) { ndr_print_null(ndr); return; }
2103         ndr->depth++;
2104         ndr_print_string(ndr, "PrintQName", r->PrintQName);
2105         ndr->depth--;
2106 }
2107
2108 static enum ndr_err_code ndr_push_rap_PrintQueue1(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue1 *r)
2109 {
2110         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2111         if (ndr_flags & NDR_SCALARS) {
2112                 NDR_CHECK(ndr_push_align(ndr, 5));
2113                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->PrintQName, 13, sizeof(uint8_t), CH_DOS));
2114                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Pad1));
2115                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Priority));
2116                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->StartTime));
2117                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->UntilTime));
2118                 {
2119                         uint32_t _flags_save_string = ndr->flags;
2120                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2121                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->SeparatorPageFilename));
2122                         ndr->flags = _flags_save_string;
2123                 }
2124                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->SeparatorPageFilenameHigh));
2125                 {
2126                         uint32_t _flags_save_string = ndr->flags;
2127                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2128                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintProcessorDllName));
2129                         ndr->flags = _flags_save_string;
2130                 }
2131                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintProcessorDllNameHigh));
2132                 {
2133                         uint32_t _flags_save_string = ndr->flags;
2134                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2135                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintDestinationsName));
2136                         ndr->flags = _flags_save_string;
2137                 }
2138                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintDestinationsNameHigh));
2139                 {
2140                         uint32_t _flags_save_string = ndr->flags;
2141                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2142                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintParameterString));
2143                         ndr->flags = _flags_save_string;
2144                 }
2145                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintParameterStringHigh));
2146                 {
2147                         uint32_t _flags_save_string = ndr->flags;
2148                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2149                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->CommentString));
2150                         ndr->flags = _flags_save_string;
2151                 }
2152                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->CommentStringHigh));
2153                 NDR_CHECK(ndr_push_rap_PrintQStatusCode(ndr, NDR_SCALARS, r->PrintQStatus));
2154                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintJobCount));
2155                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2156         }
2157         if (ndr_flags & NDR_BUFFERS) {
2158                 {
2159                         uint32_t _flags_save_string = ndr->flags;
2160                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2161                         if (r->SeparatorPageFilename) {
2162                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->SeparatorPageFilename));
2163                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->SeparatorPageFilename));
2164                         }
2165                         ndr->flags = _flags_save_string;
2166                 }
2167                 {
2168                         uint32_t _flags_save_string = ndr->flags;
2169                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2170                         if (r->PrintProcessorDllName) {
2171                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintProcessorDllName));
2172                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintProcessorDllName));
2173                         }
2174                         ndr->flags = _flags_save_string;
2175                 }
2176                 {
2177                         uint32_t _flags_save_string = ndr->flags;
2178                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2179                         if (r->PrintDestinationsName) {
2180                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintDestinationsName));
2181                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintDestinationsName));
2182                         }
2183                         ndr->flags = _flags_save_string;
2184                 }
2185                 {
2186                         uint32_t _flags_save_string = ndr->flags;
2187                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2188                         if (r->PrintParameterString) {
2189                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintParameterString));
2190                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintParameterString));
2191                         }
2192                         ndr->flags = _flags_save_string;
2193                 }
2194                 {
2195                         uint32_t _flags_save_string = ndr->flags;
2196                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2197                         if (r->CommentString) {
2198                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->CommentString));
2199                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->CommentString));
2200                         }
2201                         ndr->flags = _flags_save_string;
2202                 }
2203         }
2204         return NDR_ERR_SUCCESS;
2205 }
2206
2207 static enum ndr_err_code ndr_pull_rap_PrintQueue1(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue1 *r)
2208 {
2209         uint32_t size_PrintQName_0 = 0;
2210         uint16_t _ptr_SeparatorPageFilename;
2211         TALLOC_CTX *_mem_save_SeparatorPageFilename_0;
2212         uint16_t _ptr_PrintProcessorDllName;
2213         TALLOC_CTX *_mem_save_PrintProcessorDllName_0;
2214         uint16_t _ptr_PrintDestinationsName;
2215         TALLOC_CTX *_mem_save_PrintDestinationsName_0;
2216         uint16_t _ptr_PrintParameterString;
2217         TALLOC_CTX *_mem_save_PrintParameterString_0;
2218         uint16_t _ptr_CommentString;
2219         TALLOC_CTX *_mem_save_CommentString_0;
2220         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2221         if (ndr_flags & NDR_SCALARS) {
2222                 NDR_CHECK(ndr_pull_align(ndr, 5));
2223                 size_PrintQName_0 = 13;
2224                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->PrintQName, size_PrintQName_0, sizeof(uint8_t), CH_DOS));
2225                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Pad1));
2226                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Priority));
2227                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->StartTime));
2228                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UntilTime));
2229                 {
2230                         uint32_t _flags_save_string = ndr->flags;
2231                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2232                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_SeparatorPageFilename));
2233                         if (_ptr_SeparatorPageFilename) {
2234                                 NDR_PULL_ALLOC(ndr, r->SeparatorPageFilename);
2235                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->SeparatorPageFilename, _ptr_SeparatorPageFilename));
2236                         } else {
2237                                 r->SeparatorPageFilename = NULL;
2238                         }
2239                         ndr->flags = _flags_save_string;
2240                 }
2241                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->SeparatorPageFilenameHigh));
2242                 {
2243                         uint32_t _flags_save_string = ndr->flags;
2244                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2245                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintProcessorDllName));
2246                         if (_ptr_PrintProcessorDllName) {
2247                                 NDR_PULL_ALLOC(ndr, r->PrintProcessorDllName);
2248                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintProcessorDllName, _ptr_PrintProcessorDllName));
2249                         } else {
2250                                 r->PrintProcessorDllName = NULL;
2251                         }
2252                         ndr->flags = _flags_save_string;
2253                 }
2254                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintProcessorDllNameHigh));
2255                 {
2256                         uint32_t _flags_save_string = ndr->flags;
2257                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2258                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintDestinationsName));
2259                         if (_ptr_PrintDestinationsName) {
2260                                 NDR_PULL_ALLOC(ndr, r->PrintDestinationsName);
2261                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintDestinationsName, _ptr_PrintDestinationsName));
2262                         } else {
2263                                 r->PrintDestinationsName = NULL;
2264                         }
2265                         ndr->flags = _flags_save_string;
2266                 }
2267                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintDestinationsNameHigh));
2268                 {
2269                         uint32_t _flags_save_string = ndr->flags;
2270                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2271                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintParameterString));
2272                         if (_ptr_PrintParameterString) {
2273                                 NDR_PULL_ALLOC(ndr, r->PrintParameterString);
2274                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintParameterString, _ptr_PrintParameterString));
2275                         } else {
2276                                 r->PrintParameterString = NULL;
2277                         }
2278                         ndr->flags = _flags_save_string;
2279                 }
2280                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintParameterStringHigh));
2281                 {
2282                         uint32_t _flags_save_string = ndr->flags;
2283                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2284                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_CommentString));
2285                         if (_ptr_CommentString) {
2286                                 NDR_PULL_ALLOC(ndr, r->CommentString);
2287                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->CommentString, _ptr_CommentString));
2288                         } else {
2289                                 r->CommentString = NULL;
2290                         }
2291                         ndr->flags = _flags_save_string;
2292                 }
2293                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->CommentStringHigh));
2294                 NDR_CHECK(ndr_pull_rap_PrintQStatusCode(ndr, NDR_SCALARS, &r->PrintQStatus));
2295                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintJobCount));
2296                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2297         }
2298         if (ndr_flags & NDR_BUFFERS) {
2299                 {
2300                         uint32_t _flags_save_string = ndr->flags;
2301                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2302                         if (r->SeparatorPageFilename) {
2303                                 uint32_t _relative_save_offset;
2304                                 _relative_save_offset = ndr->offset;
2305                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->SeparatorPageFilename));
2306                                 _mem_save_SeparatorPageFilename_0 = NDR_PULL_GET_MEM_CTX(ndr);
2307                                 NDR_PULL_SET_MEM_CTX(ndr, r->SeparatorPageFilename, 0);
2308                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->SeparatorPageFilename));
2309                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SeparatorPageFilename_0, 0);
2310                                 if (ndr->offset > ndr->relative_highest_offset) {
2311                                         ndr->relative_highest_offset = ndr->offset;
2312                                 }
2313                                 ndr->offset = _relative_save_offset;
2314                         }
2315                         ndr->flags = _flags_save_string;
2316                 }
2317                 {
2318                         uint32_t _flags_save_string = ndr->flags;
2319                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2320                         if (r->PrintProcessorDllName) {
2321                                 uint32_t _relative_save_offset;
2322                                 _relative_save_offset = ndr->offset;
2323                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintProcessorDllName));
2324                                 _mem_save_PrintProcessorDllName_0 = NDR_PULL_GET_MEM_CTX(ndr);
2325                                 NDR_PULL_SET_MEM_CTX(ndr, r->PrintProcessorDllName, 0);
2326                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintProcessorDllName));
2327                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintProcessorDllName_0, 0);
2328                                 if (ndr->offset > ndr->relative_highest_offset) {
2329                                         ndr->relative_highest_offset = ndr->offset;
2330                                 }
2331                                 ndr->offset = _relative_save_offset;
2332                         }
2333                         ndr->flags = _flags_save_string;
2334                 }
2335                 {
2336                         uint32_t _flags_save_string = ndr->flags;
2337                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2338                         if (r->PrintDestinationsName) {
2339                                 uint32_t _relative_save_offset;
2340                                 _relative_save_offset = ndr->offset;
2341                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintDestinationsName));
2342                                 _mem_save_PrintDestinationsName_0 = NDR_PULL_GET_MEM_CTX(ndr);
2343                                 NDR_PULL_SET_MEM_CTX(ndr, r->PrintDestinationsName, 0);
2344                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintDestinationsName));
2345                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintDestinationsName_0, 0);
2346                                 if (ndr->offset > ndr->relative_highest_offset) {
2347                                         ndr->relative_highest_offset = ndr->offset;
2348                                 }
2349                                 ndr->offset = _relative_save_offset;
2350                         }
2351                         ndr->flags = _flags_save_string;
2352                 }
2353                 {
2354                         uint32_t _flags_save_string = ndr->flags;
2355                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2356                         if (r->PrintParameterString) {
2357                                 uint32_t _relative_save_offset;
2358                                 _relative_save_offset = ndr->offset;
2359                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintParameterString));
2360                                 _mem_save_PrintParameterString_0 = NDR_PULL_GET_MEM_CTX(ndr);
2361                                 NDR_PULL_SET_MEM_CTX(ndr, r->PrintParameterString, 0);
2362                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintParameterString));
2363                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintParameterString_0, 0);
2364                                 if (ndr->offset > ndr->relative_highest_offset) {
2365                                         ndr->relative_highest_offset = ndr->offset;
2366                                 }
2367                                 ndr->offset = _relative_save_offset;
2368                         }
2369                         ndr->flags = _flags_save_string;
2370                 }
2371                 {
2372                         uint32_t _flags_save_string = ndr->flags;
2373                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2374                         if (r->CommentString) {
2375                                 uint32_t _relative_save_offset;
2376                                 _relative_save_offset = ndr->offset;
2377                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->CommentString));
2378                                 _mem_save_CommentString_0 = NDR_PULL_GET_MEM_CTX(ndr);
2379                                 NDR_PULL_SET_MEM_CTX(ndr, r->CommentString, 0);
2380                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->CommentString));
2381                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_CommentString_0, 0);
2382                                 if (ndr->offset > ndr->relative_highest_offset) {
2383                                         ndr->relative_highest_offset = ndr->offset;
2384                                 }
2385                                 ndr->offset = _relative_save_offset;
2386                         }
2387                         ndr->flags = _flags_save_string;
2388                 }
2389         }
2390         return NDR_ERR_SUCCESS;
2391 }
2392
2393 _PUBLIC_ void ndr_print_rap_PrintQueue1(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue1 *r)
2394 {
2395         ndr_print_struct(ndr, name, "rap_PrintQueue1");
2396         if (r == NULL) { ndr_print_null(ndr); return; }
2397         ndr->depth++;
2398         ndr_print_string(ndr, "PrintQName", r->PrintQName);
2399         ndr_print_uint8(ndr, "Pad1", r->Pad1);
2400         ndr_print_uint16(ndr, "Priority", r->Priority);
2401         ndr_print_uint16(ndr, "StartTime", r->StartTime);
2402         ndr_print_uint16(ndr, "UntilTime", r->UntilTime);
2403         ndr_print_ptr(ndr, "SeparatorPageFilename", r->SeparatorPageFilename);
2404         ndr->depth++;
2405         if (r->SeparatorPageFilename) {
2406                 ndr_print_string(ndr, "SeparatorPageFilename", r->SeparatorPageFilename);
2407         }
2408         ndr->depth--;
2409         ndr_print_uint16(ndr, "SeparatorPageFilenameHigh", r->SeparatorPageFilenameHigh);
2410         ndr_print_ptr(ndr, "PrintProcessorDllName", r->PrintProcessorDllName);
2411         ndr->depth++;
2412         if (r->PrintProcessorDllName) {
2413                 ndr_print_string(ndr, "PrintProcessorDllName", r->PrintProcessorDllName);
2414         }
2415         ndr->depth--;
2416         ndr_print_uint16(ndr, "PrintProcessorDllNameHigh", r->PrintProcessorDllNameHigh);
2417         ndr_print_ptr(ndr, "PrintDestinationsName", r->PrintDestinationsName);
2418         ndr->depth++;
2419         if (r->PrintDestinationsName) {
2420                 ndr_print_string(ndr, "PrintDestinationsName", r->PrintDestinationsName);
2421         }
2422         ndr->depth--;
2423         ndr_print_uint16(ndr, "PrintDestinationsNameHigh", r->PrintDestinationsNameHigh);
2424         ndr_print_ptr(ndr, "PrintParameterString", r->PrintParameterString);
2425         ndr->depth++;
2426         if (r->PrintParameterString) {
2427                 ndr_print_string(ndr, "PrintParameterString", r->PrintParameterString);
2428         }
2429         ndr->depth--;
2430         ndr_print_uint16(ndr, "PrintParameterStringHigh", r->PrintParameterStringHigh);
2431         ndr_print_ptr(ndr, "CommentString", r->CommentString);
2432         ndr->depth++;
2433         if (r->CommentString) {
2434                 ndr_print_string(ndr, "CommentString", r->CommentString);
2435         }
2436         ndr->depth--;
2437         ndr_print_uint16(ndr, "CommentStringHigh", r->CommentStringHigh);
2438         ndr_print_rap_PrintQStatusCode(ndr, "PrintQStatus", r->PrintQStatus);
2439         ndr_print_uint16(ndr, "PrintJobCount", r->PrintJobCount);
2440         ndr->depth--;
2441 }
2442
2443 static enum ndr_err_code ndr_push_rap_PrintQueue2(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue2 *r)
2444 {
2445         uint32_t cntr_job_0;
2446         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2447         if (ndr_flags & NDR_SCALARS) {
2448                 NDR_CHECK(ndr_push_align(ndr, 5));
2449                 NDR_CHECK(ndr_push_rap_PrintQueue1(ndr, NDR_SCALARS, &r->queue));
2450                 for (cntr_job_0 = 0; cntr_job_0 < r->queue.PrintJobCount; cntr_job_0++) {
2451                         NDR_CHECK(ndr_push_rap_PrintJobInfo1(ndr, NDR_SCALARS, &r->job[cntr_job_0]));
2452                 }
2453                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2454         }
2455         if (ndr_flags & NDR_BUFFERS) {
2456                 NDR_CHECK(ndr_push_rap_PrintQueue1(ndr, NDR_BUFFERS, &r->queue));
2457                 for (cntr_job_0 = 0; cntr_job_0 < r->queue.PrintJobCount; cntr_job_0++) {
2458                         NDR_CHECK(ndr_push_rap_PrintJobInfo1(ndr, NDR_BUFFERS, &r->job[cntr_job_0]));
2459                 }
2460         }
2461         return NDR_ERR_SUCCESS;
2462 }
2463
2464 static enum ndr_err_code ndr_pull_rap_PrintQueue2(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue2 *r)
2465 {
2466         uint32_t size_job_0 = 0;
2467         uint32_t cntr_job_0;
2468         TALLOC_CTX *_mem_save_job_0;
2469         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2470         if (ndr_flags & NDR_SCALARS) {
2471                 NDR_CHECK(ndr_pull_align(ndr, 5));
2472                 NDR_CHECK(ndr_pull_rap_PrintQueue1(ndr, NDR_SCALARS, &r->queue));
2473                 size_job_0 = r->queue.PrintJobCount;
2474                 NDR_PULL_ALLOC_N(ndr, r->job, size_job_0);
2475                 _mem_save_job_0 = NDR_PULL_GET_MEM_CTX(ndr);
2476                 NDR_PULL_SET_MEM_CTX(ndr, r->job, 0);
2477                 for (cntr_job_0 = 0; cntr_job_0 < size_job_0; cntr_job_0++) {
2478                         NDR_CHECK(ndr_pull_rap_PrintJobInfo1(ndr, NDR_SCALARS, &r->job[cntr_job_0]));
2479                 }
2480                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_job_0, 0);
2481                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2482         }
2483         if (ndr_flags & NDR_BUFFERS) {
2484                 NDR_CHECK(ndr_pull_rap_PrintQueue1(ndr, NDR_BUFFERS, &r->queue));
2485                 size_job_0 = r->queue.PrintJobCount;
2486                 _mem_save_job_0 = NDR_PULL_GET_MEM_CTX(ndr);
2487                 NDR_PULL_SET_MEM_CTX(ndr, r->job, 0);
2488                 for (cntr_job_0 = 0; cntr_job_0 < size_job_0; cntr_job_0++) {
2489                         NDR_CHECK(ndr_pull_rap_PrintJobInfo1(ndr, NDR_BUFFERS, &r->job[cntr_job_0]));
2490                 }
2491                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_job_0, 0);
2492         }
2493         return NDR_ERR_SUCCESS;
2494 }
2495
2496 _PUBLIC_ void ndr_print_rap_PrintQueue2(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue2 *r)
2497 {
2498         uint32_t cntr_job_0;
2499         ndr_print_struct(ndr, name, "rap_PrintQueue2");
2500         if (r == NULL) { ndr_print_null(ndr); return; }
2501         ndr->depth++;
2502         ndr_print_rap_PrintQueue1(ndr, "queue", &r->queue);
2503         ndr->print(ndr, "%s: ARRAY(%d)", "job", (int)r->queue.PrintJobCount);
2504         ndr->depth++;
2505         for (cntr_job_0=0;cntr_job_0<r->queue.PrintJobCount;cntr_job_0++) {
2506                 ndr_print_rap_PrintJobInfo1(ndr, "job", &r->job[cntr_job_0]);
2507         }
2508         ndr->depth--;
2509         ndr->depth--;
2510 }
2511
2512 _PUBLIC_ enum ndr_err_code ndr_push_rap_PrintQueue3(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue3 *r)
2513 {
2514         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2515         if (ndr_flags & NDR_SCALARS) {
2516                 NDR_CHECK(ndr_push_align(ndr, 5));
2517                 {
2518                         uint32_t _flags_save_string = ndr->flags;
2519                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2520                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintQueueName));
2521                         ndr->flags = _flags_save_string;
2522                 }
2523                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintQueueNameHigh));
2524                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Priority));
2525                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->StartTime));
2526                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->UntilTime));
2527                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Pad));
2528                 {
2529                         uint32_t _flags_save_string = ndr->flags;
2530                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2531                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->SeparatorPageFilename));
2532                         ndr->flags = _flags_save_string;
2533                 }
2534                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->SeparatorPageFilenameHigh));
2535                 {
2536                         uint32_t _flags_save_string = ndr->flags;
2537                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2538                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintProcessorDllName));
2539                         ndr->flags = _flags_save_string;
2540                 }
2541                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintProcessorDllNameHigh));
2542                 {
2543                         uint32_t _flags_save_string = ndr->flags;
2544                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2545                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintParameterString));
2546                         ndr->flags = _flags_save_string;
2547                 }
2548                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintParameterStringHigh));
2549                 {
2550                         uint32_t _flags_save_string = ndr->flags;
2551                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2552                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->CommentString));
2553                         ndr->flags = _flags_save_string;
2554                 }
2555                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->CommentStringHigh));
2556                 NDR_CHECK(ndr_push_rap_PrintQStatusCode(ndr, NDR_SCALARS, r->PrintQStatus));
2557                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintJobCount));
2558                 {
2559                         uint32_t _flags_save_string = ndr->flags;
2560                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2561                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->Printers));
2562                         ndr->flags = _flags_save_string;
2563                 }
2564                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintersHigh));
2565                 {
2566                         uint32_t _flags_save_string = ndr->flags;
2567                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2568                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->DriverName));
2569                         ndr->flags = _flags_save_string;
2570                 }
2571                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->DriverNameHigh));
2572                 {
2573                         uint32_t _flags_save_string = ndr->flags;
2574                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2575                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintDriverData));
2576                         ndr->flags = _flags_save_string;
2577                 }
2578                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintDriverDataHigh));
2579                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2580         }
2581         if (ndr_flags & NDR_BUFFERS) {
2582                 {
2583                         uint32_t _flags_save_string = ndr->flags;
2584                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2585                         if (r->PrintQueueName) {
2586                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintQueueName));
2587                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintQueueName));
2588                         }
2589                         ndr->flags = _flags_save_string;
2590                 }
2591                 {
2592                         uint32_t _flags_save_string = ndr->flags;
2593                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2594                         if (r->SeparatorPageFilename) {
2595                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->SeparatorPageFilename));
2596                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->SeparatorPageFilename));
2597                         }
2598                         ndr->flags = _flags_save_string;
2599                 }
2600                 {
2601                         uint32_t _flags_save_string = ndr->flags;
2602                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2603                         if (r->PrintProcessorDllName) {
2604                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintProcessorDllName));
2605                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintProcessorDllName));
2606                         }
2607                         ndr->flags = _flags_save_string;
2608                 }
2609                 {
2610                         uint32_t _flags_save_string = ndr->flags;
2611                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2612                         if (r->PrintParameterString) {
2613                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintParameterString));
2614                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintParameterString));
2615                         }
2616                         ndr->flags = _flags_save_string;
2617                 }
2618                 {
2619                         uint32_t _flags_save_string = ndr->flags;
2620                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2621                         if (r->CommentString) {
2622                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->CommentString));
2623                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->CommentString));
2624                         }
2625                         ndr->flags = _flags_save_string;
2626                 }
2627                 {
2628                         uint32_t _flags_save_string = ndr->flags;
2629                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2630                         if (r->Printers) {
2631                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->Printers));
2632                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Printers));
2633                         }
2634                         ndr->flags = _flags_save_string;
2635                 }
2636                 {
2637                         uint32_t _flags_save_string = ndr->flags;
2638                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2639                         if (r->DriverName) {
2640                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->DriverName));
2641                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->DriverName));
2642                         }
2643                         ndr->flags = _flags_save_string;
2644                 }
2645                 {
2646                         uint32_t _flags_save_string = ndr->flags;
2647                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2648                         if (r->PrintDriverData) {
2649                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintDriverData));
2650                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintDriverData));
2651                         }
2652                         ndr->flags = _flags_save_string;
2653                 }
2654         }
2655         return NDR_ERR_SUCCESS;
2656 }
2657
2658 _PUBLIC_ enum ndr_err_code ndr_pull_rap_PrintQueue3(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue3 *r)
2659 {
2660         uint16_t _ptr_PrintQueueName;
2661         TALLOC_CTX *_mem_save_PrintQueueName_0;
2662         uint16_t _ptr_SeparatorPageFilename;
2663         TALLOC_CTX *_mem_save_SeparatorPageFilename_0;
2664         uint16_t _ptr_PrintProcessorDllName;
2665         TALLOC_CTX *_mem_save_PrintProcessorDllName_0;
2666         uint16_t _ptr_PrintParameterString;
2667         TALLOC_CTX *_mem_save_PrintParameterString_0;
2668         uint16_t _ptr_CommentString;
2669         TALLOC_CTX *_mem_save_CommentString_0;
2670         uint16_t _ptr_Printers;
2671         TALLOC_CTX *_mem_save_Printers_0;
2672         uint16_t _ptr_DriverName;
2673         TALLOC_CTX *_mem_save_DriverName_0;
2674         uint16_t _ptr_PrintDriverData;
2675         TALLOC_CTX *_mem_save_PrintDriverData_0;
2676         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2677         if (ndr_flags & NDR_SCALARS) {
2678                 NDR_CHECK(ndr_pull_align(ndr, 5));
2679                 {
2680                         uint32_t _flags_save_string = ndr->flags;
2681                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2682                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintQueueName));
2683                         if (_ptr_PrintQueueName) {
2684                                 NDR_PULL_ALLOC(ndr, r->PrintQueueName);
2685                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintQueueName, _ptr_PrintQueueName));
2686                         } else {
2687                                 r->PrintQueueName = NULL;
2688                         }
2689                         ndr->flags = _flags_save_string;
2690                 }
2691                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintQueueNameHigh));
2692                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Priority));
2693                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->StartTime));
2694                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UntilTime));
2695                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Pad));
2696                 {
2697                         uint32_t _flags_save_string = ndr->flags;
2698                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2699                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_SeparatorPageFilename));
2700                         if (_ptr_SeparatorPageFilename) {
2701                                 NDR_PULL_ALLOC(ndr, r->SeparatorPageFilename);
2702                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->SeparatorPageFilename, _ptr_SeparatorPageFilename));
2703                         } else {
2704                                 r->SeparatorPageFilename = NULL;
2705                         }
2706                         ndr->flags = _flags_save_string;
2707                 }
2708                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->SeparatorPageFilenameHigh));
2709                 {
2710                         uint32_t _flags_save_string = ndr->flags;
2711                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2712                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintProcessorDllName));
2713                         if (_ptr_PrintProcessorDllName) {
2714                                 NDR_PULL_ALLOC(ndr, r->PrintProcessorDllName);
2715                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintProcessorDllName, _ptr_PrintProcessorDllName));
2716                         } else {
2717                                 r->PrintProcessorDllName = NULL;
2718                         }
2719                         ndr->flags = _flags_save_string;
2720                 }
2721                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintProcessorDllNameHigh));
2722                 {
2723                         uint32_t _flags_save_string = ndr->flags;
2724                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2725                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintParameterString));
2726                         if (_ptr_PrintParameterString) {
2727                                 NDR_PULL_ALLOC(ndr, r->PrintParameterString);
2728                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintParameterString, _ptr_PrintParameterString));
2729                         } else {
2730                                 r->PrintParameterString = NULL;
2731                         }
2732                         ndr->flags = _flags_save_string;
2733                 }
2734                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintParameterStringHigh));
2735                 {
2736                         uint32_t _flags_save_string = ndr->flags;
2737                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2738                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_CommentString));
2739                         if (_ptr_CommentString) {
2740                                 NDR_PULL_ALLOC(ndr, r->CommentString);
2741                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->CommentString, _ptr_CommentString));
2742                         } else {
2743                                 r->CommentString = NULL;
2744                         }
2745                         ndr->flags = _flags_save_string;
2746                 }
2747                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->CommentStringHigh));
2748                 NDR_CHECK(ndr_pull_rap_PrintQStatusCode(ndr, NDR_SCALARS, &r->PrintQStatus));
2749                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintJobCount));
2750                 {
2751                         uint32_t _flags_save_string = ndr->flags;
2752                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2753                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_Printers));
2754                         if (_ptr_Printers) {
2755                                 NDR_PULL_ALLOC(ndr, r->Printers);
2756                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->Printers, _ptr_Printers));
2757                         } else {
2758                                 r->Printers = NULL;
2759                         }
2760                         ndr->flags = _flags_save_string;
2761                 }
2762                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintersHigh));
2763                 {
2764                         uint32_t _flags_save_string = ndr->flags;
2765                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2766                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_DriverName));
2767                         if (_ptr_DriverName) {
2768                                 NDR_PULL_ALLOC(ndr, r->DriverName);
2769                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DriverName, _ptr_DriverName));
2770                         } else {
2771                                 r->DriverName = NULL;
2772                         }
2773                         ndr->flags = _flags_save_string;
2774                 }
2775                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DriverNameHigh));
2776                 {
2777                         uint32_t _flags_save_string = ndr->flags;
2778                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2779                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintDriverData));
2780                         if (_ptr_PrintDriverData) {
2781                                 NDR_PULL_ALLOC(ndr, r->PrintDriverData);
2782                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintDriverData, _ptr_PrintDriverData));
2783                         } else {
2784                                 r->PrintDriverData = NULL;
2785                         }
2786                         ndr->flags = _flags_save_string;
2787                 }
2788                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintDriverDataHigh));
2789                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2790         }
2791         if (ndr_flags & NDR_BUFFERS) {
2792                 {
2793                         uint32_t _flags_save_string = ndr->flags;
2794                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2795                         if (r->PrintQueueName) {
2796                                 uint32_t _relative_save_offset;
2797                                 _relative_save_offset = ndr->offset;
2798                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintQueueName));
2799                                 _mem_save_PrintQueueName_0 = NDR_PULL_GET_MEM_CTX(ndr);
2800                                 NDR_PULL_SET_MEM_CTX(ndr, r->PrintQueueName, 0);
2801                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintQueueName));
2802                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintQueueName_0, 0);
2803                                 if (ndr->offset > ndr->relative_highest_offset) {
2804                                         ndr->relative_highest_offset = ndr->offset;
2805                                 }
2806                                 ndr->offset = _relative_save_offset;
2807                         }
2808                         ndr->flags = _flags_save_string;
2809                 }
2810                 {
2811                         uint32_t _flags_save_string = ndr->flags;
2812                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2813                         if (r->SeparatorPageFilename) {
2814                                 uint32_t _relative_save_offset;
2815                                 _relative_save_offset = ndr->offset;
2816                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->SeparatorPageFilename));
2817                                 _mem_save_SeparatorPageFilename_0 = NDR_PULL_GET_MEM_CTX(ndr);
2818                                 NDR_PULL_SET_MEM_CTX(ndr, r->SeparatorPageFilename, 0);
2819                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->SeparatorPageFilename));
2820                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SeparatorPageFilename_0, 0);
2821                                 if (ndr->offset > ndr->relative_highest_offset) {
2822                                         ndr->relative_highest_offset = ndr->offset;
2823                                 }
2824                                 ndr->offset = _relative_save_offset;
2825                         }
2826                         ndr->flags = _flags_save_string;
2827                 }
2828                 {
2829                         uint32_t _flags_save_string = ndr->flags;
2830                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2831                         if (r->PrintProcessorDllName) {
2832                                 uint32_t _relative_save_offset;
2833                                 _relative_save_offset = ndr->offset;
2834                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintProcessorDllName));
2835                                 _mem_save_PrintProcessorDllName_0 = NDR_PULL_GET_MEM_CTX(ndr);
2836                                 NDR_PULL_SET_MEM_CTX(ndr, r->PrintProcessorDllName, 0);
2837                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintProcessorDllName));
2838                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintProcessorDllName_0, 0);
2839                                 if (ndr->offset > ndr->relative_highest_offset) {
2840                                         ndr->relative_highest_offset = ndr->offset;
2841                                 }
2842                                 ndr->offset = _relative_save_offset;
2843                         }
2844                         ndr->flags = _flags_save_string;
2845                 }
2846                 {
2847                         uint32_t _flags_save_string = ndr->flags;
2848                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2849                         if (r->PrintParameterString) {
2850                                 uint32_t _relative_save_offset;
2851                                 _relative_save_offset = ndr->offset;
2852                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintParameterString));
2853                                 _mem_save_PrintParameterString_0 = NDR_PULL_GET_MEM_CTX(ndr);
2854                                 NDR_PULL_SET_MEM_CTX(ndr, r->PrintParameterString, 0);
2855                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintParameterString));
2856                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintParameterString_0, 0);
2857                                 if (ndr->offset > ndr->relative_highest_offset) {
2858                                         ndr->relative_highest_offset = ndr->offset;
2859                                 }
2860                                 ndr->offset = _relative_save_offset;
2861                         }
2862                         ndr->flags = _flags_save_string;
2863                 }
2864                 {
2865                         uint32_t _flags_save_string = ndr->flags;
2866                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2867                         if (r->CommentString) {
2868                                 uint32_t _relative_save_offset;
2869                                 _relative_save_offset = ndr->offset;
2870                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->CommentString));
2871                                 _mem_save_CommentString_0 = NDR_PULL_GET_MEM_CTX(ndr);
2872                                 NDR_PULL_SET_MEM_CTX(ndr, r->CommentString, 0);
2873                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->CommentString));
2874                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_CommentString_0, 0);
2875                                 if (ndr->offset > ndr->relative_highest_offset) {
2876                                         ndr->relative_highest_offset = ndr->offset;
2877                                 }
2878                                 ndr->offset = _relative_save_offset;
2879                         }
2880                         ndr->flags = _flags_save_string;
2881                 }
2882                 {
2883                         uint32_t _flags_save_string = ndr->flags;
2884                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2885                         if (r->Printers) {
2886                                 uint32_t _relative_save_offset;
2887                                 _relative_save_offset = ndr->offset;
2888                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->Printers));
2889                                 _mem_save_Printers_0 = NDR_PULL_GET_MEM_CTX(ndr);
2890                                 NDR_PULL_SET_MEM_CTX(ndr, r->Printers, 0);
2891                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Printers));
2892                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Printers_0, 0);
2893                                 if (ndr->offset > ndr->relative_highest_offset) {
2894                                         ndr->relative_highest_offset = ndr->offset;
2895                                 }
2896                                 ndr->offset = _relative_save_offset;
2897                         }
2898                         ndr->flags = _flags_save_string;
2899                 }
2900                 {
2901                         uint32_t _flags_save_string = ndr->flags;
2902                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2903                         if (r->DriverName) {
2904                                 uint32_t _relative_save_offset;
2905                                 _relative_save_offset = ndr->offset;
2906                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DriverName));
2907                                 _mem_save_DriverName_0 = NDR_PULL_GET_MEM_CTX(ndr);
2908                                 NDR_PULL_SET_MEM_CTX(ndr, r->DriverName, 0);
2909                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->DriverName));
2910                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DriverName_0, 0);
2911                                 if (ndr->offset > ndr->relative_highest_offset) {
2912                                         ndr->relative_highest_offset = ndr->offset;
2913                                 }
2914                                 ndr->offset = _relative_save_offset;
2915                         }
2916                         ndr->flags = _flags_save_string;
2917                 }
2918                 {
2919                         uint32_t _flags_save_string = ndr->flags;
2920                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
2921                         if (r->PrintDriverData) {
2922                                 uint32_t _relative_save_offset;
2923                                 _relative_save_offset = ndr->offset;
2924                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintDriverData));
2925                                 _mem_save_PrintDriverData_0 = NDR_PULL_GET_MEM_CTX(ndr);
2926                                 NDR_PULL_SET_MEM_CTX(ndr, r->PrintDriverData, 0);
2927                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintDriverData));
2928                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintDriverData_0, 0);
2929                                 if (ndr->offset > ndr->relative_highest_offset) {
2930                                         ndr->relative_highest_offset = ndr->offset;
2931                                 }
2932                                 ndr->offset = _relative_save_offset;
2933                         }
2934                         ndr->flags = _flags_save_string;
2935                 }
2936         }
2937         return NDR_ERR_SUCCESS;
2938 }
2939
2940 _PUBLIC_ void ndr_print_rap_PrintQueue3(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue3 *r)
2941 {
2942         ndr_print_struct(ndr, name, "rap_PrintQueue3");
2943         if (r == NULL) { ndr_print_null(ndr); return; }
2944         ndr->depth++;
2945         ndr_print_ptr(ndr, "PrintQueueName", r->PrintQueueName);
2946         ndr->depth++;
2947         if (r->PrintQueueName) {
2948                 ndr_print_string(ndr, "PrintQueueName", r->PrintQueueName);
2949         }
2950         ndr->depth--;
2951         ndr_print_uint16(ndr, "PrintQueueNameHigh", r->PrintQueueNameHigh);
2952         ndr_print_uint16(ndr, "Priority", r->Priority);
2953         ndr_print_uint16(ndr, "StartTime", r->StartTime);
2954         ndr_print_uint16(ndr, "UntilTime", r->UntilTime);
2955         ndr_print_uint16(ndr, "Pad", r->Pad);
2956         ndr_print_ptr(ndr, "SeparatorPageFilename", r->SeparatorPageFilename);
2957         ndr->depth++;
2958         if (r->SeparatorPageFilename) {
2959                 ndr_print_string(ndr, "SeparatorPageFilename", r->SeparatorPageFilename);
2960         }
2961         ndr->depth--;
2962         ndr_print_uint16(ndr, "SeparatorPageFilenameHigh", r->SeparatorPageFilenameHigh);
2963         ndr_print_ptr(ndr, "PrintProcessorDllName", r->PrintProcessorDllName);
2964         ndr->depth++;
2965         if (r->PrintProcessorDllName) {
2966                 ndr_print_string(ndr, "PrintProcessorDllName", r->PrintProcessorDllName);
2967         }
2968         ndr->depth--;
2969         ndr_print_uint16(ndr, "PrintProcessorDllNameHigh", r->PrintProcessorDllNameHigh);
2970         ndr_print_ptr(ndr, "PrintParameterString", r->PrintParameterString);
2971         ndr->depth++;
2972         if (r->PrintParameterString) {
2973                 ndr_print_string(ndr, "PrintParameterString", r->PrintParameterString);
2974         }
2975         ndr->depth--;
2976         ndr_print_uint16(ndr, "PrintParameterStringHigh", r->PrintParameterStringHigh);
2977         ndr_print_ptr(ndr, "CommentString", r->CommentString);
2978         ndr->depth++;
2979         if (r->CommentString) {
2980                 ndr_print_string(ndr, "CommentString", r->CommentString);
2981         }
2982         ndr->depth--;
2983         ndr_print_uint16(ndr, "CommentStringHigh", r->CommentStringHigh);
2984         ndr_print_rap_PrintQStatusCode(ndr, "PrintQStatus", r->PrintQStatus);
2985         ndr_print_uint16(ndr, "PrintJobCount", r->PrintJobCount);
2986         ndr_print_ptr(ndr, "Printers", r->Printers);
2987         ndr->depth++;
2988         if (r->Printers) {
2989                 ndr_print_string(ndr, "Printers", r->Printers);
2990         }
2991         ndr->depth--;
2992         ndr_print_uint16(ndr, "PrintersHigh", r->PrintersHigh);
2993         ndr_print_ptr(ndr, "DriverName", r->DriverName);
2994         ndr->depth++;
2995         if (r->DriverName) {
2996                 ndr_print_string(ndr, "DriverName", r->DriverName);
2997         }
2998         ndr->depth--;
2999         ndr_print_uint16(ndr, "DriverNameHigh", r->DriverNameHigh);
3000         ndr_print_ptr(ndr, "PrintDriverData", r->PrintDriverData);
3001         ndr->depth++;
3002         if (r->PrintDriverData) {
3003                 ndr_print_string(ndr, "PrintDriverData", r->PrintDriverData);
3004         }
3005         ndr->depth--;
3006         ndr_print_uint16(ndr, "PrintDriverDataHigh", r->PrintDriverDataHigh);
3007         ndr->depth--;
3008 }
3009
3010 static enum ndr_err_code ndr_push_rap_PrintQueue4(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue4 *r)
3011 {
3012         uint32_t cntr_job_0;
3013         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3014         if (ndr_flags & NDR_SCALARS) {
3015                 NDR_CHECK(ndr_push_align(ndr, 5));
3016                 NDR_CHECK(ndr_push_rap_PrintQueue3(ndr, NDR_SCALARS, &r->queue));
3017                 for (cntr_job_0 = 0; cntr_job_0 < r->queue.PrintJobCount; cntr_job_0++) {
3018                         NDR_CHECK(ndr_push_rap_PrintJobInfo2(ndr, NDR_SCALARS, &r->job[cntr_job_0]));
3019                 }
3020                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3021         }
3022         if (ndr_flags & NDR_BUFFERS) {
3023                 NDR_CHECK(ndr_push_rap_PrintQueue3(ndr, NDR_BUFFERS, &r->queue));
3024                 for (cntr_job_0 = 0; cntr_job_0 < r->queue.PrintJobCount; cntr_job_0++) {
3025                         NDR_CHECK(ndr_push_rap_PrintJobInfo2(ndr, NDR_BUFFERS, &r->job[cntr_job_0]));
3026                 }
3027         }
3028         return NDR_ERR_SUCCESS;
3029 }
3030
3031 static enum ndr_err_code ndr_pull_rap_PrintQueue4(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue4 *r)
3032 {
3033         uint32_t size_job_0 = 0;
3034         uint32_t cntr_job_0;
3035         TALLOC_CTX *_mem_save_job_0;
3036         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3037         if (ndr_flags & NDR_SCALARS) {
3038                 NDR_CHECK(ndr_pull_align(ndr, 5));
3039                 NDR_CHECK(ndr_pull_rap_PrintQueue3(ndr, NDR_SCALARS, &r->queue));
3040                 size_job_0 = r->queue.PrintJobCount;
3041                 NDR_PULL_ALLOC_N(ndr, r->job, size_job_0);
3042                 _mem_save_job_0 = NDR_PULL_GET_MEM_CTX(ndr);
3043                 NDR_PULL_SET_MEM_CTX(ndr, r->job, 0);
3044                 for (cntr_job_0 = 0; cntr_job_0 < size_job_0; cntr_job_0++) {
3045                         NDR_CHECK(ndr_pull_rap_PrintJobInfo2(ndr, NDR_SCALARS, &r->job[cntr_job_0]));
3046                 }
3047                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_job_0, 0);
3048                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3049         }
3050         if (ndr_flags & NDR_BUFFERS) {
3051                 NDR_CHECK(ndr_pull_rap_PrintQueue3(ndr, NDR_BUFFERS, &r->queue));
3052                 size_job_0 = r->queue.PrintJobCount;
3053                 _mem_save_job_0 = NDR_PULL_GET_MEM_CTX(ndr);
3054                 NDR_PULL_SET_MEM_CTX(ndr, r->job, 0);
3055                 for (cntr_job_0 = 0; cntr_job_0 < size_job_0; cntr_job_0++) {
3056                         NDR_CHECK(ndr_pull_rap_PrintJobInfo2(ndr, NDR_BUFFERS, &r->job[cntr_job_0]));
3057                 }
3058                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_job_0, 0);
3059         }
3060         return NDR_ERR_SUCCESS;
3061 }
3062
3063 _PUBLIC_ void ndr_print_rap_PrintQueue4(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue4 *r)
3064 {
3065         uint32_t cntr_job_0;
3066         ndr_print_struct(ndr, name, "rap_PrintQueue4");
3067         if (r == NULL) { ndr_print_null(ndr); return; }
3068         ndr->depth++;
3069         ndr_print_rap_PrintQueue3(ndr, "queue", &r->queue);
3070         ndr->print(ndr, "%s: ARRAY(%d)", "job", (int)r->queue.PrintJobCount);
3071         ndr->depth++;
3072         for (cntr_job_0=0;cntr_job_0<r->queue.PrintJobCount;cntr_job_0++) {
3073                 ndr_print_rap_PrintJobInfo2(ndr, "job", &r->job[cntr_job_0]);
3074         }
3075         ndr->depth--;
3076         ndr->depth--;
3077 }
3078
3079 static enum ndr_err_code ndr_push_rap_PrintQueue5(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue5 *r)
3080 {
3081         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3082         if (ndr_flags & NDR_SCALARS) {
3083                 NDR_CHECK(ndr_push_align(ndr, 5));
3084                 {
3085                         uint32_t _flags_save_string = ndr->flags;
3086                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3087                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintQueueName));
3088                         ndr->flags = _flags_save_string;
3089                 }
3090                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintQueueNameHigh));
3091                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3092         }
3093         if (ndr_flags & NDR_BUFFERS) {
3094                 {
3095                         uint32_t _flags_save_string = ndr->flags;
3096                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3097                         if (r->PrintQueueName) {
3098                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintQueueName));
3099                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintQueueName));
3100                         }
3101                         ndr->flags = _flags_save_string;
3102                 }
3103         }
3104         return NDR_ERR_SUCCESS;
3105 }
3106
3107 static enum ndr_err_code ndr_pull_rap_PrintQueue5(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue5 *r)
3108 {
3109         uint16_t _ptr_PrintQueueName;
3110         TALLOC_CTX *_mem_save_PrintQueueName_0;
3111         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3112         if (ndr_flags & NDR_SCALARS) {
3113                 NDR_CHECK(ndr_pull_align(ndr, 5));
3114                 {
3115                         uint32_t _flags_save_string = ndr->flags;
3116                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3117                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintQueueName));
3118                         if (_ptr_PrintQueueName) {
3119                                 NDR_PULL_ALLOC(ndr, r->PrintQueueName);
3120                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintQueueName, _ptr_PrintQueueName));
3121                         } else {
3122                                 r->PrintQueueName = NULL;
3123                         }
3124                         ndr->flags = _flags_save_string;
3125                 }
3126                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintQueueNameHigh));
3127                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3128         }
3129         if (ndr_flags & NDR_BUFFERS) {
3130                 {
3131                         uint32_t _flags_save_string = ndr->flags;
3132                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3133                         if (r->PrintQueueName) {
3134                                 uint32_t _relative_save_offset;
3135                                 _relative_save_offset = ndr->offset;
3136                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintQueueName));
3137                                 _mem_save_PrintQueueName_0 = NDR_PULL_GET_MEM_CTX(ndr);
3138                                 NDR_PULL_SET_MEM_CTX(ndr, r->PrintQueueName, 0);
3139                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintQueueName));
3140                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintQueueName_0, 0);
3141                                 if (ndr->offset > ndr->relative_highest_offset) {
3142                                         ndr->relative_highest_offset = ndr->offset;
3143                                 }
3144                                 ndr->offset = _relative_save_offset;
3145                         }
3146                         ndr->flags = _flags_save_string;
3147                 }
3148         }
3149         return NDR_ERR_SUCCESS;
3150 }
3151
3152 _PUBLIC_ void ndr_print_rap_PrintQueue5(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue5 *r)
3153 {
3154         ndr_print_struct(ndr, name, "rap_PrintQueue5");
3155         if (r == NULL) { ndr_print_null(ndr); return; }
3156         ndr->depth++;
3157         ndr_print_ptr(ndr, "PrintQueueName", r->PrintQueueName);
3158         ndr->depth++;
3159         if (r->PrintQueueName) {
3160                 ndr_print_string(ndr, "PrintQueueName", r->PrintQueueName);
3161         }
3162         ndr->depth--;
3163         ndr_print_uint16(ndr, "PrintQueueNameHigh", r->PrintQueueNameHigh);
3164         ndr->depth--;
3165 }
3166
3167 _PUBLIC_ enum ndr_err_code ndr_push_rap_printq_info(struct ndr_push *ndr, int ndr_flags, const union rap_printq_info *r)
3168 {
3169         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3170         if (ndr_flags & NDR_SCALARS) {
3171                 uint32_t level = ndr_push_get_switch_value(ndr, r);
3172                 NDR_CHECK(ndr_push_union_align(ndr, 5));
3173                 switch (level) {
3174                         case 0: {
3175                                 NDR_CHECK(ndr_push_rap_PrintQueue0(ndr, NDR_SCALARS, &r->info0));
3176                         break; }
3177
3178                         case 1: {
3179                                 NDR_CHECK(ndr_push_rap_PrintQueue1(ndr, NDR_SCALARS, &r->info1));
3180                         break; }
3181
3182                         case 2: {
3183                                 NDR_CHECK(ndr_push_rap_PrintQueue2(ndr, NDR_SCALARS, &r->info2));
3184                         break; }
3185
3186                         case 3: {
3187                                 NDR_CHECK(ndr_push_rap_PrintQueue3(ndr, NDR_SCALARS, &r->info3));
3188                         break; }
3189
3190                         case 4: {
3191                                 NDR_CHECK(ndr_push_rap_PrintQueue4(ndr, NDR_SCALARS, &r->info4));
3192                         break; }
3193
3194                         case 5: {
3195                                 NDR_CHECK(ndr_push_rap_PrintQueue5(ndr, NDR_SCALARS, &r->info5));
3196                         break; }
3197
3198                         default:
3199                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3200                 }
3201         }
3202         if (ndr_flags & NDR_BUFFERS) {
3203                 uint32_t level = ndr_push_get_switch_value(ndr, r);
3204                 switch (level) {
3205                         case 0:
3206                         break;
3207
3208                         case 1:
3209                                 NDR_CHECK(ndr_push_rap_PrintQueue1(ndr, NDR_BUFFERS, &r->info1));
3210                         break;
3211
3212                         case 2:
3213                                 NDR_CHECK(ndr_push_rap_PrintQueue2(ndr, NDR_BUFFERS, &r->info2));
3214                         break;
3215
3216                         case 3:
3217                                 NDR_CHECK(ndr_push_rap_PrintQueue3(ndr, NDR_BUFFERS, &r->info3));
3218                         break;
3219
3220                         case 4:
3221                                 NDR_CHECK(ndr_push_rap_PrintQueue4(ndr, NDR_BUFFERS, &r->info4));
3222                         break;
3223
3224                         case 5:
3225                                 NDR_CHECK(ndr_push_rap_PrintQueue5(ndr, NDR_BUFFERS, &r->info5));
3226                         break;
3227
3228                         default:
3229                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3230                 }
3231         }
3232         return NDR_ERR_SUCCESS;
3233 }
3234
3235 _PUBLIC_ enum ndr_err_code ndr_pull_rap_printq_info(struct ndr_pull *ndr, int ndr_flags, union rap_printq_info *r)
3236 {
3237         uint32_t level;
3238         level = ndr_pull_get_switch_value(ndr, r);
3239         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3240         if (ndr_flags & NDR_SCALARS) {
3241                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3242                 switch (level) {
3243                         case 0: {
3244                                 NDR_CHECK(ndr_pull_rap_PrintQueue0(ndr, NDR_SCALARS, &r->info0));
3245                         break; }
3246
3247                         case 1: {
3248                                 NDR_CHECK(ndr_pull_rap_PrintQueue1(ndr, NDR_SCALARS, &r->info1));
3249                         break; }
3250
3251                         case 2: {
3252                                 NDR_CHECK(ndr_pull_rap_PrintQueue2(ndr, NDR_SCALARS, &r->info2));
3253                         break; }
3254
3255                         case 3: {
3256                                 NDR_CHECK(ndr_pull_rap_PrintQueue3(ndr, NDR_SCALARS, &r->info3));
3257                         break; }
3258
3259                         case 4: {
3260                                 NDR_CHECK(ndr_pull_rap_PrintQueue4(ndr, NDR_SCALARS, &r->info4));
3261                         break; }
3262
3263                         case 5: {
3264                                 NDR_CHECK(ndr_pull_rap_PrintQueue5(ndr, NDR_SCALARS, &r->info5));
3265                         break; }
3266
3267                         default:
3268                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3269                 }
3270         }
3271         if (ndr_flags & NDR_BUFFERS) {
3272                 switch (level) {
3273                         case 0:
3274                         break;
3275
3276                         case 1:
3277                                 NDR_CHECK(ndr_pull_rap_PrintQueue1(ndr, NDR_BUFFERS, &r->info1));
3278                         break;
3279
3280                         case 2:
3281                                 NDR_CHECK(ndr_pull_rap_PrintQueue2(ndr, NDR_BUFFERS, &r->info2));
3282                         break;
3283
3284                         case 3:
3285                                 NDR_CHECK(ndr_pull_rap_PrintQueue3(ndr, NDR_BUFFERS, &r->info3));
3286                         break;
3287
3288                         case 4:
3289                                 NDR_CHECK(ndr_pull_rap_PrintQueue4(ndr, NDR_BUFFERS, &r->info4));
3290                         break;
3291
3292                         case 5:
3293                                 NDR_CHECK(ndr_pull_rap_PrintQueue5(ndr, NDR_BUFFERS, &r->info5));
3294                         break;
3295
3296                         default:
3297                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3298                 }
3299         }
3300         return NDR_ERR_SUCCESS;
3301 }
3302
3303 _PUBLIC_ void ndr_print_rap_printq_info(struct ndr_print *ndr, const char *name, const union rap_printq_info *r)
3304 {
3305         uint32_t level;
3306         level = ndr_print_get_switch_value(ndr, r);
3307         ndr_print_union(ndr, name, level, "rap_printq_info");
3308         switch (level) {
3309                 case 0:
3310                         ndr_print_rap_PrintQueue0(ndr, "info0", &r->info0);
3311                 break;
3312
3313                 case 1:
3314                         ndr_print_rap_PrintQueue1(ndr, "info1", &r->info1);
3315                 break;
3316
3317                 case 2:
3318                         ndr_print_rap_PrintQueue2(ndr, "info2", &r->info2);
3319                 break;
3320
3321                 case 3:
3322                         ndr_print_rap_PrintQueue3(ndr, "info3", &r->info3);
3323                 break;
3324
3325                 case 4:
3326                         ndr_print_rap_PrintQueue4(ndr, "info4", &r->info4);
3327                 break;
3328
3329                 case 5:
3330                         ndr_print_rap_PrintQueue5(ndr, "info5", &r->info5);
3331                 break;
3332
3333                 default:
3334                         ndr_print_bad_level(ndr, name, level);
3335         }
3336 }
3337
3338 static enum ndr_err_code ndr_push_rap_JobInfoParamNum(struct ndr_push *ndr, int ndr_flags, enum rap_JobInfoParamNum r)
3339 {
3340         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
3341         return NDR_ERR_SUCCESS;
3342 }
3343
3344 static enum ndr_err_code ndr_pull_rap_JobInfoParamNum(struct ndr_pull *ndr, int ndr_flags, enum rap_JobInfoParamNum *r)
3345 {
3346         uint16_t v;
3347         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
3348         *r = v;
3349         return NDR_ERR_SUCCESS;
3350 }
3351
3352 _PUBLIC_ void ndr_print_rap_JobInfoParamNum(struct ndr_print *ndr, const char *name, enum rap_JobInfoParamNum r)
3353 {
3354         const char *val = NULL;
3355
3356         switch (r) {
3357                 case RAP_PARAM_JOBNUM: val = "RAP_PARAM_JOBNUM"; break;
3358                 case RAP_PARAM_USERNAME: val = "RAP_PARAM_USERNAME"; break;
3359                 case RAP_PARAM_NOTIFYNAME: val = "RAP_PARAM_NOTIFYNAME"; break;
3360                 case RAP_PARAM_DATATYPE: val = "RAP_PARAM_DATATYPE"; break;
3361                 case RAP_PARAM_PARAMETERS_STRING: val = "RAP_PARAM_PARAMETERS_STRING"; break;
3362                 case RAP_PARAM_JOBPOSITION: val = "RAP_PARAM_JOBPOSITION"; break;
3363                 case RAP_PARAM_JOBSTATUS: val = "RAP_PARAM_JOBSTATUS"; break;
3364                 case RAP_PARAM_JOBSTATUSSTR: val = "RAP_PARAM_JOBSTATUSSTR"; break;
3365                 case RAP_PARAM_TIMESUBMITTED: val = "RAP_PARAM_TIMESUBMITTED"; break;
3366                 case RAP_PARAM_JOBSIZE: val = "RAP_PARAM_JOBSIZE"; break;
3367                 case RAP_PARAM_JOBCOMMENT: val = "RAP_PARAM_JOBCOMMENT"; break;
3368         }
3369         ndr_print_enum(ndr, name, "ENUM", val, r);
3370 }
3371
3372 static enum ndr_err_code ndr_push_rap_JobInfoParam(struct ndr_push *ndr, int ndr_flags, const union rap_JobInfoParam *r)
3373 {
3374         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3375         if (ndr_flags & NDR_SCALARS) {
3376                 uint32_t level = ndr_push_get_switch_value(ndr, r);
3377                 NDR_CHECK(ndr_push_union_align(ndr, 4));
3378                 switch (level) {
3379                         case RAP_PARAM_JOBNUM: {
3380                                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->value));
3381                         break; }
3382
3383                         case RAP_PARAM_USERNAME: {
3384                                 {
3385                                         uint32_t _flags_save_string = ndr->flags;
3386                                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3387                                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string));
3388                                         ndr->flags = _flags_save_string;
3389                                 }
3390                         break; }
3391
3392                         case RAP_PARAM_NOTIFYNAME: {
3393                                 {
3394                                         uint32_t _flags_save_string = ndr->flags;
3395                                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3396                                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string));
3397                                         ndr->flags = _flags_save_string;
3398                                 }
3399                         break; }
3400
3401                         case RAP_PARAM_DATATYPE: {
3402                                 {
3403                                         uint32_t _flags_save_string = ndr->flags;
3404                                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3405                                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string));
3406                                         ndr->flags = _flags_save_string;
3407                                 }
3408                         break; }
3409
3410                         case RAP_PARAM_PARAMETERS_STRING: {
3411                                 {
3412                                         uint32_t _flags_save_string = ndr->flags;
3413                                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3414                                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string));
3415                                         ndr->flags = _flags_save_string;
3416                                 }
3417                         break; }
3418
3419                         case RAP_PARAM_JOBPOSITION: {
3420                                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->value));
3421                         break; }
3422
3423                         case RAP_PARAM_JOBSTATUS: {
3424                                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->value));
3425                         break; }
3426
3427                         case RAP_PARAM_JOBSTATUSSTR: {
3428                                 {
3429                                         uint32_t _flags_save_string = ndr->flags;
3430                                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3431                                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string));
3432                                         ndr->flags = _flags_save_string;
3433                                 }
3434                         break; }
3435
3436                         case RAP_PARAM_TIMESUBMITTED: {
3437                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->value4));
3438                         break; }
3439
3440                         case RAP_PARAM_JOBSIZE: {
3441                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->value4));
3442                         break; }
3443
3444                         case RAP_PARAM_JOBCOMMENT: {
3445                                 {
3446                                         uint32_t _flags_save_string = ndr->flags;
3447                                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3448                                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string));
3449                                         ndr->flags = _flags_save_string;
3450                                 }
3451                         break; }
3452
3453                         default:
3454                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3455                 }
3456         }
3457         if (ndr_flags & NDR_BUFFERS) {
3458                 uint32_t level = ndr_push_get_switch_value(ndr, r);
3459                 switch (level) {
3460                         case RAP_PARAM_JOBNUM:
3461                         break;
3462
3463                         case RAP_PARAM_USERNAME:
3464                         break;
3465
3466                         case RAP_PARAM_NOTIFYNAME:
3467                         break;
3468
3469                         case RAP_PARAM_DATATYPE:
3470                         break;
3471
3472                         case RAP_PARAM_PARAMETERS_STRING:
3473                         break;
3474
3475                         case RAP_PARAM_JOBPOSITION:
3476                         break;
3477
3478                         case RAP_PARAM_JOBSTATUS:
3479                         break;
3480
3481                         case RAP_PARAM_JOBSTATUSSTR:
3482                         break;
3483
3484                         case RAP_PARAM_TIMESUBMITTED:
3485                         break;
3486
3487                         case RAP_PARAM_JOBSIZE:
3488                         break;
3489
3490                         case RAP_PARAM_JOBCOMMENT:
3491                         break;
3492
3493                         default:
3494                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3495                 }
3496         }
3497         return NDR_ERR_SUCCESS;
3498 }
3499
3500 static enum ndr_err_code ndr_pull_rap_JobInfoParam(struct ndr_pull *ndr, int ndr_flags, union rap_JobInfoParam *r)
3501 {
3502         uint32_t level;
3503         level = ndr_pull_get_switch_value(ndr, r);
3504         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3505         if (ndr_flags & NDR_SCALARS) {
3506                 NDR_CHECK(ndr_pull_union_align(ndr, 4));
3507                 switch (level) {
3508                         case RAP_PARAM_JOBNUM: {
3509                                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->value));
3510                         break; }
3511
3512                         case RAP_PARAM_USERNAME: {
3513                                 {
3514                                         uint32_t _flags_save_string = ndr->flags;
3515                                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3516                                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string));
3517                                         ndr->flags = _flags_save_string;
3518                                 }
3519                         break; }
3520
3521                         case RAP_PARAM_NOTIFYNAME: {
3522                                 {
3523                                         uint32_t _flags_save_string = ndr->flags;
3524                                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3525                                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string));
3526                                         ndr->flags = _flags_save_string;
3527                                 }
3528                         break; }
3529
3530                         case RAP_PARAM_DATATYPE: {
3531                                 {
3532                                         uint32_t _flags_save_string = ndr->flags;
3533                                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3534                                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string));
3535                                         ndr->flags = _flags_save_string;
3536                                 }
3537                         break; }
3538
3539                         case RAP_PARAM_PARAMETERS_STRING: {
3540                                 {
3541                                         uint32_t _flags_save_string = ndr->flags;
3542                                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3543                                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string));
3544                                         ndr->flags = _flags_save_string;
3545                                 }
3546                         break; }
3547
3548                         case RAP_PARAM_JOBPOSITION: {
3549                                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->value));
3550                         break; }
3551
3552                         case RAP_PARAM_JOBSTATUS: {
3553                                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->value));
3554                         break; }
3555
3556                         case RAP_PARAM_JOBSTATUSSTR: {
3557                                 {
3558                                         uint32_t _flags_save_string = ndr->flags;
3559                                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3560                                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string));
3561                                         ndr->flags = _flags_save_string;
3562                                 }
3563                         break; }
3564
3565                         case RAP_PARAM_TIMESUBMITTED: {
3566                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value4));
3567                         break; }
3568
3569                         case RAP_PARAM_JOBSIZE: {
3570                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value4));
3571                         break; }
3572
3573                         case RAP_PARAM_JOBCOMMENT: {
3574                                 {
3575                                         uint32_t _flags_save_string = ndr->flags;
3576                                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3577                                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string));
3578                                         ndr->flags = _flags_save_string;
3579                                 }
3580                         break; }
3581
3582                         default:
3583                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3584                 }
3585         }
3586         if (ndr_flags & NDR_BUFFERS) {
3587                 switch (level) {
3588                         case RAP_PARAM_JOBNUM:
3589                         break;
3590
3591                         case RAP_PARAM_USERNAME:
3592                         break;
3593
3594                         case RAP_PARAM_NOTIFYNAME:
3595                         break;
3596
3597                         case RAP_PARAM_DATATYPE:
3598                         break;
3599
3600                         case RAP_PARAM_PARAMETERS_STRING:
3601                         break;
3602
3603                         case RAP_PARAM_JOBPOSITION:
3604                         break;
3605
3606                         case RAP_PARAM_JOBSTATUS:
3607                         break;
3608
3609                         case RAP_PARAM_JOBSTATUSSTR:
3610                         break;
3611
3612                         case RAP_PARAM_TIMESUBMITTED:
3613                         break;
3614
3615                         case RAP_PARAM_JOBSIZE:
3616                         break;
3617
3618                         case RAP_PARAM_JOBCOMMENT:
3619                         break;
3620
3621                         default:
3622                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3623                 }
3624         }
3625         return NDR_ERR_SUCCESS;
3626 }
3627
3628 _PUBLIC_ void ndr_print_rap_JobInfoParam(struct ndr_print *ndr, const char *name, const union rap_JobInfoParam *r)
3629 {
3630         uint32_t level;
3631         level = ndr_print_get_switch_value(ndr, r);
3632         ndr_print_union(ndr, name, level, "rap_JobInfoParam");
3633         switch (level) {
3634                 case RAP_PARAM_JOBNUM:
3635                         ndr_print_uint16(ndr, "value", r->value);
3636                 break;
3637
3638                 case RAP_PARAM_USERNAME:
3639                         ndr_print_string(ndr, "string", r->string);
3640                 break;
3641
3642                 case RAP_PARAM_NOTIFYNAME:
3643                         ndr_print_string(ndr, "string", r->string);
3644                 break;
3645
3646                 case RAP_PARAM_DATATYPE:
3647                         ndr_print_string(ndr, "string", r->string);
3648                 break;
3649
3650                 case RAP_PARAM_PARAMETERS_STRING:
3651                         ndr_print_string(ndr, "string", r->string);
3652                 break;
3653
3654                 case RAP_PARAM_JOBPOSITION:
3655                         ndr_print_uint16(ndr, "value", r->value);
3656                 break;
3657
3658                 case RAP_PARAM_JOBSTATUS:
3659                         ndr_print_uint16(ndr, "value", r->value);
3660                 break;
3661
3662                 case RAP_PARAM_JOBSTATUSSTR:
3663                         ndr_print_string(ndr, "string", r->string);
3664                 break;
3665
3666                 case RAP_PARAM_TIMESUBMITTED:
3667                         ndr_print_uint32(ndr, "value4", r->value4);
3668                 break;
3669
3670                 case RAP_PARAM_JOBSIZE:
3671                         ndr_print_uint32(ndr, "value4", r->value4);
3672                 break;
3673
3674                 case RAP_PARAM_JOBCOMMENT:
3675                         ndr_print_string(ndr, "string", r->string);
3676                 break;
3677
3678                 default:
3679                         ndr_print_bad_level(ndr, name, level);
3680         }
3681 }
3682
3683 static enum ndr_err_code ndr_push_rap_PrintDest0(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintDest0 *r)
3684 {
3685         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3686         if (ndr_flags & NDR_SCALARS) {
3687                 NDR_CHECK(ndr_push_align(ndr, 1));
3688                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->PrintDestName, 9, sizeof(uint8_t), CH_DOS));
3689                 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3690         }
3691         if (ndr_flags & NDR_BUFFERS) {
3692         }
3693         return NDR_ERR_SUCCESS;
3694 }
3695
3696 static enum ndr_err_code ndr_pull_rap_PrintDest0(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintDest0 *r)
3697 {
3698         uint32_t size_PrintDestName_0 = 0;
3699         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3700         if (ndr_flags & NDR_SCALARS) {
3701                 NDR_CHECK(ndr_pull_align(ndr, 1));
3702                 size_PrintDestName_0 = 9;
3703                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->PrintDestName, size_PrintDestName_0, sizeof(uint8_t), CH_DOS));
3704                 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3705         }
3706         if (ndr_flags & NDR_BUFFERS) {
3707         }
3708         return NDR_ERR_SUCCESS;
3709 }
3710
3711 _PUBLIC_ void ndr_print_rap_PrintDest0(struct ndr_print *ndr, const char *name, const struct rap_PrintDest0 *r)
3712 {
3713         ndr_print_struct(ndr, name, "rap_PrintDest0");
3714         if (r == NULL) { ndr_print_null(ndr); return; }
3715         ndr->depth++;
3716         ndr_print_string(ndr, "PrintDestName", r->PrintDestName);
3717         ndr->depth--;
3718 }
3719
3720 static enum ndr_err_code ndr_push_rap_PrintDest1(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintDest1 *r)
3721 {
3722         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3723         if (ndr_flags & NDR_SCALARS) {
3724                 NDR_CHECK(ndr_push_align(ndr, 5));
3725                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->PrintDestName, 9, sizeof(uint8_t), CH_DOS));
3726                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->UserName, 21, sizeof(uint8_t), CH_DOS));
3727                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobId));
3728                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Status));
3729                 {
3730                         uint32_t _flags_save_string = ndr->flags;
3731                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3732                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->StatusStringName));
3733                         ndr->flags = _flags_save_string;
3734                 }
3735                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintQueueNameHigh));
3736                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Time));
3737                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3738         }
3739         if (ndr_flags & NDR_BUFFERS) {
3740                 {
3741                         uint32_t _flags_save_string = ndr->flags;
3742                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3743                         if (r->StatusStringName) {
3744                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->StatusStringName));
3745                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->StatusStringName));
3746                         }
3747                         ndr->flags = _flags_save_string;
3748                 }
3749         }
3750         return NDR_ERR_SUCCESS;
3751 }
3752
3753 static enum ndr_err_code ndr_pull_rap_PrintDest1(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintDest1 *r)
3754 {
3755         uint32_t size_PrintDestName_0 = 0;
3756         uint32_t size_UserName_0 = 0;
3757         uint16_t _ptr_StatusStringName;
3758         TALLOC_CTX *_mem_save_StatusStringName_0;
3759         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3760         if (ndr_flags & NDR_SCALARS) {
3761                 NDR_CHECK(ndr_pull_align(ndr, 5));
3762                 size_PrintDestName_0 = 9;
3763                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->PrintDestName, size_PrintDestName_0, sizeof(uint8_t), CH_DOS));
3764                 size_UserName_0 = 21;
3765                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->UserName, size_UserName_0, sizeof(uint8_t), CH_DOS));
3766                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobId));
3767                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Status));
3768                 {
3769                         uint32_t _flags_save_string = ndr->flags;
3770                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3771                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_StatusStringName));
3772                         if (_ptr_StatusStringName) {
3773                                 NDR_PULL_ALLOC(ndr, r->StatusStringName);
3774                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->StatusStringName, _ptr_StatusStringName));
3775                         } else {
3776                                 r->StatusStringName = NULL;
3777                         }
3778                         ndr->flags = _flags_save_string;
3779                 }
3780                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintQueueNameHigh));
3781                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Time));
3782                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3783         }
3784         if (ndr_flags & NDR_BUFFERS) {
3785                 {
3786                         uint32_t _flags_save_string = ndr->flags;
3787                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3788                         if (r->StatusStringName) {
3789                                 uint32_t _relative_save_offset;
3790                                 _relative_save_offset = ndr->offset;
3791                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->StatusStringName));
3792                                 _mem_save_StatusStringName_0 = NDR_PULL_GET_MEM_CTX(ndr);
3793                                 NDR_PULL_SET_MEM_CTX(ndr, r->StatusStringName, 0);
3794                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->StatusStringName));
3795                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_StatusStringName_0, 0);
3796                                 if (ndr->offset > ndr->relative_highest_offset) {
3797                                         ndr->relative_highest_offset = ndr->offset;
3798                                 }
3799                                 ndr->offset = _relative_save_offset;
3800                         }
3801                         ndr->flags = _flags_save_string;
3802                 }
3803         }
3804         return NDR_ERR_SUCCESS;
3805 }
3806
3807 _PUBLIC_ void ndr_print_rap_PrintDest1(struct ndr_print *ndr, const char *name, const struct rap_PrintDest1 *r)
3808 {
3809         ndr_print_struct(ndr, name, "rap_PrintDest1");
3810         if (r == NULL) { ndr_print_null(ndr); return; }
3811         ndr->depth++;
3812         ndr_print_string(ndr, "PrintDestName", r->PrintDestName);
3813         ndr_print_string(ndr, "UserName", r->UserName);
3814         ndr_print_uint16(ndr, "JobId", r->JobId);
3815         ndr_print_uint16(ndr, "Status", r->Status);
3816         ndr_print_ptr(ndr, "StatusStringName", r->StatusStringName);
3817         ndr->depth++;
3818         if (r->StatusStringName) {
3819                 ndr_print_string(ndr, "StatusStringName", r->StatusStringName);
3820         }
3821         ndr->depth--;
3822         ndr_print_uint16(ndr, "PrintQueueNameHigh", r->PrintQueueNameHigh);
3823         ndr_print_uint16(ndr, "Time", r->Time);
3824         ndr->depth--;
3825 }
3826
3827 static enum ndr_err_code ndr_push_rap_PrintDest2(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintDest2 *r)
3828 {
3829         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3830         if (ndr_flags & NDR_SCALARS) {
3831                 NDR_CHECK(ndr_push_align(ndr, 5));
3832                 {
3833                         uint32_t _flags_save_string = ndr->flags;
3834                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3835                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrinterName));
3836                         ndr->flags = _flags_save_string;
3837                 }
3838                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrinterNameHigh));
3839                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3840         }
3841         if (ndr_flags & NDR_BUFFERS) {
3842                 {
3843                         uint32_t _flags_save_string = ndr->flags;
3844                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3845                         if (r->PrinterName) {
3846                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrinterName));
3847                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrinterName));
3848                         }
3849                         ndr->flags = _flags_save_string;
3850                 }
3851         }
3852         return NDR_ERR_SUCCESS;
3853 }
3854
3855 static enum ndr_err_code ndr_pull_rap_PrintDest2(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintDest2 *r)
3856 {
3857         uint16_t _ptr_PrinterName;
3858         TALLOC_CTX *_mem_save_PrinterName_0;
3859         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3860         if (ndr_flags & NDR_SCALARS) {
3861                 NDR_CHECK(ndr_pull_align(ndr, 5));
3862                 {
3863                         uint32_t _flags_save_string = ndr->flags;
3864                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3865                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrinterName));
3866                         if (_ptr_PrinterName) {
3867                                 NDR_PULL_ALLOC(ndr, r->PrinterName);
3868                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrinterName, _ptr_PrinterName));
3869                         } else {
3870                                 r->PrinterName = NULL;
3871                         }
3872                         ndr->flags = _flags_save_string;
3873                 }
3874                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrinterNameHigh));
3875                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3876         }
3877         if (ndr_flags & NDR_BUFFERS) {
3878                 {
3879                         uint32_t _flags_save_string = ndr->flags;
3880                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3881                         if (r->PrinterName) {
3882                                 uint32_t _relative_save_offset;
3883                                 _relative_save_offset = ndr->offset;
3884                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrinterName));
3885                                 _mem_save_PrinterName_0 = NDR_PULL_GET_MEM_CTX(ndr);
3886                                 NDR_PULL_SET_MEM_CTX(ndr, r->PrinterName, 0);
3887                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrinterName));
3888                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrinterName_0, 0);
3889                                 if (ndr->offset > ndr->relative_highest_offset) {
3890                                         ndr->relative_highest_offset = ndr->offset;
3891                                 }
3892                                 ndr->offset = _relative_save_offset;
3893                         }
3894                         ndr->flags = _flags_save_string;
3895                 }
3896         }
3897         return NDR_ERR_SUCCESS;
3898 }
3899
3900 _PUBLIC_ void ndr_print_rap_PrintDest2(struct ndr_print *ndr, const char *name, const struct rap_PrintDest2 *r)
3901 {
3902         ndr_print_struct(ndr, name, "rap_PrintDest2");
3903         if (r == NULL) { ndr_print_null(ndr); return; }
3904         ndr->depth++;
3905         ndr_print_ptr(ndr, "PrinterName", r->PrinterName);
3906         ndr->depth++;
3907         if (r->PrinterName) {
3908                 ndr_print_string(ndr, "PrinterName", r->PrinterName);
3909         }
3910         ndr->depth--;
3911         ndr_print_uint16(ndr, "PrinterNameHigh", r->PrinterNameHigh);
3912         ndr->depth--;
3913 }
3914
3915 static enum ndr_err_code ndr_push_rap_PrintDest3(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintDest3 *r)
3916 {
3917         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3918         if (ndr_flags & NDR_SCALARS) {
3919                 NDR_CHECK(ndr_push_align(ndr, 5));
3920                 {
3921                         uint32_t _flags_save_string = ndr->flags;
3922                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3923                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrinterName));
3924                         ndr->flags = _flags_save_string;
3925                 }
3926                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrinterNameHigh));
3927                 {
3928                         uint32_t _flags_save_string = ndr->flags;
3929                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3930                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->UserName));
3931                         ndr->flags = _flags_save_string;
3932                 }
3933                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->UserNameHigh));
3934                 {
3935                         uint32_t _flags_save_string = ndr->flags;
3936                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3937                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->LogAddr));
3938                         ndr->flags = _flags_save_string;
3939                 }
3940                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->LogAddrHigh));
3941                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobId));
3942                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Status));
3943                 {
3944                         uint32_t _flags_save_string = ndr->flags;
3945                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3946                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->StatusStringName));
3947                         ndr->flags = _flags_save_string;
3948                 }
3949                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintQueueNameHigh));
3950                 {
3951                         uint32_t _flags_save_string = ndr->flags;
3952                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3953                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->Comment));
3954                         ndr->flags = _flags_save_string;
3955                 }
3956                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->CommentHigh));
3957                 {
3958                         uint32_t _flags_save_string = ndr->flags;
3959                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3960                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->Drivers));
3961                         ndr->flags = _flags_save_string;
3962                 }
3963                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->DriversHigh));
3964                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Time));
3965                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Pad1));
3966                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3967         }
3968         if (ndr_flags & NDR_BUFFERS) {
3969                 {
3970                         uint32_t _flags_save_string = ndr->flags;
3971                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3972                         if (r->PrinterName) {
3973                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrinterName));
3974                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrinterName));
3975                         }
3976                         ndr->flags = _flags_save_string;
3977                 }
3978                 {
3979                         uint32_t _flags_save_string = ndr->flags;
3980                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3981                         if (r->UserName) {
3982                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->UserName));
3983                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->UserName));
3984                         }
3985                         ndr->flags = _flags_save_string;
3986                 }
3987                 {
3988                         uint32_t _flags_save_string = ndr->flags;
3989                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3990                         if (r->LogAddr) {
3991                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->LogAddr));
3992                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->LogAddr));
3993                         }
3994                         ndr->flags = _flags_save_string;
3995                 }
3996                 {
3997                         uint32_t _flags_save_string = ndr->flags;
3998                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
3999                         if (r->StatusStringName) {
4000                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->StatusStringName));
4001                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->StatusStringName));
4002                         }
4003                         ndr->flags = _flags_save_string;
4004                 }
4005                 {
4006                         uint32_t _flags_save_string = ndr->flags;
4007                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4008                         if (r->Comment) {
4009                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->Comment));
4010                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Comment));
4011                         }
4012                         ndr->flags = _flags_save_string;
4013                 }
4014                 {
4015                         uint32_t _flags_save_string = ndr->flags;
4016                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4017                         if (r->Drivers) {
4018                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->Drivers));
4019                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Drivers));
4020                         }
4021                         ndr->flags = _flags_save_string;
4022                 }
4023         }
4024         return NDR_ERR_SUCCESS;
4025 }
4026
4027 static enum ndr_err_code ndr_pull_rap_PrintDest3(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintDest3 *r)
4028 {
4029         uint16_t _ptr_PrinterName;
4030         TALLOC_CTX *_mem_save_PrinterName_0;
4031         uint16_t _ptr_UserName;
4032         TALLOC_CTX *_mem_save_UserName_0;
4033         uint16_t _ptr_LogAddr;
4034         TALLOC_CTX *_mem_save_LogAddr_0;
4035         uint16_t _ptr_StatusStringName;
4036         TALLOC_CTX *_mem_save_StatusStringName_0;
4037         uint16_t _ptr_Comment;
4038         TALLOC_CTX *_mem_save_Comment_0;
4039         uint16_t _ptr_Drivers;
4040         TALLOC_CTX *_mem_save_Drivers_0;
4041         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4042         if (ndr_flags & NDR_SCALARS) {
4043                 NDR_CHECK(ndr_pull_align(ndr, 5));
4044                 {
4045                         uint32_t _flags_save_string = ndr->flags;
4046                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4047                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrinterName));
4048                         if (_ptr_PrinterName) {
4049                                 NDR_PULL_ALLOC(ndr, r->PrinterName);
4050                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrinterName, _ptr_PrinterName));
4051                         } else {
4052                                 r->PrinterName = NULL;
4053                         }
4054                         ndr->flags = _flags_save_string;
4055                 }
4056                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrinterNameHigh));
4057                 {
4058                         uint32_t _flags_save_string = ndr->flags;
4059                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4060                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_UserName));
4061                         if (_ptr_UserName) {
4062                                 NDR_PULL_ALLOC(ndr, r->UserName);
4063                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->UserName, _ptr_UserName));
4064                         } else {
4065                                 r->UserName = NULL;
4066                         }
4067                         ndr->flags = _flags_save_string;
4068                 }
4069                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UserNameHigh));
4070                 {
4071                         uint32_t _flags_save_string = ndr->flags;
4072                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4073                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_LogAddr));
4074                         if (_ptr_LogAddr) {
4075                                 NDR_PULL_ALLOC(ndr, r->LogAddr);
4076                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->LogAddr, _ptr_LogAddr));
4077                         } else {
4078                                 r->LogAddr = NULL;
4079                         }
4080                         ndr->flags = _flags_save_string;
4081                 }
4082                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->LogAddrHigh));
4083                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobId));
4084                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Status));
4085                 {
4086                         uint32_t _flags_save_string = ndr->flags;
4087                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4088                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_StatusStringName));
4089                         if (_ptr_StatusStringName) {
4090                                 NDR_PULL_ALLOC(ndr, r->StatusStringName);
4091                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->StatusStringName, _ptr_StatusStringName));
4092                         } else {
4093                                 r->StatusStringName = NULL;
4094                         }
4095                         ndr->flags = _flags_save_string;
4096                 }
4097                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintQueueNameHigh));
4098                 {
4099                         uint32_t _flags_save_string = ndr->flags;
4100                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4101                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_Comment));
4102                         if (_ptr_Comment) {
4103                                 NDR_PULL_ALLOC(ndr, r->Comment);
4104                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->Comment, _ptr_Comment));
4105                         } else {
4106                                 r->Comment = NULL;
4107                         }
4108                         ndr->flags = _flags_save_string;
4109                 }
4110                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->CommentHigh));
4111                 {
4112                         uint32_t _flags_save_string = ndr->flags;
4113                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4114                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_Drivers));
4115                         if (_ptr_Drivers) {
4116                                 NDR_PULL_ALLOC(ndr, r->Drivers);
4117                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->Drivers, _ptr_Drivers));
4118                         } else {
4119                                 r->Drivers = NULL;
4120                         }
4121                         ndr->flags = _flags_save_string;
4122                 }
4123                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DriversHigh));
4124                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Time));
4125                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Pad1));
4126                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4127         }
4128         if (ndr_flags & NDR_BUFFERS) {
4129                 {
4130                         uint32_t _flags_save_string = ndr->flags;
4131                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4132                         if (r->PrinterName) {
4133                                 uint32_t _relative_save_offset;
4134                                 _relative_save_offset = ndr->offset;
4135                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrinterName));
4136                                 _mem_save_PrinterName_0 = NDR_PULL_GET_MEM_CTX(ndr);
4137                                 NDR_PULL_SET_MEM_CTX(ndr, r->PrinterName, 0);
4138                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrinterName));
4139                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrinterName_0, 0);
4140                                 if (ndr->offset > ndr->relative_highest_offset) {
4141                                         ndr->relative_highest_offset = ndr->offset;
4142                                 }
4143                                 ndr->offset = _relative_save_offset;
4144                         }
4145                         ndr->flags = _flags_save_string;
4146                 }
4147                 {
4148                         uint32_t _flags_save_string = ndr->flags;
4149                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4150                         if (r->UserName) {
4151                                 uint32_t _relative_save_offset;
4152                                 _relative_save_offset = ndr->offset;
4153                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->UserName));
4154                                 _mem_save_UserName_0 = NDR_PULL_GET_MEM_CTX(ndr);
4155                                 NDR_PULL_SET_MEM_CTX(ndr, r->UserName, 0);
4156                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->UserName));
4157                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_UserName_0, 0);
4158                                 if (ndr->offset > ndr->relative_highest_offset) {
4159                                         ndr->relative_highest_offset = ndr->offset;
4160                                 }
4161                                 ndr->offset = _relative_save_offset;
4162                         }
4163                         ndr->flags = _flags_save_string;
4164                 }
4165                 {
4166                         uint32_t _flags_save_string = ndr->flags;
4167                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4168                         if (r->LogAddr) {
4169                                 uint32_t _relative_save_offset;
4170                                 _relative_save_offset = ndr->offset;
4171                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->LogAddr));
4172                                 _mem_save_LogAddr_0 = NDR_PULL_GET_MEM_CTX(ndr);
4173                                 NDR_PULL_SET_MEM_CTX(ndr, r->LogAddr, 0);
4174                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->LogAddr));
4175                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_LogAddr_0, 0);
4176                                 if (ndr->offset > ndr->relative_highest_offset) {
4177                                         ndr->relative_highest_offset = ndr->offset;
4178                                 }
4179                                 ndr->offset = _relative_save_offset;
4180                         }
4181                         ndr->flags = _flags_save_string;
4182                 }
4183                 {
4184                         uint32_t _flags_save_string = ndr->flags;
4185                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4186                         if (r->StatusStringName) {
4187                                 uint32_t _relative_save_offset;
4188                                 _relative_save_offset = ndr->offset;
4189                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->StatusStringName));
4190                                 _mem_save_StatusStringName_0 = NDR_PULL_GET_MEM_CTX(ndr);
4191                                 NDR_PULL_SET_MEM_CTX(ndr, r->StatusStringName, 0);
4192                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->StatusStringName));
4193                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_StatusStringName_0, 0);
4194                                 if (ndr->offset > ndr->relative_highest_offset) {
4195                                         ndr->relative_highest_offset = ndr->offset;
4196                                 }
4197                                 ndr->offset = _relative_save_offset;
4198                         }
4199                         ndr->flags = _flags_save_string;
4200                 }
4201                 {
4202                         uint32_t _flags_save_string = ndr->flags;
4203                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4204                         if (r->Comment) {
4205                                 uint32_t _relative_save_offset;
4206                                 _relative_save_offset = ndr->offset;
4207                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->Comment));
4208                                 _mem_save_Comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
4209                                 NDR_PULL_SET_MEM_CTX(ndr, r->Comment, 0);
4210                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Comment));
4211                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Comment_0, 0);
4212                                 if (ndr->offset > ndr->relative_highest_offset) {
4213                                         ndr->relative_highest_offset = ndr->offset;
4214                                 }
4215                                 ndr->offset = _relative_save_offset;
4216                         }
4217                         ndr->flags = _flags_save_string;
4218                 }
4219                 {
4220                         uint32_t _flags_save_string = ndr->flags;
4221                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4222                         if (r->Drivers) {
4223                                 uint32_t _relative_save_offset;
4224                                 _relative_save_offset = ndr->offset;
4225                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->Drivers));
4226                                 _mem_save_Drivers_0 = NDR_PULL_GET_MEM_CTX(ndr);
4227                                 NDR_PULL_SET_MEM_CTX(ndr, r->Drivers, 0);
4228                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Drivers));
4229                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Drivers_0, 0);
4230                                 if (ndr->offset > ndr->relative_highest_offset) {
4231                                         ndr->relative_highest_offset = ndr->offset;
4232                                 }
4233                                 ndr->offset = _relative_save_offset;
4234                         }
4235                         ndr->flags = _flags_save_string;
4236                 }
4237         }
4238         return NDR_ERR_SUCCESS;
4239 }
4240
4241 _PUBLIC_ void ndr_print_rap_PrintDest3(struct ndr_print *ndr, const char *name, const struct rap_PrintDest3 *r)
4242 {
4243         ndr_print_struct(ndr, name, "rap_PrintDest3");
4244         if (r == NULL) { ndr_print_null(ndr); return; }
4245         ndr->depth++;
4246         ndr_print_ptr(ndr, "PrinterName", r->PrinterName);
4247         ndr->depth++;
4248         if (r->PrinterName) {
4249                 ndr_print_string(ndr, "PrinterName", r->PrinterName);
4250         }
4251         ndr->depth--;
4252         ndr_print_uint16(ndr, "PrinterNameHigh", r->PrinterNameHigh);
4253         ndr_print_ptr(ndr, "UserName", r->UserName);
4254         ndr->depth++;
4255         if (r->UserName) {
4256                 ndr_print_string(ndr, "UserName", r->UserName);
4257         }
4258         ndr->depth--;
4259         ndr_print_uint16(ndr, "UserNameHigh", r->UserNameHigh);
4260         ndr_print_ptr(ndr, "LogAddr", r->LogAddr);
4261         ndr->depth++;
4262         if (r->LogAddr) {
4263                 ndr_print_string(ndr, "LogAddr", r->LogAddr);
4264         }
4265         ndr->depth--;
4266         ndr_print_uint16(ndr, "LogAddrHigh", r->LogAddrHigh);
4267         ndr_print_uint16(ndr, "JobId", r->JobId);
4268         ndr_print_uint16(ndr, "Status", r->Status);
4269         ndr_print_ptr(ndr, "StatusStringName", r->StatusStringName);
4270         ndr->depth++;
4271         if (r->StatusStringName) {
4272                 ndr_print_string(ndr, "StatusStringName", r->StatusStringName);
4273         }
4274         ndr->depth--;
4275         ndr_print_uint16(ndr, "PrintQueueNameHigh", r->PrintQueueNameHigh);
4276         ndr_print_ptr(ndr, "Comment", r->Comment);
4277         ndr->depth++;
4278         if (r->Comment) {
4279                 ndr_print_string(ndr, "Comment", r->Comment);
4280         }
4281         ndr->depth--;
4282         ndr_print_uint16(ndr, "CommentHigh", r->CommentHigh);
4283         ndr_print_ptr(ndr, "Drivers", r->Drivers);
4284         ndr->depth++;
4285         if (r->Drivers) {
4286                 ndr_print_string(ndr, "Drivers", r->Drivers);
4287         }
4288         ndr->depth--;
4289         ndr_print_uint16(ndr, "DriversHigh", r->DriversHigh);
4290         ndr_print_uint16(ndr, "Time", r->Time);
4291         ndr_print_uint16(ndr, "Pad1", r->Pad1);
4292         ndr->depth--;
4293 }
4294
4295 _PUBLIC_ enum ndr_err_code ndr_push_rap_printdest_info(struct ndr_push *ndr, int ndr_flags, const union rap_printdest_info *r)
4296 {
4297         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4298         if (ndr_flags & NDR_SCALARS) {
4299                 uint32_t level = ndr_push_get_switch_value(ndr, r);
4300                 NDR_CHECK(ndr_push_union_align(ndr, 5));
4301                 switch (level) {
4302                         case 0: {
4303                                 NDR_CHECK(ndr_push_rap_PrintDest0(ndr, NDR_SCALARS, &r->info0));
4304                         break; }
4305
4306                         case 1: {
4307                                 NDR_CHECK(ndr_push_rap_PrintDest1(ndr, NDR_SCALARS, &r->info1));
4308                         break; }
4309
4310                         case 2: {
4311                                 NDR_CHECK(ndr_push_rap_PrintDest2(ndr, NDR_SCALARS, &r->info2));
4312                         break; }
4313
4314                         case 3: {
4315                                 NDR_CHECK(ndr_push_rap_PrintDest3(ndr, NDR_SCALARS, &r->info3));
4316                         break; }
4317
4318                         default:
4319                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4320                 }
4321         }
4322         if (ndr_flags & NDR_BUFFERS) {
4323                 uint32_t level = ndr_push_get_switch_value(ndr, r);
4324                 switch (level) {
4325                         case 0:
4326                         break;
4327
4328                         case 1:
4329                                 NDR_CHECK(ndr_push_rap_PrintDest1(ndr, NDR_BUFFERS, &r->info1));
4330                         break;
4331
4332                         case 2:
4333                                 NDR_CHECK(ndr_push_rap_PrintDest2(ndr, NDR_BUFFERS, &r->info2));
4334                         break;
4335
4336                         case 3:
4337                                 NDR_CHECK(ndr_push_rap_PrintDest3(ndr, NDR_BUFFERS, &r->info3));
4338                         break;
4339
4340                         default:
4341                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4342                 }
4343         }
4344         return NDR_ERR_SUCCESS;
4345 }
4346
4347 _PUBLIC_ enum ndr_err_code ndr_pull_rap_printdest_info(struct ndr_pull *ndr, int ndr_flags, union rap_printdest_info *r)
4348 {
4349         uint32_t level;
4350         level = ndr_pull_get_switch_value(ndr, r);
4351         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4352         if (ndr_flags & NDR_SCALARS) {
4353                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4354                 switch (level) {
4355                         case 0: {
4356                                 NDR_CHECK(ndr_pull_rap_PrintDest0(ndr, NDR_SCALARS, &r->info0));
4357                         break; }
4358
4359                         case 1: {
4360                                 NDR_CHECK(ndr_pull_rap_PrintDest1(ndr, NDR_SCALARS, &r->info1));
4361                         break; }
4362
4363                         case 2: {
4364                                 NDR_CHECK(ndr_pull_rap_PrintDest2(ndr, NDR_SCALARS, &r->info2));
4365                         break; }
4366
4367                         case 3: {
4368                                 NDR_CHECK(ndr_pull_rap_PrintDest3(ndr, NDR_SCALARS, &r->info3));
4369                         break; }
4370
4371                         default:
4372                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4373                 }
4374         }
4375         if (ndr_flags & NDR_BUFFERS) {
4376                 switch (level) {
4377                         case 0:
4378                         break;
4379
4380                         case 1:
4381                                 NDR_CHECK(ndr_pull_rap_PrintDest1(ndr, NDR_BUFFERS, &r->info1));
4382                         break;
4383
4384                         case 2:
4385                                 NDR_CHECK(ndr_pull_rap_PrintDest2(ndr, NDR_BUFFERS, &r->info2));
4386                         break;
4387
4388                         case 3:
4389                                 NDR_CHECK(ndr_pull_rap_PrintDest3(ndr, NDR_BUFFERS, &r->info3));
4390                         break;
4391
4392                         default:
4393                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4394                 }
4395         }
4396         return NDR_ERR_SUCCESS;
4397 }
4398
4399 _PUBLIC_ void ndr_print_rap_printdest_info(struct ndr_print *ndr, const char *name, const union rap_printdest_info *r)
4400 {
4401         uint32_t level;
4402         level = ndr_print_get_switch_value(ndr, r);
4403         ndr_print_union(ndr, name, level, "rap_printdest_info");
4404         switch (level) {
4405                 case 0:
4406                         ndr_print_rap_PrintDest0(ndr, "info0", &r->info0);
4407                 break;
4408
4409                 case 1:
4410                         ndr_print_rap_PrintDest1(ndr, "info1", &r->info1);
4411                 break;
4412
4413                 case 2:
4414                         ndr_print_rap_PrintDest2(ndr, "info2", &r->info2);
4415                 break;
4416
4417                 case 3:
4418                         ndr_print_rap_PrintDest3(ndr, "info3", &r->info3);
4419                 break;
4420
4421                 default:
4422                         ndr_print_bad_level(ndr, name, level);
4423         }
4424 }
4425
4426 static enum ndr_err_code ndr_push_rap_NetUserInfo0(struct ndr_push *ndr, int ndr_flags, const struct rap_NetUserInfo0 *r)
4427 {
4428         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4429         if (ndr_flags & NDR_SCALARS) {
4430                 NDR_CHECK(ndr_push_align(ndr, 1));
4431                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->Name, 21, sizeof(uint8_t), CH_DOS));
4432                 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
4433         }
4434         if (ndr_flags & NDR_BUFFERS) {
4435         }
4436         return NDR_ERR_SUCCESS;
4437 }
4438
4439 static enum ndr_err_code ndr_pull_rap_NetUserInfo0(struct ndr_pull *ndr, int ndr_flags, struct rap_NetUserInfo0 *r)
4440 {
4441         uint32_t size_Name_0 = 0;
4442         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4443         if (ndr_flags & NDR_SCALARS) {
4444                 NDR_CHECK(ndr_pull_align(ndr, 1));
4445                 size_Name_0 = 21;
4446                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->Name, size_Name_0, sizeof(uint8_t), CH_DOS));
4447                 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
4448         }
4449         if (ndr_flags & NDR_BUFFERS) {
4450         }
4451         return NDR_ERR_SUCCESS;
4452 }
4453
4454 _PUBLIC_ void ndr_print_rap_NetUserInfo0(struct ndr_print *ndr, const char *name, const struct rap_NetUserInfo0 *r)
4455 {
4456         ndr_print_struct(ndr, name, "rap_NetUserInfo0");
4457         if (r == NULL) { ndr_print_null(ndr); return; }
4458         ndr->depth++;
4459         ndr_print_string(ndr, "Name", r->Name);
4460         ndr->depth--;
4461 }
4462
4463 _PUBLIC_ enum ndr_err_code ndr_push_rap_UserPriv(struct ndr_push *ndr, int ndr_flags, enum rap_UserPriv r)
4464 {
4465         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
4466         return NDR_ERR_SUCCESS;
4467 }
4468
4469 _PUBLIC_ enum ndr_err_code ndr_pull_rap_UserPriv(struct ndr_pull *ndr, int ndr_flags, enum rap_UserPriv *r)
4470 {
4471         uint16_t v;
4472         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
4473         *r = v;
4474         return NDR_ERR_SUCCESS;
4475 }
4476
4477 _PUBLIC_ void ndr_print_rap_UserPriv(struct ndr_print *ndr, const char *name, enum rap_UserPriv r)
4478 {
4479         const char *val = NULL;
4480
4481         switch (r) {
4482                 case USER_PRIV_GUEST: val = "USER_PRIV_GUEST"; break;
4483                 case USER_PRIV_USER: val = "USER_PRIV_USER"; break;
4484                 case USER_PRIV_ADMIN: val = "USER_PRIV_ADMIN"; break;
4485         }
4486         ndr_print_enum(ndr, name, "ENUM", val, r);
4487 }
4488
4489 static enum ndr_err_code ndr_push_rap_NetUserInfo1(struct ndr_push *ndr, int ndr_flags, const struct rap_NetUserInfo1 *r)
4490 {
4491         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4492         if (ndr_flags & NDR_SCALARS) {
4493                 NDR_CHECK(ndr_push_align(ndr, 5));
4494                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->Name, 21, sizeof(uint8_t), CH_DOS));
4495                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Pad));
4496                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->Password, 16));
4497                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->PasswordAge));
4498                 NDR_CHECK(ndr_push_rap_UserPriv(ndr, NDR_SCALARS, r->Priv));
4499                 {
4500                         uint32_t _flags_save_string = ndr->flags;
4501                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4502                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->HomeDir));
4503                         ndr->flags = _flags_save_string;
4504                 }
4505                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->HomeDirHigh));
4506                 {
4507                         uint32_t _flags_save_string = ndr->flags;
4508                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4509                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->Comment));
4510                         ndr->flags = _flags_save_string;
4511                 }
4512                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->CommentHigh));
4513                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Flags));
4514                 {
4515                         uint32_t _flags_save_string = ndr->flags;
4516                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4517                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->ScriptPath));
4518                         ndr->flags = _flags_save_string;
4519                 }
4520                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ScriptPathHigh));
4521                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4522         }
4523         if (ndr_flags & NDR_BUFFERS) {
4524                 {
4525                         uint32_t _flags_save_string = ndr->flags;
4526                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4527                         if (r->HomeDir) {
4528                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->HomeDir));
4529                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->HomeDir));
4530                         }
4531                         ndr->flags = _flags_save_string;
4532                 }
4533                 {
4534                         uint32_t _flags_save_string = ndr->flags;
4535                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4536                         if (r->Comment) {
4537                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->Comment));
4538                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Comment));
4539                         }
4540                         ndr->flags = _flags_save_string;
4541                 }
4542                 {
4543                         uint32_t _flags_save_string = ndr->flags;
4544                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4545                         if (r->ScriptPath) {
4546                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->ScriptPath));
4547                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->ScriptPath));
4548                         }
4549                         ndr->flags = _flags_save_string;
4550                 }
4551         }
4552         return NDR_ERR_SUCCESS;
4553 }
4554
4555 static enum ndr_err_code ndr_pull_rap_NetUserInfo1(struct ndr_pull *ndr, int ndr_flags, struct rap_NetUserInfo1 *r)
4556 {
4557         uint32_t size_Name_0 = 0;
4558         uint32_t size_Password_0 = 0;
4559         uint16_t _ptr_HomeDir;
4560         TALLOC_CTX *_mem_save_HomeDir_0;
4561         uint16_t _ptr_Comment;
4562         TALLOC_CTX *_mem_save_Comment_0;
4563         uint16_t _ptr_ScriptPath;
4564         TALLOC_CTX *_mem_save_ScriptPath_0;
4565         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4566         if (ndr_flags & NDR_SCALARS) {
4567                 NDR_CHECK(ndr_pull_align(ndr, 5));
4568                 size_Name_0 = 21;
4569                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->Name, size_Name_0, sizeof(uint8_t), CH_DOS));
4570                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Pad));
4571                 size_Password_0 = 16;
4572                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->Password, size_Password_0));
4573                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->PasswordAge));
4574                 NDR_CHECK(ndr_pull_rap_UserPriv(ndr, NDR_SCALARS, &r->Priv));
4575                 {
4576                         uint32_t _flags_save_string = ndr->flags;
4577                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4578                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_HomeDir));
4579                         if (_ptr_HomeDir) {
4580                                 NDR_PULL_ALLOC(ndr, r->HomeDir);
4581                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->HomeDir, _ptr_HomeDir));
4582                         } else {
4583                                 r->HomeDir = NULL;
4584                         }
4585                         ndr->flags = _flags_save_string;
4586                 }
4587                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->HomeDirHigh));
4588                 {
4589                         uint32_t _flags_save_string = ndr->flags;
4590                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4591                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_Comment));
4592                         if (_ptr_Comment) {
4593                                 NDR_PULL_ALLOC(ndr, r->Comment);
4594                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->Comment, _ptr_Comment));
4595                         } else {
4596                                 r->Comment = NULL;
4597                         }
4598                         ndr->flags = _flags_save_string;
4599                 }
4600                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->CommentHigh));
4601                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Flags));
4602                 {
4603                         uint32_t _flags_save_string = ndr->flags;
4604                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4605                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_ScriptPath));
4606                         if (_ptr_ScriptPath) {
4607                                 NDR_PULL_ALLOC(ndr, r->ScriptPath);
4608                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->ScriptPath, _ptr_ScriptPath));
4609                         } else {
4610                                 r->ScriptPath = NULL;
4611                         }
4612                         ndr->flags = _flags_save_string;
4613                 }
4614                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ScriptPathHigh));
4615                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4616         }
4617         if (ndr_flags & NDR_BUFFERS) {
4618                 {
4619                         uint32_t _flags_save_string = ndr->flags;
4620                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4621                         if (r->HomeDir) {
4622                                 uint32_t _relative_save_offset;
4623                                 _relative_save_offset = ndr->offset;
4624                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->HomeDir));
4625                                 _mem_save_HomeDir_0 = NDR_PULL_GET_MEM_CTX(ndr);
4626                                 NDR_PULL_SET_MEM_CTX(ndr, r->HomeDir, 0);
4627                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->HomeDir));
4628                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_HomeDir_0, 0);
4629                                 if (ndr->offset > ndr->relative_highest_offset) {
4630                                         ndr->relative_highest_offset = ndr->offset;
4631                                 }
4632                                 ndr->offset = _relative_save_offset;
4633                         }
4634                         ndr->flags = _flags_save_string;
4635                 }
4636                 {
4637                         uint32_t _flags_save_string = ndr->flags;
4638                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4639                         if (r->Comment) {
4640                                 uint32_t _relative_save_offset;
4641                                 _relative_save_offset = ndr->offset;
4642                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->Comment));
4643                                 _mem_save_Comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
4644                                 NDR_PULL_SET_MEM_CTX(ndr, r->Comment, 0);
4645                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Comment));
4646                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Comment_0, 0);
4647                                 if (ndr->offset > ndr->relative_highest_offset) {
4648                                         ndr->relative_highest_offset = ndr->offset;
4649                                 }
4650                                 ndr->offset = _relative_save_offset;
4651                         }
4652                         ndr->flags = _flags_save_string;
4653                 }
4654                 {
4655                         uint32_t _flags_save_string = ndr->flags;
4656                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4657                         if (r->ScriptPath) {
4658                                 uint32_t _relative_save_offset;
4659                                 _relative_save_offset = ndr->offset;
4660                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->ScriptPath));
4661                                 _mem_save_ScriptPath_0 = NDR_PULL_GET_MEM_CTX(ndr);
4662                                 NDR_PULL_SET_MEM_CTX(ndr, r->ScriptPath, 0);
4663                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->ScriptPath));
4664                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ScriptPath_0, 0);
4665                                 if (ndr->offset > ndr->relative_highest_offset) {
4666                                         ndr->relative_highest_offset = ndr->offset;
4667                                 }
4668                                 ndr->offset = _relative_save_offset;
4669                         }
4670                         ndr->flags = _flags_save_string;
4671                 }
4672         }
4673         return NDR_ERR_SUCCESS;
4674 }
4675
4676 _PUBLIC_ void ndr_print_rap_NetUserInfo1(struct ndr_print *ndr, const char *name, const struct rap_NetUserInfo1 *r)
4677 {
4678         ndr_print_struct(ndr, name, "rap_NetUserInfo1");
4679         if (r == NULL) { ndr_print_null(ndr); return; }
4680         ndr->depth++;
4681         ndr_print_string(ndr, "Name", r->Name);
4682         ndr_print_uint8(ndr, "Pad", r->Pad);
4683         ndr_print_array_uint8(ndr, "Password", r->Password, 16);
4684         ndr_print_time_t(ndr, "PasswordAge", r->PasswordAge);
4685         ndr_print_rap_UserPriv(ndr, "Priv", r->Priv);
4686         ndr_print_ptr(ndr, "HomeDir", r->HomeDir);
4687         ndr->depth++;
4688         if (r->HomeDir) {
4689                 ndr_print_string(ndr, "HomeDir", r->HomeDir);
4690         }
4691         ndr->depth--;
4692         ndr_print_uint16(ndr, "HomeDirHigh", r->HomeDirHigh);
4693         ndr_print_ptr(ndr, "Comment", r->Comment);
4694         ndr->depth++;
4695         if (r->Comment) {
4696                 ndr_print_string(ndr, "Comment", r->Comment);
4697         }
4698         ndr->depth--;
4699         ndr_print_uint16(ndr, "CommentHigh", r->CommentHigh);
4700         ndr_print_uint16(ndr, "Flags", r->Flags);
4701         ndr_print_ptr(ndr, "ScriptPath", r->ScriptPath);
4702         ndr->depth++;
4703         if (r->ScriptPath) {
4704                 ndr_print_string(ndr, "ScriptPath", r->ScriptPath);
4705         }
4706         ndr->depth--;
4707         ndr_print_uint16(ndr, "ScriptPathHigh", r->ScriptPathHigh);
4708         ndr->depth--;
4709 }
4710
4711 _PUBLIC_ enum ndr_err_code ndr_push_rap_AuthFlags(struct ndr_push *ndr, int ndr_flags, enum rap_AuthFlags r)
4712 {
4713         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4714         return NDR_ERR_SUCCESS;
4715 }
4716
4717 _PUBLIC_ enum ndr_err_code ndr_pull_rap_AuthFlags(struct ndr_pull *ndr, int ndr_flags, enum rap_AuthFlags *r)
4718 {
4719         uint32_t v;
4720         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4721         *r = v;
4722         return NDR_ERR_SUCCESS;
4723 }
4724
4725 _PUBLIC_ void ndr_print_rap_AuthFlags(struct ndr_print *ndr, const char *name, enum rap_AuthFlags r)
4726 {
4727         const char *val = NULL;
4728
4729         switch (r) {
4730                 case AF_OP_PRINT: val = "AF_OP_PRINT"; break;
4731                 case AF_OP_COMM: val = "AF_OP_COMM"; break;
4732                 case AF_OP_SERVER: val = "AF_OP_SERVER"; break;
4733                 case AF_OP_ACCOUNTS: val = "AF_OP_ACCOUNTS"; break;
4734         }
4735         ndr_print_enum(ndr, name, "ENUM", val, r);
4736 }
4737
4738 _PUBLIC_ enum ndr_err_code ndr_push_rap_LogonHours(struct ndr_push *ndr, int ndr_flags, const struct rap_LogonHours *r)
4739 {
4740         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4741         if (ndr_flags & NDR_SCALARS) {
4742                 NDR_CHECK(ndr_push_align(ndr, 1));
4743                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->LogonHours, 21));
4744                 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
4745         }
4746         if (ndr_flags & NDR_BUFFERS) {
4747         }
4748         return NDR_ERR_SUCCESS;
4749 }
4750
4751 _PUBLIC_ enum ndr_err_code ndr_pull_rap_LogonHours(struct ndr_pull *ndr, int ndr_flags, struct rap_LogonHours *r)
4752 {
4753         uint32_t size_LogonHours_0 = 0;
4754         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4755         if (ndr_flags & NDR_SCALARS) {
4756                 NDR_CHECK(ndr_pull_align(ndr, 1));
4757                 size_LogonHours_0 = 21;
4758                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->LogonHours, size_LogonHours_0));
4759                 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
4760         }
4761         if (ndr_flags & NDR_BUFFERS) {
4762         }
4763         return NDR_ERR_SUCCESS;
4764 }
4765
4766 _PUBLIC_ void ndr_print_rap_LogonHours(struct ndr_print *ndr, const char *name, const struct rap_LogonHours *r)
4767 {
4768         ndr_print_struct(ndr, name, "rap_LogonHours");
4769         if (r == NULL) { ndr_print_null(ndr); return; }
4770         ndr->depth++;
4771         ndr_print_array_uint8(ndr, "LogonHours", r->LogonHours, 21);
4772         ndr->depth--;
4773 }
4774
4775 static enum ndr_err_code ndr_push_rap_NetUserInfo2(struct ndr_push *ndr, int ndr_flags, const struct rap_NetUserInfo2 *r)
4776 {
4777         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4778         if (ndr_flags & NDR_SCALARS) {
4779                 NDR_CHECK(ndr_push_align(ndr, 5));
4780                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->Name, 21, sizeof(uint8_t), CH_DOS));
4781                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Pad));
4782                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->Password, 16));
4783                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->PasswordAge));
4784                 NDR_CHECK(ndr_push_rap_UserPriv(ndr, NDR_SCALARS, r->Priv));
4785                 {
4786                         uint32_t _flags_save_string = ndr->flags;
4787                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4788                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->HomeDir));
4789                         ndr->flags = _flags_save_string;
4790                 }
4791                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->HomeDirHigh));
4792                 {
4793                         uint32_t _flags_save_string = ndr->flags;
4794                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4795                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->Comment));
4796                         ndr->flags = _flags_save_string;
4797                 }
4798                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->CommentHigh));
4799                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Flags));
4800                 {
4801                         uint32_t _flags_save_string = ndr->flags;
4802                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4803                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->ScriptPath));
4804                         ndr->flags = _flags_save_string;
4805                 }
4806                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ScriptPathHigh));
4807                 NDR_CHECK(ndr_push_rap_AuthFlags(ndr, NDR_SCALARS, r->AuthFlags));
4808                 {
4809                         uint32_t _flags_save_string = ndr->flags;
4810                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4811                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->FullName));
4812                         ndr->flags = _flags_save_string;
4813                 }
4814                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->FullNameHigh));
4815                 {
4816                         uint32_t _flags_save_string = ndr->flags;
4817                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4818                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->UsrComment));
4819                         ndr->flags = _flags_save_string;
4820                 }
4821                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->UsrCommentHigh));
4822                 {
4823                         uint32_t _flags_save_string = ndr->flags;
4824                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4825                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->pParms));
4826                         ndr->flags = _flags_save_string;
4827                 }
4828                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->pParmsHigh));
4829                 {
4830                         uint32_t _flags_save_string = ndr->flags;
4831                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4832                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->WorkStations));
4833                         ndr->flags = _flags_save_string;
4834                 }
4835                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->WorkStationsHigh));
4836                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->LastLogon));
4837                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->LastLogOff));
4838                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->AcctExpires));
4839                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MaxStorage));
4840                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->UnitsPerWeek));
4841                 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->LogonHours));
4842                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->LogonHoursHigh));
4843                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->BadPwCount));
4844                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->NumLogons));
4845                 {
4846                         uint32_t _flags_save_string = ndr->flags;
4847                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4848                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->LogonServer));
4849                         ndr->flags = _flags_save_string;
4850                 }
4851                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->LogonServerHigh));
4852                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->CountryCode));
4853                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->CodePage));
4854                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4855         }
4856         if (ndr_flags & NDR_BUFFERS) {
4857                 {
4858                         uint32_t _flags_save_string = ndr->flags;
4859                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4860                         if (r->HomeDir) {
4861                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->HomeDir));
4862                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->HomeDir));
4863                         }
4864                         ndr->flags = _flags_save_string;
4865                 }
4866                 {
4867                         uint32_t _flags_save_string = ndr->flags;
4868                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4869                         if (r->Comment) {
4870                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->Comment));
4871                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Comment));
4872                         }
4873                         ndr->flags = _flags_save_string;
4874                 }
4875                 {
4876                         uint32_t _flags_save_string = ndr->flags;
4877                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4878                         if (r->ScriptPath) {
4879                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->ScriptPath));
4880                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->ScriptPath));
4881                         }
4882                         ndr->flags = _flags_save_string;
4883                 }
4884                 {
4885                         uint32_t _flags_save_string = ndr->flags;
4886                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4887                         if (r->FullName) {
4888                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->FullName));
4889                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->FullName));
4890                         }
4891                         ndr->flags = _flags_save_string;
4892                 }
4893                 {
4894                         uint32_t _flags_save_string = ndr->flags;
4895                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4896                         if (r->UsrComment) {
4897                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->UsrComment));
4898                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->UsrComment));
4899                         }
4900                         ndr->flags = _flags_save_string;
4901                 }
4902                 {
4903                         uint32_t _flags_save_string = ndr->flags;
4904                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4905                         if (r->pParms) {
4906                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->pParms));
4907                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->pParms));
4908                         }
4909                         ndr->flags = _flags_save_string;
4910                 }
4911                 {
4912                         uint32_t _flags_save_string = ndr->flags;
4913                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4914                         if (r->WorkStations) {
4915                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->WorkStations));
4916                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->WorkStations));
4917                         }
4918                         ndr->flags = _flags_save_string;
4919                 }
4920                 if (r->LogonHours) {
4921                         NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->LogonHours));
4922                         NDR_CHECK(ndr_push_rap_LogonHours(ndr, NDR_SCALARS, r->LogonHours));
4923                 }
4924                 {
4925                         uint32_t _flags_save_string = ndr->flags;
4926                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4927                         if (r->LogonServer) {
4928                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->LogonServer));
4929                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->LogonServer));
4930                         }
4931                         ndr->flags = _flags_save_string;
4932                 }
4933         }
4934         return NDR_ERR_SUCCESS;
4935 }
4936
4937 static enum ndr_err_code ndr_pull_rap_NetUserInfo2(struct ndr_pull *ndr, int ndr_flags, struct rap_NetUserInfo2 *r)
4938 {
4939         uint32_t size_Name_0 = 0;
4940         uint32_t size_Password_0 = 0;
4941         uint16_t _ptr_HomeDir;
4942         TALLOC_CTX *_mem_save_HomeDir_0;
4943         uint16_t _ptr_Comment;
4944         TALLOC_CTX *_mem_save_Comment_0;
4945         uint16_t _ptr_ScriptPath;
4946         TALLOC_CTX *_mem_save_ScriptPath_0;
4947         uint16_t _ptr_FullName;
4948         TALLOC_CTX *_mem_save_FullName_0;
4949         uint16_t _ptr_UsrComment;
4950         TALLOC_CTX *_mem_save_UsrComment_0;
4951         uint16_t _ptr_pParms;
4952         TALLOC_CTX *_mem_save_pParms_0;
4953         uint16_t _ptr_WorkStations;
4954         TALLOC_CTX *_mem_save_WorkStations_0;
4955         uint16_t _ptr_LogonHours;
4956         TALLOC_CTX *_mem_save_LogonHours_0;
4957         uint16_t _ptr_LogonServer;
4958         TALLOC_CTX *_mem_save_LogonServer_0;
4959         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4960         if (ndr_flags & NDR_SCALARS) {
4961                 NDR_CHECK(ndr_pull_align(ndr, 5));
4962                 size_Name_0 = 21;
4963                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->Name, size_Name_0, sizeof(uint8_t), CH_DOS));
4964                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Pad));
4965                 size_Password_0 = 16;
4966                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->Password, size_Password_0));
4967                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->PasswordAge));
4968                 NDR_CHECK(ndr_pull_rap_UserPriv(ndr, NDR_SCALARS, &r->Priv));
4969                 {
4970                         uint32_t _flags_save_string = ndr->flags;
4971                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4972                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_HomeDir));
4973                         if (_ptr_HomeDir) {
4974                                 NDR_PULL_ALLOC(ndr, r->HomeDir);
4975                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->HomeDir, _ptr_HomeDir));
4976                         } else {
4977                                 r->HomeDir = NULL;
4978                         }
4979                         ndr->flags = _flags_save_string;
4980                 }
4981                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->HomeDirHigh));
4982                 {
4983                         uint32_t _flags_save_string = ndr->flags;
4984                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4985                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_Comment));
4986                         if (_ptr_Comment) {
4987                                 NDR_PULL_ALLOC(ndr, r->Comment);
4988                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->Comment, _ptr_Comment));
4989                         } else {
4990                                 r->Comment = NULL;
4991                         }
4992                         ndr->flags = _flags_save_string;
4993                 }
4994                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->CommentHigh));
4995                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Flags));
4996                 {
4997                         uint32_t _flags_save_string = ndr->flags;
4998                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
4999                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_ScriptPath));
5000                         if (_ptr_ScriptPath) {
5001                                 NDR_PULL_ALLOC(ndr, r->ScriptPath);
5002                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->ScriptPath, _ptr_ScriptPath));
5003                         } else {
5004                                 r->ScriptPath = NULL;
5005                         }
5006                         ndr->flags = _flags_save_string;
5007                 }
5008                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ScriptPathHigh));
5009                 NDR_CHECK(ndr_pull_rap_AuthFlags(ndr, NDR_SCALARS, &r->AuthFlags));
5010                 {
5011                         uint32_t _flags_save_string = ndr->flags;
5012                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5013                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_FullName));
5014                         if (_ptr_FullName) {
5015                                 NDR_PULL_ALLOC(ndr, r->FullName);
5016                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->FullName, _ptr_FullName));
5017                         } else {
5018                                 r->FullName = NULL;
5019                         }
5020                         ndr->flags = _flags_save_string;
5021                 }
5022                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->FullNameHigh));
5023                 {
5024                         uint32_t _flags_save_string = ndr->flags;
5025                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5026                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_UsrComment));
5027                         if (_ptr_UsrComment) {
5028                                 NDR_PULL_ALLOC(ndr, r->UsrComment);
5029                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->UsrComment, _ptr_UsrComment));
5030                         } else {
5031                                 r->UsrComment = NULL;
5032                         }
5033                         ndr->flags = _flags_save_string;
5034                 }
5035                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UsrCommentHigh));
5036                 {
5037                         uint32_t _flags_save_string = ndr->flags;
5038                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5039                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_pParms));
5040                         if (_ptr_pParms) {
5041                                 NDR_PULL_ALLOC(ndr, r->pParms);
5042                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->pParms, _ptr_pParms));
5043                         } else {
5044                                 r->pParms = NULL;
5045                         }
5046                         ndr->flags = _flags_save_string;
5047                 }
5048                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->pParmsHigh));
5049                 {
5050                         uint32_t _flags_save_string = ndr->flags;
5051                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5052                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_WorkStations));
5053                         if (_ptr_WorkStations) {
5054                                 NDR_PULL_ALLOC(ndr, r->WorkStations);
5055                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->WorkStations, _ptr_WorkStations));
5056                         } else {
5057                                 r->WorkStations = NULL;
5058                         }
5059                         ndr->flags = _flags_save_string;
5060                 }
5061                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->WorkStationsHigh));
5062                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->LastLogon));
5063                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->LastLogOff));
5064                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->AcctExpires));
5065                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MaxStorage));
5066                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UnitsPerWeek));
5067                 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_LogonHours));
5068                 if (_ptr_LogonHours) {
5069                         NDR_PULL_ALLOC(ndr, r->LogonHours);
5070                         NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->LogonHours, _ptr_LogonHours));
5071                 } else {
5072                         r->LogonHours = NULL;
5073                 }
5074                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->LogonHoursHigh));
5075                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->BadPwCount));
5076                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->NumLogons));
5077                 {
5078                         uint32_t _flags_save_string = ndr->flags;
5079                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5080                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_LogonServer));
5081                         if (_ptr_LogonServer) {
5082                                 NDR_PULL_ALLOC(ndr, r->LogonServer);
5083                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->LogonServer, _ptr_LogonServer));
5084                         } else {
5085                                 r->LogonServer = NULL;
5086                         }
5087                         ndr->flags = _flags_save_string;
5088                 }
5089                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->LogonServerHigh));
5090                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->CountryCode));
5091                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->CodePage));
5092                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5093         }
5094         if (ndr_flags & NDR_BUFFERS) {
5095                 {
5096                         uint32_t _flags_save_string = ndr->flags;
5097                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5098                         if (r->HomeDir) {
5099                                 uint32_t _relative_save_offset;
5100                                 _relative_save_offset = ndr->offset;
5101                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->HomeDir));
5102                                 _mem_save_HomeDir_0 = NDR_PULL_GET_MEM_CTX(ndr);
5103                                 NDR_PULL_SET_MEM_CTX(ndr, r->HomeDir, 0);
5104                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->HomeDir));
5105                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_HomeDir_0, 0);
5106                                 if (ndr->offset > ndr->relative_highest_offset) {
5107                                         ndr->relative_highest_offset = ndr->offset;
5108                                 }
5109                                 ndr->offset = _relative_save_offset;
5110                         }
5111                         ndr->flags = _flags_save_string;
5112                 }
5113                 {
5114                         uint32_t _flags_save_string = ndr->flags;
5115                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5116                         if (r->Comment) {
5117                                 uint32_t _relative_save_offset;
5118                                 _relative_save_offset = ndr->offset;
5119                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->Comment));
5120                                 _mem_save_Comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
5121                                 NDR_PULL_SET_MEM_CTX(ndr, r->Comment, 0);
5122                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Comment));
5123                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Comment_0, 0);
5124                                 if (ndr->offset > ndr->relative_highest_offset) {
5125                                         ndr->relative_highest_offset = ndr->offset;
5126                                 }
5127                                 ndr->offset = _relative_save_offset;
5128                         }
5129                         ndr->flags = _flags_save_string;
5130                 }
5131                 {
5132                         uint32_t _flags_save_string = ndr->flags;
5133                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5134                         if (r->ScriptPath) {
5135                                 uint32_t _relative_save_offset;
5136                                 _relative_save_offset = ndr->offset;
5137                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->ScriptPath));
5138                                 _mem_save_ScriptPath_0 = NDR_PULL_GET_MEM_CTX(ndr);
5139                                 NDR_PULL_SET_MEM_CTX(ndr, r->ScriptPath, 0);
5140                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->ScriptPath));
5141                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ScriptPath_0, 0);
5142                                 if (ndr->offset > ndr->relative_highest_offset) {
5143                                         ndr->relative_highest_offset = ndr->offset;
5144                                 }
5145                                 ndr->offset = _relative_save_offset;
5146                         }
5147                         ndr->flags = _flags_save_string;
5148                 }
5149                 {
5150                         uint32_t _flags_save_string = ndr->flags;
5151                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5152                         if (r->FullName) {
5153                                 uint32_t _relative_save_offset;
5154                                 _relative_save_offset = ndr->offset;
5155                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->FullName));
5156                                 _mem_save_FullName_0 = NDR_PULL_GET_MEM_CTX(ndr);
5157                                 NDR_PULL_SET_MEM_CTX(ndr, r->FullName, 0);
5158                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->FullName));
5159                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_FullName_0, 0);
5160                                 if (ndr->offset > ndr->relative_highest_offset) {
5161                                         ndr->relative_highest_offset = ndr->offset;
5162                                 }
5163                                 ndr->offset = _relative_save_offset;
5164                         }
5165                         ndr->flags = _flags_save_string;
5166                 }
5167                 {
5168                         uint32_t _flags_save_string = ndr->flags;
5169                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5170                         if (r->UsrComment) {
5171                                 uint32_t _relative_save_offset;
5172                                 _relative_save_offset = ndr->offset;
5173                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->UsrComment));
5174                                 _mem_save_UsrComment_0 = NDR_PULL_GET_MEM_CTX(ndr);
5175                                 NDR_PULL_SET_MEM_CTX(ndr, r->UsrComment, 0);
5176                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->UsrComment));
5177                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_UsrComment_0, 0);
5178                                 if (ndr->offset > ndr->relative_highest_offset) {
5179                                         ndr->relative_highest_offset = ndr->offset;
5180                                 }
5181                                 ndr->offset = _relative_save_offset;
5182                         }
5183                         ndr->flags = _flags_save_string;
5184                 }
5185                 {
5186                         uint32_t _flags_save_string = ndr->flags;
5187                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5188                         if (r->pParms) {
5189                                 uint32_t _relative_save_offset;
5190                                 _relative_save_offset = ndr->offset;
5191                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->pParms));
5192                                 _mem_save_pParms_0 = NDR_PULL_GET_MEM_CTX(ndr);
5193                                 NDR_PULL_SET_MEM_CTX(ndr, r->pParms, 0);
5194                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->pParms));
5195                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pParms_0, 0);
5196                                 if (ndr->offset > ndr->relative_highest_offset) {
5197                                         ndr->relative_highest_offset = ndr->offset;
5198                                 }
5199                                 ndr->offset = _relative_save_offset;
5200                         }
5201                         ndr->flags = _flags_save_string;
5202                 }
5203                 {
5204                         uint32_t _flags_save_string = ndr->flags;
5205                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5206                         if (r->WorkStations) {
5207                                 uint32_t _relative_save_offset;
5208                                 _relative_save_offset = ndr->offset;
5209                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->WorkStations));
5210                                 _mem_save_WorkStations_0 = NDR_PULL_GET_MEM_CTX(ndr);
5211                                 NDR_PULL_SET_MEM_CTX(ndr, r->WorkStations, 0);
5212                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->WorkStations));
5213                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_WorkStations_0, 0);
5214                                 if (ndr->offset > ndr->relative_highest_offset) {
5215                                         ndr->relative_highest_offset = ndr->offset;
5216                                 }
5217                                 ndr->offset = _relative_save_offset;
5218                         }
5219                         ndr->flags = _flags_save_string;
5220                 }
5221                 if (r->LogonHours) {
5222                         uint32_t _relative_save_offset;
5223                         _relative_save_offset = ndr->offset;
5224                         NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->LogonHours));
5225                         _mem_save_LogonHours_0 = NDR_PULL_GET_MEM_CTX(ndr);
5226                         NDR_PULL_SET_MEM_CTX(ndr, r->LogonHours, 0);
5227                         NDR_CHECK(ndr_pull_rap_LogonHours(ndr, NDR_SCALARS, r->LogonHours));
5228                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_LogonHours_0, 0);
5229                         if (ndr->offset > ndr->relative_highest_offset) {
5230                                 ndr->relative_highest_offset = ndr->offset;
5231                         }
5232                         ndr->offset = _relative_save_offset;
5233                 }
5234                 {
5235                         uint32_t _flags_save_string = ndr->flags;
5236                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5237                         if (r->LogonServer) {
5238                                 uint32_t _relative_save_offset;
5239                                 _relative_save_offset = ndr->offset;
5240                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->LogonServer));
5241                                 _mem_save_LogonServer_0 = NDR_PULL_GET_MEM_CTX(ndr);
5242                                 NDR_PULL_SET_MEM_CTX(ndr, r->LogonServer, 0);
5243                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->LogonServer));
5244                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_LogonServer_0, 0);
5245                                 if (ndr->offset > ndr->relative_highest_offset) {
5246                                         ndr->relative_highest_offset = ndr->offset;
5247                                 }
5248                                 ndr->offset = _relative_save_offset;
5249                         }
5250                         ndr->flags = _flags_save_string;
5251                 }
5252         }
5253         return NDR_ERR_SUCCESS;
5254 }
5255
5256 _PUBLIC_ void ndr_print_rap_NetUserInfo2(struct ndr_print *ndr, const char *name, const struct rap_NetUserInfo2 *r)
5257 {
5258         ndr_print_struct(ndr, name, "rap_NetUserInfo2");
5259         if (r == NULL) { ndr_print_null(ndr); return; }
5260         ndr->depth++;
5261         ndr_print_string(ndr, "Name", r->Name);
5262         ndr_print_uint8(ndr, "Pad", r->Pad);
5263         ndr_print_array_uint8(ndr, "Password", r->Password, 16);
5264         ndr_print_time_t(ndr, "PasswordAge", r->PasswordAge);
5265         ndr_print_rap_UserPriv(ndr, "Priv", r->Priv);
5266         ndr_print_ptr(ndr, "HomeDir", r->HomeDir);
5267         ndr->depth++;
5268         if (r->HomeDir) {
5269                 ndr_print_string(ndr, "HomeDir", r->HomeDir);
5270         }
5271         ndr->depth--;
5272         ndr_print_uint16(ndr, "HomeDirHigh", r->HomeDirHigh);
5273         ndr_print_ptr(ndr, "Comment", r->Comment);
5274         ndr->depth++;
5275         if (r->Comment) {
5276                 ndr_print_string(ndr, "Comment", r->Comment);
5277         }
5278         ndr->depth--;
5279         ndr_print_uint16(ndr, "CommentHigh", r->CommentHigh);
5280         ndr_print_uint16(ndr, "Flags", r->Flags);
5281         ndr_print_ptr(ndr, "ScriptPath", r->ScriptPath);
5282         ndr->depth++;
5283         if (r->ScriptPath) {
5284                 ndr_print_string(ndr, "ScriptPath", r->ScriptPath);
5285         }
5286         ndr->depth--;
5287         ndr_print_uint16(ndr, "ScriptPathHigh", r->ScriptPathHigh);
5288         ndr_print_rap_AuthFlags(ndr, "AuthFlags", r->AuthFlags);
5289         ndr_print_ptr(ndr, "FullName", r->FullName);
5290         ndr->depth++;
5291         if (r->FullName) {
5292                 ndr_print_string(ndr, "FullName", r->FullName);
5293         }
5294         ndr->depth--;
5295         ndr_print_uint16(ndr, "FullNameHigh", r->FullNameHigh);
5296         ndr_print_ptr(ndr, "UsrComment", r->UsrComment);
5297         ndr->depth++;
5298         if (r->UsrComment) {
5299                 ndr_print_string(ndr, "UsrComment", r->UsrComment);
5300         }
5301         ndr->depth--;
5302         ndr_print_uint16(ndr, "UsrCommentHigh", r->UsrCommentHigh);
5303         ndr_print_ptr(ndr, "pParms", r->pParms);
5304         ndr->depth++;
5305         if (r->pParms) {
5306                 ndr_print_string(ndr, "pParms", r->pParms);
5307         }
5308         ndr->depth--;
5309         ndr_print_uint16(ndr, "pParmsHigh", r->pParmsHigh);
5310         ndr_print_ptr(ndr, "WorkStations", r->WorkStations);
5311         ndr->depth++;
5312         if (r->WorkStations) {
5313                 ndr_print_string(ndr, "WorkStations", r->WorkStations);
5314         }
5315         ndr->depth--;
5316         ndr_print_uint16(ndr, "WorkStationsHigh", r->WorkStationsHigh);
5317         ndr_print_time_t(ndr, "LastLogon", r->LastLogon);
5318         ndr_print_time_t(ndr, "LastLogOff", r->LastLogOff);
5319         ndr_print_time_t(ndr, "AcctExpires", r->AcctExpires);
5320         ndr_print_uint32(ndr, "MaxStorage", r->MaxStorage);
5321         ndr_print_uint16(ndr, "UnitsPerWeek", r->UnitsPerWeek);
5322         ndr_print_ptr(ndr, "LogonHours", r->LogonHours);
5323         ndr->depth++;
5324         if (r->LogonHours) {
5325                 ndr_print_rap_LogonHours(ndr, "LogonHours", r->LogonHours);
5326         }
5327         ndr->depth--;
5328         ndr_print_uint16(ndr, "LogonHoursHigh", r->LogonHoursHigh);
5329         ndr_print_uint16(ndr, "BadPwCount", r->BadPwCount);
5330         ndr_print_uint16(ndr, "NumLogons", r->NumLogons);
5331         ndr_print_ptr(ndr, "LogonServer", r->LogonServer);
5332         ndr->depth++;
5333         if (r->LogonServer) {
5334                 ndr_print_string(ndr, "LogonServer", r->LogonServer);
5335         }
5336         ndr->depth--;
5337         ndr_print_uint16(ndr, "LogonServerHigh", r->LogonServerHigh);
5338         ndr_print_uint16(ndr, "CountryCode", r->CountryCode);
5339         ndr_print_uint16(ndr, "CodePage", r->CodePage);
5340         ndr->depth--;
5341 }
5342
5343 static enum ndr_err_code ndr_push_rap_NetUserInfo10(struct ndr_push *ndr, int ndr_flags, const struct rap_NetUserInfo10 *r)
5344 {
5345         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5346         if (ndr_flags & NDR_SCALARS) {
5347                 NDR_CHECK(ndr_push_align(ndr, 5));
5348                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->Name, 21, sizeof(uint8_t), CH_DOS));
5349                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Pad));
5350                 {
5351                         uint32_t _flags_save_string = ndr->flags;
5352                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5353                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->Comment));
5354                         ndr->flags = _flags_save_string;
5355                 }
5356                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->CommentHigh));
5357                 {
5358                         uint32_t _flags_save_string = ndr->flags;
5359                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5360                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->UsrComment));
5361                         ndr->flags = _flags_save_string;
5362                 }
5363                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->UsrCommentHigh));
5364                 {
5365                         uint32_t _flags_save_string = ndr->flags;
5366                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5367                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->FullName));
5368                         ndr->flags = _flags_save_string;
5369                 }
5370                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->FullNameHigh));
5371                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5372         }
5373         if (ndr_flags & NDR_BUFFERS) {
5374                 {
5375                         uint32_t _flags_save_string = ndr->flags;
5376                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5377                         if (r->Comment) {
5378                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->Comment));
5379                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Comment));
5380                         }
5381                         ndr->flags = _flags_save_string;
5382                 }
5383                 {
5384                         uint32_t _flags_save_string = ndr->flags;
5385                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5386                         if (r->UsrComment) {
5387                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->UsrComment));
5388                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->UsrComment));
5389                         }
5390                         ndr->flags = _flags_save_string;
5391                 }
5392                 {
5393                         uint32_t _flags_save_string = ndr->flags;
5394                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5395                         if (r->FullName) {
5396                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->FullName));
5397                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->FullName));
5398                         }
5399                         ndr->flags = _flags_save_string;
5400                 }
5401         }
5402         return NDR_ERR_SUCCESS;
5403 }
5404
5405 static enum ndr_err_code ndr_pull_rap_NetUserInfo10(struct ndr_pull *ndr, int ndr_flags, struct rap_NetUserInfo10 *r)
5406 {
5407         uint32_t size_Name_0 = 0;
5408         uint16_t _ptr_Comment;
5409         TALLOC_CTX *_mem_save_Comment_0;
5410         uint16_t _ptr_UsrComment;
5411         TALLOC_CTX *_mem_save_UsrComment_0;
5412         uint16_t _ptr_FullName;
5413         TALLOC_CTX *_mem_save_FullName_0;
5414         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5415         if (ndr_flags & NDR_SCALARS) {
5416                 NDR_CHECK(ndr_pull_align(ndr, 5));
5417                 size_Name_0 = 21;
5418                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->Name, size_Name_0, sizeof(uint8_t), CH_DOS));
5419                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Pad));
5420                 {
5421                         uint32_t _flags_save_string = ndr->flags;
5422                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5423                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_Comment));
5424                         if (_ptr_Comment) {
5425                                 NDR_PULL_ALLOC(ndr, r->Comment);
5426                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->Comment, _ptr_Comment));
5427                         } else {
5428                                 r->Comment = NULL;
5429                         }
5430                         ndr->flags = _flags_save_string;
5431                 }
5432                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->CommentHigh));
5433                 {
5434                         uint32_t _flags_save_string = ndr->flags;
5435                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5436                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_UsrComment));
5437                         if (_ptr_UsrComment) {
5438                                 NDR_PULL_ALLOC(ndr, r->UsrComment);
5439                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->UsrComment, _ptr_UsrComment));
5440                         } else {
5441                                 r->UsrComment = NULL;
5442                         }
5443                         ndr->flags = _flags_save_string;
5444                 }
5445                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UsrCommentHigh));
5446                 {
5447                         uint32_t _flags_save_string = ndr->flags;
5448                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5449                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_FullName));
5450                         if (_ptr_FullName) {
5451                                 NDR_PULL_ALLOC(ndr, r->FullName);
5452                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->FullName, _ptr_FullName));
5453                         } else {
5454                                 r->FullName = NULL;
5455                         }
5456                         ndr->flags = _flags_save_string;
5457                 }
5458                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->FullNameHigh));
5459                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5460         }
5461         if (ndr_flags & NDR_BUFFERS) {
5462                 {
5463                         uint32_t _flags_save_string = ndr->flags;
5464                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5465                         if (r->Comment) {
5466                                 uint32_t _relative_save_offset;
5467                                 _relative_save_offset = ndr->offset;
5468                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->Comment));
5469                                 _mem_save_Comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
5470                                 NDR_PULL_SET_MEM_CTX(ndr, r->Comment, 0);
5471                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Comment));
5472                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Comment_0, 0);
5473                                 if (ndr->offset > ndr->relative_highest_offset) {
5474                                         ndr->relative_highest_offset = ndr->offset;
5475                                 }
5476                                 ndr->offset = _relative_save_offset;
5477                         }
5478                         ndr->flags = _flags_save_string;
5479                 }
5480                 {
5481                         uint32_t _flags_save_string = ndr->flags;
5482                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5483                         if (r->UsrComment) {
5484                                 uint32_t _relative_save_offset;
5485                                 _relative_save_offset = ndr->offset;
5486                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->UsrComment));
5487                                 _mem_save_UsrComment_0 = NDR_PULL_GET_MEM_CTX(ndr);
5488                                 NDR_PULL_SET_MEM_CTX(ndr, r->UsrComment, 0);
5489                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->UsrComment));
5490                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_UsrComment_0, 0);
5491                                 if (ndr->offset > ndr->relative_highest_offset) {
5492                                         ndr->relative_highest_offset = ndr->offset;
5493                                 }
5494                                 ndr->offset = _relative_save_offset;
5495                         }
5496                         ndr->flags = _flags_save_string;
5497                 }
5498                 {
5499                         uint32_t _flags_save_string = ndr->flags;
5500                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5501                         if (r->FullName) {
5502                                 uint32_t _relative_save_offset;
5503                                 _relative_save_offset = ndr->offset;
5504                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->FullName));
5505                                 _mem_save_FullName_0 = NDR_PULL_GET_MEM_CTX(ndr);
5506                                 NDR_PULL_SET_MEM_CTX(ndr, r->FullName, 0);
5507                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->FullName));
5508                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_FullName_0, 0);
5509                                 if (ndr->offset > ndr->relative_highest_offset) {
5510                                         ndr->relative_highest_offset = ndr->offset;
5511                                 }
5512                                 ndr->offset = _relative_save_offset;
5513                         }
5514                         ndr->flags = _flags_save_string;
5515                 }
5516         }
5517         return NDR_ERR_SUCCESS;
5518 }
5519
5520 _PUBLIC_ void ndr_print_rap_NetUserInfo10(struct ndr_print *ndr, const char *name, const struct rap_NetUserInfo10 *r)
5521 {
5522         ndr_print_struct(ndr, name, "rap_NetUserInfo10");
5523         if (r == NULL) { ndr_print_null(ndr); return; }
5524         ndr->depth++;
5525         ndr_print_string(ndr, "Name", r->Name);
5526         ndr_print_uint8(ndr, "Pad", r->Pad);
5527         ndr_print_ptr(ndr, "Comment", r->Comment);
5528         ndr->depth++;
5529         if (r->Comment) {
5530                 ndr_print_string(ndr, "Comment", r->Comment);
5531         }
5532         ndr->depth--;
5533         ndr_print_uint16(ndr, "CommentHigh", r->CommentHigh);
5534         ndr_print_ptr(ndr, "UsrComment", r->UsrComment);
5535         ndr->depth++;
5536         if (r->UsrComment) {
5537                 ndr_print_string(ndr, "UsrComment", r->UsrComment);
5538         }
5539         ndr->depth--;
5540         ndr_print_uint16(ndr, "UsrCommentHigh", r->UsrCommentHigh);
5541         ndr_print_ptr(ndr, "FullName", r->FullName);
5542         ndr->depth++;
5543         if (r->FullName) {
5544                 ndr_print_string(ndr, "FullName", r->FullName);
5545         }
5546         ndr->depth--;
5547         ndr_print_uint16(ndr, "FullNameHigh", r->FullNameHigh);
5548         ndr->depth--;
5549 }
5550
5551 static enum ndr_err_code ndr_push_rap_NetUserInfo11(struct ndr_push *ndr, int ndr_flags, const struct rap_NetUserInfo11 *r)
5552 {
5553         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5554         if (ndr_flags & NDR_SCALARS) {
5555                 NDR_CHECK(ndr_push_align(ndr, 5));
5556                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->Name, 21, sizeof(uint8_t), CH_DOS));
5557                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Pad));
5558                 {
5559                         uint32_t _flags_save_string = ndr->flags;
5560                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5561                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->Comment));
5562                         ndr->flags = _flags_save_string;
5563                 }
5564                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->CommentHigh));
5565                 {
5566                         uint32_t _flags_save_string = ndr->flags;
5567                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5568                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->UsrComment));
5569                         ndr->flags = _flags_save_string;
5570                 }
5571                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->UsrCommentHigh));
5572                 {
5573                         uint32_t _flags_save_string = ndr->flags;
5574                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5575                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->FullName));
5576                         ndr->flags = _flags_save_string;
5577                 }
5578                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->FullNameHigh));
5579                 NDR_CHECK(ndr_push_rap_UserPriv(ndr, NDR_SCALARS, r->Priv));
5580                 NDR_CHECK(ndr_push_rap_AuthFlags(ndr, NDR_SCALARS, r->AuthFlags));
5581                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->PasswordAge));
5582                 {
5583                         uint32_t _flags_save_string = ndr->flags;
5584                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5585                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->HomeDir));
5586                         ndr->flags = _flags_save_string;
5587                 }
5588                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->HomeDirHigh));
5589                 {
5590                         uint32_t _flags_save_string = ndr->flags;
5591                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5592                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->Parms));
5593                         ndr->flags = _flags_save_string;
5594                 }
5595                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ParmsHigh));
5596                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->LastLogon));
5597                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->LastLogOff));
5598                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->BadPWCount));
5599                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->NumLogons));
5600                 {
5601                         uint32_t _flags_save_string = ndr->flags;
5602                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5603                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->LogonServer));
5604                         ndr->flags = _flags_save_string;
5605                 }
5606                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->LogonServerHigh));
5607                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->CountryCode));
5608                 {
5609                         uint32_t _flags_save_string = ndr->flags;
5610                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5611                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->WorkStations));
5612                         ndr->flags = _flags_save_string;
5613                 }
5614                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->WorkStationsHigh));
5615                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MaxStorage));
5616                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->UnitsPerWeek));
5617                 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->LogonHours));
5618                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->LogonHoursHigh));
5619                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->CodePage));
5620                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5621         }
5622         if (ndr_flags & NDR_BUFFERS) {
5623                 {
5624                         uint32_t _flags_save_string = ndr->flags;
5625                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5626                         if (r->Comment) {
5627                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->Comment));
5628                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Comment));
5629                         }
5630                         ndr->flags = _flags_save_string;
5631                 }
5632                 {
5633                         uint32_t _flags_save_string = ndr->flags;
5634                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5635                         if (r->UsrComment) {
5636                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->UsrComment));
5637                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->UsrComment));
5638                         }
5639                         ndr->flags = _flags_save_string;
5640                 }
5641                 {
5642                         uint32_t _flags_save_string = ndr->flags;
5643                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5644                         if (r->FullName) {
5645                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->FullName));
5646                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->FullName));
5647                         }
5648                         ndr->flags = _flags_save_string;
5649                 }
5650                 {
5651                         uint32_t _flags_save_string = ndr->flags;
5652                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5653                         if (r->HomeDir) {
5654                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->HomeDir));
5655                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->HomeDir));
5656                         }
5657                         ndr->flags = _flags_save_string;
5658                 }
5659                 {
5660                         uint32_t _flags_save_string = ndr->flags;
5661                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5662                         if (r->Parms) {
5663                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->Parms));
5664                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Parms));
5665                         }
5666                         ndr->flags = _flags_save_string;
5667                 }
5668                 {
5669                         uint32_t _flags_save_string = ndr->flags;
5670                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5671                         if (r->LogonServer) {
5672                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->LogonServer));
5673                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->LogonServer));
5674                         }
5675                         ndr->flags = _flags_save_string;
5676                 }
5677                 {
5678                         uint32_t _flags_save_string = ndr->flags;
5679                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5680                         if (r->WorkStations) {
5681                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->WorkStations));
5682                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->WorkStations));
5683                         }
5684                         ndr->flags = _flags_save_string;
5685                 }
5686                 if (r->LogonHours) {
5687                         NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->LogonHours));
5688                         NDR_CHECK(ndr_push_rap_LogonHours(ndr, NDR_SCALARS, r->LogonHours));
5689                 }
5690         }
5691         return NDR_ERR_SUCCESS;
5692 }
5693
5694 static enum ndr_err_code ndr_pull_rap_NetUserInfo11(struct ndr_pull *ndr, int ndr_flags, struct rap_NetUserInfo11 *r)
5695 {
5696         uint32_t size_Name_0 = 0;
5697         uint16_t _ptr_Comment;
5698         TALLOC_CTX *_mem_save_Comment_0;
5699         uint16_t _ptr_UsrComment;
5700         TALLOC_CTX *_mem_save_UsrComment_0;
5701         uint16_t _ptr_FullName;
5702         TALLOC_CTX *_mem_save_FullName_0;
5703         uint16_t _ptr_HomeDir;
5704         TALLOC_CTX *_mem_save_HomeDir_0;
5705         uint16_t _ptr_Parms;
5706         TALLOC_CTX *_mem_save_Parms_0;
5707         uint16_t _ptr_LogonServer;
5708         TALLOC_CTX *_mem_save_LogonServer_0;
5709         uint16_t _ptr_WorkStations;
5710         TALLOC_CTX *_mem_save_WorkStations_0;
5711         uint16_t _ptr_LogonHours;
5712         TALLOC_CTX *_mem_save_LogonHours_0;
5713         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5714         if (ndr_flags & NDR_SCALARS) {
5715                 NDR_CHECK(ndr_pull_align(ndr, 5));
5716                 size_Name_0 = 21;
5717                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->Name, size_Name_0, sizeof(uint8_t), CH_DOS));
5718                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Pad));
5719                 {
5720                         uint32_t _flags_save_string = ndr->flags;
5721                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5722                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_Comment));
5723                         if (_ptr_Comment) {
5724                                 NDR_PULL_ALLOC(ndr, r->Comment);
5725                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->Comment, _ptr_Comment));
5726                         } else {
5727                                 r->Comment = NULL;
5728                         }
5729                         ndr->flags = _flags_save_string;
5730                 }
5731                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->CommentHigh));
5732                 {
5733                         uint32_t _flags_save_string = ndr->flags;
5734                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5735                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_UsrComment));
5736                         if (_ptr_UsrComment) {
5737                                 NDR_PULL_ALLOC(ndr, r->UsrComment);
5738                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->UsrComment, _ptr_UsrComment));
5739                         } else {
5740                                 r->UsrComment = NULL;
5741                         }
5742                         ndr->flags = _flags_save_string;
5743                 }
5744                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UsrCommentHigh));
5745                 {
5746                         uint32_t _flags_save_string = ndr->flags;
5747                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5748                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_FullName));
5749                         if (_ptr_FullName) {
5750                                 NDR_PULL_ALLOC(ndr, r->FullName);
5751                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->FullName, _ptr_FullName));
5752                         } else {
5753                                 r->FullName = NULL;
5754                         }
5755                         ndr->flags = _flags_save_string;
5756                 }
5757                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->FullNameHigh));
5758                 NDR_CHECK(ndr_pull_rap_UserPriv(ndr, NDR_SCALARS, &r->Priv));
5759                 NDR_CHECK(ndr_pull_rap_AuthFlags(ndr, NDR_SCALARS, &r->AuthFlags));
5760                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->PasswordAge));
5761                 {
5762                         uint32_t _flags_save_string = ndr->flags;
5763                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5764                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_HomeDir));
5765                         if (_ptr_HomeDir) {
5766                                 NDR_PULL_ALLOC(ndr, r->HomeDir);
5767                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->HomeDir, _ptr_HomeDir));
5768                         } else {
5769                                 r->HomeDir = NULL;
5770                         }
5771                         ndr->flags = _flags_save_string;
5772                 }
5773                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->HomeDirHigh));
5774                 {
5775                         uint32_t _flags_save_string = ndr->flags;
5776                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5777                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_Parms));
5778                         if (_ptr_Parms) {
5779                                 NDR_PULL_ALLOC(ndr, r->Parms);
5780                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->Parms, _ptr_Parms));
5781                         } else {
5782                                 r->Parms = NULL;
5783                         }
5784                         ndr->flags = _flags_save_string;
5785                 }
5786                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ParmsHigh));
5787                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->LastLogon));
5788                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->LastLogOff));
5789                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->BadPWCount));
5790                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->NumLogons));
5791                 {
5792                         uint32_t _flags_save_string = ndr->flags;
5793                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5794                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_LogonServer));
5795                         if (_ptr_LogonServer) {
5796                                 NDR_PULL_ALLOC(ndr, r->LogonServer);
5797                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->LogonServer, _ptr_LogonServer));
5798                         } else {
5799                                 r->LogonServer = NULL;
5800                         }
5801                         ndr->flags = _flags_save_string;
5802                 }
5803                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->LogonServerHigh));
5804                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->CountryCode));
5805                 {
5806                         uint32_t _flags_save_string = ndr->flags;
5807                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5808                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_WorkStations));
5809                         if (_ptr_WorkStations) {
5810                                 NDR_PULL_ALLOC(ndr, r->WorkStations);
5811                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->WorkStations, _ptr_WorkStations));
5812                         } else {
5813                                 r->WorkStations = NULL;
5814                         }
5815                         ndr->flags = _flags_save_string;
5816                 }
5817                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->WorkStationsHigh));
5818                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MaxStorage));
5819                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UnitsPerWeek));
5820                 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_LogonHours));
5821                 if (_ptr_LogonHours) {
5822                         NDR_PULL_ALLOC(ndr, r->LogonHours);
5823                         NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->LogonHours, _ptr_LogonHours));
5824                 } else {
5825                         r->LogonHours = NULL;
5826                 }
5827                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->LogonHoursHigh));
5828                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->CodePage));
5829                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5830         }
5831         if (ndr_flags & NDR_BUFFERS) {
5832                 {
5833                         uint32_t _flags_save_string = ndr->flags;
5834                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5835                         if (r->Comment) {
5836                                 uint32_t _relative_save_offset;
5837                                 _relative_save_offset = ndr->offset;
5838                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->Comment));
5839                                 _mem_save_Comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
5840                                 NDR_PULL_SET_MEM_CTX(ndr, r->Comment, 0);
5841                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Comment));
5842                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Comment_0, 0);
5843                                 if (ndr->offset > ndr->relative_highest_offset) {
5844                                         ndr->relative_highest_offset = ndr->offset;
5845                                 }
5846                                 ndr->offset = _relative_save_offset;
5847                         }
5848                         ndr->flags = _flags_save_string;
5849                 }
5850                 {
5851                         uint32_t _flags_save_string = ndr->flags;
5852                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5853                         if (r->UsrComment) {
5854                                 uint32_t _relative_save_offset;
5855                                 _relative_save_offset = ndr->offset;
5856                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->UsrComment));
5857                                 _mem_save_UsrComment_0 = NDR_PULL_GET_MEM_CTX(ndr);
5858                                 NDR_PULL_SET_MEM_CTX(ndr, r->UsrComment, 0);
5859                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->UsrComment));
5860                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_UsrComment_0, 0);
5861                                 if (ndr->offset > ndr->relative_highest_offset) {
5862                                         ndr->relative_highest_offset = ndr->offset;
5863                                 }
5864                                 ndr->offset = _relative_save_offset;
5865                         }
5866                         ndr->flags = _flags_save_string;
5867                 }
5868                 {
5869                         uint32_t _flags_save_string = ndr->flags;
5870                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5871                         if (r->FullName) {
5872                                 uint32_t _relative_save_offset;
5873                                 _relative_save_offset = ndr->offset;
5874                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->FullName));
5875                                 _mem_save_FullName_0 = NDR_PULL_GET_MEM_CTX(ndr);
5876                                 NDR_PULL_SET_MEM_CTX(ndr, r->FullName, 0);
5877                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->FullName));
5878                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_FullName_0, 0);
5879                                 if (ndr->offset > ndr->relative_highest_offset) {
5880                                         ndr->relative_highest_offset = ndr->offset;
5881                                 }
5882                                 ndr->offset = _relative_save_offset;
5883                         }
5884                         ndr->flags = _flags_save_string;
5885                 }
5886                 {
5887                         uint32_t _flags_save_string = ndr->flags;
5888                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5889                         if (r->HomeDir) {
5890                                 uint32_t _relative_save_offset;
5891                                 _relative_save_offset = ndr->offset;
5892                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->HomeDir));
5893                                 _mem_save_HomeDir_0 = NDR_PULL_GET_MEM_CTX(ndr);
5894                                 NDR_PULL_SET_MEM_CTX(ndr, r->HomeDir, 0);
5895                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->HomeDir));
5896                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_HomeDir_0, 0);
5897                                 if (ndr->offset > ndr->relative_highest_offset) {
5898                                         ndr->relative_highest_offset = ndr->offset;
5899                                 }
5900                                 ndr->offset = _relative_save_offset;
5901                         }
5902                         ndr->flags = _flags_save_string;
5903                 }
5904                 {
5905                         uint32_t _flags_save_string = ndr->flags;
5906                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5907                         if (r->Parms) {
5908                                 uint32_t _relative_save_offset;
5909                                 _relative_save_offset = ndr->offset;
5910                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->Parms));
5911                                 _mem_save_Parms_0 = NDR_PULL_GET_MEM_CTX(ndr);
5912                                 NDR_PULL_SET_MEM_CTX(ndr, r->Parms, 0);
5913                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Parms));
5914                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Parms_0, 0);
5915                                 if (ndr->offset > ndr->relative_highest_offset) {
5916                                         ndr->relative_highest_offset = ndr->offset;
5917                                 }
5918                                 ndr->offset = _relative_save_offset;
5919                         }
5920                         ndr->flags = _flags_save_string;
5921                 }
5922                 {
5923                         uint32_t _flags_save_string = ndr->flags;
5924                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5925                         if (r->LogonServer) {
5926                                 uint32_t _relative_save_offset;
5927                                 _relative_save_offset = ndr->offset;
5928                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->LogonServer));
5929                                 _mem_save_LogonServer_0 = NDR_PULL_GET_MEM_CTX(ndr);
5930                                 NDR_PULL_SET_MEM_CTX(ndr, r->LogonServer, 0);
5931                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->LogonServer));
5932                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_LogonServer_0, 0);
5933                                 if (ndr->offset > ndr->relative_highest_offset) {
5934                                         ndr->relative_highest_offset = ndr->offset;
5935                                 }
5936                                 ndr->offset = _relative_save_offset;
5937                         }
5938                         ndr->flags = _flags_save_string;
5939                 }
5940                 {
5941                         uint32_t _flags_save_string = ndr->flags;
5942                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
5943                         if (r->WorkStations) {
5944                                 uint32_t _relative_save_offset;
5945                                 _relative_save_offset = ndr->offset;
5946                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->WorkStations));
5947                                 _mem_save_WorkStations_0 = NDR_PULL_GET_MEM_CTX(ndr);
5948                                 NDR_PULL_SET_MEM_CTX(ndr, r->WorkStations, 0);
5949                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->WorkStations));
5950                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_WorkStations_0, 0);
5951                                 if (ndr->offset > ndr->relative_highest_offset) {
5952                                         ndr->relative_highest_offset = ndr->offset;
5953                                 }
5954                                 ndr->offset = _relative_save_offset;
5955                         }
5956                         ndr->flags = _flags_save_string;
5957                 }
5958                 if (r->LogonHours) {
5959                         uint32_t _relative_save_offset;
5960                         _relative_save_offset = ndr->offset;
5961                         NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->LogonHours));
5962                         _mem_save_LogonHours_0 = NDR_PULL_GET_MEM_CTX(ndr);
5963                         NDR_PULL_SET_MEM_CTX(ndr, r->LogonHours, 0);
5964                         NDR_CHECK(ndr_pull_rap_LogonHours(ndr, NDR_SCALARS, r->LogonHours));
5965                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_LogonHours_0, 0);
5966                         if (ndr->offset > ndr->relative_highest_offset) {
5967                                 ndr->relative_highest_offset = ndr->offset;
5968                         }
5969                         ndr->offset = _relative_save_offset;
5970                 }
5971         }
5972         return NDR_ERR_SUCCESS;
5973 }
5974
5975 _PUBLIC_ void ndr_print_rap_NetUserInfo11(struct ndr_print *ndr, const char *name, const struct rap_NetUserInfo11 *r)
5976 {
5977         ndr_print_struct(ndr, name, "rap_NetUserInfo11");
5978         if (r == NULL) { ndr_print_null(ndr); return; }
5979         ndr->depth++;
5980         ndr_print_string(ndr, "Name", r->Name);
5981         ndr_print_uint8(ndr, "Pad", r->Pad);
5982         ndr_print_ptr(ndr, "Comment", r->Comment);
5983         ndr->depth++;
5984         if (r->Comment) {
5985                 ndr_print_string(ndr, "Comment", r->Comment);
5986         }
5987         ndr->depth--;
5988         ndr_print_uint16(ndr, "CommentHigh", r->CommentHigh);
5989         ndr_print_ptr(ndr, "UsrComment", r->UsrComment);
5990         ndr->depth++;
5991         if (r->UsrComment) {
5992                 ndr_print_string(ndr, "UsrComment", r->UsrComment);
5993         }
5994         ndr->depth--;
5995         ndr_print_uint16(ndr, "UsrCommentHigh", r->UsrCommentHigh);
5996         ndr_print_ptr(ndr, "FullName", r->FullName);
5997         ndr->depth++;
5998         if (r->FullName) {
5999                 ndr_print_string(ndr, "FullName", r->FullName);
6000         }
6001         ndr->depth--;
6002         ndr_print_uint16(ndr, "FullNameHigh", r->FullNameHigh);
6003         ndr_print_rap_UserPriv(ndr, "Priv", r->Priv);
6004         ndr_print_rap_AuthFlags(ndr, "AuthFlags", r->AuthFlags);
6005         ndr_print_time_t(ndr, "PasswordAge", r->PasswordAge);
6006         ndr_print_ptr(ndr, "HomeDir", r->HomeDir);
6007         ndr->depth++;
6008         if (r->HomeDir) {
6009                 ndr_print_string(ndr, "HomeDir", r->HomeDir);
6010         }
6011         ndr->depth--;
6012         ndr_print_uint16(ndr, "HomeDirHigh", r->HomeDirHigh);
6013         ndr_print_ptr(ndr, "Parms", r->Parms);
6014         ndr->depth++;
6015         if (r->Parms) {
6016                 ndr_print_string(ndr, "Parms", r->Parms);
6017         }
6018         ndr->depth--;
6019         ndr_print_uint16(ndr, "ParmsHigh", r->ParmsHigh);
6020         ndr_print_time_t(ndr, "LastLogon", r->LastLogon);
6021         ndr_print_time_t(ndr, "LastLogOff", r->LastLogOff);
6022         ndr_print_uint16(ndr, "BadPWCount", r->BadPWCount);
6023         ndr_print_uint16(ndr, "NumLogons", r->NumLogons);
6024         ndr_print_ptr(ndr, "LogonServer", r->LogonServer);
6025         ndr->depth++;
6026         if (r->LogonServer) {
6027                 ndr_print_string(ndr, "LogonServer", r->LogonServer);
6028         }
6029         ndr->depth--;
6030         ndr_print_uint16(ndr, "LogonServerHigh", r->LogonServerHigh);
6031         ndr_print_uint16(ndr, "CountryCode", r->CountryCode);
6032         ndr_print_ptr(ndr, "WorkStations", r->WorkStations);
6033         ndr->depth++;
6034         if (r->WorkStations) {
6035                 ndr_print_string(ndr, "WorkStations", r->WorkStations);
6036         }
6037         ndr->depth--;
6038         ndr_print_uint16(ndr, "WorkStationsHigh", r->WorkStationsHigh);
6039         ndr_print_uint32(ndr, "MaxStorage", r->MaxStorage);
6040         ndr_print_uint16(ndr, "UnitsPerWeek", r->UnitsPerWeek);
6041         ndr_print_ptr(ndr, "LogonHours", r->LogonHours);
6042         ndr->depth++;
6043         if (r->LogonHours) {
6044                 ndr_print_rap_LogonHours(ndr, "LogonHours", r->LogonHours);
6045         }
6046         ndr->depth--;
6047         ndr_print_uint16(ndr, "LogonHoursHigh", r->LogonHoursHigh);
6048         ndr_print_uint16(ndr, "CodePage", r->CodePage);
6049         ndr->depth--;
6050 }
6051
6052 _PUBLIC_ enum ndr_err_code ndr_push_rap_netuser_info(struct ndr_push *ndr, int ndr_flags, const union rap_netuser_info *r)
6053 {
6054         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6055         if (ndr_flags & NDR_SCALARS) {
6056                 uint32_t level = ndr_push_get_switch_value(ndr, r);
6057                 NDR_CHECK(ndr_push_union_align(ndr, 5));
6058                 switch (level) {
6059                         case 0: {
6060                                 NDR_CHECK(ndr_push_rap_NetUserInfo0(ndr, NDR_SCALARS, &r->info0));
6061                         break; }
6062
6063                         case 1: {
6064                                 NDR_CHECK(ndr_push_rap_NetUserInfo1(ndr, NDR_SCALARS, &r->info1));
6065                         break; }
6066
6067                         case 2: {
6068                                 NDR_CHECK(ndr_push_rap_NetUserInfo2(ndr, NDR_SCALARS, &r->info2));
6069                         break; }
6070
6071                         case 10: {
6072                                 NDR_CHECK(ndr_push_rap_NetUserInfo10(ndr, NDR_SCALARS, &r->info10));
6073                         break; }
6074
6075                         case 11: {
6076                                 NDR_CHECK(ndr_push_rap_NetUserInfo11(ndr, NDR_SCALARS, &r->info11));
6077                         break; }
6078
6079                         default:
6080                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6081                 }
6082         }
6083         if (ndr_flags & NDR_BUFFERS) {
6084                 uint32_t level = ndr_push_get_switch_value(ndr, r);
6085                 switch (level) {
6086                         case 0:
6087                         break;
6088
6089                         case 1:
6090                                 NDR_CHECK(ndr_push_rap_NetUserInfo1(ndr, NDR_BUFFERS, &r->info1));
6091                         break;
6092
6093                         case 2:
6094                                 NDR_CHECK(ndr_push_rap_NetUserInfo2(ndr, NDR_BUFFERS, &r->info2));
6095                         break;
6096
6097                         case 10:
6098                                 NDR_CHECK(ndr_push_rap_NetUserInfo10(ndr, NDR_BUFFERS, &r->info10));
6099                         break;
6100
6101                         case 11:
6102                                 NDR_CHECK(ndr_push_rap_NetUserInfo11(ndr, NDR_BUFFERS, &r->info11));
6103                         break;
6104
6105                         default:
6106                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6107                 }
6108         }
6109         return NDR_ERR_SUCCESS;
6110 }
6111
6112 _PUBLIC_ enum ndr_err_code ndr_pull_rap_netuser_info(struct ndr_pull *ndr, int ndr_flags, union rap_netuser_info *r)
6113 {
6114         uint32_t level;
6115         level = ndr_pull_get_switch_value(ndr, r);
6116         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6117         if (ndr_flags & NDR_SCALARS) {
6118                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6119                 switch (level) {
6120                         case 0: {
6121                                 NDR_CHECK(ndr_pull_rap_NetUserInfo0(ndr, NDR_SCALARS, &r->info0));
6122                         break; }
6123
6124                         case 1: {
6125                                 NDR_CHECK(ndr_pull_rap_NetUserInfo1(ndr, NDR_SCALARS, &r->info1));
6126                         break; }
6127
6128                         case 2: {
6129                                 NDR_CHECK(ndr_pull_rap_NetUserInfo2(ndr, NDR_SCALARS, &r->info2));
6130                         break; }
6131
6132                         case 10: {
6133                                 NDR_CHECK(ndr_pull_rap_NetUserInfo10(ndr, NDR_SCALARS, &r->info10));
6134                         break; }
6135
6136                         case 11: {
6137                                 NDR_CHECK(ndr_pull_rap_NetUserInfo11(ndr, NDR_SCALARS, &r->info11));
6138                         break; }
6139
6140                         default:
6141                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6142                 }
6143         }
6144         if (ndr_flags & NDR_BUFFERS) {
6145                 switch (level) {
6146                         case 0:
6147                         break;
6148
6149                         case 1:
6150                                 NDR_CHECK(ndr_pull_rap_NetUserInfo1(ndr, NDR_BUFFERS, &r->info1));
6151                         break;
6152
6153                         case 2:
6154                                 NDR_CHECK(ndr_pull_rap_NetUserInfo2(ndr, NDR_BUFFERS, &r->info2));
6155                         break;
6156
6157                         case 10:
6158                                 NDR_CHECK(ndr_pull_rap_NetUserInfo10(ndr, NDR_BUFFERS, &r->info10));
6159                         break;
6160
6161                         case 11:
6162                                 NDR_CHECK(ndr_pull_rap_NetUserInfo11(ndr, NDR_BUFFERS, &r->info11));
6163                         break;
6164
6165                         default:
6166                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6167                 }
6168         }
6169         return NDR_ERR_SUCCESS;
6170 }
6171
6172 _PUBLIC_ void ndr_print_rap_netuser_info(struct ndr_print *ndr, const char *name, const union rap_netuser_info *r)
6173 {
6174         uint32_t level;
6175         level = ndr_print_get_switch_value(ndr, r);
6176         ndr_print_union(ndr, name, level, "rap_netuser_info");
6177         switch (level) {
6178                 case 0:
6179                         ndr_print_rap_NetUserInfo0(ndr, "info0", &r->info0);
6180                 break;
6181
6182                 case 1:
6183                         ndr_print_rap_NetUserInfo1(ndr, "info1", &r->info1);
6184                 break;
6185
6186                 case 2:
6187                         ndr_print_rap_NetUserInfo2(ndr, "info2", &r->info2);
6188                 break;
6189
6190                 case 10:
6191                         ndr_print_rap_NetUserInfo10(ndr, "info10", &r->info10);
6192                 break;
6193
6194                 case 11:
6195                         ndr_print_rap_NetUserInfo11(ndr, "info11", &r->info11);
6196                 break;
6197
6198                 default:
6199                         ndr_print_bad_level(ndr, name, level);
6200         }
6201 }
6202
6203 static enum ndr_err_code ndr_push_rap_session_info_2(struct ndr_push *ndr, int ndr_flags, const struct rap_session_info_2 *r)
6204 {
6205         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6206         if (ndr_flags & NDR_SCALARS) {
6207                 NDR_CHECK(ndr_push_align(ndr, 5));
6208                 {
6209                         uint32_t _flags_save_string = ndr->flags;
6210                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
6211                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->ComputerName));
6212                         ndr->flags = _flags_save_string;
6213                 }
6214                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ComputerNameHigh));
6215                 {
6216                         uint32_t _flags_save_string = ndr->flags;
6217                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
6218                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->UserName));
6219                         ndr->flags = _flags_save_string;
6220                 }
6221                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->UserNameHigh));
6222                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_conns));
6223                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_opens));
6224                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_users));
6225                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sess_time));
6226                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idle_time));
6227                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->user_flags));
6228                 {
6229                         uint32_t _flags_save_string = ndr->flags;
6230                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
6231                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->CliTypeName));
6232                         ndr->flags = _flags_save_string;
6233                 }
6234                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->CliTypeNameHigh));
6235                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6236         }
6237         if (ndr_flags & NDR_BUFFERS) {
6238                 {
6239                         uint32_t _flags_save_string = ndr->flags;
6240                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
6241                         if (r->ComputerName) {
6242                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->ComputerName));
6243                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->ComputerName));
6244                         }
6245                         ndr->flags = _flags_save_string;
6246                 }
6247                 {
6248                         uint32_t _flags_save_string = ndr->flags;
6249                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
6250                         if (r->UserName) {
6251                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->UserName));
6252                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->UserName));
6253                         }
6254                         ndr->flags = _flags_save_string;
6255                 }
6256                 {
6257                         uint32_t _flags_save_string = ndr->flags;
6258                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
6259                         if (r->CliTypeName) {
6260                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->CliTypeName));
6261                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->CliTypeName));
6262                         }
6263                         ndr->flags = _flags_save_string;
6264                 }
6265         }
6266         return NDR_ERR_SUCCESS;
6267 }
6268
6269 static enum ndr_err_code ndr_pull_rap_session_info_2(struct ndr_pull *ndr, int ndr_flags, struct rap_session_info_2 *r)
6270 {
6271         uint16_t _ptr_ComputerName;
6272         TALLOC_CTX *_mem_save_ComputerName_0;
6273         uint16_t _ptr_UserName;
6274         TALLOC_CTX *_mem_save_UserName_0;
6275         uint16_t _ptr_CliTypeName;
6276         TALLOC_CTX *_mem_save_CliTypeName_0;
6277         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6278         if (ndr_flags & NDR_SCALARS) {
6279                 NDR_CHECK(ndr_pull_align(ndr, 5));
6280                 {
6281                         uint32_t _flags_save_string = ndr->flags;
6282                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
6283                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_ComputerName));
6284                         if (_ptr_ComputerName) {
6285                                 NDR_PULL_ALLOC(ndr, r->ComputerName);
6286                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->ComputerName, _ptr_ComputerName));
6287                         } else {
6288                                 r->ComputerName = NULL;
6289                         }
6290                         ndr->flags = _flags_save_string;
6291                 }
6292                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ComputerNameHigh));
6293                 {
6294                         uint32_t _flags_save_string = ndr->flags;
6295                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
6296                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_UserName));
6297                         if (_ptr_UserName) {
6298                                 NDR_PULL_ALLOC(ndr, r->UserName);
6299                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->UserName, _ptr_UserName));
6300                         } else {
6301                                 r->UserName = NULL;
6302                         }
6303                         ndr->flags = _flags_save_string;
6304                 }
6305                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UserNameHigh));
6306                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_conns));
6307                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_opens));
6308                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_users));
6309                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sess_time));
6310                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idle_time));
6311                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->user_flags));
6312                 {
6313                         uint32_t _flags_save_string = ndr->flags;
6314                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
6315                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_CliTypeName));
6316                         if (_ptr_CliTypeName) {
6317                                 NDR_PULL_ALLOC(ndr, r->CliTypeName);
6318                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->CliTypeName, _ptr_CliTypeName));
6319                         } else {
6320                                 r->CliTypeName = NULL;
6321                         }
6322                         ndr->flags = _flags_save_string;
6323                 }
6324                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->CliTypeNameHigh));
6325                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6326         }
6327         if (ndr_flags & NDR_BUFFERS) {
6328                 {
6329                         uint32_t _flags_save_string = ndr->flags;
6330                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
6331                         if (r->ComputerName) {
6332                                 uint32_t _relative_save_offset;
6333                                 _relative_save_offset = ndr->offset;
6334                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->ComputerName));
6335                                 _mem_save_ComputerName_0 = NDR_PULL_GET_MEM_CTX(ndr);
6336                                 NDR_PULL_SET_MEM_CTX(ndr, r->ComputerName, 0);
6337                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->ComputerName));
6338                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ComputerName_0, 0);
6339                                 if (ndr->offset > ndr->relative_highest_offset) {
6340                                         ndr->relative_highest_offset = ndr->offset;
6341                                 }
6342                                 ndr->offset = _relative_save_offset;
6343                         }
6344                         ndr->flags = _flags_save_string;
6345                 }
6346                 {
6347                         uint32_t _flags_save_string = ndr->flags;
6348                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
6349                         if (r->UserName) {
6350                                 uint32_t _relative_save_offset;
6351                                 _relative_save_offset = ndr->offset;
6352                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->UserName));
6353                                 _mem_save_UserName_0 = NDR_PULL_GET_MEM_CTX(ndr);
6354                                 NDR_PULL_SET_MEM_CTX(ndr, r->UserName, 0);
6355                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->UserName));
6356                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_UserName_0, 0);
6357                                 if (ndr->offset > ndr->relative_highest_offset) {
6358                                         ndr->relative_highest_offset = ndr->offset;
6359                                 }
6360                                 ndr->offset = _relative_save_offset;
6361                         }
6362                         ndr->flags = _flags_save_string;
6363                 }
6364                 {
6365                         uint32_t _flags_save_string = ndr->flags;
6366                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
6367                         if (r->CliTypeName) {
6368                                 uint32_t _relative_save_offset;
6369                                 _relative_save_offset = ndr->offset;
6370                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->CliTypeName));
6371                                 _mem_save_CliTypeName_0 = NDR_PULL_GET_MEM_CTX(ndr);
6372                                 NDR_PULL_SET_MEM_CTX(ndr, r->CliTypeName, 0);
6373                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->CliTypeName));
6374                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_CliTypeName_0, 0);
6375                                 if (ndr->offset > ndr->relative_highest_offset) {
6376                                         ndr->relative_highest_offset = ndr->offset;
6377                                 }
6378                                 ndr->offset = _relative_save_offset;
6379                         }
6380                         ndr->flags = _flags_save_string;
6381                 }
6382         }
6383         return NDR_ERR_SUCCESS;
6384 }
6385
6386 _PUBLIC_ void ndr_print_rap_session_info_2(struct ndr_print *ndr, const char *name, const struct rap_session_info_2 *r)
6387 {
6388         ndr_print_struct(ndr, name, "rap_session_info_2");
6389         if (r == NULL) { ndr_print_null(ndr); return; }
6390         ndr->depth++;
6391         ndr_print_ptr(ndr, "ComputerName", r->ComputerName);
6392         ndr->depth++;
6393         if (r->ComputerName) {
6394                 ndr_print_string(ndr, "ComputerName", r->ComputerName);
6395         }
6396         ndr->depth--;
6397         ndr_print_uint16(ndr, "ComputerNameHigh", r->ComputerNameHigh);
6398         ndr_print_ptr(ndr, "UserName", r->UserName);
6399         ndr->depth++;
6400         if (r->UserName) {
6401                 ndr_print_string(ndr, "UserName", r->UserName);
6402         }
6403         ndr->depth--;
6404         ndr_print_uint16(ndr, "UserNameHigh", r->UserNameHigh);
6405         ndr_print_uint16(ndr, "num_conns", r->num_conns);
6406         ndr_print_uint16(ndr, "num_opens", r->num_opens);
6407         ndr_print_uint16(ndr, "num_users", r->num_users);
6408         ndr_print_uint32(ndr, "sess_time", r->sess_time);
6409         ndr_print_uint32(ndr, "idle_time", r->idle_time);
6410         ndr_print_uint32(ndr, "user_flags", r->user_flags);
6411         ndr_print_ptr(ndr, "CliTypeName", r->CliTypeName);
6412         ndr->depth++;
6413         if (r->CliTypeName) {
6414                 ndr_print_string(ndr, "CliTypeName", r->CliTypeName);
6415         }
6416         ndr->depth--;
6417         ndr_print_uint16(ndr, "CliTypeNameHigh", r->CliTypeNameHigh);
6418         ndr->depth--;
6419 }
6420
6421 _PUBLIC_ enum ndr_err_code ndr_push_rap_session_info(struct ndr_push *ndr, int ndr_flags, const union rap_session_info *r)
6422 {
6423         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6424         if (ndr_flags & NDR_SCALARS) {
6425                 uint32_t level = ndr_push_get_switch_value(ndr, r);
6426                 NDR_CHECK(ndr_push_union_align(ndr, 5));
6427                 switch (level) {
6428                         case 2: {
6429                                 NDR_CHECK(ndr_push_rap_session_info_2(ndr, NDR_SCALARS, &r->info2));
6430                         break; }
6431
6432                         default:
6433                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6434                 }
6435         }
6436         if (ndr_flags & NDR_BUFFERS) {
6437                 uint32_t level = ndr_push_get_switch_value(ndr, r);
6438                 switch (level) {
6439                         case 2:
6440                                 NDR_CHECK(ndr_push_rap_session_info_2(ndr, NDR_BUFFERS, &r->info2));
6441                         break;
6442
6443                         default:
6444                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6445                 }
6446         }
6447         return NDR_ERR_SUCCESS;
6448 }
6449
6450 _PUBLIC_ enum ndr_err_code ndr_pull_rap_session_info(struct ndr_pull *ndr, int ndr_flags, union rap_session_info *r)
6451 {
6452         uint32_t level;
6453         level = ndr_pull_get_switch_value(ndr, r);
6454         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6455         if (ndr_flags & NDR_SCALARS) {
6456                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6457                 switch (level) {
6458                         case 2: {
6459                                 NDR_CHECK(ndr_pull_rap_session_info_2(ndr, NDR_SCALARS, &r->info2));
6460                         break; }
6461
6462                         default:
6463                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6464                 }
6465         }
6466         if (ndr_flags & NDR_BUFFERS) {
6467                 switch (level) {
6468                         case 2:
6469                                 NDR_CHECK(ndr_pull_rap_session_info_2(ndr, NDR_BUFFERS, &r->info2));
6470                         break;
6471
6472                         default:
6473                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6474                 }
6475         }
6476         return NDR_ERR_SUCCESS;
6477 }
6478
6479 _PUBLIC_ void ndr_print_rap_session_info(struct ndr_print *ndr, const char *name, const union rap_session_info *r)
6480 {
6481         uint32_t level;
6482         level = ndr_print_get_switch_value(ndr, r);
6483         ndr_print_union(ndr, name, level, "rap_session_info");
6484         switch (level) {
6485                 case 2:
6486                         ndr_print_rap_session_info_2(ndr, "info2", &r->info2);
6487                 break;
6488
6489                 default:
6490                         ndr_print_bad_level(ndr, name, level);
6491         }
6492 }
6493
6494 _PUBLIC_ enum ndr_err_code ndr_push_rap_TimeOfDayInfo(struct ndr_push *ndr, int ndr_flags, const struct rap_TimeOfDayInfo *r)
6495 {
6496         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6497         if (ndr_flags & NDR_SCALARS) {
6498                 NDR_CHECK(ndr_push_align(ndr, 4));
6499                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->TimeSinceJan11970));
6500                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->TimeSinceBoot));
6501                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Hours));
6502                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Minutes));
6503                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Seconds));
6504                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Hundreds));
6505                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->TimeZone));
6506                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ClockFrequency));
6507                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Day));
6508                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Month));
6509                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Year));
6510                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Weekday));
6511                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6512         }
6513         if (ndr_flags & NDR_BUFFERS) {
6514         }
6515         return NDR_ERR_SUCCESS;
6516 }
6517
6518 _PUBLIC_ enum ndr_err_code ndr_pull_rap_TimeOfDayInfo(struct ndr_pull *ndr, int ndr_flags, struct rap_TimeOfDayInfo *r)
6519 {
6520         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6521         if (ndr_flags & NDR_SCALARS) {
6522                 NDR_CHECK(ndr_pull_align(ndr, 4));
6523                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->TimeSinceJan11970));
6524                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->TimeSinceBoot));
6525                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Hours));
6526                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Minutes));
6527                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Seconds));
6528                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Hundreds));
6529                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->TimeZone));
6530                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ClockFrequency));
6531                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Day));
6532                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Month));
6533                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Year));
6534                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Weekday));
6535                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6536         }
6537         if (ndr_flags & NDR_BUFFERS) {
6538         }
6539         return NDR_ERR_SUCCESS;
6540 }
6541
6542 _PUBLIC_ void ndr_print_rap_TimeOfDayInfo(struct ndr_print *ndr, const char *name, const struct rap_TimeOfDayInfo *r)
6543 {
6544         ndr_print_struct(ndr, name, "rap_TimeOfDayInfo");
6545         if (r == NULL) { ndr_print_null(ndr); return; }
6546         ndr->depth++;
6547         ndr_print_uint32(ndr, "TimeSinceJan11970", r->TimeSinceJan11970);
6548         ndr_print_uint32(ndr, "TimeSinceBoot", r->TimeSinceBoot);
6549         ndr_print_uint8(ndr, "Hours", r->Hours);
6550         ndr_print_uint8(ndr, "Minutes", r->Minutes);
6551         ndr_print_uint8(ndr, "Seconds", r->Seconds);
6552         ndr_print_uint8(ndr, "Hundreds", r->Hundreds);
6553         ndr_print_uint16(ndr, "TimeZone", r->TimeZone);
6554         ndr_print_uint16(ndr, "ClockFrequency", r->ClockFrequency);
6555         ndr_print_uint8(ndr, "Day", r->Day);
6556         ndr_print_uint8(ndr, "Month", r->Month);
6557         ndr_print_uint16(ndr, "Year", r->Year);
6558         ndr_print_uint8(ndr, "Weekday", r->Weekday);
6559         ndr->depth--;
6560 }
6561
6562 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetShareEnum(struct ndr_push *ndr, int flags, const struct rap_NetShareEnum *r)
6563 {
6564         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6565         if (flags & NDR_IN) {
6566                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
6567                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
6568         }
6569         if (flags & NDR_OUT) {
6570                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
6571                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
6572                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.count));
6573                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available));
6574                 if (r->out.info == NULL) {
6575                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6576                 }
6577                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
6578                 NDR_CHECK(ndr_push_rap_share_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
6579         }
6580         return NDR_ERR_SUCCESS;
6581 }
6582
6583 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetShareEnum(struct ndr_pull *ndr, int flags, struct rap_NetShareEnum *r)
6584 {
6585         TALLOC_CTX *_mem_save_info_0;
6586         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6587         if (flags & NDR_IN) {
6588                 ZERO_STRUCT(r->out);
6589
6590                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
6591                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
6592                 NDR_PULL_ALLOC(ndr, r->out.info);
6593                 ZERO_STRUCTP(r->out.info);
6594         }
6595         if (flags & NDR_OUT) {
6596                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
6597                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
6598                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.count));
6599                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available));
6600                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6601                         NDR_PULL_ALLOC(ndr, r->out.info);
6602                 }
6603                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
6604                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
6605                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
6606                 NDR_CHECK(ndr_pull_rap_share_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
6607                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
6608         }
6609         return NDR_ERR_SUCCESS;
6610 }
6611
6612 _PUBLIC_ void ndr_print_rap_NetShareEnum(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetShareEnum *r)
6613 {
6614         ndr_print_struct(ndr, name, "rap_NetShareEnum");
6615         if (r == NULL) { ndr_print_null(ndr); return; }
6616         ndr->depth++;
6617         if (flags & NDR_SET_VALUES) {
6618                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6619         }
6620         if (flags & NDR_IN) {
6621                 ndr_print_struct(ndr, "in", "rap_NetShareEnum");
6622                 ndr->depth++;
6623                 ndr_print_uint16(ndr, "level", r->in.level);
6624                 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
6625                 ndr->depth--;
6626         }
6627         if (flags & NDR_OUT) {
6628                 ndr_print_struct(ndr, "out", "rap_NetShareEnum");
6629                 ndr->depth++;
6630                 ndr_print_rap_status(ndr, "status", r->out.status);
6631                 ndr_print_uint16(ndr, "convert", r->out.convert);
6632                 ndr_print_uint16(ndr, "count", r->out.count);
6633                 ndr_print_uint16(ndr, "available", r->out.available);
6634                 ndr_print_ptr(ndr, "info", r->out.info);
6635                 ndr->depth++;
6636                 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
6637                 ndr_print_rap_share_info(ndr, "info", r->out.info);
6638                 ndr->depth--;
6639                 ndr->depth--;
6640         }
6641         ndr->depth--;
6642 }
6643
6644 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetShareAdd(struct ndr_push *ndr, int flags, const struct rap_NetShareAdd *r)
6645 {
6646         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6647         if (flags & NDR_IN) {
6648                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
6649                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
6650                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level));
6651                 NDR_CHECK(ndr_push_rap_share_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
6652         }
6653         if (flags & NDR_OUT) {
6654                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
6655                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
6656         }
6657         return NDR_ERR_SUCCESS;
6658 }
6659
6660 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetShareAdd(struct ndr_pull *ndr, int flags, struct rap_NetShareAdd *r)
6661 {
6662         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6663         if (flags & NDR_IN) {
6664                 ZERO_STRUCT(r->out);
6665
6666                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
6667                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
6668                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level));
6669                 NDR_CHECK(ndr_pull_rap_share_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
6670         }
6671         if (flags & NDR_OUT) {
6672                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
6673                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
6674         }
6675         return NDR_ERR_SUCCESS;
6676 }
6677
6678 _PUBLIC_ void ndr_print_rap_NetShareAdd(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetShareAdd *r)
6679 {
6680         ndr_print_struct(ndr, name, "rap_NetShareAdd");
6681         if (r == NULL) { ndr_print_null(ndr); return; }
6682         ndr->depth++;
6683         if (flags & NDR_SET_VALUES) {
6684                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6685         }
6686         if (flags & NDR_IN) {
6687                 ndr_print_struct(ndr, "in", "rap_NetShareAdd");
6688                 ndr->depth++;
6689                 ndr_print_uint16(ndr, "level", r->in.level);
6690                 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
6691                 ndr_print_set_switch_value(ndr, &r->in.info, r->in.level);
6692                 ndr_print_rap_share_info(ndr, "info", &r->in.info);
6693                 ndr->depth--;
6694         }
6695         if (flags & NDR_OUT) {
6696                 ndr_print_struct(ndr, "out", "rap_NetShareAdd");
6697                 ndr->depth++;
6698                 ndr_print_rap_status(ndr, "status", r->out.status);
6699                 ndr_print_uint16(ndr, "convert", r->out.convert);
6700                 ndr->depth--;
6701         }
6702         ndr->depth--;
6703 }
6704
6705 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetServerEnum2(struct ndr_push *ndr, int flags, const struct rap_NetServerEnum2 *r)
6706 {
6707         uint32_t cntr_info_0;
6708         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6709         if (flags & NDR_IN) {
6710                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
6711                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
6712                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.servertype));
6713                 {
6714                         uint32_t _flags_save_string = ndr->flags;
6715                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
6716                         if (r->in.domain == NULL) {
6717                                 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6718                         }
6719                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->in.domain));
6720                         ndr->flags = _flags_save_string;
6721                 }
6722         }
6723         if (flags & NDR_OUT) {
6724                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
6725                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
6726                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.count));
6727                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available));
6728                 for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) {
6729                         NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
6730                         NDR_CHECK(ndr_push_rap_server_info(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
6731                 }
6732                 for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) {
6733                         NDR_CHECK(ndr_push_rap_server_info(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
6734                 }
6735         }
6736         return NDR_ERR_SUCCESS;
6737 }
6738
6739 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetServerEnum2(struct ndr_pull *ndr, int flags, struct rap_NetServerEnum2 *r)
6740 {
6741         uint32_t size_info_0 = 0;
6742         uint32_t cntr_info_0;
6743         TALLOC_CTX *_mem_save_info_0;
6744         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6745         if (flags & NDR_IN) {
6746                 ZERO_STRUCT(r->out);
6747
6748                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
6749                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
6750                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.servertype));
6751                 {
6752                         uint32_t _flags_save_string = ndr->flags;
6753                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
6754                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->in.domain));
6755                         ndr->flags = _flags_save_string;
6756                 }
6757         }
6758         if (flags & NDR_OUT) {
6759                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
6760                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
6761                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.count));
6762                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available));
6763                 size_info_0 = r->out.count;
6764                 NDR_PULL_ALLOC_N(ndr, r->out.info, size_info_0);
6765                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
6766                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
6767                 for (cntr_info_0 = 0; cntr_info_0 < size_info_0; cntr_info_0++) {
6768                         NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
6769                         NDR_CHECK(ndr_pull_rap_server_info(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
6770                 }
6771                 for (cntr_info_0 = 0; cntr_info_0 < size_info_0; cntr_info_0++) {
6772                         NDR_CHECK(ndr_pull_rap_server_info(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
6773                 }
6774                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
6775         }
6776         return NDR_ERR_SUCCESS;
6777 }
6778
6779 _PUBLIC_ void ndr_print_rap_NetServerEnum2(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetServerEnum2 *r)
6780 {
6781         uint32_t cntr_info_0;
6782         ndr_print_struct(ndr, name, "rap_NetServerEnum2");
6783         if (r == NULL) { ndr_print_null(ndr); return; }
6784         ndr->depth++;
6785         if (flags & NDR_SET_VALUES) {
6786                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6787         }
6788         if (flags & NDR_IN) {
6789                 ndr_print_struct(ndr, "in", "rap_NetServerEnum2");
6790                 ndr->depth++;
6791                 ndr_print_uint16(ndr, "level", r->in.level);
6792                 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
6793                 ndr_print_uint32(ndr, "servertype", r->in.servertype);
6794                 ndr_print_ptr(ndr, "domain", r->in.domain);
6795                 ndr->depth++;
6796                 ndr_print_string(ndr, "domain", r->in.domain);
6797                 ndr->depth--;
6798                 ndr->depth--;
6799         }
6800         if (flags & NDR_OUT) {
6801                 ndr_print_struct(ndr, "out", "rap_NetServerEnum2");
6802                 ndr->depth++;
6803                 ndr_print_rap_status(ndr, "status", r->out.status);
6804                 ndr_print_uint16(ndr, "convert", r->out.convert);
6805                 ndr_print_uint16(ndr, "count", r->out.count);
6806                 ndr_print_uint16(ndr, "available", r->out.available);
6807                 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->out.count);
6808                 ndr->depth++;
6809                 for (cntr_info_0=0;cntr_info_0<r->out.count;cntr_info_0++) {
6810                         ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level);
6811                         ndr_print_rap_server_info(ndr, "info", &r->out.info[cntr_info_0]);
6812                 }
6813                 ndr->depth--;
6814                 ndr->depth--;
6815         }
6816         ndr->depth--;
6817 }
6818
6819 _PUBLIC_ enum ndr_err_code ndr_push_rap_WserverGetInfo(struct ndr_push *ndr, int flags, const struct rap_WserverGetInfo *r)
6820 {
6821         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6822         if (flags & NDR_IN) {
6823                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
6824                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
6825         }
6826         if (flags & NDR_OUT) {
6827                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
6828                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
6829                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available));
6830                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info, r->in.level));
6831                 NDR_CHECK(ndr_push_rap_server_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info));
6832         }
6833         return NDR_ERR_SUCCESS;
6834 }
6835
6836 _PUBLIC_ enum ndr_err_code ndr_pull_rap_WserverGetInfo(struct ndr_pull *ndr, int flags, struct rap_WserverGetInfo *r)
6837 {
6838         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6839         if (flags & NDR_IN) {
6840                 ZERO_STRUCT(r->out);
6841
6842                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
6843                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
6844         }
6845         if (flags & NDR_OUT) {
6846                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
6847                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
6848                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available));
6849                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info, r->in.level));
6850                 NDR_CHECK(ndr_pull_rap_server_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info));
6851         }
6852         return NDR_ERR_SUCCESS;
6853 }
6854
6855 _PUBLIC_ void ndr_print_rap_WserverGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_WserverGetInfo *r)
6856 {
6857         ndr_print_struct(ndr, name, "rap_WserverGetInfo");
6858         if (r == NULL) { ndr_print_null(ndr); return; }
6859         ndr->depth++;
6860         if (flags & NDR_SET_VALUES) {
6861                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6862         }
6863         if (flags & NDR_IN) {
6864                 ndr_print_struct(ndr, "in", "rap_WserverGetInfo");
6865                 ndr->depth++;
6866                 ndr_print_uint16(ndr, "level", r->in.level);
6867                 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
6868                 ndr->depth--;
6869         }
6870         if (flags & NDR_OUT) {
6871                 ndr_print_struct(ndr, "out", "rap_WserverGetInfo");
6872                 ndr->depth++;
6873                 ndr_print_rap_status(ndr, "status", r->out.status);
6874                 ndr_print_uint16(ndr, "convert", r->out.convert);
6875                 ndr_print_uint16(ndr, "available", r->out.available);
6876                 ndr_print_set_switch_value(ndr, &r->out.info, r->in.level);
6877                 ndr_print_rap_server_info(ndr, "info", &r->out.info);
6878                 ndr->depth--;
6879         }
6880         ndr->depth--;
6881 }
6882
6883 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintQEnum(struct ndr_push *ndr, int flags, const struct rap_NetPrintQEnum *r)
6884 {
6885         uint32_t cntr_info_0;
6886         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6887         if (flags & NDR_IN) {
6888                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
6889                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
6890         }
6891         if (flags & NDR_OUT) {
6892                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
6893                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
6894                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.count));
6895                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available));
6896                 for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) {
6897                         NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
6898                         NDR_CHECK(ndr_push_rap_printq_info(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
6899                 }
6900                 for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) {
6901                         NDR_CHECK(ndr_push_rap_printq_info(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
6902                 }
6903         }
6904         return NDR_ERR_SUCCESS;
6905 }
6906
6907 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintQEnum(struct ndr_pull *ndr, int flags, struct rap_NetPrintQEnum *r)
6908 {
6909         uint32_t size_info_0 = 0;
6910         uint32_t cntr_info_0;
6911         TALLOC_CTX *_mem_save_info_0;
6912         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6913         if (flags & NDR_IN) {
6914                 ZERO_STRUCT(r->out);
6915
6916                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
6917                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
6918         }
6919         if (flags & NDR_OUT) {
6920                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
6921                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
6922                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.count));
6923                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available));
6924                 size_info_0 = r->out.count;
6925                 NDR_PULL_ALLOC_N(ndr, r->out.info, size_info_0);
6926                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
6927                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
6928                 for (cntr_info_0 = 0; cntr_info_0 < size_info_0; cntr_info_0++) {
6929                         NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
6930                         NDR_CHECK(ndr_pull_rap_printq_info(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
6931                 }
6932                 for (cntr_info_0 = 0; cntr_info_0 < size_info_0; cntr_info_0++) {
6933                         NDR_CHECK(ndr_pull_rap_printq_info(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
6934                 }
6935                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
6936         }
6937         return NDR_ERR_SUCCESS;
6938 }
6939
6940 _PUBLIC_ void ndr_print_rap_NetPrintQEnum(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQEnum *r)
6941 {
6942         uint32_t cntr_info_0;
6943         ndr_print_struct(ndr, name, "rap_NetPrintQEnum");
6944         if (r == NULL) { ndr_print_null(ndr); return; }
6945         ndr->depth++;
6946         if (flags & NDR_SET_VALUES) {
6947                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6948         }
6949         if (flags & NDR_IN) {
6950                 ndr_print_struct(ndr, "in", "rap_NetPrintQEnum");
6951                 ndr->depth++;
6952                 ndr_print_uint16(ndr, "level", r->in.level);
6953                 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
6954                 ndr->depth--;
6955         }
6956         if (flags & NDR_OUT) {
6957                 ndr_print_struct(ndr, "out", "rap_NetPrintQEnum");
6958                 ndr->depth++;
6959                 ndr_print_rap_status(ndr, "status", r->out.status);
6960                 ndr_print_uint16(ndr, "convert", r->out.convert);
6961                 ndr_print_uint16(ndr, "count", r->out.count);
6962                 ndr_print_uint16(ndr, "available", r->out.available);
6963                 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->out.count);
6964                 ndr->depth++;
6965                 for (cntr_info_0=0;cntr_info_0<r->out.count;cntr_info_0++) {
6966                         ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level);
6967                         ndr_print_rap_printq_info(ndr, "info", &r->out.info[cntr_info_0]);
6968                 }
6969                 ndr->depth--;
6970                 ndr->depth--;
6971         }
6972         ndr->depth--;
6973 }
6974
6975 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintQGetInfo(struct ndr_push *ndr, int flags, const struct rap_NetPrintQGetInfo *r)
6976 {
6977         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6978         if (flags & NDR_IN) {
6979                 {
6980                         uint32_t _flags_save_string = ndr->flags;
6981                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
6982                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->in.PrintQueueName));
6983                         ndr->flags = _flags_save_string;
6984                 }
6985                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
6986                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
6987         }
6988         if (flags & NDR_OUT) {
6989                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
6990                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
6991                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available));
6992                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info, r->in.level));
6993                 NDR_CHECK(ndr_push_rap_printq_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info));
6994         }
6995         return NDR_ERR_SUCCESS;
6996 }
6997
6998 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintQGetInfo(struct ndr_pull *ndr, int flags, struct rap_NetPrintQGetInfo *r)
6999 {
7000         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7001         if (flags & NDR_IN) {
7002                 ZERO_STRUCT(r->out);
7003
7004                 {
7005                         uint32_t _flags_save_string = ndr->flags;
7006                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
7007                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->in.PrintQueueName));
7008                         ndr->flags = _flags_save_string;
7009                 }
7010                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
7011                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
7012         }
7013         if (flags & NDR_OUT) {
7014                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
7015                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
7016                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available));
7017                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info, r->in.level));
7018                 NDR_CHECK(ndr_pull_rap_printq_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info));
7019         }
7020         return NDR_ERR_SUCCESS;
7021 }
7022
7023 _PUBLIC_ void ndr_print_rap_NetPrintQGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQGetInfo *r)
7024 {
7025         ndr_print_struct(ndr, name, "rap_NetPrintQGetInfo");
7026         if (r == NULL) { ndr_print_null(ndr); return; }
7027         ndr->depth++;
7028         if (flags & NDR_SET_VALUES) {
7029                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7030         }
7031         if (flags & NDR_IN) {
7032                 ndr_print_struct(ndr, "in", "rap_NetPrintQGetInfo");
7033                 ndr->depth++;
7034                 ndr_print_string(ndr, "PrintQueueName", r->in.PrintQueueName);
7035                 ndr_print_uint16(ndr, "level", r->in.level);
7036                 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
7037                 ndr->depth--;
7038         }
7039         if (flags & NDR_OUT) {
7040                 ndr_print_struct(ndr, "out", "rap_NetPrintQGetInfo");
7041                 ndr->depth++;
7042                 ndr_print_rap_status(ndr, "status", r->out.status);
7043                 ndr_print_uint16(ndr, "convert", r->out.convert);
7044                 ndr_print_uint16(ndr, "available", r->out.available);
7045                 ndr_print_set_switch_value(ndr, &r->out.info, r->in.level);
7046                 ndr_print_rap_printq_info(ndr, "info", &r->out.info);
7047                 ndr->depth--;
7048         }
7049         ndr->depth--;
7050 }
7051
7052 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintJobPause(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobPause *r)
7053 {
7054         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7055         if (flags & NDR_IN) {
7056                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.JobID));
7057         }
7058         if (flags & NDR_OUT) {
7059                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
7060                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
7061         }
7062         return NDR_ERR_SUCCESS;
7063 }
7064
7065 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintJobPause(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobPause *r)
7066 {
7067         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7068         if (flags & NDR_IN) {
7069                 ZERO_STRUCT(r->out);
7070
7071                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.JobID));
7072         }
7073         if (flags & NDR_OUT) {
7074                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
7075                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
7076         }
7077         return NDR_ERR_SUCCESS;
7078 }
7079
7080 _PUBLIC_ void ndr_print_rap_NetPrintJobPause(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobPause *r)
7081 {
7082         ndr_print_struct(ndr, name, "rap_NetPrintJobPause");
7083         if (r == NULL) { ndr_print_null(ndr); return; }
7084         ndr->depth++;
7085         if (flags & NDR_SET_VALUES) {
7086                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7087         }
7088         if (flags & NDR_IN) {
7089                 ndr_print_struct(ndr, "in", "rap_NetPrintJobPause");
7090                 ndr->depth++;
7091                 ndr_print_uint16(ndr, "JobID", r->in.JobID);
7092                 ndr->depth--;
7093         }
7094         if (flags & NDR_OUT) {
7095                 ndr_print_struct(ndr, "out", "rap_NetPrintJobPause");
7096                 ndr->depth++;
7097                 ndr_print_rap_status(ndr, "status", r->out.status);
7098                 ndr_print_uint16(ndr, "convert", r->out.convert);
7099                 ndr->depth--;
7100         }
7101         ndr->depth--;
7102 }
7103
7104 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintJobContinue(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobContinue *r)
7105 {
7106         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7107         if (flags & NDR_IN) {
7108                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.JobID));
7109         }
7110         if (flags & NDR_OUT) {
7111                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
7112                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
7113         }
7114         return NDR_ERR_SUCCESS;
7115 }
7116
7117 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintJobContinue(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobContinue *r)
7118 {
7119         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7120         if (flags & NDR_IN) {
7121                 ZERO_STRUCT(r->out);
7122
7123                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.JobID));
7124         }
7125         if (flags & NDR_OUT) {
7126                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
7127                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
7128         }
7129         return NDR_ERR_SUCCESS;
7130 }
7131
7132 _PUBLIC_ void ndr_print_rap_NetPrintJobContinue(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobContinue *r)
7133 {
7134         ndr_print_struct(ndr, name, "rap_NetPrintJobContinue");
7135         if (r == NULL) { ndr_print_null(ndr); return; }
7136         ndr->depth++;
7137         if (flags & NDR_SET_VALUES) {
7138                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7139         }
7140         if (flags & NDR_IN) {
7141                 ndr_print_struct(ndr, "in", "rap_NetPrintJobContinue");
7142                 ndr->depth++;
7143                 ndr_print_uint16(ndr, "JobID", r->in.JobID);
7144                 ndr->depth--;
7145         }
7146         if (flags & NDR_OUT) {
7147                 ndr_print_struct(ndr, "out", "rap_NetPrintJobContinue");
7148                 ndr->depth++;
7149                 ndr_print_rap_status(ndr, "status", r->out.status);
7150                 ndr_print_uint16(ndr, "convert", r->out.convert);
7151                 ndr->depth--;
7152         }
7153         ndr->depth--;
7154 }
7155
7156 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintJobDelete(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobDelete *r)
7157 {
7158         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7159         if (flags & NDR_IN) {
7160                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.JobID));
7161         }
7162         if (flags & NDR_OUT) {
7163                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
7164                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
7165         }
7166         return NDR_ERR_SUCCESS;
7167 }
7168
7169 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintJobDelete(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobDelete *r)
7170 {
7171         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7172         if (flags & NDR_IN) {
7173                 ZERO_STRUCT(r->out);
7174
7175                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.JobID));
7176         }
7177         if (flags & NDR_OUT) {
7178                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
7179                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
7180         }
7181         return NDR_ERR_SUCCESS;
7182 }
7183
7184 _PUBLIC_ void ndr_print_rap_NetPrintJobDelete(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobDelete *r)
7185 {
7186         ndr_print_struct(ndr, name, "rap_NetPrintJobDelete");
7187         if (r == NULL) { ndr_print_null(ndr); return; }
7188         ndr->depth++;
7189         if (flags & NDR_SET_VALUES) {
7190                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7191         }
7192         if (flags & NDR_IN) {
7193                 ndr_print_struct(ndr, "in", "rap_NetPrintJobDelete");
7194                 ndr->depth++;
7195                 ndr_print_uint16(ndr, "JobID", r->in.JobID);
7196                 ndr->depth--;
7197         }
7198         if (flags & NDR_OUT) {
7199                 ndr_print_struct(ndr, "out", "rap_NetPrintJobDelete");
7200                 ndr->depth++;
7201                 ndr_print_rap_status(ndr, "status", r->out.status);
7202                 ndr_print_uint16(ndr, "convert", r->out.convert);
7203                 ndr->depth--;
7204         }
7205         ndr->depth--;
7206 }
7207
7208 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintQueuePause(struct ndr_push *ndr, int flags, const struct rap_NetPrintQueuePause *r)
7209 {
7210         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7211         if (flags & NDR_IN) {
7212                 {
7213                         uint32_t _flags_save_string = ndr->flags;
7214                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
7215                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->in.PrintQueueName));
7216                         ndr->flags = _flags_save_string;
7217                 }
7218         }
7219         if (flags & NDR_OUT) {
7220                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
7221                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
7222         }
7223         return NDR_ERR_SUCCESS;
7224 }
7225
7226 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintQueuePause(struct ndr_pull *ndr, int flags, struct rap_NetPrintQueuePause *r)
7227 {
7228         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7229         if (flags & NDR_IN) {
7230                 ZERO_STRUCT(r->out);
7231
7232                 {
7233                         uint32_t _flags_save_string = ndr->flags;
7234                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
7235                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->in.PrintQueueName));
7236                         ndr->flags = _flags_save_string;
7237                 }
7238         }
7239         if (flags & NDR_OUT) {
7240                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
7241                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
7242         }
7243         return NDR_ERR_SUCCESS;
7244 }
7245
7246 _PUBLIC_ void ndr_print_rap_NetPrintQueuePause(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQueuePause *r)
7247 {
7248         ndr_print_struct(ndr, name, "rap_NetPrintQueuePause");
7249         if (r == NULL) { ndr_print_null(ndr); return; }
7250         ndr->depth++;
7251         if (flags & NDR_SET_VALUES) {
7252                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7253         }
7254         if (flags & NDR_IN) {
7255                 ndr_print_struct(ndr, "in", "rap_NetPrintQueuePause");
7256                 ndr->depth++;
7257                 ndr_print_string(ndr, "PrintQueueName", r->in.PrintQueueName);
7258                 ndr->depth--;
7259         }
7260         if (flags & NDR_OUT) {
7261                 ndr_print_struct(ndr, "out", "rap_NetPrintQueuePause");
7262                 ndr->depth++;
7263                 ndr_print_rap_status(ndr, "status", r->out.status);
7264                 ndr_print_uint16(ndr, "convert", r->out.convert);
7265                 ndr->depth--;
7266         }
7267         ndr->depth--;
7268 }
7269
7270 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintQueueResume(struct ndr_push *ndr, int flags, const struct rap_NetPrintQueueResume *r)
7271 {
7272         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7273         if (flags & NDR_IN) {
7274                 {
7275                         uint32_t _flags_save_string = ndr->flags;
7276                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
7277                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->in.PrintQueueName));
7278                         ndr->flags = _flags_save_string;
7279                 }
7280         }
7281         if (flags & NDR_OUT) {
7282                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
7283                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
7284         }
7285         return NDR_ERR_SUCCESS;
7286 }
7287
7288 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintQueueResume(struct ndr_pull *ndr, int flags, struct rap_NetPrintQueueResume *r)
7289 {
7290         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7291         if (flags & NDR_IN) {
7292                 ZERO_STRUCT(r->out);
7293
7294                 {
7295                         uint32_t _flags_save_string = ndr->flags;
7296                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
7297                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->in.PrintQueueName));
7298                         ndr->flags = _flags_save_string;
7299                 }
7300         }
7301         if (flags & NDR_OUT) {
7302                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
7303                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
7304         }
7305         return NDR_ERR_SUCCESS;
7306 }
7307
7308 _PUBLIC_ void ndr_print_rap_NetPrintQueueResume(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQueueResume *r)
7309 {
7310         ndr_print_struct(ndr, name, "rap_NetPrintQueueResume");
7311         if (r == NULL) { ndr_print_null(ndr); return; }
7312         ndr->depth++;
7313         if (flags & NDR_SET_VALUES) {
7314                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7315         }
7316         if (flags & NDR_IN) {
7317                 ndr_print_struct(ndr, "in", "rap_NetPrintQueueResume");
7318                 ndr->depth++;
7319                 ndr_print_string(ndr, "PrintQueueName", r->in.PrintQueueName);
7320                 ndr->depth--;
7321         }
7322         if (flags & NDR_OUT) {
7323                 ndr_print_struct(ndr, "out", "rap_NetPrintQueueResume");
7324                 ndr->depth++;
7325                 ndr_print_rap_status(ndr, "status", r->out.status);
7326                 ndr_print_uint16(ndr, "convert", r->out.convert);
7327                 ndr->depth--;
7328         }
7329         ndr->depth--;
7330 }
7331
7332 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintQueuePurge(struct ndr_push *ndr, int flags, const struct rap_NetPrintQueuePurge *r)
7333 {
7334         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7335         if (flags & NDR_IN) {
7336                 {
7337                         uint32_t _flags_save_string = ndr->flags;
7338                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
7339                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->in.PrintQueueName));
7340                         ndr->flags = _flags_save_string;
7341                 }
7342         }
7343         if (flags & NDR_OUT) {
7344                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
7345                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
7346         }
7347         return NDR_ERR_SUCCESS;
7348 }
7349
7350 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintQueuePurge(struct ndr_pull *ndr, int flags, struct rap_NetPrintQueuePurge *r)
7351 {
7352         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7353         if (flags & NDR_IN) {
7354                 ZERO_STRUCT(r->out);
7355
7356                 {
7357                         uint32_t _flags_save_string = ndr->flags;
7358                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
7359                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->in.PrintQueueName));
7360                         ndr->flags = _flags_save_string;
7361                 }
7362         }
7363         if (flags & NDR_OUT) {
7364                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
7365                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
7366         }
7367         return NDR_ERR_SUCCESS;
7368 }
7369
7370 _PUBLIC_ void ndr_print_rap_NetPrintQueuePurge(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQueuePurge *r)
7371 {
7372         ndr_print_struct(ndr, name, "rap_NetPrintQueuePurge");
7373         if (r == NULL) { ndr_print_null(ndr); return; }
7374         ndr->depth++;
7375         if (flags & NDR_SET_VALUES) {
7376                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7377         }
7378         if (flags & NDR_IN) {
7379                 ndr_print_struct(ndr, "in", "rap_NetPrintQueuePurge");
7380                 ndr->depth++;
7381                 ndr_print_string(ndr, "PrintQueueName", r->in.PrintQueueName);
7382                 ndr->depth--;
7383         }
7384         if (flags & NDR_OUT) {
7385                 ndr_print_struct(ndr, "out", "rap_NetPrintQueuePurge");
7386                 ndr->depth++;
7387                 ndr_print_rap_status(ndr, "status", r->out.status);
7388                 ndr_print_uint16(ndr, "convert", r->out.convert);
7389                 ndr->depth--;
7390         }
7391         ndr->depth--;
7392 }
7393
7394 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintJobEnum(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobEnum *r)
7395 {
7396         uint32_t cntr_info_0;
7397         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7398         if (flags & NDR_IN) {
7399                 {
7400                         uint32_t _flags_save_string = ndr->flags;
7401                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
7402                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->in.PrintQueueName));
7403                         ndr->flags = _flags_save_string;
7404                 }
7405                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
7406                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
7407         }
7408         if (flags & NDR_OUT) {
7409                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
7410                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
7411                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.count));
7412                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available));
7413                 for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) {
7414                         NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
7415                         NDR_CHECK(ndr_push_rap_printj_info(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
7416                 }
7417                 for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) {
7418                         NDR_CHECK(ndr_push_rap_printj_info(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
7419                 }
7420         }
7421         return NDR_ERR_SUCCESS;
7422 }
7423
7424 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintJobEnum(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobEnum *r)
7425 {
7426         uint32_t size_info_0 = 0;
7427         uint32_t cntr_info_0;
7428         TALLOC_CTX *_mem_save_info_0;
7429         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7430         if (flags & NDR_IN) {
7431                 ZERO_STRUCT(r->out);
7432
7433                 {
7434                         uint32_t _flags_save_string = ndr->flags;
7435                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
7436                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->in.PrintQueueName));
7437                         ndr->flags = _flags_save_string;
7438                 }
7439                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
7440                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
7441         }
7442         if (flags & NDR_OUT) {
7443                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
7444                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
7445                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.count));
7446                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available));
7447                 size_info_0 = r->out.count;
7448                 NDR_PULL_ALLOC_N(ndr, r->out.info, size_info_0);
7449                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7450                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
7451                 for (cntr_info_0 = 0; cntr_info_0 < size_info_0; cntr_info_0++) {
7452                         NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
7453                         NDR_CHECK(ndr_pull_rap_printj_info(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
7454                 }
7455                 for (cntr_info_0 = 0; cntr_info_0 < size_info_0; cntr_info_0++) {
7456                         NDR_CHECK(ndr_pull_rap_printj_info(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
7457                 }
7458                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
7459         }
7460         return NDR_ERR_SUCCESS;
7461 }
7462
7463 _PUBLIC_ void ndr_print_rap_NetPrintJobEnum(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobEnum *r)
7464 {
7465         uint32_t cntr_info_0;
7466         ndr_print_struct(ndr, name, "rap_NetPrintJobEnum");
7467         if (r == NULL) { ndr_print_null(ndr); return; }
7468         ndr->depth++;
7469         if (flags & NDR_SET_VALUES) {
7470                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7471         }
7472         if (flags & NDR_IN) {
7473                 ndr_print_struct(ndr, "in", "rap_NetPrintJobEnum");
7474                 ndr->depth++;
7475                 ndr_print_string(ndr, "PrintQueueName", r->in.PrintQueueName);
7476                 ndr_print_uint16(ndr, "level", r->in.level);
7477                 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
7478                 ndr->depth--;
7479         }
7480         if (flags & NDR_OUT) {
7481                 ndr_print_struct(ndr, "out", "rap_NetPrintJobEnum");
7482                 ndr->depth++;
7483                 ndr_print_rap_status(ndr, "status", r->out.status);
7484                 ndr_print_uint16(ndr, "convert", r->out.convert);
7485                 ndr_print_uint16(ndr, "count", r->out.count);
7486                 ndr_print_uint16(ndr, "available", r->out.available);
7487                 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->out.count);
7488                 ndr->depth++;
7489                 for (cntr_info_0=0;cntr_info_0<r->out.count;cntr_info_0++) {
7490                         ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level);
7491                         ndr_print_rap_printj_info(ndr, "info", &r->out.info[cntr_info_0]);
7492                 }
7493                 ndr->depth--;
7494                 ndr->depth--;
7495         }
7496         ndr->depth--;
7497 }
7498
7499 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintJobGetInfo(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobGetInfo *r)
7500 {
7501         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7502         if (flags & NDR_IN) {
7503                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.JobID));
7504                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
7505                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
7506         }
7507         if (flags & NDR_OUT) {
7508                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
7509                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
7510                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available));
7511                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info, r->in.level));
7512                 NDR_CHECK(ndr_push_rap_printj_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info));
7513         }
7514         return NDR_ERR_SUCCESS;
7515 }
7516
7517 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintJobGetInfo(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobGetInfo *r)
7518 {
7519         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7520         if (flags & NDR_IN) {
7521                 ZERO_STRUCT(r->out);
7522
7523                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.JobID));
7524                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
7525                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
7526         }
7527         if (flags & NDR_OUT) {
7528                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
7529                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
7530                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available));
7531                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info, r->in.level));
7532                 NDR_CHECK(ndr_pull_rap_printj_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info));
7533         }
7534         return NDR_ERR_SUCCESS;
7535 }
7536
7537 _PUBLIC_ void ndr_print_rap_NetPrintJobGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobGetInfo *r)
7538 {
7539         ndr_print_struct(ndr, name, "rap_NetPrintJobGetInfo");
7540         if (r == NULL) { ndr_print_null(ndr); return; }
7541         ndr->depth++;
7542         if (flags & NDR_SET_VALUES) {
7543                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7544         }
7545         if (flags & NDR_IN) {
7546                 ndr_print_struct(ndr, "in", "rap_NetPrintJobGetInfo");
7547                 ndr->depth++;
7548                 ndr_print_uint16(ndr, "JobID", r->in.JobID);
7549                 ndr_print_uint16(ndr, "level", r->in.level);
7550                 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
7551                 ndr->depth--;
7552         }
7553         if (flags & NDR_OUT) {
7554                 ndr_print_struct(ndr, "out", "rap_NetPrintJobGetInfo");
7555                 ndr->depth++;
7556                 ndr_print_rap_status(ndr, "status", r->out.status);
7557                 ndr_print_uint16(ndr, "convert", r->out.convert);
7558                 ndr_print_uint16(ndr, "available", r->out.available);
7559                 ndr_print_set_switch_value(ndr, &r->out.info, r->in.level);
7560                 ndr_print_rap_printj_info(ndr, "info", &r->out.info);
7561                 ndr->depth--;
7562         }
7563         ndr->depth--;
7564 }
7565
7566 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintJobSetInfo(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobSetInfo *r)
7567 {
7568         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7569         if (flags & NDR_IN) {
7570                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.JobID));
7571                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
7572                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
7573                 NDR_CHECK(ndr_push_rap_JobInfoParamNum(ndr, NDR_SCALARS, r->in.ParamNum));
7574                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.Param, r->in.ParamNum));
7575                 NDR_CHECK(ndr_push_rap_JobInfoParam(ndr, NDR_SCALARS, &r->in.Param));
7576         }
7577         if (flags & NDR_OUT) {
7578                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
7579                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
7580         }
7581         return NDR_ERR_SUCCESS;
7582 }
7583
7584 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintJobSetInfo(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobSetInfo *r)
7585 {
7586         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7587         if (flags & NDR_IN) {
7588                 ZERO_STRUCT(r->out);
7589
7590                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.JobID));
7591                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
7592                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
7593                 NDR_CHECK(ndr_pull_rap_JobInfoParamNum(ndr, NDR_SCALARS, &r->in.ParamNum));
7594                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.Param, r->in.ParamNum));
7595                 NDR_CHECK(ndr_pull_rap_JobInfoParam(ndr, NDR_SCALARS, &r->in.Param));
7596         }
7597         if (flags & NDR_OUT) {
7598                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
7599                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
7600         }
7601         return NDR_ERR_SUCCESS;
7602 }
7603
7604 _PUBLIC_ void ndr_print_rap_NetPrintJobSetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobSetInfo *r)
7605 {
7606         ndr_print_struct(ndr, name, "rap_NetPrintJobSetInfo");
7607         if (r == NULL) { ndr_print_null(ndr); return; }
7608         ndr->depth++;
7609         if (flags & NDR_SET_VALUES) {
7610                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7611         }
7612         if (flags & NDR_IN) {
7613                 ndr_print_struct(ndr, "in", "rap_NetPrintJobSetInfo");
7614                 ndr->depth++;
7615                 ndr_print_uint16(ndr, "JobID", r->in.JobID);
7616                 ndr_print_uint16(ndr, "level", r->in.level);
7617                 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
7618                 ndr_print_rap_JobInfoParamNum(ndr, "ParamNum", r->in.ParamNum);
7619                 ndr_print_set_switch_value(ndr, &r->in.Param, r->in.ParamNum);
7620                 ndr_print_rap_JobInfoParam(ndr, "Param", &r->in.Param);
7621                 ndr->depth--;
7622         }
7623         if (flags & NDR_OUT) {
7624                 ndr_print_struct(ndr, "out", "rap_NetPrintJobSetInfo");
7625                 ndr->depth++;
7626                 ndr_print_rap_status(ndr, "status", r->out.status);
7627                 ndr_print_uint16(ndr, "convert", r->out.convert);
7628                 ndr->depth--;
7629         }
7630         ndr->depth--;
7631 }
7632
7633 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintDestEnum(struct ndr_push *ndr, int flags, const struct rap_NetPrintDestEnum *r)
7634 {
7635         uint32_t cntr_info_0;
7636         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7637         if (flags & NDR_IN) {
7638                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
7639                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
7640         }
7641         if (flags & NDR_OUT) {
7642                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
7643                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
7644                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.count));
7645                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available));
7646                 for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) {
7647                         NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
7648                         NDR_CHECK(ndr_push_rap_printdest_info(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
7649                 }
7650                 for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) {
7651                         NDR_CHECK(ndr_push_rap_printdest_info(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
7652                 }
7653         }
7654         return NDR_ERR_SUCCESS;
7655 }
7656
7657 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintDestEnum(struct ndr_pull *ndr, int flags, struct rap_NetPrintDestEnum *r)
7658 {
7659         uint32_t size_info_0 = 0;
7660         uint32_t cntr_info_0;
7661         TALLOC_CTX *_mem_save_info_0;
7662         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7663         if (flags & NDR_IN) {
7664                 ZERO_STRUCT(r->out);
7665
7666                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
7667                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
7668         }
7669         if (flags & NDR_OUT) {
7670                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
7671                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
7672                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.count));
7673                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available));
7674                 size_info_0 = r->out.count;
7675                 NDR_PULL_ALLOC_N(ndr, r->out.info, size_info_0);
7676                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7677                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
7678                 for (cntr_info_0 = 0; cntr_info_0 < size_info_0; cntr_info_0++) {
7679                         NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
7680                         NDR_CHECK(ndr_pull_rap_printdest_info(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
7681                 }
7682                 for (cntr_info_0 = 0; cntr_info_0 < size_info_0; cntr_info_0++) {
7683                         NDR_CHECK(ndr_pull_rap_printdest_info(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
7684                 }
7685                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
7686         }
7687         return NDR_ERR_SUCCESS;
7688 }
7689
7690 _PUBLIC_ void ndr_print_rap_NetPrintDestEnum(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintDestEnum *r)
7691 {
7692         uint32_t cntr_info_0;
7693         ndr_print_struct(ndr, name, "rap_NetPrintDestEnum");
7694         if (r == NULL) { ndr_print_null(ndr); return; }
7695         ndr->depth++;
7696         if (flags & NDR_SET_VALUES) {
7697                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7698         }
7699         if (flags & NDR_IN) {
7700                 ndr_print_struct(ndr, "in", "rap_NetPrintDestEnum");
7701                 ndr->depth++;
7702                 ndr_print_uint16(ndr, "level", r->in.level);
7703                 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
7704                 ndr->depth--;
7705         }
7706         if (flags & NDR_OUT) {
7707                 ndr_print_struct(ndr, "out", "rap_NetPrintDestEnum");
7708                 ndr->depth++;
7709                 ndr_print_rap_status(ndr, "status", r->out.status);
7710                 ndr_print_uint16(ndr, "convert", r->out.convert);
7711                 ndr_print_uint16(ndr, "count", r->out.count);
7712                 ndr_print_uint16(ndr, "available", r->out.available);
7713                 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->out.count);
7714                 ndr->depth++;
7715                 for (cntr_info_0=0;cntr_info_0<r->out.count;cntr_info_0++) {
7716                         ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level);
7717                         ndr_print_rap_printdest_info(ndr, "info", &r->out.info[cntr_info_0]);
7718                 }
7719                 ndr->depth--;
7720                 ndr->depth--;
7721         }
7722         ndr->depth--;
7723 }
7724
7725 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintDestGetInfo(struct ndr_push *ndr, int flags, const struct rap_NetPrintDestGetInfo *r)
7726 {
7727         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7728         if (flags & NDR_IN) {
7729                 {
7730                         uint32_t _flags_save_string = ndr->flags;
7731                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
7732                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->in.PrintDestName));
7733                         ndr->flags = _flags_save_string;
7734                 }
7735                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
7736                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
7737         }
7738         if (flags & NDR_OUT) {
7739                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
7740                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
7741                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available));
7742                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info, r->in.level));
7743                 NDR_CHECK(ndr_push_rap_printdest_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info));
7744         }
7745         return NDR_ERR_SUCCESS;
7746 }
7747
7748 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintDestGetInfo(struct ndr_pull *ndr, int flags, struct rap_NetPrintDestGetInfo *r)
7749 {
7750         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7751         if (flags & NDR_IN) {
7752                 ZERO_STRUCT(r->out);
7753
7754                 {
7755                         uint32_t _flags_save_string = ndr->flags;
7756                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
7757                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->in.PrintDestName));
7758                         ndr->flags = _flags_save_string;
7759                 }
7760                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
7761                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
7762         }
7763         if (flags & NDR_OUT) {
7764                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
7765                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
7766                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available));
7767                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info, r->in.level));
7768                 NDR_CHECK(ndr_pull_rap_printdest_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info));
7769         }
7770         return NDR_ERR_SUCCESS;
7771 }
7772
7773 _PUBLIC_ void ndr_print_rap_NetPrintDestGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintDestGetInfo *r)
7774 {
7775         ndr_print_struct(ndr, name, "rap_NetPrintDestGetInfo");
7776         if (r == NULL) { ndr_print_null(ndr); return; }
7777         ndr->depth++;
7778         if (flags & NDR_SET_VALUES) {
7779                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7780         }
7781         if (flags & NDR_IN) {
7782                 ndr_print_struct(ndr, "in", "rap_NetPrintDestGetInfo");
7783                 ndr->depth++;
7784                 ndr_print_string(ndr, "PrintDestName", r->in.PrintDestName);
7785                 ndr_print_uint16(ndr, "level", r->in.level);
7786                 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
7787                 ndr->depth--;
7788         }
7789         if (flags & NDR_OUT) {
7790                 ndr_print_struct(ndr, "out", "rap_NetPrintDestGetInfo");
7791                 ndr->depth++;
7792                 ndr_print_rap_status(ndr, "status", r->out.status);
7793                 ndr_print_uint16(ndr, "convert", r->out.convert);
7794                 ndr_print_uint16(ndr, "available", r->out.available);
7795                 ndr_print_set_switch_value(ndr, &r->out.info, r->in.level);
7796                 ndr_print_rap_printdest_info(ndr, "info", &r->out.info);
7797                 ndr->depth--;
7798         }
7799         ndr->depth--;
7800 }
7801
7802 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetUserPasswordSet2(struct ndr_push *ndr, int flags, const struct rap_NetUserPasswordSet2 *r)
7803 {
7804         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7805         if (flags & NDR_IN) {
7806                 {
7807                         uint32_t _flags_save_string = ndr->flags;
7808                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
7809                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->in.UserName));
7810                         ndr->flags = _flags_save_string;
7811                 }
7812                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.OldPassword, 16));
7813                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.NewPassword, 16));
7814                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.EncryptedPassword));
7815                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.RealPasswordLength));
7816         }
7817         if (flags & NDR_OUT) {
7818                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
7819                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
7820         }
7821         return NDR_ERR_SUCCESS;
7822 }
7823
7824 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetUserPasswordSet2(struct ndr_pull *ndr, int flags, struct rap_NetUserPasswordSet2 *r)
7825 {
7826         uint32_t size_OldPassword_0 = 0;
7827         uint32_t size_NewPassword_0 = 0;
7828         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7829         if (flags & NDR_IN) {
7830                 ZERO_STRUCT(r->out);
7831
7832                 {
7833                         uint32_t _flags_save_string = ndr->flags;
7834                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
7835                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->in.UserName));
7836                         ndr->flags = _flags_save_string;
7837                 }
7838                 size_OldPassword_0 = 16;
7839                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.OldPassword, size_OldPassword_0));
7840                 size_NewPassword_0 = 16;
7841                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.NewPassword, size_NewPassword_0));
7842                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.EncryptedPassword));
7843                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.RealPasswordLength));
7844         }
7845         if (flags & NDR_OUT) {
7846                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
7847                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
7848         }
7849         return NDR_ERR_SUCCESS;
7850 }
7851
7852 _PUBLIC_ void ndr_print_rap_NetUserPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetUserPasswordSet2 *r)
7853 {
7854         ndr_print_struct(ndr, name, "rap_NetUserPasswordSet2");
7855         if (r == NULL) { ndr_print_null(ndr); return; }
7856         ndr->depth++;
7857         if (flags & NDR_SET_VALUES) {
7858                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7859         }
7860         if (flags & NDR_IN) {
7861                 ndr_print_struct(ndr, "in", "rap_NetUserPasswordSet2");
7862                 ndr->depth++;
7863                 ndr_print_string(ndr, "UserName", r->in.UserName);
7864                 ndr_print_array_uint8(ndr, "OldPassword", r->in.OldPassword, 16);
7865                 ndr_print_array_uint8(ndr, "NewPassword", r->in.NewPassword, 16);
7866                 ndr_print_uint16(ndr, "EncryptedPassword", r->in.EncryptedPassword);
7867                 ndr_print_uint16(ndr, "RealPasswordLength", r->in.RealPasswordLength);
7868                 ndr->depth--;
7869         }
7870         if (flags & NDR_OUT) {
7871                 ndr_print_struct(ndr, "out", "rap_NetUserPasswordSet2");
7872                 ndr->depth++;
7873                 ndr_print_rap_status(ndr, "status", r->out.status);
7874                 ndr_print_uint16(ndr, "convert", r->out.convert);
7875                 ndr->depth--;
7876         }
7877         ndr->depth--;
7878 }
7879
7880 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetOEMChangePassword(struct ndr_push *ndr, int flags, const struct rap_NetOEMChangePassword *r)
7881 {
7882         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7883         if (flags & NDR_IN) {
7884                 {
7885                         uint32_t _flags_save_string = ndr->flags;
7886                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
7887                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->in.UserName));
7888                         ndr->flags = _flags_save_string;
7889                 }
7890                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.crypt_password, 516));
7891                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.password_hash, 16));
7892         }
7893         if (flags & NDR_OUT) {
7894                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
7895                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
7896         }
7897         return NDR_ERR_SUCCESS;
7898 }
7899
7900 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetOEMChangePassword(struct ndr_pull *ndr, int flags, struct rap_NetOEMChangePassword *r)
7901 {
7902         uint32_t size_crypt_password_0 = 0;
7903         uint32_t size_password_hash_0 = 0;
7904         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7905         if (flags & NDR_IN) {
7906                 ZERO_STRUCT(r->out);
7907
7908                 {
7909                         uint32_t _flags_save_string = ndr->flags;
7910                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
7911                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->in.UserName));
7912                         ndr->flags = _flags_save_string;
7913                 }
7914                 size_crypt_password_0 = 516;
7915                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.crypt_password, size_crypt_password_0));
7916                 size_password_hash_0 = 16;
7917                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.password_hash, size_password_hash_0));
7918         }
7919         if (flags & NDR_OUT) {
7920                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
7921                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
7922         }
7923         return NDR_ERR_SUCCESS;
7924 }
7925
7926 _PUBLIC_ void ndr_print_rap_NetOEMChangePassword(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetOEMChangePassword *r)
7927 {
7928         ndr_print_struct(ndr, name, "rap_NetOEMChangePassword");
7929         if (r == NULL) { ndr_print_null(ndr); return; }
7930         ndr->depth++;
7931         if (flags & NDR_SET_VALUES) {
7932                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7933         }
7934         if (flags & NDR_IN) {
7935                 ndr_print_struct(ndr, "in", "rap_NetOEMChangePassword");
7936                 ndr->depth++;
7937                 ndr_print_string(ndr, "UserName", r->in.UserName);
7938                 ndr_print_array_uint8(ndr, "crypt_password", r->in.crypt_password, 516);
7939                 ndr_print_array_uint8(ndr, "password_hash", r->in.password_hash, 16);
7940                 ndr->depth--;
7941         }
7942         if (flags & NDR_OUT) {
7943                 ndr_print_struct(ndr, "out", "rap_NetOEMChangePassword");
7944                 ndr->depth++;
7945                 ndr_print_rap_status(ndr, "status", r->out.status);
7946                 ndr_print_uint16(ndr, "convert", r->out.convert);
7947                 ndr->depth--;
7948         }
7949         ndr->depth--;
7950 }
7951
7952 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetUserGetInfo(struct ndr_push *ndr, int flags, const struct rap_NetUserGetInfo *r)
7953 {
7954         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7955         if (flags & NDR_IN) {
7956                 {
7957                         uint32_t _flags_save_string = ndr->flags;
7958                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
7959                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->in.UserName));
7960                         ndr->flags = _flags_save_string;
7961                 }
7962                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
7963                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
7964         }
7965         if (flags & NDR_OUT) {
7966                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
7967                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
7968                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available));
7969                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info, r->in.level));
7970                 NDR_CHECK(ndr_push_rap_netuser_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info));
7971         }
7972         return NDR_ERR_SUCCESS;
7973 }
7974
7975 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetUserGetInfo(struct ndr_pull *ndr, int flags, struct rap_NetUserGetInfo *r)
7976 {
7977         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7978         if (flags & NDR_IN) {
7979                 ZERO_STRUCT(r->out);
7980
7981                 {
7982                         uint32_t _flags_save_string = ndr->flags;
7983                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
7984                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->in.UserName));
7985                         ndr->flags = _flags_save_string;
7986                 }
7987                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
7988                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
7989         }
7990         if (flags & NDR_OUT) {
7991                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
7992                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
7993                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available));
7994                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info, r->in.level));
7995                 NDR_CHECK(ndr_pull_rap_netuser_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info));
7996         }
7997         return NDR_ERR_SUCCESS;
7998 }
7999
8000 _PUBLIC_ void ndr_print_rap_NetUserGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetUserGetInfo *r)
8001 {
8002         ndr_print_struct(ndr, name, "rap_NetUserGetInfo");
8003         if (r == NULL) { ndr_print_null(ndr); return; }
8004         ndr->depth++;
8005         if (flags & NDR_SET_VALUES) {
8006                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8007         }
8008         if (flags & NDR_IN) {
8009                 ndr_print_struct(ndr, "in", "rap_NetUserGetInfo");
8010                 ndr->depth++;
8011                 ndr_print_string(ndr, "UserName", r->in.UserName);
8012                 ndr_print_uint16(ndr, "level", r->in.level);
8013                 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
8014                 ndr->depth--;
8015         }
8016         if (flags & NDR_OUT) {
8017                 ndr_print_struct(ndr, "out", "rap_NetUserGetInfo");
8018                 ndr->depth++;
8019                 ndr_print_rap_status(ndr, "status", r->out.status);
8020                 ndr_print_uint16(ndr, "convert", r->out.convert);
8021                 ndr_print_uint16(ndr, "available", r->out.available);
8022                 ndr_print_set_switch_value(ndr, &r->out.info, r->in.level);
8023                 ndr_print_rap_netuser_info(ndr, "info", &r->out.info);
8024                 ndr->depth--;
8025         }
8026         ndr->depth--;
8027 }
8028
8029 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetSessionEnum(struct ndr_push *ndr, int flags, const struct rap_NetSessionEnum *r)
8030 {
8031         uint32_t cntr_info_0;
8032         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8033         if (flags & NDR_IN) {
8034                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
8035                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
8036         }
8037         if (flags & NDR_OUT) {
8038                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
8039                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
8040                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.count));
8041                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available));
8042                 for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) {
8043                         NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
8044                         NDR_CHECK(ndr_push_rap_session_info(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
8045                 }
8046                 for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) {
8047                         NDR_CHECK(ndr_push_rap_session_info(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
8048                 }
8049         }
8050         return NDR_ERR_SUCCESS;
8051 }
8052
8053 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetSessionEnum(struct ndr_pull *ndr, int flags, struct rap_NetSessionEnum *r)
8054 {
8055         uint32_t size_info_0 = 0;
8056         uint32_t cntr_info_0;
8057         TALLOC_CTX *_mem_save_info_0;
8058         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8059         if (flags & NDR_IN) {
8060                 ZERO_STRUCT(r->out);
8061
8062                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
8063                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
8064         }
8065         if (flags & NDR_OUT) {
8066                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
8067                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
8068                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.count));
8069                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available));
8070                 size_info_0 = r->out.count;
8071                 NDR_PULL_ALLOC_N(ndr, r->out.info, size_info_0);
8072                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8073                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
8074                 for (cntr_info_0 = 0; cntr_info_0 < size_info_0; cntr_info_0++) {
8075                         NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
8076                         NDR_CHECK(ndr_pull_rap_session_info(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
8077                 }
8078                 for (cntr_info_0 = 0; cntr_info_0 < size_info_0; cntr_info_0++) {
8079                         NDR_CHECK(ndr_pull_rap_session_info(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
8080                 }
8081                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
8082         }
8083         return NDR_ERR_SUCCESS;
8084 }
8085
8086 _PUBLIC_ void ndr_print_rap_NetSessionEnum(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetSessionEnum *r)
8087 {
8088         uint32_t cntr_info_0;
8089         ndr_print_struct(ndr, name, "rap_NetSessionEnum");
8090         if (r == NULL) { ndr_print_null(ndr); return; }
8091         ndr->depth++;
8092         if (flags & NDR_SET_VALUES) {
8093                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8094         }
8095         if (flags & NDR_IN) {
8096                 ndr_print_struct(ndr, "in", "rap_NetSessionEnum");
8097                 ndr->depth++;
8098                 ndr_print_uint16(ndr, "level", r->in.level);
8099                 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
8100                 ndr->depth--;
8101         }
8102         if (flags & NDR_OUT) {
8103                 ndr_print_struct(ndr, "out", "rap_NetSessionEnum");
8104                 ndr->depth++;
8105                 ndr_print_rap_status(ndr, "status", r->out.status);
8106                 ndr_print_uint16(ndr, "convert", r->out.convert);
8107                 ndr_print_uint16(ndr, "count", r->out.count);
8108                 ndr_print_uint16(ndr, "available", r->out.available);
8109                 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->out.count);
8110                 ndr->depth++;
8111                 for (cntr_info_0=0;cntr_info_0<r->out.count;cntr_info_0++) {
8112                         ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level);
8113                         ndr_print_rap_session_info(ndr, "info", &r->out.info[cntr_info_0]);
8114                 }
8115                 ndr->depth--;
8116                 ndr->depth--;
8117         }
8118         ndr->depth--;
8119 }
8120
8121 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetSessionGetInfo(struct ndr_push *ndr, int flags, const struct rap_NetSessionGetInfo *r)
8122 {
8123         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8124         if (flags & NDR_IN) {
8125                 {
8126                         uint32_t _flags_save_string = ndr->flags;
8127                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
8128                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->in.SessionName));
8129                         ndr->flags = _flags_save_string;
8130                 }
8131                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
8132                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
8133         }
8134         if (flags & NDR_OUT) {
8135                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
8136                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
8137                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available));
8138                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info, r->in.level));
8139                 NDR_CHECK(ndr_push_rap_session_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info));
8140         }
8141         return NDR_ERR_SUCCESS;
8142 }
8143
8144 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetSessionGetInfo(struct ndr_pull *ndr, int flags, struct rap_NetSessionGetInfo *r)
8145 {
8146         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8147         if (flags & NDR_IN) {
8148                 ZERO_STRUCT(r->out);
8149
8150                 {
8151                         uint32_t _flags_save_string = ndr->flags;
8152                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
8153                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->in.SessionName));
8154                         ndr->flags = _flags_save_string;
8155                 }
8156                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
8157                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
8158         }
8159         if (flags & NDR_OUT) {
8160                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
8161                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
8162                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available));
8163                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info, r->in.level));
8164                 NDR_CHECK(ndr_pull_rap_session_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info));
8165         }
8166         return NDR_ERR_SUCCESS;
8167 }
8168
8169 _PUBLIC_ void ndr_print_rap_NetSessionGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetSessionGetInfo *r)
8170 {
8171         ndr_print_struct(ndr, name, "rap_NetSessionGetInfo");
8172         if (r == NULL) { ndr_print_null(ndr); return; }
8173         ndr->depth++;
8174         if (flags & NDR_SET_VALUES) {
8175                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8176         }
8177         if (flags & NDR_IN) {
8178                 ndr_print_struct(ndr, "in", "rap_NetSessionGetInfo");
8179                 ndr->depth++;
8180                 ndr_print_string(ndr, "SessionName", r->in.SessionName);
8181                 ndr_print_uint16(ndr, "level", r->in.level);
8182                 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
8183                 ndr->depth--;
8184         }
8185         if (flags & NDR_OUT) {
8186                 ndr_print_struct(ndr, "out", "rap_NetSessionGetInfo");
8187                 ndr->depth++;
8188                 ndr_print_rap_status(ndr, "status", r->out.status);
8189                 ndr_print_uint16(ndr, "convert", r->out.convert);
8190                 ndr_print_uint16(ndr, "available", r->out.available);
8191                 ndr_print_set_switch_value(ndr, &r->out.info, r->in.level);
8192                 ndr_print_rap_session_info(ndr, "info", &r->out.info);
8193                 ndr->depth--;
8194         }
8195         ndr->depth--;
8196 }
8197
8198 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetUserAdd(struct ndr_push *ndr, int flags, const struct rap_NetUserAdd *r)
8199 {
8200         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8201         if (flags & NDR_IN) {
8202                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
8203                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
8204                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.pwdlength));
8205                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.unknown));
8206                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level));
8207                 NDR_CHECK(ndr_push_rap_netuser_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
8208         }
8209         if (flags & NDR_OUT) {
8210                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
8211                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
8212         }
8213         return NDR_ERR_SUCCESS;
8214 }
8215
8216 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetUserAdd(struct ndr_pull *ndr, int flags, struct rap_NetUserAdd *r)
8217 {
8218         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8219         if (flags & NDR_IN) {
8220                 ZERO_STRUCT(r->out);
8221
8222                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
8223                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
8224                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.pwdlength));
8225                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.unknown));
8226                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level));
8227                 NDR_CHECK(ndr_pull_rap_netuser_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
8228         }
8229         if (flags & NDR_OUT) {
8230                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
8231                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
8232         }
8233         return NDR_ERR_SUCCESS;
8234 }
8235
8236 _PUBLIC_ void ndr_print_rap_NetUserAdd(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetUserAdd *r)
8237 {
8238         ndr_print_struct(ndr, name, "rap_NetUserAdd");
8239         if (r == NULL) { ndr_print_null(ndr); return; }
8240         ndr->depth++;
8241         if (flags & NDR_SET_VALUES) {
8242                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8243         }
8244         if (flags & NDR_IN) {
8245                 ndr_print_struct(ndr, "in", "rap_NetUserAdd");
8246                 ndr->depth++;
8247                 ndr_print_uint16(ndr, "level", r->in.level);
8248                 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
8249                 ndr_print_uint16(ndr, "pwdlength", r->in.pwdlength);
8250                 ndr_print_uint16(ndr, "unknown", r->in.unknown);
8251                 ndr_print_set_switch_value(ndr, &r->in.info, r->in.level);
8252                 ndr_print_rap_netuser_info(ndr, "info", &r->in.info);
8253                 ndr->depth--;
8254         }
8255         if (flags & NDR_OUT) {
8256                 ndr_print_struct(ndr, "out", "rap_NetUserAdd");
8257                 ndr->depth++;
8258                 ndr_print_rap_status(ndr, "status", r->out.status);
8259                 ndr_print_uint16(ndr, "convert", r->out.convert);
8260                 ndr->depth--;
8261         }
8262         ndr->depth--;
8263 }
8264
8265 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetUserDelete(struct ndr_push *ndr, int flags, const struct rap_NetUserDelete *r)
8266 {
8267         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8268         if (flags & NDR_IN) {
8269                 {
8270                         uint32_t _flags_save_string = ndr->flags;
8271                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
8272                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->in.UserName));
8273                         ndr->flags = _flags_save_string;
8274                 }
8275         }
8276         if (flags & NDR_OUT) {
8277                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
8278                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
8279         }
8280         return NDR_ERR_SUCCESS;
8281 }
8282
8283 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetUserDelete(struct ndr_pull *ndr, int flags, struct rap_NetUserDelete *r)
8284 {
8285         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8286         if (flags & NDR_IN) {
8287                 ZERO_STRUCT(r->out);
8288
8289                 {
8290                         uint32_t _flags_save_string = ndr->flags;
8291                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
8292                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->in.UserName));
8293                         ndr->flags = _flags_save_string;
8294                 }
8295         }
8296         if (flags & NDR_OUT) {
8297                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
8298                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
8299         }
8300         return NDR_ERR_SUCCESS;
8301 }
8302
8303 _PUBLIC_ void ndr_print_rap_NetUserDelete(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetUserDelete *r)
8304 {
8305         ndr_print_struct(ndr, name, "rap_NetUserDelete");
8306         if (r == NULL) { ndr_print_null(ndr); return; }
8307         ndr->depth++;
8308         if (flags & NDR_SET_VALUES) {
8309                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8310         }
8311         if (flags & NDR_IN) {
8312                 ndr_print_struct(ndr, "in", "rap_NetUserDelete");
8313                 ndr->depth++;
8314                 ndr_print_string(ndr, "UserName", r->in.UserName);
8315                 ndr->depth--;
8316         }
8317         if (flags & NDR_OUT) {
8318                 ndr_print_struct(ndr, "out", "rap_NetUserDelete");
8319                 ndr->depth++;
8320                 ndr_print_rap_status(ndr, "status", r->out.status);
8321                 ndr_print_uint16(ndr, "convert", r->out.convert);
8322                 ndr->depth--;
8323         }
8324         ndr->depth--;
8325 }
8326
8327 _PUBLIC_ enum ndr_err_code ndr_push_rap_NetRemoteTOD(struct ndr_push *ndr, int flags, const struct rap_NetRemoteTOD *r)
8328 {
8329         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8330         if (flags & NDR_IN) {
8331                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize));
8332         }
8333         if (flags & NDR_OUT) {
8334                 NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status));
8335                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert));
8336                 NDR_CHECK(ndr_push_rap_TimeOfDayInfo(ndr, NDR_SCALARS, &r->out.tod));
8337         }
8338         return NDR_ERR_SUCCESS;
8339 }
8340
8341 _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetRemoteTOD(struct ndr_pull *ndr, int flags, struct rap_NetRemoteTOD *r)
8342 {
8343         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8344         if (flags & NDR_IN) {
8345                 ZERO_STRUCT(r->out);
8346
8347                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize));
8348         }
8349         if (flags & NDR_OUT) {
8350                 NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status));
8351                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert));
8352                 NDR_CHECK(ndr_pull_rap_TimeOfDayInfo(ndr, NDR_SCALARS, &r->out.tod));
8353         }
8354         return NDR_ERR_SUCCESS;
8355 }
8356
8357 _PUBLIC_ void ndr_print_rap_NetRemoteTOD(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetRemoteTOD *r)
8358 {
8359         ndr_print_struct(ndr, name, "rap_NetRemoteTOD");
8360         if (r == NULL) { ndr_print_null(ndr); return; }
8361         ndr->depth++;
8362         if (flags & NDR_SET_VALUES) {
8363                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8364         }
8365         if (flags & NDR_IN) {
8366                 ndr_print_struct(ndr, "in", "rap_NetRemoteTOD");
8367                 ndr->depth++;
8368                 ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
8369                 ndr->depth--;
8370         }
8371         if (flags & NDR_OUT) {
8372                 ndr_print_struct(ndr, "out", "rap_NetRemoteTOD");
8373                 ndr->depth++;
8374                 ndr_print_rap_status(ndr, "status", r->out.status);
8375                 ndr_print_uint16(ndr, "convert", r->out.convert);
8376                 ndr_print_rap_TimeOfDayInfo(ndr, "tod", &r->out.tod);
8377                 ndr->depth--;
8378         }
8379         ndr->depth--;
8380 }
8381