1
/* parser auto-generated by pidl */
4
#include "../librpc/gen_ndr/ndr_spoolss.h"
6
#include "librpc/gen_ndr/ndr_misc.h"
7
#include "librpc/gen_ndr/ndr_security.h"
8
#include "librpc/gen_ndr/ndr_winreg.h"
9
static enum ndr_err_code ndr_push_spoolss_Time(struct ndr_push *ndr, int ndr_flags, const struct spoolss_Time *r)
11
if (ndr_flags & NDR_SCALARS) {
12
NDR_CHECK(ndr_push_align(ndr, 2));
13
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->year));
14
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->month));
15
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->day_of_week));
16
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->day));
17
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->hour));
18
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->minute));
19
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->second));
20
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->millisecond));
21
NDR_CHECK(ndr_push_trailer_align(ndr, 2));
23
if (ndr_flags & NDR_BUFFERS) {
25
return NDR_ERR_SUCCESS;
28
static enum ndr_err_code ndr_pull_spoolss_Time(struct ndr_pull *ndr, int ndr_flags, struct spoolss_Time *r)
30
if (ndr_flags & NDR_SCALARS) {
31
NDR_CHECK(ndr_pull_align(ndr, 2));
32
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->year));
33
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->month));
34
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->day_of_week));
35
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->day));
36
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->hour));
37
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->minute));
38
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->second));
39
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->millisecond));
40
NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
42
if (ndr_flags & NDR_BUFFERS) {
44
return NDR_ERR_SUCCESS;
47
_PUBLIC_ void ndr_print_spoolss_Time(struct ndr_print *ndr, const char *name, const struct spoolss_Time *r)
49
ndr_print_struct(ndr, name, "spoolss_Time");
51
ndr_print_uint16(ndr, "year", r->year);
52
ndr_print_uint16(ndr, "month", r->month);
53
ndr_print_uint16(ndr, "day_of_week", r->day_of_week);
54
ndr_print_uint16(ndr, "day", r->day);
55
ndr_print_uint16(ndr, "hour", r->hour);
56
ndr_print_uint16(ndr, "minute", r->minute);
57
ndr_print_uint16(ndr, "second", r->second);
58
ndr_print_uint16(ndr, "millisecond", r->millisecond);
62
static size_t ndr_size_spoolss_Time(const struct spoolss_Time *r, struct smb_iconv_convenience *ic, int flags)
64
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_Time, ic);
67
static enum ndr_err_code ndr_push_spoolss_TimeCtr(struct ndr_push *ndr, int ndr_flags, const struct spoolss_TimeCtr *r)
69
if (ndr_flags & NDR_SCALARS) {
70
NDR_CHECK(ndr_push_align(ndr, 5));
71
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_spoolss_Time(r->time, ndr->iconv_convenience, ndr->flags)));
72
NDR_CHECK(ndr_push_unique_ptr(ndr, r->time));
73
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
75
if (ndr_flags & NDR_BUFFERS) {
77
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, r->time));
80
return NDR_ERR_SUCCESS;
83
static enum ndr_err_code ndr_pull_spoolss_TimeCtr(struct ndr_pull *ndr, int ndr_flags, struct spoolss_TimeCtr *r)
86
TALLOC_CTX *_mem_save_time_0;
87
if (ndr_flags & NDR_SCALARS) {
88
NDR_CHECK(ndr_pull_align(ndr, 5));
89
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
90
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_time));
92
NDR_PULL_ALLOC(ndr, r->time);
96
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
98
if (ndr_flags & NDR_BUFFERS) {
100
_mem_save_time_0 = NDR_PULL_GET_MEM_CTX(ndr);
101
NDR_PULL_SET_MEM_CTX(ndr, r->time, 0);
102
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, r->time));
103
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_time_0, 0);
106
return NDR_ERR_SUCCESS;
109
_PUBLIC_ void ndr_print_spoolss_TimeCtr(struct ndr_print *ndr, const char *name, const struct spoolss_TimeCtr *r)
111
ndr_print_struct(ndr, name, "spoolss_TimeCtr");
113
ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_spoolss_Time(r->time, ndr->iconv_convenience, ndr->flags):r->size);
114
ndr_print_ptr(ndr, "time", r->time);
117
ndr_print_spoolss_Time(ndr, "time", r->time);
123
static enum ndr_err_code ndr_push_spoolss_ProcessorArchitecture(struct ndr_push *ndr, int ndr_flags, enum spoolss_ProcessorArchitecture r)
125
NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
126
return NDR_ERR_SUCCESS;
129
static enum ndr_err_code ndr_pull_spoolss_ProcessorArchitecture(struct ndr_pull *ndr, int ndr_flags, enum spoolss_ProcessorArchitecture *r)
132
NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
134
return NDR_ERR_SUCCESS;
137
_PUBLIC_ void ndr_print_spoolss_ProcessorArchitecture(struct ndr_print *ndr, const char *name, enum spoolss_ProcessorArchitecture r)
139
const char *val = NULL;
142
case PROCESSOR_ARCHITECTURE_INTEL: val = "PROCESSOR_ARCHITECTURE_INTEL"; break;
143
case PROCESSOR_ARCHITECTURE_IA64: val = "PROCESSOR_ARCHITECTURE_IA64"; break;
144
case PROCESSOR_ARCHITECTURE_AMD64: val = "PROCESSOR_ARCHITECTURE_AMD64"; break;
146
ndr_print_enum(ndr, name, "ENUM", val, r);
149
static enum ndr_err_code ndr_push_spoolss_ProcessorType(struct ndr_push *ndr, int ndr_flags, enum spoolss_ProcessorType r)
151
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
152
return NDR_ERR_SUCCESS;
155
static enum ndr_err_code ndr_pull_spoolss_ProcessorType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_ProcessorType *r)
158
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
160
return NDR_ERR_SUCCESS;
163
_PUBLIC_ void ndr_print_spoolss_ProcessorType(struct ndr_print *ndr, const char *name, enum spoolss_ProcessorType r)
165
const char *val = NULL;
168
case PROCESSOR_INTEL_386: val = "PROCESSOR_INTEL_386"; break;
169
case PROCESSOR_INTEL_486: val = "PROCESSOR_INTEL_486"; break;
170
case PROCESSOR_INTEL_PENTIUM: val = "PROCESSOR_INTEL_PENTIUM"; break;
171
case PROCESSOR_INTEL_IA64: val = "PROCESSOR_INTEL_IA64"; break;
172
case PROCESSOR_AMD_X8664: val = "PROCESSOR_AMD_X8664"; break;
174
ndr_print_enum(ndr, name, "ENUM", val, r);
177
static enum ndr_err_code ndr_push_spoolss_MajorVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_MajorVersion r)
179
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
180
return NDR_ERR_SUCCESS;
183
static enum ndr_err_code ndr_pull_spoolss_MajorVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_MajorVersion *r)
186
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
188
return NDR_ERR_SUCCESS;
191
_PUBLIC_ void ndr_print_spoolss_MajorVersion(struct ndr_print *ndr, const char *name, enum spoolss_MajorVersion r)
193
const char *val = NULL;
196
case SPOOLSS_MAJOR_VERSION_NT4_95_98_ME: val = "SPOOLSS_MAJOR_VERSION_NT4_95_98_ME"; break;
197
case SPOOLSS_MAJOR_VERSION_2000_2003_XP: val = "SPOOLSS_MAJOR_VERSION_2000_2003_XP"; break;
198
case SPOOLSS_MAJOR_VERSION_2008_VISTA: val = "SPOOLSS_MAJOR_VERSION_2008_VISTA"; break;
200
ndr_print_enum(ndr, name, "ENUM", val, r);
203
static enum ndr_err_code ndr_push_spoolss_MinorVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_MinorVersion r)
205
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
206
return NDR_ERR_SUCCESS;
209
static enum ndr_err_code ndr_pull_spoolss_MinorVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_MinorVersion *r)
212
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
214
return NDR_ERR_SUCCESS;
217
_PUBLIC_ void ndr_print_spoolss_MinorVersion(struct ndr_print *ndr, const char *name, enum spoolss_MinorVersion r)
219
const char *val = NULL;
222
case SPOOLSS_MINOR_VERSION_0: val = "SPOOLSS_MINOR_VERSION_0"; break;
223
case SPOOLSS_MINOR_VERSION_XP: val = "SPOOLSS_MINOR_VERSION_XP"; break;
224
case SPOOLSS_MINOR_VERSION_2003_XP64: val = "SPOOLSS_MINOR_VERSION_2003_XP64"; break;
225
case SPOOLSS_MINOR_VERSION_98: val = "SPOOLSS_MINOR_VERSION_98"; break;
226
case SPOOLSS_MINOR_VERSION_ME: val = "SPOOLSS_MINOR_VERSION_ME"; break;
228
ndr_print_enum(ndr, name, "ENUM", val, r);
231
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterStatus(struct ndr_push *ndr, int ndr_flags, uint32_t r)
233
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
234
return NDR_ERR_SUCCESS;
237
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterStatus(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
240
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
242
return NDR_ERR_SUCCESS;
245
_PUBLIC_ void ndr_print_spoolss_PrinterStatus(struct ndr_print *ndr, const char *name, uint32_t r)
247
ndr_print_uint32(ndr, name, r);
249
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAUSED", PRINTER_STATUS_PAUSED, r);
250
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_ERROR", PRINTER_STATUS_ERROR, r);
251
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PENDING_DELETION", PRINTER_STATUS_PENDING_DELETION, r);
252
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAPER_JAM", PRINTER_STATUS_PAPER_JAM, r);
253
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAPER_OUT", PRINTER_STATUS_PAPER_OUT, r);
254
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_MANUAL_FEED", PRINTER_STATUS_MANUAL_FEED, r);
255
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAPER_PROBLEM", PRINTER_STATUS_PAPER_PROBLEM, r);
256
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_OFFLINE", PRINTER_STATUS_OFFLINE, r);
257
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_IO_ACTIVE", PRINTER_STATUS_IO_ACTIVE, r);
258
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_BUSY", PRINTER_STATUS_BUSY, r);
259
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PRINTING", PRINTER_STATUS_PRINTING, r);
260
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_OUTPUT_BIN_FULL", PRINTER_STATUS_OUTPUT_BIN_FULL, r);
261
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_NOT_AVAILABLE", PRINTER_STATUS_NOT_AVAILABLE, r);
262
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_WAITING", PRINTER_STATUS_WAITING, r);
263
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PROCESSING", PRINTER_STATUS_PROCESSING, r);
264
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_INITIALIZING", PRINTER_STATUS_INITIALIZING, r);
265
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_WARMING_UP", PRINTER_STATUS_WARMING_UP, r);
266
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_TONER_LOW", PRINTER_STATUS_TONER_LOW, r);
267
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_NO_TONER", PRINTER_STATUS_NO_TONER, r);
268
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAGE_PUNT", PRINTER_STATUS_PAGE_PUNT, r);
269
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_USER_INTERVENTION", PRINTER_STATUS_USER_INTERVENTION, r);
270
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_OUT_OF_MEMORY", PRINTER_STATUS_OUT_OF_MEMORY, r);
271
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_DOOR_OPEN", PRINTER_STATUS_DOOR_OPEN, r);
272
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_SERVER_UNKNOWN", PRINTER_STATUS_SERVER_UNKNOWN, r);
273
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_POWER_SAVE", PRINTER_STATUS_POWER_SAVE, r);
277
static enum ndr_err_code ndr_push_spoolss_JobStatus(struct ndr_push *ndr, int ndr_flags, uint32_t r)
279
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
280
return NDR_ERR_SUCCESS;
283
static enum ndr_err_code ndr_pull_spoolss_JobStatus(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
286
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
288
return NDR_ERR_SUCCESS;
291
_PUBLIC_ void ndr_print_spoolss_JobStatus(struct ndr_print *ndr, const char *name, uint32_t r)
293
ndr_print_uint32(ndr, name, r);
295
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_PAUSED", JOB_STATUS_PAUSED, r);
296
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_ERROR", JOB_STATUS_ERROR, r);
297
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_DELETING", JOB_STATUS_DELETING, r);
298
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_SPOOLING", JOB_STATUS_SPOOLING, r);
299
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_PRINTING", JOB_STATUS_PRINTING, r);
300
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_OFFLINE", JOB_STATUS_OFFLINE, r);
301
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_PAPEROUT", JOB_STATUS_PAPEROUT, r);
302
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_PRINTED", JOB_STATUS_PRINTED, r);
303
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_DELETED", JOB_STATUS_DELETED, r);
304
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_BLOCKED_DEVQ", JOB_STATUS_BLOCKED_DEVQ, r);
305
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_USER_INTERVENTION", JOB_STATUS_USER_INTERVENTION, r);
306
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_RESTART", JOB_STATUS_RESTART, r);
307
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_COMPLETE", JOB_STATUS_COMPLETE, r);
311
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo0(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo0 *r)
313
if (ndr_flags & NDR_SCALARS) {
314
NDR_CHECK(ndr_push_align(ndr, 5));
316
uint32_t _flags_save_string = ndr->flags;
317
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
318
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername));
319
ndr->flags = _flags_save_string;
322
uint32_t _flags_save_string = ndr->flags;
323
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
324
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->servername));
325
ndr->flags = _flags_save_string;
327
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cjobs));
328
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_jobs));
329
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_bytes));
330
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->time));
331
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->global_counter));
332
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
333
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
334
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->free_build));
335
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->spooling));
336
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_spooling));
337
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_counter));
338
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_error_out_of_paper));
339
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_error_not_ready));
340
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->job_error));
341
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->number_of_processors));
342
NDR_CHECK(ndr_push_spoolss_ProcessorType(ndr, NDR_SCALARS, r->processor_type));
343
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->high_part_total_bytes));
344
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->change_id));
345
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_error));
346
NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
347
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumerate_network_printers));
348
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->c_setprinter));
349
NDR_CHECK(ndr_push_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, r->processor_architecture));
350
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->processor_level));
351
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ref_ic));
352
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved2));
353
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved3));
354
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
356
if (ndr_flags & NDR_BUFFERS) {
358
uint32_t _flags_save_string = ndr->flags;
359
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
360
if (r->printername) {
361
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername));
362
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
363
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername));
365
ndr->flags = _flags_save_string;
368
uint32_t _flags_save_string = ndr->flags;
369
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
371
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->servername));
372
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername));
373
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->servername));
375
ndr->flags = _flags_save_string;
378
return NDR_ERR_SUCCESS;
381
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo0(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo0 *r)
383
uint32_t _ptr_printername;
384
TALLOC_CTX *_mem_save_printername_0;
385
uint32_t _ptr_servername;
386
TALLOC_CTX *_mem_save_servername_0;
387
if (ndr_flags & NDR_SCALARS) {
388
NDR_CHECK(ndr_pull_align(ndr, 5));
390
uint32_t _flags_save_string = ndr->flags;
391
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
392
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
393
if (_ptr_printername) {
394
NDR_PULL_ALLOC(ndr, r->printername);
395
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername));
397
r->printername = NULL;
399
ndr->flags = _flags_save_string;
402
uint32_t _flags_save_string = ndr->flags;
403
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
404
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
405
if (_ptr_servername) {
406
NDR_PULL_ALLOC(ndr, r->servername);
407
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->servername, _ptr_servername));
409
r->servername = NULL;
411
ndr->flags = _flags_save_string;
413
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs));
414
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_jobs));
415
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_bytes));
416
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->time));
417
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->global_counter));
418
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
419
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
420
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->free_build));
421
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->spooling));
422
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_spooling));
423
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_counter));
424
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_error_out_of_paper));
425
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_error_not_ready));
426
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->job_error));
427
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->number_of_processors));
428
NDR_CHECK(ndr_pull_spoolss_ProcessorType(ndr, NDR_SCALARS, &r->processor_type));
429
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->high_part_total_bytes));
430
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->change_id));
431
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_error));
432
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
433
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumerate_network_printers));
434
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->c_setprinter));
435
NDR_CHECK(ndr_pull_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, &r->processor_architecture));
436
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->processor_level));
437
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ref_ic));
438
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
439
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3));
440
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
442
if (ndr_flags & NDR_BUFFERS) {
444
uint32_t _flags_save_string = ndr->flags;
445
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
446
if (r->printername) {
447
uint32_t _relative_save_offset;
448
_relative_save_offset = ndr->offset;
449
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername));
450
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
451
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
452
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
453
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
454
ndr->offset = _relative_save_offset;
456
ndr->flags = _flags_save_string;
459
uint32_t _flags_save_string = ndr->flags;
460
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
462
uint32_t _relative_save_offset;
463
_relative_save_offset = ndr->offset;
464
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->servername));
465
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
466
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
467
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername));
468
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
469
ndr->offset = _relative_save_offset;
471
ndr->flags = _flags_save_string;
474
return NDR_ERR_SUCCESS;
477
_PUBLIC_ void ndr_print_spoolss_PrinterInfo0(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo0 *r)
479
ndr_print_struct(ndr, name, "spoolss_PrinterInfo0");
481
ndr_print_ptr(ndr, "printername", r->printername);
483
if (r->printername) {
484
ndr_print_string(ndr, "printername", r->printername);
487
ndr_print_ptr(ndr, "servername", r->servername);
490
ndr_print_string(ndr, "servername", r->servername);
493
ndr_print_uint32(ndr, "cjobs", r->cjobs);
494
ndr_print_uint32(ndr, "total_jobs", r->total_jobs);
495
ndr_print_uint32(ndr, "total_bytes", r->total_bytes);
496
ndr_print_spoolss_Time(ndr, "time", &r->time);
497
ndr_print_uint32(ndr, "global_counter", r->global_counter);
498
ndr_print_uint32(ndr, "total_pages", r->total_pages);
499
ndr_print_uint32(ndr, "version", r->version);
500
ndr_print_uint32(ndr, "free_build", r->free_build);
501
ndr_print_uint32(ndr, "spooling", r->spooling);
502
ndr_print_uint32(ndr, "max_spooling", r->max_spooling);
503
ndr_print_uint32(ndr, "session_counter", r->session_counter);
504
ndr_print_uint32(ndr, "num_error_out_of_paper", r->num_error_out_of_paper);
505
ndr_print_uint32(ndr, "num_error_not_ready", r->num_error_not_ready);
506
ndr_print_spoolss_JobStatus(ndr, "job_error", r->job_error);
507
ndr_print_uint32(ndr, "number_of_processors", r->number_of_processors);
508
ndr_print_spoolss_ProcessorType(ndr, "processor_type", r->processor_type);
509
ndr_print_uint32(ndr, "high_part_total_bytes", r->high_part_total_bytes);
510
ndr_print_uint32(ndr, "change_id", r->change_id);
511
ndr_print_WERROR(ndr, "last_error", r->last_error);
512
ndr_print_spoolss_PrinterStatus(ndr, "status", r->status);
513
ndr_print_uint32(ndr, "enumerate_network_printers", r->enumerate_network_printers);
514
ndr_print_uint32(ndr, "c_setprinter", r->c_setprinter);
515
ndr_print_spoolss_ProcessorArchitecture(ndr, "processor_architecture", r->processor_architecture);
516
ndr_print_uint16(ndr, "processor_level", r->processor_level);
517
ndr_print_uint32(ndr, "ref_ic", r->ref_ic);
518
ndr_print_uint32(ndr, "reserved2", r->reserved2);
519
ndr_print_uint32(ndr, "reserved3", r->reserved3);
523
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo0(const struct spoolss_PrinterInfo0 *r, struct smb_iconv_convenience *ic, int flags)
525
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo0, ic);
528
static enum ndr_err_code ndr_push_spoolss_DeviceModeFields(struct ndr_push *ndr, int ndr_flags, uint32_t r)
530
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
531
return NDR_ERR_SUCCESS;
534
static enum ndr_err_code ndr_pull_spoolss_DeviceModeFields(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
537
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
539
return NDR_ERR_SUCCESS;
542
_PUBLIC_ void ndr_print_spoolss_DeviceModeFields(struct ndr_print *ndr, const char *name, uint32_t r)
544
ndr_print_uint32(ndr, name, r);
546
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_ORIENTATION", DEVMODE_ORIENTATION, r);
547
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PAPERSIZE", DEVMODE_PAPERSIZE, r);
548
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PAPERLENGTH", DEVMODE_PAPERLENGTH, r);
549
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PAPERWIDTH", DEVMODE_PAPERWIDTH, r);
550
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_SCALE", DEVMODE_SCALE, r);
551
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_POSITION", DEVMODE_POSITION, r);
552
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_NUP", DEVMODE_NUP, r);
553
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_COPIES", DEVMODE_COPIES, r);
554
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DEFAULTSOURCE", DEVMODE_DEFAULTSOURCE, r);
555
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PRINTQUALITY", DEVMODE_PRINTQUALITY, r);
556
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_COLOR", DEVMODE_COLOR, r);
557
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DUPLEX", DEVMODE_DUPLEX, r);
558
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_YRESOLUTION", DEVMODE_YRESOLUTION, r);
559
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_TTOPTION", DEVMODE_TTOPTION, r);
560
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_COLLATE", DEVMODE_COLLATE, r);
561
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_FORMNAME", DEVMODE_FORMNAME, r);
562
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_LOGPIXELS", DEVMODE_LOGPIXELS, r);
563
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_BITSPERPEL", DEVMODE_BITSPERPEL, r);
564
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PELSWIDTH", DEVMODE_PELSWIDTH, r);
565
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PELSHEIGHT", DEVMODE_PELSHEIGHT, r);
566
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DISPLAYFLAGS", DEVMODE_DISPLAYFLAGS, r);
567
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DISPLAYFREQUENCY", DEVMODE_DISPLAYFREQUENCY, r);
568
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_ICMMETHOD", DEVMODE_ICMMETHOD, r);
569
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_ICMINTENT", DEVMODE_ICMINTENT, r);
570
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_MEDIATYPE", DEVMODE_MEDIATYPE, r);
571
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DITHERTYPE", DEVMODE_DITHERTYPE, r);
572
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PANNINGWIDTH", DEVMODE_PANNINGWIDTH, r);
573
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PANNINGHEIGHT", DEVMODE_PANNINGHEIGHT, r);
577
static enum ndr_err_code ndr_push_spoolss_DeviceModeSpecVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeSpecVersion r)
579
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
580
return NDR_ERR_SUCCESS;
583
static enum ndr_err_code ndr_pull_spoolss_DeviceModeSpecVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeSpecVersion *r)
586
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
588
return NDR_ERR_SUCCESS;
591
_PUBLIC_ void ndr_print_spoolss_DeviceModeSpecVersion(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeSpecVersion r)
593
const char *val = NULL;
596
case DMSPEC_NT3: val = "DMSPEC_NT3"; break;
597
case DMSPEC_WIN95_98_ME: val = "DMSPEC_WIN95_98_ME"; break;
598
case DMSPEC_NT4_AND_ABOVE: val = "DMSPEC_NT4_AND_ABOVE"; break;
600
ndr_print_enum(ndr, name, "ENUM", val, r);
603
static enum ndr_err_code ndr_push_spoolss_DeviceModeOrientation(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeOrientation r)
605
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
606
return NDR_ERR_SUCCESS;
609
static enum ndr_err_code ndr_pull_spoolss_DeviceModeOrientation(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeOrientation *r)
612
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
614
return NDR_ERR_SUCCESS;
617
_PUBLIC_ void ndr_print_spoolss_DeviceModeOrientation(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeOrientation r)
619
const char *val = NULL;
622
case DMORIENT_PORTRAIT: val = "DMORIENT_PORTRAIT"; break;
623
case DMORIENT_LANDSCAPE: val = "DMORIENT_LANDSCAPE"; break;
625
ndr_print_enum(ndr, name, "ENUM", val, r);
628
static enum ndr_err_code ndr_push_spoolss_DeviceModePaperSize(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModePaperSize r)
630
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
631
return NDR_ERR_SUCCESS;
634
static enum ndr_err_code ndr_pull_spoolss_DeviceModePaperSize(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModePaperSize *r)
637
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
639
return NDR_ERR_SUCCESS;
642
_PUBLIC_ void ndr_print_spoolss_DeviceModePaperSize(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModePaperSize r)
644
const char *val = NULL;
647
case DMPAPER_LETTER: val = "DMPAPER_LETTER"; break;
648
case DMPAPER_LETTERSMALL: val = "DMPAPER_LETTERSMALL"; break;
649
case DMPAPER_TABLOID: val = "DMPAPER_TABLOID"; break;
650
case DMPAPER_LEDGER: val = "DMPAPER_LEDGER"; break;
651
case DMPAPER_LEGAL: val = "DMPAPER_LEGAL"; break;
652
case DMPAPER_STATEMENT: val = "DMPAPER_STATEMENT"; break;
653
case DMPAPER_EXECUTIVE: val = "DMPAPER_EXECUTIVE"; break;
654
case DMPAPER_A3: val = "DMPAPER_A3"; break;
655
case DMPAPER_A4: val = "DMPAPER_A4"; break;
656
case DMPAPER_A4SMALL: val = "DMPAPER_A4SMALL"; break;
657
case DMPAPER_A5: val = "DMPAPER_A5"; break;
658
case DMPAPER_B4: val = "DMPAPER_B4"; break;
659
case DMPAPER_B5: val = "DMPAPER_B5"; break;
660
case DMPAPER_FOLIO: val = "DMPAPER_FOLIO"; break;
661
case DMPAPER_QUARTO: val = "DMPAPER_QUARTO"; break;
662
case DMPAPER_10X14: val = "DMPAPER_10X14"; break;
663
case DMPAPER_11X17: val = "DMPAPER_11X17"; break;
664
case DMPAPER_NOTE: val = "DMPAPER_NOTE"; break;
665
case DMPAPER_ENV_9: val = "DMPAPER_ENV_9"; break;
666
case DMPAPER_ENV_10: val = "DMPAPER_ENV_10"; break;
667
case DMPAPER_ENV_11: val = "DMPAPER_ENV_11"; break;
668
case DMPAPER_ENV_12: val = "DMPAPER_ENV_12"; break;
669
case DMPAPER_ENV_14: val = "DMPAPER_ENV_14"; break;
670
case DMPAPER_CSHEET: val = "DMPAPER_CSHEET"; break;
671
case DMPAPER_DSHEET: val = "DMPAPER_DSHEET"; break;
672
case DMPAPER_ESHEET: val = "DMPAPER_ESHEET"; break;
673
case DMPAPER_ENV_DL: val = "DMPAPER_ENV_DL"; break;
674
case DMPAPER_ENV_C5: val = "DMPAPER_ENV_C5"; break;
675
case DMPAPER_ENV_C3: val = "DMPAPER_ENV_C3"; break;
676
case DMPAPER_ENV_C4: val = "DMPAPER_ENV_C4"; break;
677
case DMPAPER_ENV_C6: val = "DMPAPER_ENV_C6"; break;
678
case DMPAPER_ENV_C65: val = "DMPAPER_ENV_C65"; break;
679
case DMPAPER_ENV_B4: val = "DMPAPER_ENV_B4"; break;
680
case DMPAPER_ENV_B5: val = "DMPAPER_ENV_B5"; break;
681
case DMPAPER_ENV_B6: val = "DMPAPER_ENV_B6"; break;
682
case DMPAPER_ENV_ITALY: val = "DMPAPER_ENV_ITALY"; break;
683
case DMPAPER_ENV_MONARCH: val = "DMPAPER_ENV_MONARCH"; break;
684
case DMPAPER_ENV_PERSONAL: val = "DMPAPER_ENV_PERSONAL"; break;
685
case DMPAPER_FANFOLD_US: val = "DMPAPER_FANFOLD_US"; break;
686
case DMPAPER_FANFOLD_STD_GERMAN: val = "DMPAPER_FANFOLD_STD_GERMAN"; break;
687
case DMPAPER_FANFOLD_LGL_GERMAN: val = "DMPAPER_FANFOLD_LGL_GERMAN"; break;
688
case DMPAPER_DBL_JAPANESE_POSTCARD: val = "DMPAPER_DBL_JAPANESE_POSTCARD"; break;
689
case DMPAPER_A6: val = "DMPAPER_A6"; break;
690
case DMPAPER_JENV_KAKU2: val = "DMPAPER_JENV_KAKU2"; break;
691
case DMPAPER_JENV_KAKU3: val = "DMPAPER_JENV_KAKU3"; break;
692
case DMPAPER_JENV_CHOU3: val = "DMPAPER_JENV_CHOU3"; break;
693
case DMPAPER_JENV_CHOU4: val = "DMPAPER_JENV_CHOU4"; break;
694
case DMPAPER_LETTER_ROTATED: val = "DMPAPER_LETTER_ROTATED"; break;
695
case DMPAPER_A3_ROTATED: val = "DMPAPER_A3_ROTATED"; break;
696
case DMPAPER_A4_ROTATED: val = "DMPAPER_A4_ROTATED"; break;
697
case DMPAPER_A5_ROTATED: val = "DMPAPER_A5_ROTATED"; break;
698
case DMPAPER_B4_JIS_ROTATED: val = "DMPAPER_B4_JIS_ROTATED"; break;
699
case DMPAPER_B5_JIS_ROTATED: val = "DMPAPER_B5_JIS_ROTATED"; break;
700
case DMPAPER_JAPANESE_POSTCARD_ROTATED: val = "DMPAPER_JAPANESE_POSTCARD_ROTATED"; break;
701
case DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED: val = "DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED"; break;
702
case DMPAPER_A6_ROTATED: val = "DMPAPER_A6_ROTATED"; break;
703
case DMPAPER_JENV_KAKU2_ROTATED: val = "DMPAPER_JENV_KAKU2_ROTATED"; break;
704
case DMPAPER_JENV_KAKU3_ROTATED: val = "DMPAPER_JENV_KAKU3_ROTATED"; break;
705
case DMPAPER_JENV_CHOU3_ROTATED: val = "DMPAPER_JENV_CHOU3_ROTATED"; break;
706
case DMPAPER_JENV_CHOU4_ROTATED: val = "DMPAPER_JENV_CHOU4_ROTATED"; break;
707
case DMPAPER_B6_JIS: val = "DMPAPER_B6_JIS"; break;
708
case DMPAPER_B6_JIS_ROTATED: val = "DMPAPER_B6_JIS_ROTATED"; break;
709
case DMPAPER_12X11: val = "DMPAPER_12X11"; break;
710
case DMPAPER_JENV_YOU4: val = "DMPAPER_JENV_YOU4"; break;
711
case DMPAPER_JENV_YOU4_ROTATED: val = "DMPAPER_JENV_YOU4_ROTATED"; break;
712
case DMPAPER_P16K: val = "DMPAPER_P16K"; break;
713
case DMPAPER_P32K: val = "DMPAPER_P32K"; break;
714
case DMPAPER_P32KBIG: val = "DMPAPER_P32KBIG"; break;
715
case DMPAPER_PENV_1: val = "DMPAPER_PENV_1"; break;
716
case DMPAPER_PENV_2: val = "DMPAPER_PENV_2"; break;
717
case DMPAPER_PENV_3: val = "DMPAPER_PENV_3"; break;
718
case DMPAPER_PENV_4: val = "DMPAPER_PENV_4"; break;
719
case DMPAPER_PENV_5: val = "DMPAPER_PENV_5"; break;
720
case DMPAPER_PENV_6: val = "DMPAPER_PENV_6"; break;
721
case DMPAPER_PENV_7: val = "DMPAPER_PENV_7"; break;
722
case DMPAPER_PENV_8: val = "DMPAPER_PENV_8"; break;
723
case DMPAPER_PENV_9: val = "DMPAPER_PENV_9"; break;
724
case DMPAPER_PENV_10: val = "DMPAPER_PENV_10"; break;
725
case DMPAPER_P16K_ROTATED: val = "DMPAPER_P16K_ROTATED"; break;
726
case DMPAPER_P32K_ROTATED: val = "DMPAPER_P32K_ROTATED"; break;
727
case DMPAPER_P32KBIG_ROTATED: val = "DMPAPER_P32KBIG_ROTATED"; break;
728
case DMPAPER_PENV_1_ROTATED: val = "DMPAPER_PENV_1_ROTATED"; break;
729
case DMPAPER_PENV_2_ROTATED: val = "DMPAPER_PENV_2_ROTATED"; break;
730
case DMPAPER_PENV_3_ROTATED: val = "DMPAPER_PENV_3_ROTATED"; break;
731
case DMPAPER_PENV_4_ROTATED: val = "DMPAPER_PENV_4_ROTATED"; break;
732
case DMPAPER_PENV_5_ROTATED: val = "DMPAPER_PENV_5_ROTATED"; break;
733
case DMPAPER_PENV_6_ROTATED: val = "DMPAPER_PENV_6_ROTATED"; break;
734
case DMPAPER_PENV_7_ROTATED: val = "DMPAPER_PENV_7_ROTATED"; break;
735
case DMPAPER_PENV_8_ROTATED: val = "DMPAPER_PENV_8_ROTATED"; break;
736
case DMPAPER_PENV_9_ROTATED: val = "DMPAPER_PENV_9_ROTATED"; break;
737
case DMPAPER_PENV_10_ROTATED: val = "DMPAPER_PENV_10_ROTATED"; break;
739
ndr_print_enum(ndr, name, "ENUM", val, r);
742
static enum ndr_err_code ndr_push_spoolss_DeviceModeDefaultSource(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeDefaultSource r)
744
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
745
return NDR_ERR_SUCCESS;
748
static enum ndr_err_code ndr_pull_spoolss_DeviceModeDefaultSource(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeDefaultSource *r)
751
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
753
return NDR_ERR_SUCCESS;
756
_PUBLIC_ void ndr_print_spoolss_DeviceModeDefaultSource(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDefaultSource r)
758
const char *val = NULL;
761
case DMBIN_UPPER: val = "DMBIN_UPPER"; break;
762
case DMBIN_LOWER: val = "DMBIN_LOWER"; break;
763
case DMBIN_MIDDLE: val = "DMBIN_MIDDLE"; break;
764
case DMBIN_MANUAL: val = "DMBIN_MANUAL"; break;
765
case DMBIN_ENVELOPE: val = "DMBIN_ENVELOPE"; break;
766
case DMBIN_ENVMANUAL: val = "DMBIN_ENVMANUAL"; break;
767
case DMBIN_AUTO: val = "DMBIN_AUTO"; break;
768
case DMBIN_TRACTOR: val = "DMBIN_TRACTOR"; break;
769
case DMBIN_SMALLFMT: val = "DMBIN_SMALLFMT"; break;
770
case DMBIN_LARGEFMT: val = "DMBIN_LARGEFMT"; break;
771
case DMBIN_LARGECAPACITY: val = "DMBIN_LARGECAPACITY"; break;
772
case DMBIN_CASSETTE: val = "DMBIN_CASSETTE"; break;
773
case DMBIN_FORMSOURCE: val = "DMBIN_FORMSOURCE"; break;
775
ndr_print_enum(ndr, name, "ENUM", val, r);
778
static enum ndr_err_code ndr_push_spoolss_DeviceModePrintQuality(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModePrintQuality r)
780
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
781
return NDR_ERR_SUCCESS;
784
static enum ndr_err_code ndr_pull_spoolss_DeviceModePrintQuality(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModePrintQuality *r)
787
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
789
return NDR_ERR_SUCCESS;
792
_PUBLIC_ void ndr_print_spoolss_DeviceModePrintQuality(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModePrintQuality r)
794
const char *val = NULL;
797
case DMRES_HIGH: val = "DMRES_HIGH"; break;
798
case DMRES_MEDIUM: val = "DMRES_MEDIUM"; break;
799
case DMRES_LOW: val = "DMRES_LOW"; break;
800
case DMRES_DRAFT: val = "DMRES_DRAFT"; break;
802
ndr_print_enum(ndr, name, "ENUM", val, r);
805
static enum ndr_err_code ndr_push_spoolss_DeviceModeColor(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeColor r)
807
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
808
return NDR_ERR_SUCCESS;
811
static enum ndr_err_code ndr_pull_spoolss_DeviceModeColor(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeColor *r)
814
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
816
return NDR_ERR_SUCCESS;
819
_PUBLIC_ void ndr_print_spoolss_DeviceModeColor(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeColor r)
821
const char *val = NULL;
824
case DMRES_MONOCHROME: val = "DMRES_MONOCHROME"; break;
825
case DMRES_COLOR: val = "DMRES_COLOR"; break;
827
ndr_print_enum(ndr, name, "ENUM", val, r);
830
static enum ndr_err_code ndr_push_spoolss_DeviceModeDuplex(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeDuplex r)
832
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
833
return NDR_ERR_SUCCESS;
836
static enum ndr_err_code ndr_pull_spoolss_DeviceModeDuplex(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeDuplex *r)
839
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
841
return NDR_ERR_SUCCESS;
844
_PUBLIC_ void ndr_print_spoolss_DeviceModeDuplex(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDuplex r)
846
const char *val = NULL;
849
case DMDUP_SIMPLEX: val = "DMDUP_SIMPLEX"; break;
850
case DMDUP_VERTICAL: val = "DMDUP_VERTICAL"; break;
851
case DMDUP_HORIZONTAL: val = "DMDUP_HORIZONTAL"; break;
853
ndr_print_enum(ndr, name, "ENUM", val, r);
856
static enum ndr_err_code ndr_push_spoolss_DeviceModeTTOption(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeTTOption r)
858
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
859
return NDR_ERR_SUCCESS;
862
static enum ndr_err_code ndr_pull_spoolss_DeviceModeTTOption(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeTTOption *r)
865
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
867
return NDR_ERR_SUCCESS;
870
_PUBLIC_ void ndr_print_spoolss_DeviceModeTTOption(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeTTOption r)
872
const char *val = NULL;
875
case DMTT_BITMAP: val = "DMTT_BITMAP"; break;
876
case DMTT_DOWNLOAD: val = "DMTT_DOWNLOAD"; break;
877
case DMTT_SUBDEV: val = "DMTT_SUBDEV"; break;
878
case DMTT_DOWNLOAD_OUTLINE: val = "DMTT_DOWNLOAD_OUTLINE"; break;
880
ndr_print_enum(ndr, name, "ENUM", val, r);
883
static enum ndr_err_code ndr_push_spoolss_DeviceModeCollate(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeCollate r)
885
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
886
return NDR_ERR_SUCCESS;
889
static enum ndr_err_code ndr_pull_spoolss_DeviceModeCollate(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeCollate *r)
892
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
894
return NDR_ERR_SUCCESS;
897
_PUBLIC_ void ndr_print_spoolss_DeviceModeCollate(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeCollate r)
899
const char *val = NULL;
902
case DMCOLLATE_FALSE: val = "DMCOLLATE_FALSE"; break;
903
case DMCOLLATE_TRUE: val = "DMCOLLATE_TRUE"; break;
905
ndr_print_enum(ndr, name, "ENUM", val, r);
908
static enum ndr_err_code ndr_push_spoolss_DeviceModeNUp(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeNUp r)
910
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
911
return NDR_ERR_SUCCESS;
914
static enum ndr_err_code ndr_pull_spoolss_DeviceModeNUp(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeNUp *r)
917
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
919
return NDR_ERR_SUCCESS;
922
_PUBLIC_ void ndr_print_spoolss_DeviceModeNUp(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeNUp r)
924
const char *val = NULL;
927
case DMNUP_SYSTEM: val = "DMNUP_SYSTEM"; break;
928
case DMNUP_ONEUP: val = "DMNUP_ONEUP"; break;
930
ndr_print_enum(ndr, name, "ENUM", val, r);
933
static enum ndr_err_code ndr_push_spoolss_DeviceModeICMMethod(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeICMMethod r)
935
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
936
return NDR_ERR_SUCCESS;
939
static enum ndr_err_code ndr_pull_spoolss_DeviceModeICMMethod(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeICMMethod *r)
942
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
944
return NDR_ERR_SUCCESS;
947
_PUBLIC_ void ndr_print_spoolss_DeviceModeICMMethod(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeICMMethod r)
949
const char *val = NULL;
952
case DMICMMETHOD_NONE: val = "DMICMMETHOD_NONE"; break;
953
case DMICMMETHOD_SYSTEM: val = "DMICMMETHOD_SYSTEM"; break;
954
case DMICMMETHOD_DRIVER: val = "DMICMMETHOD_DRIVER"; break;
955
case DMICMMETHOD_DEVICE: val = "DMICMMETHOD_DEVICE"; break;
957
ndr_print_enum(ndr, name, "ENUM", val, r);
960
static enum ndr_err_code ndr_push_spoolss_DeviceModeICMIntent(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeICMIntent r)
962
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
963
return NDR_ERR_SUCCESS;
966
static enum ndr_err_code ndr_pull_spoolss_DeviceModeICMIntent(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeICMIntent *r)
969
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
971
return NDR_ERR_SUCCESS;
974
_PUBLIC_ void ndr_print_spoolss_DeviceModeICMIntent(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeICMIntent r)
976
const char *val = NULL;
979
case DMICM_SATURATE: val = "DMICM_SATURATE"; break;
980
case DMICM_CONTRAST: val = "DMICM_CONTRAST"; break;
981
case DMICM_COLORIMETRIC: val = "DMICM_COLORIMETRIC"; break;
982
case DMICM_ABS_COLORIMETRIC: val = "DMICM_ABS_COLORIMETRIC"; break;
984
ndr_print_enum(ndr, name, "ENUM", val, r);
987
static enum ndr_err_code ndr_push_spoolss_DeviceModeMediaType(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeMediaType r)
989
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
990
return NDR_ERR_SUCCESS;
993
static enum ndr_err_code ndr_pull_spoolss_DeviceModeMediaType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeMediaType *r)
996
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
998
return NDR_ERR_SUCCESS;
1001
_PUBLIC_ void ndr_print_spoolss_DeviceModeMediaType(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeMediaType r)
1003
const char *val = NULL;
1006
case DMMEDIA_STANDARD: val = "DMMEDIA_STANDARD"; break;
1007
case DMMEDIA_TRANSPARENCY: val = "DMMEDIA_TRANSPARENCY"; break;
1008
case DMMEDIA_GLOSSY: val = "DMMEDIA_GLOSSY"; break;
1010
ndr_print_enum(ndr, name, "ENUM", val, r);
1013
static enum ndr_err_code ndr_push_spoolss_DeviceModeDitherType(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeDitherType r)
1015
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1016
return NDR_ERR_SUCCESS;
1019
static enum ndr_err_code ndr_pull_spoolss_DeviceModeDitherType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeDitherType *r)
1022
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1024
return NDR_ERR_SUCCESS;
1027
_PUBLIC_ void ndr_print_spoolss_DeviceModeDitherType(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDitherType r)
1029
const char *val = NULL;
1032
case DMDITHER_NONE: val = "DMDITHER_NONE"; break;
1033
case DMDITHER_COARSE: val = "DMDITHER_COARSE"; break;
1034
case DMDITHER_FINE: val = "DMDITHER_FINE"; break;
1035
case DMDITHER_LINEART: val = "DMDITHER_LINEART"; break;
1036
case DMDITHER_ERRORDIFFUSION: val = "DMDITHER_ERRORDIFFUSION"; break;
1037
case DMDITHER_RESERVED6: val = "DMDITHER_RESERVED6"; break;
1038
case DMDITHER_RESERVED7: val = "DMDITHER_RESERVED7"; break;
1039
case DMDITHER_RESERVED8: val = "DMDITHER_RESERVED8"; break;
1040
case DMDITHER_RESERVED9: val = "DMDITHER_RESERVED9"; break;
1041
case DMDITHER_GRAYSCALE: val = "DMDITHER_GRAYSCALE"; break;
1043
ndr_print_enum(ndr, name, "ENUM", val, r);
1046
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DeviceMode(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DeviceMode *r)
1048
if (ndr_flags & NDR_SCALARS) {
1049
NDR_CHECK(ndr_push_align(ndr, 4));
1050
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->devicename, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16));
1051
NDR_CHECK(ndr_push_spoolss_DeviceModeSpecVersion(ndr, NDR_SCALARS, r->specversion));
1052
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->driverversion));
1053
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
1054
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->driverextra_data.length));
1055
NDR_CHECK(ndr_push_spoolss_DeviceModeFields(ndr, NDR_SCALARS, r->fields));
1056
NDR_CHECK(ndr_push_spoolss_DeviceModeOrientation(ndr, NDR_SCALARS, r->orientation));
1057
NDR_CHECK(ndr_push_spoolss_DeviceModePaperSize(ndr, NDR_SCALARS, r->papersize));
1058
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->paperlength));
1059
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->paperwidth));
1060
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->scale));
1061
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->copies));
1062
NDR_CHECK(ndr_push_spoolss_DeviceModeDefaultSource(ndr, NDR_SCALARS, r->defaultsource));
1063
NDR_CHECK(ndr_push_spoolss_DeviceModePrintQuality(ndr, NDR_SCALARS, r->printquality));
1064
NDR_CHECK(ndr_push_spoolss_DeviceModeColor(ndr, NDR_SCALARS, r->color));
1065
NDR_CHECK(ndr_push_spoolss_DeviceModeDuplex(ndr, NDR_SCALARS, r->duplex));
1066
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->yresolution));
1067
NDR_CHECK(ndr_push_spoolss_DeviceModeTTOption(ndr, NDR_SCALARS, r->ttoption));
1068
NDR_CHECK(ndr_push_spoolss_DeviceModeCollate(ndr, NDR_SCALARS, r->collate));
1069
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->formname, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16));
1070
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logpixels));
1071
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bitsperpel));
1072
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pelswidth));
1073
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pelsheight));
1074
NDR_CHECK(ndr_push_spoolss_DeviceModeNUp(ndr, NDR_SCALARS, r->displayflags));
1075
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->displayfrequency));
1076
NDR_CHECK(ndr_push_spoolss_DeviceModeICMMethod(ndr, NDR_SCALARS, r->icmmethod));
1077
NDR_CHECK(ndr_push_spoolss_DeviceModeICMIntent(ndr, NDR_SCALARS, r->icmintent));
1078
NDR_CHECK(ndr_push_spoolss_DeviceModeMediaType(ndr, NDR_SCALARS, r->mediatype));
1079
NDR_CHECK(ndr_push_spoolss_DeviceModeDitherType(ndr, NDR_SCALARS, r->dithertype));
1080
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved1));
1081
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved2));
1082
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->panningwidth));
1083
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->panningheight));
1085
uint32_t _flags_save_DATA_BLOB = ndr->flags;
1086
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1088
struct ndr_push *_ndr_driverextra_data;
1089
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_driverextra_data, 0, r->driverextra_data.length));
1090
NDR_CHECK(ndr_push_DATA_BLOB(_ndr_driverextra_data, NDR_SCALARS, r->driverextra_data));
1091
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_driverextra_data, 0, r->driverextra_data.length));
1093
ndr->flags = _flags_save_DATA_BLOB;
1095
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1097
if (ndr_flags & NDR_BUFFERS) {
1099
return NDR_ERR_SUCCESS;
1102
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DeviceMode(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DeviceMode *r)
1104
if (ndr_flags & NDR_SCALARS) {
1105
NDR_CHECK(ndr_pull_align(ndr, 4));
1106
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->devicename, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16));
1107
NDR_CHECK(ndr_pull_spoolss_DeviceModeSpecVersion(ndr, NDR_SCALARS, &r->specversion));
1108
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->driverversion));
1109
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
1110
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->__driverextra_length));
1111
NDR_CHECK(ndr_pull_spoolss_DeviceModeFields(ndr, NDR_SCALARS, &r->fields));
1112
NDR_CHECK(ndr_pull_spoolss_DeviceModeOrientation(ndr, NDR_SCALARS, &r->orientation));
1113
NDR_CHECK(ndr_pull_spoolss_DeviceModePaperSize(ndr, NDR_SCALARS, &r->papersize));
1114
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->paperlength));
1115
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->paperwidth));
1116
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->scale));
1117
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->copies));
1118
NDR_CHECK(ndr_pull_spoolss_DeviceModeDefaultSource(ndr, NDR_SCALARS, &r->defaultsource));
1119
NDR_CHECK(ndr_pull_spoolss_DeviceModePrintQuality(ndr, NDR_SCALARS, &r->printquality));
1120
NDR_CHECK(ndr_pull_spoolss_DeviceModeColor(ndr, NDR_SCALARS, &r->color));
1121
NDR_CHECK(ndr_pull_spoolss_DeviceModeDuplex(ndr, NDR_SCALARS, &r->duplex));
1122
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->yresolution));
1123
NDR_CHECK(ndr_pull_spoolss_DeviceModeTTOption(ndr, NDR_SCALARS, &r->ttoption));
1124
NDR_CHECK(ndr_pull_spoolss_DeviceModeCollate(ndr, NDR_SCALARS, &r->collate));
1125
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->formname, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16));
1126
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logpixels));
1127
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bitsperpel));
1128
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pelswidth));
1129
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pelsheight));
1130
NDR_CHECK(ndr_pull_spoolss_DeviceModeNUp(ndr, NDR_SCALARS, &r->displayflags));
1131
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->displayfrequency));
1132
NDR_CHECK(ndr_pull_spoolss_DeviceModeICMMethod(ndr, NDR_SCALARS, &r->icmmethod));
1133
NDR_CHECK(ndr_pull_spoolss_DeviceModeICMIntent(ndr, NDR_SCALARS, &r->icmintent));
1134
NDR_CHECK(ndr_pull_spoolss_DeviceModeMediaType(ndr, NDR_SCALARS, &r->mediatype));
1135
NDR_CHECK(ndr_pull_spoolss_DeviceModeDitherType(ndr, NDR_SCALARS, &r->dithertype));
1136
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1137
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
1138
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->panningwidth));
1139
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->panningheight));
1141
uint32_t _flags_save_DATA_BLOB = ndr->flags;
1142
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1144
struct ndr_pull *_ndr_driverextra_data;
1145
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_driverextra_data, 0, r->__driverextra_length));
1146
NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_driverextra_data, NDR_SCALARS, &r->driverextra_data));
1147
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_driverextra_data, 0, r->__driverextra_length));
1149
ndr->flags = _flags_save_DATA_BLOB;
1151
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1153
if (ndr_flags & NDR_BUFFERS) {
1155
return NDR_ERR_SUCCESS;
1158
_PUBLIC_ void ndr_print_spoolss_DeviceMode(struct ndr_print *ndr, const char *name, const struct spoolss_DeviceMode *r)
1160
ndr_print_struct(ndr, name, "spoolss_DeviceMode");
1162
ndr_print_string(ndr, "devicename", r->devicename);
1163
ndr_print_spoolss_DeviceModeSpecVersion(ndr, "specversion", r->specversion);
1164
ndr_print_uint16(ndr, "driverversion", r->driverversion);
1165
ndr_print_uint16(ndr, "size", r->size);
1166
ndr_print_uint16(ndr, "__driverextra_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->driverextra_data.length:r->__driverextra_length);
1167
ndr_print_spoolss_DeviceModeFields(ndr, "fields", r->fields);
1168
ndr_print_spoolss_DeviceModeOrientation(ndr, "orientation", r->orientation);
1169
ndr_print_spoolss_DeviceModePaperSize(ndr, "papersize", r->papersize);
1170
ndr_print_uint16(ndr, "paperlength", r->paperlength);
1171
ndr_print_uint16(ndr, "paperwidth", r->paperwidth);
1172
ndr_print_uint16(ndr, "scale", r->scale);
1173
ndr_print_uint16(ndr, "copies", r->copies);
1174
ndr_print_spoolss_DeviceModeDefaultSource(ndr, "defaultsource", r->defaultsource);
1175
ndr_print_spoolss_DeviceModePrintQuality(ndr, "printquality", r->printquality);
1176
ndr_print_spoolss_DeviceModeColor(ndr, "color", r->color);
1177
ndr_print_spoolss_DeviceModeDuplex(ndr, "duplex", r->duplex);
1178
ndr_print_uint16(ndr, "yresolution", r->yresolution);
1179
ndr_print_spoolss_DeviceModeTTOption(ndr, "ttoption", r->ttoption);
1180
ndr_print_spoolss_DeviceModeCollate(ndr, "collate", r->collate);
1181
ndr_print_string(ndr, "formname", r->formname);
1182
ndr_print_uint16(ndr, "logpixels", r->logpixels);
1183
ndr_print_uint32(ndr, "bitsperpel", r->bitsperpel);
1184
ndr_print_uint32(ndr, "pelswidth", r->pelswidth);
1185
ndr_print_uint32(ndr, "pelsheight", r->pelsheight);
1186
ndr_print_spoolss_DeviceModeNUp(ndr, "displayflags", r->displayflags);
1187
ndr_print_uint32(ndr, "displayfrequency", r->displayfrequency);
1188
ndr_print_spoolss_DeviceModeICMMethod(ndr, "icmmethod", r->icmmethod);
1189
ndr_print_spoolss_DeviceModeICMIntent(ndr, "icmintent", r->icmintent);
1190
ndr_print_spoolss_DeviceModeMediaType(ndr, "mediatype", r->mediatype);
1191
ndr_print_spoolss_DeviceModeDitherType(ndr, "dithertype", r->dithertype);
1192
ndr_print_uint32(ndr, "reserved1", r->reserved1);
1193
ndr_print_uint32(ndr, "reserved2", r->reserved2);
1194
ndr_print_uint32(ndr, "panningwidth", r->panningwidth);
1195
ndr_print_uint32(ndr, "panningheight", r->panningheight);
1196
ndr_print_DATA_BLOB(ndr, "driverextra_data", r->driverextra_data);
1200
_PUBLIC_ size_t ndr_size_spoolss_DeviceMode(const struct spoolss_DeviceMode *r, struct smb_iconv_convenience *ic, int flags)
1202
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DeviceMode, ic);
1205
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_EnumPrinterFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1207
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1208
return NDR_ERR_SUCCESS;
1211
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_EnumPrinterFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1214
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1216
return NDR_ERR_SUCCESS;
1219
_PUBLIC_ void ndr_print_spoolss_EnumPrinterFlags(struct ndr_print *ndr, const char *name, uint32_t r)
1221
ndr_print_uint32(ndr, name, r);
1223
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_DEFAULT", PRINTER_ENUM_DEFAULT, r);
1224
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_LOCAL", PRINTER_ENUM_LOCAL, r);
1225
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_CONNECTIONS", PRINTER_ENUM_CONNECTIONS, r);
1226
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_FAVORITE", PRINTER_ENUM_FAVORITE, r);
1227
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_NAME", PRINTER_ENUM_NAME, r);
1228
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_REMOTE", PRINTER_ENUM_REMOTE, r);
1229
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_SHARED", PRINTER_ENUM_SHARED, r);
1230
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_NETWORK", PRINTER_ENUM_NETWORK, r);
1231
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_EXPAND", PRINTER_ENUM_EXPAND, r);
1232
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_CONTAINER", PRINTER_ENUM_CONTAINER, r);
1233
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON1", PRINTER_ENUM_ICON1, r);
1234
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON2", PRINTER_ENUM_ICON2, r);
1235
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON3", PRINTER_ENUM_ICON3, r);
1236
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON4", PRINTER_ENUM_ICON4, r);
1237
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON5", PRINTER_ENUM_ICON5, r);
1238
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON6", PRINTER_ENUM_ICON6, r);
1239
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON7", PRINTER_ENUM_ICON7, r);
1240
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON8", PRINTER_ENUM_ICON8, r);
1241
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_HIDE", PRINTER_ENUM_HIDE, r);
1245
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1247
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1248
return NDR_ERR_SUCCESS;
1251
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1254
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1256
return NDR_ERR_SUCCESS;
1259
_PUBLIC_ void ndr_print_spoolss_PrinterAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
1261
ndr_print_uint32(ndr, name, r);
1263
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_QUEUED", PRINTER_ATTRIBUTE_QUEUED, r);
1264
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_DIRECT", PRINTER_ATTRIBUTE_DIRECT, r);
1265
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_DEFAULT", PRINTER_ATTRIBUTE_DEFAULT, r);
1266
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_SHARED", PRINTER_ATTRIBUTE_SHARED, r);
1267
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_NETWORK", PRINTER_ATTRIBUTE_NETWORK, r);
1268
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_HIDDEN", PRINTER_ATTRIBUTE_HIDDEN, r);
1269
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_LOCAL", PRINTER_ATTRIBUTE_LOCAL, r);
1270
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_ENABLE_DEVQ", PRINTER_ATTRIBUTE_ENABLE_DEVQ, r);
1271
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS", PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS, r);
1272
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST", PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST, r);
1273
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_WORK_OFFLINE", PRINTER_ATTRIBUTE_WORK_OFFLINE, r);
1274
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_ENABLE_BIDI", PRINTER_ATTRIBUTE_ENABLE_BIDI, r);
1275
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_RAW_ONLY", PRINTER_ATTRIBUTE_RAW_ONLY, r);
1276
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_PUBLISHED", PRINTER_ATTRIBUTE_PUBLISHED, r);
1277
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_FAX", PRINTER_ATTRIBUTE_FAX, r);
1278
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_TS", PRINTER_ATTRIBUTE_TS, r);
1282
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo1 *r)
1284
if (ndr_flags & NDR_SCALARS) {
1285
NDR_CHECK(ndr_push_align(ndr, 5));
1286
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->flags));
1288
uint32_t _flags_save_string = ndr->flags;
1289
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1290
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->description));
1291
ndr->flags = _flags_save_string;
1294
uint32_t _flags_save_string = ndr->flags;
1295
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1296
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->name));
1297
ndr->flags = _flags_save_string;
1300
uint32_t _flags_save_string = ndr->flags;
1301
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1302
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->comment));
1303
ndr->flags = _flags_save_string;
1305
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1307
if (ndr_flags & NDR_BUFFERS) {
1309
uint32_t _flags_save_string = ndr->flags;
1310
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1311
if (r->description) {
1312
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->description));
1313
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description));
1314
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->description));
1316
ndr->flags = _flags_save_string;
1319
uint32_t _flags_save_string = ndr->flags;
1320
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1322
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->name));
1323
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name));
1324
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->name));
1326
ndr->flags = _flags_save_string;
1329
uint32_t _flags_save_string = ndr->flags;
1330
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1332
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->comment));
1333
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->comment));
1334
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->comment));
1336
ndr->flags = _flags_save_string;
1339
return NDR_ERR_SUCCESS;
1342
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo1 *r)
1344
uint32_t _ptr_description;
1345
TALLOC_CTX *_mem_save_description_0;
1347
TALLOC_CTX *_mem_save_name_0;
1348
uint32_t _ptr_comment;
1349
TALLOC_CTX *_mem_save_comment_0;
1350
if (ndr_flags & NDR_SCALARS) {
1351
NDR_CHECK(ndr_pull_align(ndr, 5));
1352
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->flags));
1354
uint32_t _flags_save_string = ndr->flags;
1355
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1356
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description));
1357
if (_ptr_description) {
1358
NDR_PULL_ALLOC(ndr, r->description);
1359
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->description, _ptr_description));
1361
r->description = NULL;
1363
ndr->flags = _flags_save_string;
1366
uint32_t _flags_save_string = ndr->flags;
1367
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1368
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
1370
NDR_PULL_ALLOC(ndr, r->name);
1371
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->name, _ptr_name));
1375
ndr->flags = _flags_save_string;
1378
uint32_t _flags_save_string = ndr->flags;
1379
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1380
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
1382
NDR_PULL_ALLOC(ndr, r->comment);
1383
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->comment, _ptr_comment));
1387
ndr->flags = _flags_save_string;
1389
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1391
if (ndr_flags & NDR_BUFFERS) {
1393
uint32_t _flags_save_string = ndr->flags;
1394
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1395
if (r->description) {
1396
uint32_t _relative_save_offset;
1397
_relative_save_offset = ndr->offset;
1398
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->description));
1399
_mem_save_description_0 = NDR_PULL_GET_MEM_CTX(ndr);
1400
NDR_PULL_SET_MEM_CTX(ndr, r->description, 0);
1401
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->description));
1402
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0);
1403
ndr->offset = _relative_save_offset;
1405
ndr->flags = _flags_save_string;
1408
uint32_t _flags_save_string = ndr->flags;
1409
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1411
uint32_t _relative_save_offset;
1412
_relative_save_offset = ndr->offset;
1413
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->name));
1414
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1415
NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
1416
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name));
1417
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
1418
ndr->offset = _relative_save_offset;
1420
ndr->flags = _flags_save_string;
1423
uint32_t _flags_save_string = ndr->flags;
1424
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1426
uint32_t _relative_save_offset;
1427
_relative_save_offset = ndr->offset;
1428
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->comment));
1429
_mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
1430
NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
1431
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->comment));
1432
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
1433
ndr->offset = _relative_save_offset;
1435
ndr->flags = _flags_save_string;
1438
return NDR_ERR_SUCCESS;
1441
_PUBLIC_ void ndr_print_spoolss_PrinterInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo1 *r)
1443
ndr_print_struct(ndr, name, "spoolss_PrinterInfo1");
1445
ndr_print_spoolss_PrinterAttributes(ndr, "flags", r->flags);
1446
ndr_print_ptr(ndr, "description", r->description);
1448
if (r->description) {
1449
ndr_print_string(ndr, "description", r->description);
1452
ndr_print_ptr(ndr, "name", r->name);
1455
ndr_print_string(ndr, "name", r->name);
1458
ndr_print_ptr(ndr, "comment", r->comment);
1461
ndr_print_string(ndr, "comment", r->comment);
1467
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo1(const struct spoolss_PrinterInfo1 *r, struct smb_iconv_convenience *ic, int flags)
1469
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo1, ic);
1472
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo2 *r)
1474
uint32_t _ptr_servername;
1475
TALLOC_CTX *_mem_save_servername_0;
1476
uint32_t _ptr_printername;
1477
TALLOC_CTX *_mem_save_printername_0;
1478
uint32_t _ptr_sharename;
1479
TALLOC_CTX *_mem_save_sharename_0;
1480
uint32_t _ptr_portname;
1481
TALLOC_CTX *_mem_save_portname_0;
1482
uint32_t _ptr_drivername;
1483
TALLOC_CTX *_mem_save_drivername_0;
1484
uint32_t _ptr_comment;
1485
TALLOC_CTX *_mem_save_comment_0;
1486
uint32_t _ptr_location;
1487
TALLOC_CTX *_mem_save_location_0;
1488
uint32_t _ptr_devmode;
1489
TALLOC_CTX *_mem_save_devmode_0;
1490
uint32_t _ptr_sepfile;
1491
TALLOC_CTX *_mem_save_sepfile_0;
1492
uint32_t _ptr_printprocessor;
1493
TALLOC_CTX *_mem_save_printprocessor_0;
1494
uint32_t _ptr_datatype;
1495
TALLOC_CTX *_mem_save_datatype_0;
1496
uint32_t _ptr_parameters;
1497
TALLOC_CTX *_mem_save_parameters_0;
1498
uint32_t _ptr_secdesc;
1499
TALLOC_CTX *_mem_save_secdesc_0;
1500
if (ndr_flags & NDR_SCALARS) {
1501
NDR_CHECK(ndr_pull_align(ndr, 5));
1503
uint32_t _flags_save_string = ndr->flags;
1504
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1505
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
1506
if (_ptr_servername) {
1507
NDR_PULL_ALLOC(ndr, r->servername);
1508
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->servername, _ptr_servername));
1510
r->servername = NULL;
1512
ndr->flags = _flags_save_string;
1515
uint32_t _flags_save_string = ndr->flags;
1516
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1517
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
1518
if (_ptr_printername) {
1519
NDR_PULL_ALLOC(ndr, r->printername);
1520
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername));
1522
r->printername = NULL;
1524
ndr->flags = _flags_save_string;
1527
uint32_t _flags_save_string = ndr->flags;
1528
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1529
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename));
1530
if (_ptr_sharename) {
1531
NDR_PULL_ALLOC(ndr, r->sharename);
1532
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->sharename, _ptr_sharename));
1534
r->sharename = NULL;
1536
ndr->flags = _flags_save_string;
1539
uint32_t _flags_save_string = ndr->flags;
1540
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1541
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname));
1542
if (_ptr_portname) {
1543
NDR_PULL_ALLOC(ndr, r->portname);
1544
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->portname, _ptr_portname));
1548
ndr->flags = _flags_save_string;
1551
uint32_t _flags_save_string = ndr->flags;
1552
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1553
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_drivername));
1554
if (_ptr_drivername) {
1555
NDR_PULL_ALLOC(ndr, r->drivername);
1556
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->drivername, _ptr_drivername));
1558
r->drivername = NULL;
1560
ndr->flags = _flags_save_string;
1563
uint32_t _flags_save_string = ndr->flags;
1564
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1565
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
1567
NDR_PULL_ALLOC(ndr, r->comment);
1568
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->comment, _ptr_comment));
1572
ndr->flags = _flags_save_string;
1575
uint32_t _flags_save_string = ndr->flags;
1576
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1577
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_location));
1578
if (_ptr_location) {
1579
NDR_PULL_ALLOC(ndr, r->location);
1580
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->location, _ptr_location));
1584
ndr->flags = _flags_save_string;
1587
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
1588
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
1589
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
1591
NDR_PULL_ALLOC(ndr, r->devmode);
1592
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
1596
ndr->flags = _flags_save_spoolss_DeviceMode;
1599
uint32_t _flags_save_string = ndr->flags;
1600
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1601
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sepfile));
1603
NDR_PULL_ALLOC(ndr, r->sepfile);
1604
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->sepfile, _ptr_sepfile));
1608
ndr->flags = _flags_save_string;
1611
uint32_t _flags_save_string = ndr->flags;
1612
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1613
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printprocessor));
1614
if (_ptr_printprocessor) {
1615
NDR_PULL_ALLOC(ndr, r->printprocessor);
1616
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printprocessor, _ptr_printprocessor));
1618
r->printprocessor = NULL;
1620
ndr->flags = _flags_save_string;
1623
uint32_t _flags_save_string = ndr->flags;
1624
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1625
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
1626
if (_ptr_datatype) {
1627
NDR_PULL_ALLOC(ndr, r->datatype);
1628
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->datatype, _ptr_datatype));
1632
ndr->flags = _flags_save_string;
1635
uint32_t _flags_save_string = ndr->flags;
1636
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1637
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
1638
if (_ptr_parameters) {
1639
NDR_PULL_ALLOC(ndr, r->parameters);
1640
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->parameters, _ptr_parameters));
1642
r->parameters = NULL;
1644
ndr->flags = _flags_save_string;
1647
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
1648
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
1649
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
1651
NDR_PULL_ALLOC(ndr, r->secdesc);
1652
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
1656
ndr->flags = _flags_save_spoolss_security_descriptor;
1658
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
1659
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
1660
if (r->priority > 99) {
1661
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1663
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->defaultpriority));
1664
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->starttime));
1665
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->untiltime));
1666
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
1667
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs));
1668
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->averageppm));
1669
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1671
if (ndr_flags & NDR_BUFFERS) {
1673
uint32_t _flags_save_string = ndr->flags;
1674
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1675
if (r->servername) {
1676
uint32_t _relative_save_offset;
1677
_relative_save_offset = ndr->offset;
1678
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->servername));
1679
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
1680
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
1681
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername));
1682
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
1683
ndr->offset = _relative_save_offset;
1685
ndr->flags = _flags_save_string;
1688
uint32_t _flags_save_string = ndr->flags;
1689
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1690
if (r->printername) {
1691
uint32_t _relative_save_offset;
1692
_relative_save_offset = ndr->offset;
1693
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername));
1694
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
1695
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
1696
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
1697
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
1698
ndr->offset = _relative_save_offset;
1700
ndr->flags = _flags_save_string;
1703
uint32_t _flags_save_string = ndr->flags;
1704
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1706
uint32_t _relative_save_offset;
1707
_relative_save_offset = ndr->offset;
1708
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->sharename));
1709
_mem_save_sharename_0 = NDR_PULL_GET_MEM_CTX(ndr);
1710
NDR_PULL_SET_MEM_CTX(ndr, r->sharename, 0);
1711
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->sharename));
1712
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0);
1713
ndr->offset = _relative_save_offset;
1715
ndr->flags = _flags_save_string;
1718
uint32_t _flags_save_string = ndr->flags;
1719
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1721
uint32_t _relative_save_offset;
1722
_relative_save_offset = ndr->offset;
1723
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->portname));
1724
_mem_save_portname_0 = NDR_PULL_GET_MEM_CTX(ndr);
1725
NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0);
1726
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->portname));
1727
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0);
1728
ndr->offset = _relative_save_offset;
1730
ndr->flags = _flags_save_string;
1733
uint32_t _flags_save_string = ndr->flags;
1734
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1735
if (r->drivername) {
1736
uint32_t _relative_save_offset;
1737
_relative_save_offset = ndr->offset;
1738
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->drivername));
1739
_mem_save_drivername_0 = NDR_PULL_GET_MEM_CTX(ndr);
1740
NDR_PULL_SET_MEM_CTX(ndr, r->drivername, 0);
1741
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->drivername));
1742
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_drivername_0, 0);
1743
ndr->offset = _relative_save_offset;
1745
ndr->flags = _flags_save_string;
1748
uint32_t _flags_save_string = ndr->flags;
1749
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1751
uint32_t _relative_save_offset;
1752
_relative_save_offset = ndr->offset;
1753
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->comment));
1754
_mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
1755
NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
1756
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->comment));
1757
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
1758
ndr->offset = _relative_save_offset;
1760
ndr->flags = _flags_save_string;
1763
uint32_t _flags_save_string = ndr->flags;
1764
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1766
uint32_t _relative_save_offset;
1767
_relative_save_offset = ndr->offset;
1768
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->location));
1769
_mem_save_location_0 = NDR_PULL_GET_MEM_CTX(ndr);
1770
NDR_PULL_SET_MEM_CTX(ndr, r->location, 0);
1771
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->location));
1772
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_location_0, 0);
1773
ndr->offset = _relative_save_offset;
1775
ndr->flags = _flags_save_string;
1778
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
1779
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
1781
uint32_t _relative_save_offset;
1782
_relative_save_offset = ndr->offset;
1783
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
1784
_mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
1785
NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
1787
struct ndr_pull *_ndr_devmode;
1788
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
1789
NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
1790
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
1792
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
1793
ndr->offset = _relative_save_offset;
1795
ndr->flags = _flags_save_spoolss_DeviceMode;
1798
uint32_t _flags_save_string = ndr->flags;
1799
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1801
uint32_t _relative_save_offset;
1802
_relative_save_offset = ndr->offset;
1803
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->sepfile));
1804
_mem_save_sepfile_0 = NDR_PULL_GET_MEM_CTX(ndr);
1805
NDR_PULL_SET_MEM_CTX(ndr, r->sepfile, 0);
1806
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->sepfile));
1807
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sepfile_0, 0);
1808
ndr->offset = _relative_save_offset;
1810
ndr->flags = _flags_save_string;
1813
uint32_t _flags_save_string = ndr->flags;
1814
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1815
if (r->printprocessor) {
1816
uint32_t _relative_save_offset;
1817
_relative_save_offset = ndr->offset;
1818
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printprocessor));
1819
_mem_save_printprocessor_0 = NDR_PULL_GET_MEM_CTX(ndr);
1820
NDR_PULL_SET_MEM_CTX(ndr, r->printprocessor, 0);
1821
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printprocessor));
1822
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printprocessor_0, 0);
1823
ndr->offset = _relative_save_offset;
1825
ndr->flags = _flags_save_string;
1828
uint32_t _flags_save_string = ndr->flags;
1829
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1831
uint32_t _relative_save_offset;
1832
_relative_save_offset = ndr->offset;
1833
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->datatype));
1834
_mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
1835
NDR_PULL_SET_MEM_CTX(ndr, r->datatype, 0);
1836
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->datatype));
1837
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
1838
ndr->offset = _relative_save_offset;
1840
ndr->flags = _flags_save_string;
1843
uint32_t _flags_save_string = ndr->flags;
1844
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1845
if (r->parameters) {
1846
uint32_t _relative_save_offset;
1847
_relative_save_offset = ndr->offset;
1848
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->parameters));
1849
_mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
1850
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
1851
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->parameters));
1852
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
1853
ndr->offset = _relative_save_offset;
1855
ndr->flags = _flags_save_string;
1858
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
1859
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
1861
uint32_t _relative_save_offset;
1862
_relative_save_offset = ndr->offset;
1863
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
1864
_mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
1865
NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
1867
struct ndr_pull *_ndr_secdesc;
1868
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
1869
NDR_CHECK(ndr_pull_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
1870
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
1872
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
1873
ndr->offset = _relative_save_offset;
1875
ndr->flags = _flags_save_spoolss_security_descriptor;
1878
return NDR_ERR_SUCCESS;
1881
_PUBLIC_ void ndr_print_spoolss_PrinterInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo2 *r)
1883
ndr_print_struct(ndr, name, "spoolss_PrinterInfo2");
1885
ndr_print_ptr(ndr, "servername", r->servername);
1887
if (r->servername) {
1888
ndr_print_string(ndr, "servername", r->servername);
1891
ndr_print_ptr(ndr, "printername", r->printername);
1893
if (r->printername) {
1894
ndr_print_string(ndr, "printername", r->printername);
1897
ndr_print_ptr(ndr, "sharename", r->sharename);
1900
ndr_print_string(ndr, "sharename", r->sharename);
1903
ndr_print_ptr(ndr, "portname", r->portname);
1906
ndr_print_string(ndr, "portname", r->portname);
1909
ndr_print_ptr(ndr, "drivername", r->drivername);
1911
if (r->drivername) {
1912
ndr_print_string(ndr, "drivername", r->drivername);
1915
ndr_print_ptr(ndr, "comment", r->comment);
1918
ndr_print_string(ndr, "comment", r->comment);
1921
ndr_print_ptr(ndr, "location", r->location);
1924
ndr_print_string(ndr, "location", r->location);
1927
ndr_print_ptr(ndr, "devmode", r->devmode);
1930
ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
1933
ndr_print_ptr(ndr, "sepfile", r->sepfile);
1936
ndr_print_string(ndr, "sepfile", r->sepfile);
1939
ndr_print_ptr(ndr, "printprocessor", r->printprocessor);
1941
if (r->printprocessor) {
1942
ndr_print_string(ndr, "printprocessor", r->printprocessor);
1945
ndr_print_ptr(ndr, "datatype", r->datatype);
1948
ndr_print_string(ndr, "datatype", r->datatype);
1951
ndr_print_ptr(ndr, "parameters", r->parameters);
1953
if (r->parameters) {
1954
ndr_print_string(ndr, "parameters", r->parameters);
1957
ndr_print_ptr(ndr, "secdesc", r->secdesc);
1960
ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc);
1963
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
1964
ndr_print_uint32(ndr, "priority", r->priority);
1965
ndr_print_uint32(ndr, "defaultpriority", r->defaultpriority);
1966
ndr_print_uint32(ndr, "starttime", r->starttime);
1967
ndr_print_uint32(ndr, "untiltime", r->untiltime);
1968
ndr_print_spoolss_PrinterStatus(ndr, "status", r->status);
1969
ndr_print_uint32(ndr, "cjobs", r->cjobs);
1970
ndr_print_uint32(ndr, "averageppm", r->averageppm);
1974
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo2(const struct spoolss_PrinterInfo2 *r, struct smb_iconv_convenience *ic, int flags)
1976
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo2, ic);
1979
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo3 *r)
1981
if (ndr_flags & NDR_SCALARS) {
1982
NDR_CHECK(ndr_push_align(ndr, 5));
1984
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
1985
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
1986
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
1987
ndr->flags = _flags_save_spoolss_security_descriptor;
1989
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1991
if (ndr_flags & NDR_BUFFERS) {
1993
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
1994
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
1996
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc));
1998
struct ndr_push *_ndr_secdesc;
1999
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
2000
NDR_CHECK(ndr_push_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
2001
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
2003
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc));
2005
ndr->flags = _flags_save_spoolss_security_descriptor;
2008
return NDR_ERR_SUCCESS;
2011
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo3 *r)
2013
uint32_t _ptr_secdesc;
2014
TALLOC_CTX *_mem_save_secdesc_0;
2015
if (ndr_flags & NDR_SCALARS) {
2016
NDR_CHECK(ndr_pull_align(ndr, 5));
2018
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
2019
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2020
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
2022
NDR_PULL_ALLOC(ndr, r->secdesc);
2023
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
2027
ndr->flags = _flags_save_spoolss_security_descriptor;
2029
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2031
if (ndr_flags & NDR_BUFFERS) {
2033
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
2034
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2036
uint32_t _relative_save_offset;
2037
_relative_save_offset = ndr->offset;
2038
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
2039
_mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
2040
NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
2042
struct ndr_pull *_ndr_secdesc;
2043
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
2044
NDR_CHECK(ndr_pull_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
2045
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
2047
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
2048
ndr->offset = _relative_save_offset;
2050
ndr->flags = _flags_save_spoolss_security_descriptor;
2053
return NDR_ERR_SUCCESS;
2056
_PUBLIC_ void ndr_print_spoolss_PrinterInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo3 *r)
2058
ndr_print_struct(ndr, name, "spoolss_PrinterInfo3");
2060
ndr_print_ptr(ndr, "secdesc", r->secdesc);
2063
ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc);
2069
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo3(const struct spoolss_PrinterInfo3 *r, struct smb_iconv_convenience *ic, int flags)
2071
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo3, ic);
2074
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo4 *r)
2076
if (ndr_flags & NDR_SCALARS) {
2077
NDR_CHECK(ndr_push_align(ndr, 5));
2079
uint32_t _flags_save_string = ndr->flags;
2080
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2081
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername));
2082
ndr->flags = _flags_save_string;
2085
uint32_t _flags_save_string = ndr->flags;
2086
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2087
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->servername));
2088
ndr->flags = _flags_save_string;
2090
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
2091
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2093
if (ndr_flags & NDR_BUFFERS) {
2095
uint32_t _flags_save_string = ndr->flags;
2096
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2097
if (r->printername) {
2098
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername));
2099
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
2100
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername));
2102
ndr->flags = _flags_save_string;
2105
uint32_t _flags_save_string = ndr->flags;
2106
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2107
if (r->servername) {
2108
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->servername));
2109
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername));
2110
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->servername));
2112
ndr->flags = _flags_save_string;
2115
return NDR_ERR_SUCCESS;
2118
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo4 *r)
2120
uint32_t _ptr_printername;
2121
TALLOC_CTX *_mem_save_printername_0;
2122
uint32_t _ptr_servername;
2123
TALLOC_CTX *_mem_save_servername_0;
2124
if (ndr_flags & NDR_SCALARS) {
2125
NDR_CHECK(ndr_pull_align(ndr, 5));
2127
uint32_t _flags_save_string = ndr->flags;
2128
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2129
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
2130
if (_ptr_printername) {
2131
NDR_PULL_ALLOC(ndr, r->printername);
2132
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername));
2134
r->printername = NULL;
2136
ndr->flags = _flags_save_string;
2139
uint32_t _flags_save_string = ndr->flags;
2140
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2141
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
2142
if (_ptr_servername) {
2143
NDR_PULL_ALLOC(ndr, r->servername);
2144
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->servername, _ptr_servername));
2146
r->servername = NULL;
2148
ndr->flags = _flags_save_string;
2150
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
2151
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2153
if (ndr_flags & NDR_BUFFERS) {
2155
uint32_t _flags_save_string = ndr->flags;
2156
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2157
if (r->printername) {
2158
uint32_t _relative_save_offset;
2159
_relative_save_offset = ndr->offset;
2160
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername));
2161
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
2162
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
2163
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
2164
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
2165
ndr->offset = _relative_save_offset;
2167
ndr->flags = _flags_save_string;
2170
uint32_t _flags_save_string = ndr->flags;
2171
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2172
if (r->servername) {
2173
uint32_t _relative_save_offset;
2174
_relative_save_offset = ndr->offset;
2175
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->servername));
2176
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
2177
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
2178
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername));
2179
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
2180
ndr->offset = _relative_save_offset;
2182
ndr->flags = _flags_save_string;
2185
return NDR_ERR_SUCCESS;
2188
_PUBLIC_ void ndr_print_spoolss_PrinterInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo4 *r)
2190
ndr_print_struct(ndr, name, "spoolss_PrinterInfo4");
2192
ndr_print_ptr(ndr, "printername", r->printername);
2194
if (r->printername) {
2195
ndr_print_string(ndr, "printername", r->printername);
2198
ndr_print_ptr(ndr, "servername", r->servername);
2200
if (r->servername) {
2201
ndr_print_string(ndr, "servername", r->servername);
2204
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
2208
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo4(const struct spoolss_PrinterInfo4 *r, struct smb_iconv_convenience *ic, int flags)
2210
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo4, ic);
2213
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo5(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo5 *r)
2215
if (ndr_flags & NDR_SCALARS) {
2216
NDR_CHECK(ndr_push_align(ndr, 5));
2218
uint32_t _flags_save_string = ndr->flags;
2219
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2220
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername));
2221
ndr->flags = _flags_save_string;
2224
uint32_t _flags_save_string = ndr->flags;
2225
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2226
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->portname));
2227
ndr->flags = _flags_save_string;
2229
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
2230
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->device_not_selected_timeout));
2231
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->transmission_retry_timeout));
2232
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2234
if (ndr_flags & NDR_BUFFERS) {
2236
uint32_t _flags_save_string = ndr->flags;
2237
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2238
if (r->printername) {
2239
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername));
2240
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
2241
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername));
2243
ndr->flags = _flags_save_string;
2246
uint32_t _flags_save_string = ndr->flags;
2247
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2249
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->portname));
2250
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->portname));
2251
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->portname));
2253
ndr->flags = _flags_save_string;
2256
return NDR_ERR_SUCCESS;
2259
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo5(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo5 *r)
2261
uint32_t _ptr_printername;
2262
TALLOC_CTX *_mem_save_printername_0;
2263
uint32_t _ptr_portname;
2264
TALLOC_CTX *_mem_save_portname_0;
2265
if (ndr_flags & NDR_SCALARS) {
2266
NDR_CHECK(ndr_pull_align(ndr, 5));
2268
uint32_t _flags_save_string = ndr->flags;
2269
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2270
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
2271
if (_ptr_printername) {
2272
NDR_PULL_ALLOC(ndr, r->printername);
2273
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername));
2275
r->printername = NULL;
2277
ndr->flags = _flags_save_string;
2280
uint32_t _flags_save_string = ndr->flags;
2281
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2282
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname));
2283
if (_ptr_portname) {
2284
NDR_PULL_ALLOC(ndr, r->portname);
2285
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->portname, _ptr_portname));
2289
ndr->flags = _flags_save_string;
2291
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
2292
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->device_not_selected_timeout));
2293
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->transmission_retry_timeout));
2294
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2296
if (ndr_flags & NDR_BUFFERS) {
2298
uint32_t _flags_save_string = ndr->flags;
2299
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2300
if (r->printername) {
2301
uint32_t _relative_save_offset;
2302
_relative_save_offset = ndr->offset;
2303
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername));
2304
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
2305
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
2306
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
2307
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
2308
ndr->offset = _relative_save_offset;
2310
ndr->flags = _flags_save_string;
2313
uint32_t _flags_save_string = ndr->flags;
2314
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2316
uint32_t _relative_save_offset;
2317
_relative_save_offset = ndr->offset;
2318
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->portname));
2319
_mem_save_portname_0 = NDR_PULL_GET_MEM_CTX(ndr);
2320
NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0);
2321
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->portname));
2322
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0);
2323
ndr->offset = _relative_save_offset;
2325
ndr->flags = _flags_save_string;
2328
return NDR_ERR_SUCCESS;
2331
_PUBLIC_ void ndr_print_spoolss_PrinterInfo5(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo5 *r)
2333
ndr_print_struct(ndr, name, "spoolss_PrinterInfo5");
2335
ndr_print_ptr(ndr, "printername", r->printername);
2337
if (r->printername) {
2338
ndr_print_string(ndr, "printername", r->printername);
2341
ndr_print_ptr(ndr, "portname", r->portname);
2344
ndr_print_string(ndr, "portname", r->portname);
2347
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
2348
ndr_print_uint32(ndr, "device_not_selected_timeout", r->device_not_selected_timeout);
2349
ndr_print_uint32(ndr, "transmission_retry_timeout", r->transmission_retry_timeout);
2353
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo5(const struct spoolss_PrinterInfo5 *r, struct smb_iconv_convenience *ic, int flags)
2355
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo5, ic);
2358
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo6 *r)
2360
if (ndr_flags & NDR_SCALARS) {
2361
NDR_CHECK(ndr_push_align(ndr, 4));
2362
NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
2363
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2365
if (ndr_flags & NDR_BUFFERS) {
2367
return NDR_ERR_SUCCESS;
2370
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo6 *r)
2372
if (ndr_flags & NDR_SCALARS) {
2373
NDR_CHECK(ndr_pull_align(ndr, 4));
2374
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
2375
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2377
if (ndr_flags & NDR_BUFFERS) {
2379
return NDR_ERR_SUCCESS;
2382
_PUBLIC_ void ndr_print_spoolss_PrinterInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo6 *r)
2384
ndr_print_struct(ndr, name, "spoolss_PrinterInfo6");
2386
ndr_print_spoolss_PrinterStatus(ndr, "status", r->status);
2390
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo6(const struct spoolss_PrinterInfo6 *r, struct smb_iconv_convenience *ic, int flags)
2392
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo6, ic);
2395
static enum ndr_err_code ndr_push_spoolss_DsPrintAction(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2397
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2398
return NDR_ERR_SUCCESS;
2401
static enum ndr_err_code ndr_pull_spoolss_DsPrintAction(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2404
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2406
return NDR_ERR_SUCCESS;
2409
_PUBLIC_ void ndr_print_spoolss_DsPrintAction(struct ndr_print *ndr, const char *name, uint32_t r)
2411
ndr_print_uint32(ndr, name, r);
2413
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_PUBLISH", DSPRINT_PUBLISH, r);
2414
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_UPDATE", DSPRINT_UPDATE, r);
2415
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_UNPUBLISH", DSPRINT_UNPUBLISH, r);
2416
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_REPUBLISH", DSPRINT_REPUBLISH, r);
2417
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_PENDING", DSPRINT_PENDING, r);
2421
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo7(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo7 *r)
2423
if (ndr_flags & NDR_SCALARS) {
2424
NDR_CHECK(ndr_push_align(ndr, 5));
2426
uint32_t _flags_save_string = ndr->flags;
2427
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2428
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->guid));
2429
ndr->flags = _flags_save_string;
2431
NDR_CHECK(ndr_push_spoolss_DsPrintAction(ndr, NDR_SCALARS, r->action));
2432
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2434
if (ndr_flags & NDR_BUFFERS) {
2436
uint32_t _flags_save_string = ndr->flags;
2437
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2439
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->guid));
2440
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->guid));
2441
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->guid));
2443
ndr->flags = _flags_save_string;
2446
return NDR_ERR_SUCCESS;
2449
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo7(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo7 *r)
2452
TALLOC_CTX *_mem_save_guid_0;
2453
if (ndr_flags & NDR_SCALARS) {
2454
NDR_CHECK(ndr_pull_align(ndr, 5));
2456
uint32_t _flags_save_string = ndr->flags;
2457
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2458
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_guid));
2460
NDR_PULL_ALLOC(ndr, r->guid);
2461
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->guid, _ptr_guid));
2465
ndr->flags = _flags_save_string;
2467
NDR_CHECK(ndr_pull_spoolss_DsPrintAction(ndr, NDR_SCALARS, &r->action));
2468
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2470
if (ndr_flags & NDR_BUFFERS) {
2472
uint32_t _flags_save_string = ndr->flags;
2473
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2475
uint32_t _relative_save_offset;
2476
_relative_save_offset = ndr->offset;
2477
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->guid));
2478
_mem_save_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2479
NDR_PULL_SET_MEM_CTX(ndr, r->guid, 0);
2480
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->guid));
2481
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_guid_0, 0);
2482
ndr->offset = _relative_save_offset;
2484
ndr->flags = _flags_save_string;
2487
return NDR_ERR_SUCCESS;
2490
_PUBLIC_ void ndr_print_spoolss_PrinterInfo7(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo7 *r)
2492
ndr_print_struct(ndr, name, "spoolss_PrinterInfo7");
2494
ndr_print_ptr(ndr, "guid", r->guid);
2497
ndr_print_string(ndr, "guid", r->guid);
2500
ndr_print_spoolss_DsPrintAction(ndr, "action", r->action);
2504
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo7(const struct spoolss_PrinterInfo7 *r, struct smb_iconv_convenience *ic, int flags)
2506
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo7, ic);
2509
static enum ndr_err_code ndr_push_spoolss_DeviceModeInfo(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DeviceModeInfo *r)
2511
if (ndr_flags & NDR_SCALARS) {
2512
NDR_CHECK(ndr_push_align(ndr, 5));
2514
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
2515
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2516
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
2517
ndr->flags = _flags_save_spoolss_DeviceMode;
2519
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2521
if (ndr_flags & NDR_BUFFERS) {
2523
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
2524
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2526
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode));
2528
struct ndr_push *_ndr_devmode;
2529
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
2530
NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
2531
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
2533
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode));
2535
ndr->flags = _flags_save_spoolss_DeviceMode;
2538
return NDR_ERR_SUCCESS;
2541
static enum ndr_err_code ndr_pull_spoolss_DeviceModeInfo(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DeviceModeInfo *r)
2543
uint32_t _ptr_devmode;
2544
TALLOC_CTX *_mem_save_devmode_0;
2545
if (ndr_flags & NDR_SCALARS) {
2546
NDR_CHECK(ndr_pull_align(ndr, 5));
2548
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
2549
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2550
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
2552
NDR_PULL_ALLOC(ndr, r->devmode);
2553
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
2557
ndr->flags = _flags_save_spoolss_DeviceMode;
2559
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2561
if (ndr_flags & NDR_BUFFERS) {
2563
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
2564
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2566
uint32_t _relative_save_offset;
2567
_relative_save_offset = ndr->offset;
2568
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
2569
_mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
2570
NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
2572
struct ndr_pull *_ndr_devmode;
2573
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
2574
NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
2575
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
2577
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
2578
ndr->offset = _relative_save_offset;
2580
ndr->flags = _flags_save_spoolss_DeviceMode;
2583
return NDR_ERR_SUCCESS;
2586
_PUBLIC_ void ndr_print_spoolss_DeviceModeInfo(struct ndr_print *ndr, const char *name, const struct spoolss_DeviceModeInfo *r)
2588
ndr_print_struct(ndr, name, "spoolss_DeviceModeInfo");
2590
ndr_print_ptr(ndr, "devmode", r->devmode);
2593
ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
2599
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrinterInfo *r)
2601
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
2603
uint32_t _flags_save_UNION = ndr->flags;
2604
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
2605
if (ndr_flags & NDR_SCALARS) {
2606
int level = ndr_push_get_switch_value(ndr, r);
2607
NDR_CHECK(ndr_push_union_align(ndr, 5));
2610
NDR_CHECK(ndr_push_align(ndr, 5));
2611
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2612
NDR_CHECK(ndr_push_spoolss_PrinterInfo0(ndr, NDR_SCALARS, &r->info0));
2616
NDR_CHECK(ndr_push_align(ndr, 5));
2617
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2618
NDR_CHECK(ndr_push_spoolss_PrinterInfo1(ndr, NDR_SCALARS, &r->info1));
2622
NDR_CHECK(ndr_push_align(ndr, 5));
2623
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2624
NDR_CHECK(ndr_push_spoolss_PrinterInfo2(ndr, NDR_SCALARS, &r->info2));
2628
NDR_CHECK(ndr_push_align(ndr, 5));
2629
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2630
NDR_CHECK(ndr_push_spoolss_PrinterInfo3(ndr, NDR_SCALARS, &r->info3));
2634
NDR_CHECK(ndr_push_align(ndr, 5));
2635
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2636
NDR_CHECK(ndr_push_spoolss_PrinterInfo4(ndr, NDR_SCALARS, &r->info4));
2640
NDR_CHECK(ndr_push_align(ndr, 5));
2641
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2642
NDR_CHECK(ndr_push_spoolss_PrinterInfo5(ndr, NDR_SCALARS, &r->info5));
2646
NDR_CHECK(ndr_push_align(ndr, 4));
2647
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2648
NDR_CHECK(ndr_push_spoolss_PrinterInfo6(ndr, NDR_SCALARS, &r->info6));
2652
NDR_CHECK(ndr_push_align(ndr, 5));
2653
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2654
NDR_CHECK(ndr_push_spoolss_PrinterInfo7(ndr, NDR_SCALARS, &r->info7));
2658
NDR_CHECK(ndr_push_align(ndr, 5));
2659
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2660
NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info8));
2664
NDR_CHECK(ndr_push_align(ndr, 5));
2665
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2666
NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info9));
2674
if (ndr_flags & NDR_BUFFERS) {
2675
int level = ndr_push_get_switch_value(ndr, r);
2676
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
2679
NDR_CHECK(ndr_push_spoolss_PrinterInfo0(ndr, NDR_BUFFERS, &r->info0));
2683
NDR_CHECK(ndr_push_spoolss_PrinterInfo1(ndr, NDR_BUFFERS, &r->info1));
2687
NDR_CHECK(ndr_push_spoolss_PrinterInfo2(ndr, NDR_BUFFERS, &r->info2));
2691
NDR_CHECK(ndr_push_spoolss_PrinterInfo3(ndr, NDR_BUFFERS, &r->info3));
2695
NDR_CHECK(ndr_push_spoolss_PrinterInfo4(ndr, NDR_BUFFERS, &r->info4));
2699
NDR_CHECK(ndr_push_spoolss_PrinterInfo5(ndr, NDR_BUFFERS, &r->info5));
2706
NDR_CHECK(ndr_push_spoolss_PrinterInfo7(ndr, NDR_BUFFERS, &r->info7));
2710
NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info8));
2714
NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info9));
2722
ndr->flags = _flags_save_UNION;
2724
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
2725
return NDR_ERR_SUCCESS;
2728
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrinterInfo *r)
2730
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
2733
uint32_t _flags_save_UNION = ndr->flags;
2734
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
2735
level = ndr_pull_get_switch_value(ndr, r);
2736
if (ndr_flags & NDR_SCALARS) {
2737
NDR_CHECK(ndr_pull_union_align(ndr, 5));
2740
NDR_CHECK(ndr_pull_align(ndr, 5));
2741
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2742
NDR_CHECK(ndr_pull_spoolss_PrinterInfo0(ndr, NDR_SCALARS, &r->info0));
2746
NDR_CHECK(ndr_pull_align(ndr, 5));
2747
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2748
NDR_CHECK(ndr_pull_spoolss_PrinterInfo1(ndr, NDR_SCALARS, &r->info1));
2752
NDR_CHECK(ndr_pull_align(ndr, 5));
2753
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2754
NDR_CHECK(ndr_pull_spoolss_PrinterInfo2(ndr, NDR_SCALARS, &r->info2));
2758
NDR_CHECK(ndr_pull_align(ndr, 5));
2759
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2760
NDR_CHECK(ndr_pull_spoolss_PrinterInfo3(ndr, NDR_SCALARS, &r->info3));
2764
NDR_CHECK(ndr_pull_align(ndr, 5));
2765
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2766
NDR_CHECK(ndr_pull_spoolss_PrinterInfo4(ndr, NDR_SCALARS, &r->info4));
2770
NDR_CHECK(ndr_pull_align(ndr, 5));
2771
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2772
NDR_CHECK(ndr_pull_spoolss_PrinterInfo5(ndr, NDR_SCALARS, &r->info5));
2776
NDR_CHECK(ndr_pull_align(ndr, 4));
2777
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2778
NDR_CHECK(ndr_pull_spoolss_PrinterInfo6(ndr, NDR_SCALARS, &r->info6));
2782
NDR_CHECK(ndr_pull_align(ndr, 5));
2783
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2784
NDR_CHECK(ndr_pull_spoolss_PrinterInfo7(ndr, NDR_SCALARS, &r->info7));
2788
NDR_CHECK(ndr_pull_align(ndr, 5));
2789
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2790
NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info8));
2794
NDR_CHECK(ndr_pull_align(ndr, 5));
2795
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2796
NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info9));
2804
if (ndr_flags & NDR_BUFFERS) {
2805
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
2808
NDR_CHECK(ndr_pull_spoolss_PrinterInfo0(ndr, NDR_BUFFERS, &r->info0));
2812
NDR_CHECK(ndr_pull_spoolss_PrinterInfo1(ndr, NDR_BUFFERS, &r->info1));
2816
NDR_CHECK(ndr_pull_spoolss_PrinterInfo2(ndr, NDR_BUFFERS, &r->info2));
2820
NDR_CHECK(ndr_pull_spoolss_PrinterInfo3(ndr, NDR_BUFFERS, &r->info3));
2824
NDR_CHECK(ndr_pull_spoolss_PrinterInfo4(ndr, NDR_BUFFERS, &r->info4));
2828
NDR_CHECK(ndr_pull_spoolss_PrinterInfo5(ndr, NDR_BUFFERS, &r->info5));
2835
NDR_CHECK(ndr_pull_spoolss_PrinterInfo7(ndr, NDR_BUFFERS, &r->info7));
2839
NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info8));
2843
NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info9));
2851
ndr->flags = _flags_save_UNION;
2853
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
2854
return NDR_ERR_SUCCESS;
2857
_PUBLIC_ void ndr_print_spoolss_PrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrinterInfo *r)
2861
uint32_t _flags_save_UNION = ndr->flags;
2862
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
2863
level = ndr_print_get_switch_value(ndr, r);
2864
ndr_print_union(ndr, name, level, "spoolss_PrinterInfo");
2867
ndr_print_spoolss_PrinterInfo0(ndr, "info0", &r->info0);
2871
ndr_print_spoolss_PrinterInfo1(ndr, "info1", &r->info1);
2875
ndr_print_spoolss_PrinterInfo2(ndr, "info2", &r->info2);
2879
ndr_print_spoolss_PrinterInfo3(ndr, "info3", &r->info3);
2883
ndr_print_spoolss_PrinterInfo4(ndr, "info4", &r->info4);
2887
ndr_print_spoolss_PrinterInfo5(ndr, "info5", &r->info5);
2891
ndr_print_spoolss_PrinterInfo6(ndr, "info6", &r->info6);
2895
ndr_print_spoolss_PrinterInfo7(ndr, "info7", &r->info7);
2899
ndr_print_spoolss_DeviceModeInfo(ndr, "info8", &r->info8);
2903
ndr_print_spoolss_DeviceModeInfo(ndr, "info9", &r->info9);
2910
ndr->flags = _flags_save_UNION;
2914
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo(const union spoolss_PrinterInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
2916
flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
2917
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo, ic);
2920
static enum ndr_err_code ndr_push_spoolss_DevmodeContainer(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DevmodeContainer *r)
2922
if (ndr_flags & NDR_SCALARS) {
2923
NDR_CHECK(ndr_push_align(ndr, 5));
2924
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, _ndr_size_spoolss_DeviceMode(r->devmode, ndr->iconv_convenience, ndr->flags)));
2925
NDR_CHECK(ndr_push_unique_ptr(ndr, r->devmode));
2926
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2928
if (ndr_flags & NDR_BUFFERS) {
2931
struct ndr_push *_ndr_devmode;
2932
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 4, _ndr_size_spoolss_DeviceMode(r->devmode, ndr->iconv_convenience, ndr->flags)));
2933
NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
2934
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 4, _ndr_size_spoolss_DeviceMode(r->devmode, ndr->iconv_convenience, ndr->flags)));
2938
return NDR_ERR_SUCCESS;
2941
static enum ndr_err_code ndr_pull_spoolss_DevmodeContainer(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DevmodeContainer *r)
2943
uint32_t _ptr_devmode;
2944
TALLOC_CTX *_mem_save_devmode_0;
2945
if (ndr_flags & NDR_SCALARS) {
2946
NDR_CHECK(ndr_pull_align(ndr, 5));
2947
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size));
2948
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
2950
NDR_PULL_ALLOC(ndr, r->devmode);
2954
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2956
if (ndr_flags & NDR_BUFFERS) {
2958
_mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
2959
NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
2961
struct ndr_pull *_ndr_devmode;
2962
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 4, r->_ndr_size));
2963
NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
2964
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 4, r->_ndr_size));
2966
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
2969
return NDR_ERR_SUCCESS;
2972
_PUBLIC_ void ndr_print_spoolss_DevmodeContainer(struct ndr_print *ndr, const char *name, const struct spoolss_DevmodeContainer *r)
2974
ndr_print_struct(ndr, name, "spoolss_DevmodeContainer");
2976
ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?_ndr_size_spoolss_DeviceMode(r->devmode, ndr->iconv_convenience, ndr->flags):r->_ndr_size);
2977
ndr_print_ptr(ndr, "devmode", r->devmode);
2980
ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
2986
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo1 *r)
2988
if (ndr_flags & NDR_SCALARS) {
2989
NDR_CHECK(ndr_push_align(ndr, 5));
2990
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
2992
uint32_t _flags_save_string = ndr->flags;
2993
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2994
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printer_name));
2995
ndr->flags = _flags_save_string;
2998
uint32_t _flags_save_string = ndr->flags;
2999
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3000
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->server_name));
3001
ndr->flags = _flags_save_string;
3004
uint32_t _flags_save_string = ndr->flags;
3005
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3006
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->user_name));
3007
ndr->flags = _flags_save_string;
3010
uint32_t _flags_save_string = ndr->flags;
3011
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3012
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->document_name));
3013
ndr->flags = _flags_save_string;
3016
uint32_t _flags_save_string = ndr->flags;
3017
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3018
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_type));
3019
ndr->flags = _flags_save_string;
3022
uint32_t _flags_save_string = ndr->flags;
3023
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3024
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->text_status));
3025
ndr->flags = _flags_save_string;
3027
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
3028
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
3029
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
3030
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
3031
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
3032
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
3033
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3035
if (ndr_flags & NDR_BUFFERS) {
3037
uint32_t _flags_save_string = ndr->flags;
3038
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3039
if (r->printer_name) {
3040
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name));
3041
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name));
3042
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printer_name));
3044
ndr->flags = _flags_save_string;
3047
uint32_t _flags_save_string = ndr->flags;
3048
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3049
if (r->server_name) {
3050
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name));
3051
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name));
3052
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->server_name));
3054
ndr->flags = _flags_save_string;
3057
uint32_t _flags_save_string = ndr->flags;
3058
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3060
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name));
3061
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
3062
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->user_name));
3064
ndr->flags = _flags_save_string;
3067
uint32_t _flags_save_string = ndr->flags;
3068
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3069
if (r->document_name) {
3070
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name));
3071
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name));
3072
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->document_name));
3074
ndr->flags = _flags_save_string;
3077
uint32_t _flags_save_string = ndr->flags;
3078
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3080
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type));
3081
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type));
3082
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_type));
3084
ndr->flags = _flags_save_string;
3087
uint32_t _flags_save_string = ndr->flags;
3088
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3089
if (r->text_status) {
3090
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status));
3091
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status));
3092
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->text_status));
3094
ndr->flags = _flags_save_string;
3097
return NDR_ERR_SUCCESS;
3100
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo1 *r)
3102
uint32_t _ptr_printer_name;
3103
TALLOC_CTX *_mem_save_printer_name_0;
3104
uint32_t _ptr_server_name;
3105
TALLOC_CTX *_mem_save_server_name_0;
3106
uint32_t _ptr_user_name;
3107
TALLOC_CTX *_mem_save_user_name_0;
3108
uint32_t _ptr_document_name;
3109
TALLOC_CTX *_mem_save_document_name_0;
3110
uint32_t _ptr_data_type;
3111
TALLOC_CTX *_mem_save_data_type_0;
3112
uint32_t _ptr_text_status;
3113
TALLOC_CTX *_mem_save_text_status_0;
3114
if (ndr_flags & NDR_SCALARS) {
3115
NDR_CHECK(ndr_pull_align(ndr, 5));
3116
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
3118
uint32_t _flags_save_string = ndr->flags;
3119
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3120
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
3121
if (_ptr_printer_name) {
3122
NDR_PULL_ALLOC(ndr, r->printer_name);
3123
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printer_name, _ptr_printer_name));
3125
r->printer_name = NULL;
3127
ndr->flags = _flags_save_string;
3130
uint32_t _flags_save_string = ndr->flags;
3131
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3132
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
3133
if (_ptr_server_name) {
3134
NDR_PULL_ALLOC(ndr, r->server_name);
3135
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->server_name, _ptr_server_name));
3137
r->server_name = NULL;
3139
ndr->flags = _flags_save_string;
3142
uint32_t _flags_save_string = ndr->flags;
3143
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3144
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
3145
if (_ptr_user_name) {
3146
NDR_PULL_ALLOC(ndr, r->user_name);
3147
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->user_name, _ptr_user_name));
3149
r->user_name = NULL;
3151
ndr->flags = _flags_save_string;
3154
uint32_t _flags_save_string = ndr->flags;
3155
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3156
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
3157
if (_ptr_document_name) {
3158
NDR_PULL_ALLOC(ndr, r->document_name);
3159
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->document_name, _ptr_document_name));
3161
r->document_name = NULL;
3163
ndr->flags = _flags_save_string;
3166
uint32_t _flags_save_string = ndr->flags;
3167
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3168
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
3169
if (_ptr_data_type) {
3170
NDR_PULL_ALLOC(ndr, r->data_type);
3171
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_type, _ptr_data_type));
3173
r->data_type = NULL;
3175
ndr->flags = _flags_save_string;
3178
uint32_t _flags_save_string = ndr->flags;
3179
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3180
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
3181
if (_ptr_text_status) {
3182
NDR_PULL_ALLOC(ndr, r->text_status);
3183
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->text_status, _ptr_text_status));
3185
r->text_status = NULL;
3187
ndr->flags = _flags_save_string;
3189
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
3190
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
3191
if (r->priority > 99) {
3192
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3194
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
3195
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
3196
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
3197
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
3198
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3200
if (ndr_flags & NDR_BUFFERS) {
3202
uint32_t _flags_save_string = ndr->flags;
3203
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3204
if (r->printer_name) {
3205
uint32_t _relative_save_offset;
3206
_relative_save_offset = ndr->offset;
3207
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printer_name));
3208
_mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3209
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
3210
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printer_name));
3211
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
3212
ndr->offset = _relative_save_offset;
3214
ndr->flags = _flags_save_string;
3217
uint32_t _flags_save_string = ndr->flags;
3218
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3219
if (r->server_name) {
3220
uint32_t _relative_save_offset;
3221
_relative_save_offset = ndr->offset;
3222
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->server_name));
3223
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3224
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
3225
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->server_name));
3226
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
3227
ndr->offset = _relative_save_offset;
3229
ndr->flags = _flags_save_string;
3232
uint32_t _flags_save_string = ndr->flags;
3233
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3235
uint32_t _relative_save_offset;
3236
_relative_save_offset = ndr->offset;
3237
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->user_name));
3238
_mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3239
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
3240
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name));
3241
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
3242
ndr->offset = _relative_save_offset;
3244
ndr->flags = _flags_save_string;
3247
uint32_t _flags_save_string = ndr->flags;
3248
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3249
if (r->document_name) {
3250
uint32_t _relative_save_offset;
3251
_relative_save_offset = ndr->offset;
3252
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->document_name));
3253
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3254
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
3255
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->document_name));
3256
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
3257
ndr->offset = _relative_save_offset;
3259
ndr->flags = _flags_save_string;
3262
uint32_t _flags_save_string = ndr->flags;
3263
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3265
uint32_t _relative_save_offset;
3266
_relative_save_offset = ndr->offset;
3267
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_type));
3268
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
3269
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
3270
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_type));
3271
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
3272
ndr->offset = _relative_save_offset;
3274
ndr->flags = _flags_save_string;
3277
uint32_t _flags_save_string = ndr->flags;
3278
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3279
if (r->text_status) {
3280
uint32_t _relative_save_offset;
3281
_relative_save_offset = ndr->offset;
3282
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->text_status));
3283
_mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
3284
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
3285
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->text_status));
3286
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
3287
ndr->offset = _relative_save_offset;
3289
ndr->flags = _flags_save_string;
3292
return NDR_ERR_SUCCESS;
3295
_PUBLIC_ void ndr_print_spoolss_JobInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo1 *r)
3297
ndr_print_struct(ndr, name, "spoolss_JobInfo1");
3299
ndr_print_uint32(ndr, "job_id", r->job_id);
3300
ndr_print_ptr(ndr, "printer_name", r->printer_name);
3302
if (r->printer_name) {
3303
ndr_print_string(ndr, "printer_name", r->printer_name);
3306
ndr_print_ptr(ndr, "server_name", r->server_name);
3308
if (r->server_name) {
3309
ndr_print_string(ndr, "server_name", r->server_name);
3312
ndr_print_ptr(ndr, "user_name", r->user_name);
3315
ndr_print_string(ndr, "user_name", r->user_name);
3318
ndr_print_ptr(ndr, "document_name", r->document_name);
3320
if (r->document_name) {
3321
ndr_print_string(ndr, "document_name", r->document_name);
3324
ndr_print_ptr(ndr, "data_type", r->data_type);
3327
ndr_print_string(ndr, "data_type", r->data_type);
3330
ndr_print_ptr(ndr, "text_status", r->text_status);
3332
if (r->text_status) {
3333
ndr_print_string(ndr, "text_status", r->text_status);
3336
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
3337
ndr_print_uint32(ndr, "priority", r->priority);
3338
ndr_print_uint32(ndr, "position", r->position);
3339
ndr_print_uint32(ndr, "total_pages", r->total_pages);
3340
ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
3341
ndr_print_spoolss_Time(ndr, "submitted", &r->submitted);
3345
_PUBLIC_ size_t ndr_size_spoolss_JobInfo1(const struct spoolss_JobInfo1 *r, struct smb_iconv_convenience *ic, int flags)
3347
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo1, ic);
3350
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo2 *r)
3352
if (ndr_flags & NDR_SCALARS) {
3353
NDR_CHECK(ndr_push_align(ndr, 5));
3354
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
3356
uint32_t _flags_save_string = ndr->flags;
3357
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3358
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printer_name));
3359
ndr->flags = _flags_save_string;
3362
uint32_t _flags_save_string = ndr->flags;
3363
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3364
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->server_name));
3365
ndr->flags = _flags_save_string;
3368
uint32_t _flags_save_string = ndr->flags;
3369
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3370
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->user_name));
3371
ndr->flags = _flags_save_string;
3374
uint32_t _flags_save_string = ndr->flags;
3375
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3376
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->document_name));
3377
ndr->flags = _flags_save_string;
3380
uint32_t _flags_save_string = ndr->flags;
3381
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3382
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->notify_name));
3383
ndr->flags = _flags_save_string;
3386
uint32_t _flags_save_string = ndr->flags;
3387
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3388
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_type));
3389
ndr->flags = _flags_save_string;
3392
uint32_t _flags_save_string = ndr->flags;
3393
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3394
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor));
3395
ndr->flags = _flags_save_string;
3398
uint32_t _flags_save_string = ndr->flags;
3399
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3400
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->parameters));
3401
ndr->flags = _flags_save_string;
3404
uint32_t _flags_save_string = ndr->flags;
3405
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3406
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
3407
ndr->flags = _flags_save_string;
3410
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
3411
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3412
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
3413
ndr->flags = _flags_save_spoolss_DeviceMode;
3416
uint32_t _flags_save_string = ndr->flags;
3417
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3418
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->text_status));
3419
ndr->flags = _flags_save_string;
3422
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
3423
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3424
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
3425
ndr->flags = _flags_save_spoolss_security_descriptor;
3427
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
3428
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
3429
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
3430
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->start_time));
3431
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->until_time));
3432
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
3433
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
3434
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
3435
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time));
3436
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
3437
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3439
if (ndr_flags & NDR_BUFFERS) {
3441
uint32_t _flags_save_string = ndr->flags;
3442
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3443
if (r->printer_name) {
3444
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name));
3445
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name));
3446
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printer_name));
3448
ndr->flags = _flags_save_string;
3451
uint32_t _flags_save_string = ndr->flags;
3452
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3453
if (r->server_name) {
3454
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name));
3455
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name));
3456
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->server_name));
3458
ndr->flags = _flags_save_string;
3461
uint32_t _flags_save_string = ndr->flags;
3462
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3464
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name));
3465
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
3466
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->user_name));
3468
ndr->flags = _flags_save_string;
3471
uint32_t _flags_save_string = ndr->flags;
3472
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3473
if (r->document_name) {
3474
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name));
3475
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name));
3476
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->document_name));
3478
ndr->flags = _flags_save_string;
3481
uint32_t _flags_save_string = ndr->flags;
3482
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3483
if (r->notify_name) {
3484
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->notify_name));
3485
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->notify_name));
3486
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->notify_name));
3488
ndr->flags = _flags_save_string;
3491
uint32_t _flags_save_string = ndr->flags;
3492
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3494
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type));
3495
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type));
3496
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_type));
3498
ndr->flags = _flags_save_string;
3501
uint32_t _flags_save_string = ndr->flags;
3502
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3503
if (r->print_processor) {
3504
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor));
3505
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor));
3506
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor));
3508
ndr->flags = _flags_save_string;
3511
uint32_t _flags_save_string = ndr->flags;
3512
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3513
if (r->parameters) {
3514
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->parameters));
3515
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->parameters));
3516
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->parameters));
3518
ndr->flags = _flags_save_string;
3521
uint32_t _flags_save_string = ndr->flags;
3522
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3523
if (r->driver_name) {
3524
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
3525
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
3526
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
3528
ndr->flags = _flags_save_string;
3531
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
3532
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3534
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode));
3536
struct ndr_push *_ndr_devmode;
3537
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
3538
NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
3539
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
3541
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode));
3543
ndr->flags = _flags_save_spoolss_DeviceMode;
3546
uint32_t _flags_save_string = ndr->flags;
3547
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3548
if (r->text_status) {
3549
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status));
3550
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status));
3551
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->text_status));
3553
ndr->flags = _flags_save_string;
3556
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
3557
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3559
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc));
3561
struct ndr_push *_ndr_secdesc;
3562
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
3563
NDR_CHECK(ndr_push_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
3564
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
3566
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc));
3568
ndr->flags = _flags_save_spoolss_security_descriptor;
3571
return NDR_ERR_SUCCESS;
3574
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo2 *r)
3576
uint32_t _ptr_printer_name;
3577
TALLOC_CTX *_mem_save_printer_name_0;
3578
uint32_t _ptr_server_name;
3579
TALLOC_CTX *_mem_save_server_name_0;
3580
uint32_t _ptr_user_name;
3581
TALLOC_CTX *_mem_save_user_name_0;
3582
uint32_t _ptr_document_name;
3583
TALLOC_CTX *_mem_save_document_name_0;
3584
uint32_t _ptr_notify_name;
3585
TALLOC_CTX *_mem_save_notify_name_0;
3586
uint32_t _ptr_data_type;
3587
TALLOC_CTX *_mem_save_data_type_0;
3588
uint32_t _ptr_print_processor;
3589
TALLOC_CTX *_mem_save_print_processor_0;
3590
uint32_t _ptr_parameters;
3591
TALLOC_CTX *_mem_save_parameters_0;
3592
uint32_t _ptr_driver_name;
3593
TALLOC_CTX *_mem_save_driver_name_0;
3594
uint32_t _ptr_devmode;
3595
TALLOC_CTX *_mem_save_devmode_0;
3596
uint32_t _ptr_text_status;
3597
TALLOC_CTX *_mem_save_text_status_0;
3598
uint32_t _ptr_secdesc;
3599
TALLOC_CTX *_mem_save_secdesc_0;
3600
if (ndr_flags & NDR_SCALARS) {
3601
NDR_CHECK(ndr_pull_align(ndr, 5));
3602
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
3604
uint32_t _flags_save_string = ndr->flags;
3605
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3606
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
3607
if (_ptr_printer_name) {
3608
NDR_PULL_ALLOC(ndr, r->printer_name);
3609
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printer_name, _ptr_printer_name));
3611
r->printer_name = NULL;
3613
ndr->flags = _flags_save_string;
3616
uint32_t _flags_save_string = ndr->flags;
3617
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3618
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
3619
if (_ptr_server_name) {
3620
NDR_PULL_ALLOC(ndr, r->server_name);
3621
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->server_name, _ptr_server_name));
3623
r->server_name = NULL;
3625
ndr->flags = _flags_save_string;
3628
uint32_t _flags_save_string = ndr->flags;
3629
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3630
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
3631
if (_ptr_user_name) {
3632
NDR_PULL_ALLOC(ndr, r->user_name);
3633
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->user_name, _ptr_user_name));
3635
r->user_name = NULL;
3637
ndr->flags = _flags_save_string;
3640
uint32_t _flags_save_string = ndr->flags;
3641
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3642
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
3643
if (_ptr_document_name) {
3644
NDR_PULL_ALLOC(ndr, r->document_name);
3645
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->document_name, _ptr_document_name));
3647
r->document_name = NULL;
3649
ndr->flags = _flags_save_string;
3652
uint32_t _flags_save_string = ndr->flags;
3653
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3654
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_name));
3655
if (_ptr_notify_name) {
3656
NDR_PULL_ALLOC(ndr, r->notify_name);
3657
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->notify_name, _ptr_notify_name));
3659
r->notify_name = NULL;
3661
ndr->flags = _flags_save_string;
3664
uint32_t _flags_save_string = ndr->flags;
3665
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3666
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
3667
if (_ptr_data_type) {
3668
NDR_PULL_ALLOC(ndr, r->data_type);
3669
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_type, _ptr_data_type));
3671
r->data_type = NULL;
3673
ndr->flags = _flags_save_string;
3676
uint32_t _flags_save_string = ndr->flags;
3677
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3678
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
3679
if (_ptr_print_processor) {
3680
NDR_PULL_ALLOC(ndr, r->print_processor);
3681
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->print_processor, _ptr_print_processor));
3683
r->print_processor = NULL;
3685
ndr->flags = _flags_save_string;
3688
uint32_t _flags_save_string = ndr->flags;
3689
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3690
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
3691
if (_ptr_parameters) {
3692
NDR_PULL_ALLOC(ndr, r->parameters);
3693
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->parameters, _ptr_parameters));
3695
r->parameters = NULL;
3697
ndr->flags = _flags_save_string;
3700
uint32_t _flags_save_string = ndr->flags;
3701
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3702
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
3703
if (_ptr_driver_name) {
3704
NDR_PULL_ALLOC(ndr, r->driver_name);
3705
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
3707
r->driver_name = NULL;
3709
ndr->flags = _flags_save_string;
3712
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
3713
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3714
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
3716
NDR_PULL_ALLOC(ndr, r->devmode);
3717
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
3721
ndr->flags = _flags_save_spoolss_DeviceMode;
3724
uint32_t _flags_save_string = ndr->flags;
3725
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3726
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
3727
if (_ptr_text_status) {
3728
NDR_PULL_ALLOC(ndr, r->text_status);
3729
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->text_status, _ptr_text_status));
3731
r->text_status = NULL;
3733
ndr->flags = _flags_save_string;
3736
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
3737
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3738
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
3740
NDR_PULL_ALLOC(ndr, r->secdesc);
3741
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
3745
ndr->flags = _flags_save_spoolss_security_descriptor;
3747
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
3748
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
3749
if (r->priority > 99) {
3750
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3752
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
3753
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->start_time));
3754
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->until_time));
3755
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
3756
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
3757
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
3758
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time));
3759
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
3760
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3762
if (ndr_flags & NDR_BUFFERS) {
3764
uint32_t _flags_save_string = ndr->flags;
3765
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3766
if (r->printer_name) {
3767
uint32_t _relative_save_offset;
3768
_relative_save_offset = ndr->offset;
3769
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printer_name));
3770
_mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3771
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
3772
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printer_name));
3773
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
3774
ndr->offset = _relative_save_offset;
3776
ndr->flags = _flags_save_string;
3779
uint32_t _flags_save_string = ndr->flags;
3780
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3781
if (r->server_name) {
3782
uint32_t _relative_save_offset;
3783
_relative_save_offset = ndr->offset;
3784
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->server_name));
3785
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3786
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
3787
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->server_name));
3788
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
3789
ndr->offset = _relative_save_offset;
3791
ndr->flags = _flags_save_string;
3794
uint32_t _flags_save_string = ndr->flags;
3795
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3797
uint32_t _relative_save_offset;
3798
_relative_save_offset = ndr->offset;
3799
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->user_name));
3800
_mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3801
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
3802
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name));
3803
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
3804
ndr->offset = _relative_save_offset;
3806
ndr->flags = _flags_save_string;
3809
uint32_t _flags_save_string = ndr->flags;
3810
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3811
if (r->document_name) {
3812
uint32_t _relative_save_offset;
3813
_relative_save_offset = ndr->offset;
3814
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->document_name));
3815
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3816
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
3817
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->document_name));
3818
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
3819
ndr->offset = _relative_save_offset;
3821
ndr->flags = _flags_save_string;
3824
uint32_t _flags_save_string = ndr->flags;
3825
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3826
if (r->notify_name) {
3827
uint32_t _relative_save_offset;
3828
_relative_save_offset = ndr->offset;
3829
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->notify_name));
3830
_mem_save_notify_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3831
NDR_PULL_SET_MEM_CTX(ndr, r->notify_name, 0);
3832
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->notify_name));
3833
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_name_0, 0);
3834
ndr->offset = _relative_save_offset;
3836
ndr->flags = _flags_save_string;
3839
uint32_t _flags_save_string = ndr->flags;
3840
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3842
uint32_t _relative_save_offset;
3843
_relative_save_offset = ndr->offset;
3844
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_type));
3845
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
3846
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
3847
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_type));
3848
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
3849
ndr->offset = _relative_save_offset;
3851
ndr->flags = _flags_save_string;
3854
uint32_t _flags_save_string = ndr->flags;
3855
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3856
if (r->print_processor) {
3857
uint32_t _relative_save_offset;
3858
_relative_save_offset = ndr->offset;
3859
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->print_processor));
3860
_mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr);
3861
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
3862
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor));
3863
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
3864
ndr->offset = _relative_save_offset;
3866
ndr->flags = _flags_save_string;
3869
uint32_t _flags_save_string = ndr->flags;
3870
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3871
if (r->parameters) {
3872
uint32_t _relative_save_offset;
3873
_relative_save_offset = ndr->offset;
3874
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->parameters));
3875
_mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
3876
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
3877
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->parameters));
3878
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
3879
ndr->offset = _relative_save_offset;
3881
ndr->flags = _flags_save_string;
3884
uint32_t _flags_save_string = ndr->flags;
3885
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3886
if (r->driver_name) {
3887
uint32_t _relative_save_offset;
3888
_relative_save_offset = ndr->offset;
3889
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
3890
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3891
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
3892
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
3893
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
3894
ndr->offset = _relative_save_offset;
3896
ndr->flags = _flags_save_string;
3899
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
3900
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3902
uint32_t _relative_save_offset;
3903
_relative_save_offset = ndr->offset;
3904
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
3905
_mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
3906
NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
3908
struct ndr_pull *_ndr_devmode;
3909
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
3910
NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
3911
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
3913
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
3914
ndr->offset = _relative_save_offset;
3916
ndr->flags = _flags_save_spoolss_DeviceMode;
3919
uint32_t _flags_save_string = ndr->flags;
3920
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3921
if (r->text_status) {
3922
uint32_t _relative_save_offset;
3923
_relative_save_offset = ndr->offset;
3924
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->text_status));
3925
_mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
3926
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
3927
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->text_status));
3928
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
3929
ndr->offset = _relative_save_offset;
3931
ndr->flags = _flags_save_string;
3934
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
3935
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3937
uint32_t _relative_save_offset;
3938
_relative_save_offset = ndr->offset;
3939
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
3940
_mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
3941
NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
3943
struct ndr_pull *_ndr_secdesc;
3944
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
3945
NDR_CHECK(ndr_pull_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
3946
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
3948
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
3949
ndr->offset = _relative_save_offset;
3951
ndr->flags = _flags_save_spoolss_security_descriptor;
3954
return NDR_ERR_SUCCESS;
3957
_PUBLIC_ void ndr_print_spoolss_JobInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo2 *r)
3959
ndr_print_struct(ndr, name, "spoolss_JobInfo2");
3961
ndr_print_uint32(ndr, "job_id", r->job_id);
3962
ndr_print_ptr(ndr, "printer_name", r->printer_name);
3964
if (r->printer_name) {
3965
ndr_print_string(ndr, "printer_name", r->printer_name);
3968
ndr_print_ptr(ndr, "server_name", r->server_name);
3970
if (r->server_name) {
3971
ndr_print_string(ndr, "server_name", r->server_name);
3974
ndr_print_ptr(ndr, "user_name", r->user_name);
3977
ndr_print_string(ndr, "user_name", r->user_name);
3980
ndr_print_ptr(ndr, "document_name", r->document_name);
3982
if (r->document_name) {
3983
ndr_print_string(ndr, "document_name", r->document_name);
3986
ndr_print_ptr(ndr, "notify_name", r->notify_name);
3988
if (r->notify_name) {
3989
ndr_print_string(ndr, "notify_name", r->notify_name);
3992
ndr_print_ptr(ndr, "data_type", r->data_type);
3995
ndr_print_string(ndr, "data_type", r->data_type);
3998
ndr_print_ptr(ndr, "print_processor", r->print_processor);
4000
if (r->print_processor) {
4001
ndr_print_string(ndr, "print_processor", r->print_processor);
4004
ndr_print_ptr(ndr, "parameters", r->parameters);
4006
if (r->parameters) {
4007
ndr_print_string(ndr, "parameters", r->parameters);
4010
ndr_print_ptr(ndr, "driver_name", r->driver_name);
4012
if (r->driver_name) {
4013
ndr_print_string(ndr, "driver_name", r->driver_name);
4016
ndr_print_ptr(ndr, "devmode", r->devmode);
4019
ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
4022
ndr_print_ptr(ndr, "text_status", r->text_status);
4024
if (r->text_status) {
4025
ndr_print_string(ndr, "text_status", r->text_status);
4028
ndr_print_ptr(ndr, "secdesc", r->secdesc);
4031
ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc);
4034
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
4035
ndr_print_uint32(ndr, "priority", r->priority);
4036
ndr_print_uint32(ndr, "position", r->position);
4037
ndr_print_uint32(ndr, "start_time", r->start_time);
4038
ndr_print_uint32(ndr, "until_time", r->until_time);
4039
ndr_print_uint32(ndr, "total_pages", r->total_pages);
4040
ndr_print_uint32(ndr, "size", r->size);
4041
ndr_print_spoolss_Time(ndr, "submitted", &r->submitted);
4042
ndr_print_uint32(ndr, "time", r->time);
4043
ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
4047
_PUBLIC_ size_t ndr_size_spoolss_JobInfo2(const struct spoolss_JobInfo2 *r, struct smb_iconv_convenience *ic, int flags)
4049
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo2, ic);
4052
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo3 *r)
4054
if (ndr_flags & NDR_SCALARS) {
4055
NDR_CHECK(ndr_push_align(ndr, 4));
4056
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
4057
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->next_job_id));
4058
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
4059
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4061
if (ndr_flags & NDR_BUFFERS) {
4063
return NDR_ERR_SUCCESS;
4066
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo3 *r)
4068
if (ndr_flags & NDR_SCALARS) {
4069
NDR_CHECK(ndr_pull_align(ndr, 4));
4070
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
4071
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->next_job_id));
4072
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
4073
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4075
if (ndr_flags & NDR_BUFFERS) {
4077
return NDR_ERR_SUCCESS;
4080
_PUBLIC_ void ndr_print_spoolss_JobInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo3 *r)
4082
ndr_print_struct(ndr, name, "spoolss_JobInfo3");
4084
ndr_print_uint32(ndr, "job_id", r->job_id);
4085
ndr_print_uint32(ndr, "next_job_id", r->next_job_id);
4086
ndr_print_uint32(ndr, "reserved", r->reserved);
4090
_PUBLIC_ size_t ndr_size_spoolss_JobInfo3(const struct spoolss_JobInfo3 *r, struct smb_iconv_convenience *ic, int flags)
4092
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo3, ic);
4095
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo4 *r)
4097
if (ndr_flags & NDR_SCALARS) {
4098
NDR_CHECK(ndr_push_align(ndr, 5));
4099
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
4101
uint32_t _flags_save_string = ndr->flags;
4102
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4103
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printer_name));
4104
ndr->flags = _flags_save_string;
4107
uint32_t _flags_save_string = ndr->flags;
4108
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4109
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->server_name));
4110
ndr->flags = _flags_save_string;
4113
uint32_t _flags_save_string = ndr->flags;
4114
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4115
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->user_name));
4116
ndr->flags = _flags_save_string;
4119
uint32_t _flags_save_string = ndr->flags;
4120
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4121
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->document_name));
4122
ndr->flags = _flags_save_string;
4125
uint32_t _flags_save_string = ndr->flags;
4126
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4127
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->notify_name));
4128
ndr->flags = _flags_save_string;
4131
uint32_t _flags_save_string = ndr->flags;
4132
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4133
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_type));
4134
ndr->flags = _flags_save_string;
4137
uint32_t _flags_save_string = ndr->flags;
4138
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4139
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor));
4140
ndr->flags = _flags_save_string;
4143
uint32_t _flags_save_string = ndr->flags;
4144
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4145
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->parameters));
4146
ndr->flags = _flags_save_string;
4149
uint32_t _flags_save_string = ndr->flags;
4150
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4151
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
4152
ndr->flags = _flags_save_string;
4155
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
4156
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4157
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
4158
ndr->flags = _flags_save_spoolss_DeviceMode;
4161
uint32_t _flags_save_string = ndr->flags;
4162
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4163
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->text_status));
4164
ndr->flags = _flags_save_string;
4167
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
4168
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4169
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
4170
ndr->flags = _flags_save_spoolss_security_descriptor;
4172
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
4173
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
4174
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
4175
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->start_time));
4176
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->until_time));
4177
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
4178
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
4179
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
4180
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time));
4181
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
4182
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size_high));
4183
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4185
if (ndr_flags & NDR_BUFFERS) {
4187
uint32_t _flags_save_string = ndr->flags;
4188
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4189
if (r->printer_name) {
4190
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name));
4191
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name));
4192
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printer_name));
4194
ndr->flags = _flags_save_string;
4197
uint32_t _flags_save_string = ndr->flags;
4198
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4199
if (r->server_name) {
4200
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name));
4201
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name));
4202
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->server_name));
4204
ndr->flags = _flags_save_string;
4207
uint32_t _flags_save_string = ndr->flags;
4208
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4210
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name));
4211
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
4212
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->user_name));
4214
ndr->flags = _flags_save_string;
4217
uint32_t _flags_save_string = ndr->flags;
4218
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4219
if (r->document_name) {
4220
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name));
4221
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name));
4222
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->document_name));
4224
ndr->flags = _flags_save_string;
4227
uint32_t _flags_save_string = ndr->flags;
4228
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4229
if (r->notify_name) {
4230
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->notify_name));
4231
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->notify_name));
4232
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->notify_name));
4234
ndr->flags = _flags_save_string;
4237
uint32_t _flags_save_string = ndr->flags;
4238
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4240
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type));
4241
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type));
4242
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_type));
4244
ndr->flags = _flags_save_string;
4247
uint32_t _flags_save_string = ndr->flags;
4248
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4249
if (r->print_processor) {
4250
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor));
4251
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor));
4252
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor));
4254
ndr->flags = _flags_save_string;
4257
uint32_t _flags_save_string = ndr->flags;
4258
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4259
if (r->parameters) {
4260
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->parameters));
4261
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->parameters));
4262
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->parameters));
4264
ndr->flags = _flags_save_string;
4267
uint32_t _flags_save_string = ndr->flags;
4268
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4269
if (r->driver_name) {
4270
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
4271
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
4272
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
4274
ndr->flags = _flags_save_string;
4277
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
4278
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4280
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode));
4282
struct ndr_push *_ndr_devmode;
4283
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
4284
NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
4285
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
4287
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode));
4289
ndr->flags = _flags_save_spoolss_DeviceMode;
4292
uint32_t _flags_save_string = ndr->flags;
4293
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4294
if (r->text_status) {
4295
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status));
4296
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status));
4297
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->text_status));
4299
ndr->flags = _flags_save_string;
4302
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
4303
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4305
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc));
4307
struct ndr_push *_ndr_secdesc;
4308
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
4309
NDR_CHECK(ndr_push_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
4310
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
4312
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc));
4314
ndr->flags = _flags_save_spoolss_security_descriptor;
4317
return NDR_ERR_SUCCESS;
4320
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo4 *r)
4322
uint32_t _ptr_printer_name;
4323
TALLOC_CTX *_mem_save_printer_name_0;
4324
uint32_t _ptr_server_name;
4325
TALLOC_CTX *_mem_save_server_name_0;
4326
uint32_t _ptr_user_name;
4327
TALLOC_CTX *_mem_save_user_name_0;
4328
uint32_t _ptr_document_name;
4329
TALLOC_CTX *_mem_save_document_name_0;
4330
uint32_t _ptr_notify_name;
4331
TALLOC_CTX *_mem_save_notify_name_0;
4332
uint32_t _ptr_data_type;
4333
TALLOC_CTX *_mem_save_data_type_0;
4334
uint32_t _ptr_print_processor;
4335
TALLOC_CTX *_mem_save_print_processor_0;
4336
uint32_t _ptr_parameters;
4337
TALLOC_CTX *_mem_save_parameters_0;
4338
uint32_t _ptr_driver_name;
4339
TALLOC_CTX *_mem_save_driver_name_0;
4340
uint32_t _ptr_devmode;
4341
TALLOC_CTX *_mem_save_devmode_0;
4342
uint32_t _ptr_text_status;
4343
TALLOC_CTX *_mem_save_text_status_0;
4344
uint32_t _ptr_secdesc;
4345
TALLOC_CTX *_mem_save_secdesc_0;
4346
if (ndr_flags & NDR_SCALARS) {
4347
NDR_CHECK(ndr_pull_align(ndr, 5));
4348
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
4350
uint32_t _flags_save_string = ndr->flags;
4351
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4352
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
4353
if (_ptr_printer_name) {
4354
NDR_PULL_ALLOC(ndr, r->printer_name);
4355
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printer_name, _ptr_printer_name));
4357
r->printer_name = NULL;
4359
ndr->flags = _flags_save_string;
4362
uint32_t _flags_save_string = ndr->flags;
4363
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4364
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
4365
if (_ptr_server_name) {
4366
NDR_PULL_ALLOC(ndr, r->server_name);
4367
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->server_name, _ptr_server_name));
4369
r->server_name = NULL;
4371
ndr->flags = _flags_save_string;
4374
uint32_t _flags_save_string = ndr->flags;
4375
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4376
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
4377
if (_ptr_user_name) {
4378
NDR_PULL_ALLOC(ndr, r->user_name);
4379
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->user_name, _ptr_user_name));
4381
r->user_name = NULL;
4383
ndr->flags = _flags_save_string;
4386
uint32_t _flags_save_string = ndr->flags;
4387
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4388
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
4389
if (_ptr_document_name) {
4390
NDR_PULL_ALLOC(ndr, r->document_name);
4391
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->document_name, _ptr_document_name));
4393
r->document_name = NULL;
4395
ndr->flags = _flags_save_string;
4398
uint32_t _flags_save_string = ndr->flags;
4399
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4400
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_name));
4401
if (_ptr_notify_name) {
4402
NDR_PULL_ALLOC(ndr, r->notify_name);
4403
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->notify_name, _ptr_notify_name));
4405
r->notify_name = NULL;
4407
ndr->flags = _flags_save_string;
4410
uint32_t _flags_save_string = ndr->flags;
4411
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4412
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
4413
if (_ptr_data_type) {
4414
NDR_PULL_ALLOC(ndr, r->data_type);
4415
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_type, _ptr_data_type));
4417
r->data_type = NULL;
4419
ndr->flags = _flags_save_string;
4422
uint32_t _flags_save_string = ndr->flags;
4423
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4424
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
4425
if (_ptr_print_processor) {
4426
NDR_PULL_ALLOC(ndr, r->print_processor);
4427
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->print_processor, _ptr_print_processor));
4429
r->print_processor = NULL;
4431
ndr->flags = _flags_save_string;
4434
uint32_t _flags_save_string = ndr->flags;
4435
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4436
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
4437
if (_ptr_parameters) {
4438
NDR_PULL_ALLOC(ndr, r->parameters);
4439
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->parameters, _ptr_parameters));
4441
r->parameters = NULL;
4443
ndr->flags = _flags_save_string;
4446
uint32_t _flags_save_string = ndr->flags;
4447
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4448
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
4449
if (_ptr_driver_name) {
4450
NDR_PULL_ALLOC(ndr, r->driver_name);
4451
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
4453
r->driver_name = NULL;
4455
ndr->flags = _flags_save_string;
4458
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
4459
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4460
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
4462
NDR_PULL_ALLOC(ndr, r->devmode);
4463
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
4467
ndr->flags = _flags_save_spoolss_DeviceMode;
4470
uint32_t _flags_save_string = ndr->flags;
4471
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4472
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
4473
if (_ptr_text_status) {
4474
NDR_PULL_ALLOC(ndr, r->text_status);
4475
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->text_status, _ptr_text_status));
4477
r->text_status = NULL;
4479
ndr->flags = _flags_save_string;
4482
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
4483
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4484
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
4486
NDR_PULL_ALLOC(ndr, r->secdesc);
4487
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
4491
ndr->flags = _flags_save_spoolss_security_descriptor;
4493
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
4494
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
4495
if (r->priority > 99) {
4496
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4498
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
4499
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->start_time));
4500
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->until_time));
4501
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
4502
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
4503
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
4504
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time));
4505
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
4506
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size_high));
4507
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4509
if (ndr_flags & NDR_BUFFERS) {
4511
uint32_t _flags_save_string = ndr->flags;
4512
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4513
if (r->printer_name) {
4514
uint32_t _relative_save_offset;
4515
_relative_save_offset = ndr->offset;
4516
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printer_name));
4517
_mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4518
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
4519
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printer_name));
4520
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
4521
ndr->offset = _relative_save_offset;
4523
ndr->flags = _flags_save_string;
4526
uint32_t _flags_save_string = ndr->flags;
4527
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4528
if (r->server_name) {
4529
uint32_t _relative_save_offset;
4530
_relative_save_offset = ndr->offset;
4531
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->server_name));
4532
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4533
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
4534
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->server_name));
4535
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
4536
ndr->offset = _relative_save_offset;
4538
ndr->flags = _flags_save_string;
4541
uint32_t _flags_save_string = ndr->flags;
4542
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4544
uint32_t _relative_save_offset;
4545
_relative_save_offset = ndr->offset;
4546
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->user_name));
4547
_mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4548
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
4549
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name));
4550
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
4551
ndr->offset = _relative_save_offset;
4553
ndr->flags = _flags_save_string;
4556
uint32_t _flags_save_string = ndr->flags;
4557
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4558
if (r->document_name) {
4559
uint32_t _relative_save_offset;
4560
_relative_save_offset = ndr->offset;
4561
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->document_name));
4562
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4563
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
4564
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->document_name));
4565
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
4566
ndr->offset = _relative_save_offset;
4568
ndr->flags = _flags_save_string;
4571
uint32_t _flags_save_string = ndr->flags;
4572
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4573
if (r->notify_name) {
4574
uint32_t _relative_save_offset;
4575
_relative_save_offset = ndr->offset;
4576
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->notify_name));
4577
_mem_save_notify_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4578
NDR_PULL_SET_MEM_CTX(ndr, r->notify_name, 0);
4579
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->notify_name));
4580
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_name_0, 0);
4581
ndr->offset = _relative_save_offset;
4583
ndr->flags = _flags_save_string;
4586
uint32_t _flags_save_string = ndr->flags;
4587
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4589
uint32_t _relative_save_offset;
4590
_relative_save_offset = ndr->offset;
4591
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_type));
4592
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
4593
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
4594
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_type));
4595
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
4596
ndr->offset = _relative_save_offset;
4598
ndr->flags = _flags_save_string;
4601
uint32_t _flags_save_string = ndr->flags;
4602
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4603
if (r->print_processor) {
4604
uint32_t _relative_save_offset;
4605
_relative_save_offset = ndr->offset;
4606
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->print_processor));
4607
_mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr);
4608
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
4609
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor));
4610
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
4611
ndr->offset = _relative_save_offset;
4613
ndr->flags = _flags_save_string;
4616
uint32_t _flags_save_string = ndr->flags;
4617
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4618
if (r->parameters) {
4619
uint32_t _relative_save_offset;
4620
_relative_save_offset = ndr->offset;
4621
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->parameters));
4622
_mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
4623
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
4624
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->parameters));
4625
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
4626
ndr->offset = _relative_save_offset;
4628
ndr->flags = _flags_save_string;
4631
uint32_t _flags_save_string = ndr->flags;
4632
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4633
if (r->driver_name) {
4634
uint32_t _relative_save_offset;
4635
_relative_save_offset = ndr->offset;
4636
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
4637
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4638
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
4639
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
4640
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
4641
ndr->offset = _relative_save_offset;
4643
ndr->flags = _flags_save_string;
4646
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
4647
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4649
uint32_t _relative_save_offset;
4650
_relative_save_offset = ndr->offset;
4651
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
4652
_mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
4653
NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
4655
struct ndr_pull *_ndr_devmode;
4656
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
4657
NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
4658
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
4660
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
4661
ndr->offset = _relative_save_offset;
4663
ndr->flags = _flags_save_spoolss_DeviceMode;
4666
uint32_t _flags_save_string = ndr->flags;
4667
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4668
if (r->text_status) {
4669
uint32_t _relative_save_offset;
4670
_relative_save_offset = ndr->offset;
4671
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->text_status));
4672
_mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
4673
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
4674
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->text_status));
4675
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
4676
ndr->offset = _relative_save_offset;
4678
ndr->flags = _flags_save_string;
4681
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
4682
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4684
uint32_t _relative_save_offset;
4685
_relative_save_offset = ndr->offset;
4686
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
4687
_mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
4688
NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
4690
struct ndr_pull *_ndr_secdesc;
4691
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
4692
NDR_CHECK(ndr_pull_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
4693
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
4695
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
4696
ndr->offset = _relative_save_offset;
4698
ndr->flags = _flags_save_spoolss_security_descriptor;
4701
return NDR_ERR_SUCCESS;
4704
_PUBLIC_ void ndr_print_spoolss_JobInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo4 *r)
4706
ndr_print_struct(ndr, name, "spoolss_JobInfo4");
4708
ndr_print_uint32(ndr, "job_id", r->job_id);
4709
ndr_print_ptr(ndr, "printer_name", r->printer_name);
4711
if (r->printer_name) {
4712
ndr_print_string(ndr, "printer_name", r->printer_name);
4715
ndr_print_ptr(ndr, "server_name", r->server_name);
4717
if (r->server_name) {
4718
ndr_print_string(ndr, "server_name", r->server_name);
4721
ndr_print_ptr(ndr, "user_name", r->user_name);
4724
ndr_print_string(ndr, "user_name", r->user_name);
4727
ndr_print_ptr(ndr, "document_name", r->document_name);
4729
if (r->document_name) {
4730
ndr_print_string(ndr, "document_name", r->document_name);
4733
ndr_print_ptr(ndr, "notify_name", r->notify_name);
4735
if (r->notify_name) {
4736
ndr_print_string(ndr, "notify_name", r->notify_name);
4739
ndr_print_ptr(ndr, "data_type", r->data_type);
4742
ndr_print_string(ndr, "data_type", r->data_type);
4745
ndr_print_ptr(ndr, "print_processor", r->print_processor);
4747
if (r->print_processor) {
4748
ndr_print_string(ndr, "print_processor", r->print_processor);
4751
ndr_print_ptr(ndr, "parameters", r->parameters);
4753
if (r->parameters) {
4754
ndr_print_string(ndr, "parameters", r->parameters);
4757
ndr_print_ptr(ndr, "driver_name", r->driver_name);
4759
if (r->driver_name) {
4760
ndr_print_string(ndr, "driver_name", r->driver_name);
4763
ndr_print_ptr(ndr, "devmode", r->devmode);
4766
ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
4769
ndr_print_ptr(ndr, "text_status", r->text_status);
4771
if (r->text_status) {
4772
ndr_print_string(ndr, "text_status", r->text_status);
4775
ndr_print_ptr(ndr, "secdesc", r->secdesc);
4778
ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc);
4781
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
4782
ndr_print_uint32(ndr, "priority", r->priority);
4783
ndr_print_uint32(ndr, "position", r->position);
4784
ndr_print_uint32(ndr, "start_time", r->start_time);
4785
ndr_print_uint32(ndr, "until_time", r->until_time);
4786
ndr_print_uint32(ndr, "total_pages", r->total_pages);
4787
ndr_print_uint32(ndr, "size", r->size);
4788
ndr_print_spoolss_Time(ndr, "submitted", &r->submitted);
4789
ndr_print_uint32(ndr, "time", r->time);
4790
ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
4791
ndr_print_uint32(ndr, "size_high", r->size_high);
4795
_PUBLIC_ size_t ndr_size_spoolss_JobInfo4(const struct spoolss_JobInfo4 *r, struct smb_iconv_convenience *ic, int flags)
4797
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo4, ic);
4800
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_JobInfo *r)
4802
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
4804
uint32_t _flags_save_UNION = ndr->flags;
4805
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
4806
if (ndr_flags & NDR_SCALARS) {
4807
int level = ndr_push_get_switch_value(ndr, r);
4808
NDR_CHECK(ndr_push_union_align(ndr, 5));
4811
NDR_CHECK(ndr_push_align(ndr, 5));
4812
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
4813
NDR_CHECK(ndr_push_spoolss_JobInfo1(ndr, NDR_SCALARS, &r->info1));
4817
NDR_CHECK(ndr_push_align(ndr, 5));
4818
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
4819
NDR_CHECK(ndr_push_spoolss_JobInfo2(ndr, NDR_SCALARS, &r->info2));
4823
NDR_CHECK(ndr_push_align(ndr, 4));
4824
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
4825
NDR_CHECK(ndr_push_spoolss_JobInfo3(ndr, NDR_SCALARS, &r->info3));
4829
NDR_CHECK(ndr_push_align(ndr, 5));
4830
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
4831
NDR_CHECK(ndr_push_spoolss_JobInfo4(ndr, NDR_SCALARS, &r->info4));
4839
if (ndr_flags & NDR_BUFFERS) {
4840
int level = ndr_push_get_switch_value(ndr, r);
4841
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
4844
NDR_CHECK(ndr_push_spoolss_JobInfo1(ndr, NDR_BUFFERS, &r->info1));
4848
NDR_CHECK(ndr_push_spoolss_JobInfo2(ndr, NDR_BUFFERS, &r->info2));
4855
NDR_CHECK(ndr_push_spoolss_JobInfo4(ndr, NDR_BUFFERS, &r->info4));
4863
ndr->flags = _flags_save_UNION;
4865
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
4866
return NDR_ERR_SUCCESS;
4869
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_JobInfo *r)
4871
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
4874
uint32_t _flags_save_UNION = ndr->flags;
4875
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
4876
level = ndr_pull_get_switch_value(ndr, r);
4877
if (ndr_flags & NDR_SCALARS) {
4878
NDR_CHECK(ndr_pull_union_align(ndr, 5));
4881
NDR_CHECK(ndr_pull_align(ndr, 5));
4882
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
4883
NDR_CHECK(ndr_pull_spoolss_JobInfo1(ndr, NDR_SCALARS, &r->info1));
4887
NDR_CHECK(ndr_pull_align(ndr, 5));
4888
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
4889
NDR_CHECK(ndr_pull_spoolss_JobInfo2(ndr, NDR_SCALARS, &r->info2));
4893
NDR_CHECK(ndr_pull_align(ndr, 4));
4894
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
4895
NDR_CHECK(ndr_pull_spoolss_JobInfo3(ndr, NDR_SCALARS, &r->info3));
4899
NDR_CHECK(ndr_pull_align(ndr, 5));
4900
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
4901
NDR_CHECK(ndr_pull_spoolss_JobInfo4(ndr, NDR_SCALARS, &r->info4));
4909
if (ndr_flags & NDR_BUFFERS) {
4910
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
4913
NDR_CHECK(ndr_pull_spoolss_JobInfo1(ndr, NDR_BUFFERS, &r->info1));
4917
NDR_CHECK(ndr_pull_spoolss_JobInfo2(ndr, NDR_BUFFERS, &r->info2));
4924
NDR_CHECK(ndr_pull_spoolss_JobInfo4(ndr, NDR_BUFFERS, &r->info4));
4932
ndr->flags = _flags_save_UNION;
4934
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
4935
return NDR_ERR_SUCCESS;
4938
_PUBLIC_ void ndr_print_spoolss_JobInfo(struct ndr_print *ndr, const char *name, const union spoolss_JobInfo *r)
4942
uint32_t _flags_save_UNION = ndr->flags;
4943
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
4944
level = ndr_print_get_switch_value(ndr, r);
4945
ndr_print_union(ndr, name, level, "spoolss_JobInfo");
4948
ndr_print_spoolss_JobInfo1(ndr, "info1", &r->info1);
4952
ndr_print_spoolss_JobInfo2(ndr, "info2", &r->info2);
4956
ndr_print_spoolss_JobInfo3(ndr, "info3", &r->info3);
4960
ndr_print_spoolss_JobInfo4(ndr, "info4", &r->info4);
4967
ndr->flags = _flags_save_UNION;
4971
_PUBLIC_ size_t ndr_size_spoolss_JobInfo(const union spoolss_JobInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
4973
flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
4974
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo, ic);
4977
static enum ndr_err_code ndr_push_spoolss_SetJobInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetJobInfo1 *r)
4979
if (ndr_flags & NDR_SCALARS) {
4980
NDR_CHECK(ndr_push_align(ndr, 5));
4981
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
4982
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printer_name));
4983
NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name));
4984
NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name));
4985
NDR_CHECK(ndr_push_unique_ptr(ndr, r->document_name));
4986
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_type));
4987
NDR_CHECK(ndr_push_unique_ptr(ndr, r->text_status));
4988
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
4989
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
4990
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
4991
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
4992
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
4993
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
4994
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4996
if (ndr_flags & NDR_BUFFERS) {
4997
if (r->printer_name) {
4998
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16)));
4999
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5000
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16)));
5001
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printer_name, ndr_charset_length(r->printer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5003
if (r->server_name) {
5004
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
5005
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5006
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
5007
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5010
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
5011
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5012
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
5013
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5015
if (r->document_name) {
5016
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
5017
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5018
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
5019
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->document_name, ndr_charset_length(r->document_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5022
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16)));
5023
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5024
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16)));
5025
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_type, ndr_charset_length(r->data_type, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5027
if (r->text_status) {
5028
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16)));
5029
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5030
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16)));
5031
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->text_status, ndr_charset_length(r->text_status, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5034
return NDR_ERR_SUCCESS;
5037
static enum ndr_err_code ndr_pull_spoolss_SetJobInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetJobInfo1 *r)
5039
uint32_t _ptr_printer_name;
5040
TALLOC_CTX *_mem_save_printer_name_0;
5041
uint32_t _ptr_server_name;
5042
TALLOC_CTX *_mem_save_server_name_0;
5043
uint32_t _ptr_user_name;
5044
TALLOC_CTX *_mem_save_user_name_0;
5045
uint32_t _ptr_document_name;
5046
TALLOC_CTX *_mem_save_document_name_0;
5047
uint32_t _ptr_data_type;
5048
TALLOC_CTX *_mem_save_data_type_0;
5049
uint32_t _ptr_text_status;
5050
TALLOC_CTX *_mem_save_text_status_0;
5051
if (ndr_flags & NDR_SCALARS) {
5052
NDR_CHECK(ndr_pull_align(ndr, 5));
5053
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
5054
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
5055
if (_ptr_printer_name) {
5056
NDR_PULL_ALLOC(ndr, r->printer_name);
5058
r->printer_name = NULL;
5060
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
5061
if (_ptr_server_name) {
5062
NDR_PULL_ALLOC(ndr, r->server_name);
5064
r->server_name = NULL;
5066
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
5067
if (_ptr_user_name) {
5068
NDR_PULL_ALLOC(ndr, r->user_name);
5070
r->user_name = NULL;
5072
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
5073
if (_ptr_document_name) {
5074
NDR_PULL_ALLOC(ndr, r->document_name);
5076
r->document_name = NULL;
5078
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
5079
if (_ptr_data_type) {
5080
NDR_PULL_ALLOC(ndr, r->data_type);
5082
r->data_type = NULL;
5084
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
5085
if (_ptr_text_status) {
5086
NDR_PULL_ALLOC(ndr, r->text_status);
5088
r->text_status = NULL;
5090
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
5091
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
5092
if (r->priority > 99) {
5093
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5095
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
5096
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
5097
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
5098
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
5099
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5101
if (ndr_flags & NDR_BUFFERS) {
5102
if (r->printer_name) {
5103
_mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5104
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
5105
NDR_CHECK(ndr_pull_array_size(ndr, &r->printer_name));
5106
NDR_CHECK(ndr_pull_array_length(ndr, &r->printer_name));
5107
if (ndr_get_array_length(ndr, &r->printer_name) > ndr_get_array_size(ndr, &r->printer_name)) {
5108
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->printer_name), ndr_get_array_length(ndr, &r->printer_name));
5110
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t)));
5111
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printer_name, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t), CH_UTF16));
5112
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
5114
if (r->server_name) {
5115
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5116
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
5117
NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
5118
NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
5119
if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
5120
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name));
5122
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));
5123
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));
5124
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
5127
_mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5128
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
5129
NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name));
5130
NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name));
5131
if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) {
5132
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user_name), ndr_get_array_length(ndr, &r->user_name));
5134
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t)));
5135
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16));
5136
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
5138
if (r->document_name) {
5139
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5140
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
5141
NDR_CHECK(ndr_pull_array_size(ndr, &r->document_name));
5142
NDR_CHECK(ndr_pull_array_length(ndr, &r->document_name));
5143
if (ndr_get_array_length(ndr, &r->document_name) > ndr_get_array_size(ndr, &r->document_name)) {
5144
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->document_name), ndr_get_array_length(ndr, &r->document_name));
5146
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t)));
5147
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->document_name, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t), CH_UTF16));
5148
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
5151
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
5152
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
5153
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_type));
5154
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_type));
5155
if (ndr_get_array_length(ndr, &r->data_type) > ndr_get_array_size(ndr, &r->data_type)) {
5156
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data_type), ndr_get_array_length(ndr, &r->data_type));
5158
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t)));
5159
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_type, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t), CH_UTF16));
5160
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
5162
if (r->text_status) {
5163
_mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
5164
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
5165
NDR_CHECK(ndr_pull_array_size(ndr, &r->text_status));
5166
NDR_CHECK(ndr_pull_array_length(ndr, &r->text_status));
5167
if (ndr_get_array_length(ndr, &r->text_status) > ndr_get_array_size(ndr, &r->text_status)) {
5168
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->text_status), ndr_get_array_length(ndr, &r->text_status));
5170
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t)));
5171
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->text_status, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t), CH_UTF16));
5172
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
5175
return NDR_ERR_SUCCESS;
5178
_PUBLIC_ void ndr_print_spoolss_SetJobInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_SetJobInfo1 *r)
5180
ndr_print_struct(ndr, name, "spoolss_SetJobInfo1");
5182
ndr_print_uint32(ndr, "job_id", r->job_id);
5183
ndr_print_ptr(ndr, "printer_name", r->printer_name);
5185
if (r->printer_name) {
5186
ndr_print_string(ndr, "printer_name", r->printer_name);
5189
ndr_print_ptr(ndr, "server_name", r->server_name);
5191
if (r->server_name) {
5192
ndr_print_string(ndr, "server_name", r->server_name);
5195
ndr_print_ptr(ndr, "user_name", r->user_name);
5198
ndr_print_string(ndr, "user_name", r->user_name);
5201
ndr_print_ptr(ndr, "document_name", r->document_name);
5203
if (r->document_name) {
5204
ndr_print_string(ndr, "document_name", r->document_name);
5207
ndr_print_ptr(ndr, "data_type", r->data_type);
5210
ndr_print_string(ndr, "data_type", r->data_type);
5213
ndr_print_ptr(ndr, "text_status", r->text_status);
5215
if (r->text_status) {
5216
ndr_print_string(ndr, "text_status", r->text_status);
5219
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
5220
ndr_print_uint32(ndr, "priority", r->priority);
5221
ndr_print_uint32(ndr, "position", r->position);
5222
ndr_print_uint32(ndr, "total_pages", r->total_pages);
5223
ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
5224
ndr_print_spoolss_Time(ndr, "submitted", &r->submitted);
5228
static enum ndr_err_code ndr_push_spoolss_SetJobInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetJobInfo2 *r)
5230
if (ndr_flags & NDR_SCALARS) {
5231
NDR_CHECK(ndr_push_align(ndr, 5));
5232
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
5233
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printer_name));
5234
NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name));
5235
NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name));
5236
NDR_CHECK(ndr_push_unique_ptr(ndr, r->document_name));
5237
NDR_CHECK(ndr_push_unique_ptr(ndr, r->notify_name));
5238
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_type));
5239
NDR_CHECK(ndr_push_unique_ptr(ndr, r->print_processor));
5240
NDR_CHECK(ndr_push_unique_ptr(ndr, r->parameters));
5241
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
5242
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->_devmode_ptr));
5243
NDR_CHECK(ndr_push_unique_ptr(ndr, r->text_status));
5244
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->_secdesc_ptr));
5245
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
5246
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
5247
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
5248
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->start_time));
5249
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->until_time));
5250
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
5251
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
5252
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
5253
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time));
5254
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
5255
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5257
if (ndr_flags & NDR_BUFFERS) {
5258
if (r->printer_name) {
5259
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16)));
5260
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5261
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16)));
5262
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printer_name, ndr_charset_length(r->printer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5264
if (r->server_name) {
5265
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
5266
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5267
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
5268
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5271
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
5272
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5273
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
5274
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5276
if (r->document_name) {
5277
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
5278
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5279
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
5280
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->document_name, ndr_charset_length(r->document_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5282
if (r->notify_name) {
5283
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->notify_name, CH_UTF16)));
5284
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5285
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->notify_name, CH_UTF16)));
5286
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->notify_name, ndr_charset_length(r->notify_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5289
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16)));
5290
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5291
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16)));
5292
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_type, ndr_charset_length(r->data_type, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5294
if (r->print_processor) {
5295
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16)));
5296
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5297
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16)));
5298
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->print_processor, ndr_charset_length(r->print_processor, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5300
if (r->parameters) {
5301
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
5302
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5303
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
5304
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->parameters, ndr_charset_length(r->parameters, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5306
if (r->driver_name) {
5307
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
5308
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5309
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
5310
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5312
if (r->text_status) {
5313
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16)));
5314
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5315
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16)));
5316
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->text_status, ndr_charset_length(r->text_status, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5319
return NDR_ERR_SUCCESS;
5322
static enum ndr_err_code ndr_pull_spoolss_SetJobInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetJobInfo2 *r)
5324
uint32_t _ptr_printer_name;
5325
TALLOC_CTX *_mem_save_printer_name_0;
5326
uint32_t _ptr_server_name;
5327
TALLOC_CTX *_mem_save_server_name_0;
5328
uint32_t _ptr_user_name;
5329
TALLOC_CTX *_mem_save_user_name_0;
5330
uint32_t _ptr_document_name;
5331
TALLOC_CTX *_mem_save_document_name_0;
5332
uint32_t _ptr_notify_name;
5333
TALLOC_CTX *_mem_save_notify_name_0;
5334
uint32_t _ptr_data_type;
5335
TALLOC_CTX *_mem_save_data_type_0;
5336
uint32_t _ptr_print_processor;
5337
TALLOC_CTX *_mem_save_print_processor_0;
5338
uint32_t _ptr_parameters;
5339
TALLOC_CTX *_mem_save_parameters_0;
5340
uint32_t _ptr_driver_name;
5341
TALLOC_CTX *_mem_save_driver_name_0;
5342
uint32_t _ptr_text_status;
5343
TALLOC_CTX *_mem_save_text_status_0;
5344
if (ndr_flags & NDR_SCALARS) {
5345
NDR_CHECK(ndr_pull_align(ndr, 5));
5346
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
5347
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
5348
if (_ptr_printer_name) {
5349
NDR_PULL_ALLOC(ndr, r->printer_name);
5351
r->printer_name = NULL;
5353
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
5354
if (_ptr_server_name) {
5355
NDR_PULL_ALLOC(ndr, r->server_name);
5357
r->server_name = NULL;
5359
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
5360
if (_ptr_user_name) {
5361
NDR_PULL_ALLOC(ndr, r->user_name);
5363
r->user_name = NULL;
5365
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
5366
if (_ptr_document_name) {
5367
NDR_PULL_ALLOC(ndr, r->document_name);
5369
r->document_name = NULL;
5371
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_name));
5372
if (_ptr_notify_name) {
5373
NDR_PULL_ALLOC(ndr, r->notify_name);
5375
r->notify_name = NULL;
5377
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
5378
if (_ptr_data_type) {
5379
NDR_PULL_ALLOC(ndr, r->data_type);
5381
r->data_type = NULL;
5383
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
5384
if (_ptr_print_processor) {
5385
NDR_PULL_ALLOC(ndr, r->print_processor);
5387
r->print_processor = NULL;
5389
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
5390
if (_ptr_parameters) {
5391
NDR_PULL_ALLOC(ndr, r->parameters);
5393
r->parameters = NULL;
5395
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
5396
if (_ptr_driver_name) {
5397
NDR_PULL_ALLOC(ndr, r->driver_name);
5399
r->driver_name = NULL;
5401
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_devmode_ptr));
5402
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
5403
if (_ptr_text_status) {
5404
NDR_PULL_ALLOC(ndr, r->text_status);
5406
r->text_status = NULL;
5408
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_secdesc_ptr));
5409
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
5410
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
5411
if (r->priority > 99) {
5412
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5414
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
5415
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->start_time));
5416
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->until_time));
5417
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
5418
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
5419
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
5420
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time));
5421
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
5422
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5424
if (ndr_flags & NDR_BUFFERS) {
5425
if (r->printer_name) {
5426
_mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5427
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
5428
NDR_CHECK(ndr_pull_array_size(ndr, &r->printer_name));
5429
NDR_CHECK(ndr_pull_array_length(ndr, &r->printer_name));
5430
if (ndr_get_array_length(ndr, &r->printer_name) > ndr_get_array_size(ndr, &r->printer_name)) {
5431
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->printer_name), ndr_get_array_length(ndr, &r->printer_name));
5433
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t)));
5434
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printer_name, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t), CH_UTF16));
5435
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
5437
if (r->server_name) {
5438
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5439
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
5440
NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
5441
NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
5442
if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
5443
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name));
5445
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));
5446
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));
5447
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
5450
_mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5451
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
5452
NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name));
5453
NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name));
5454
if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) {
5455
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user_name), ndr_get_array_length(ndr, &r->user_name));
5457
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t)));
5458
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16));
5459
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
5461
if (r->document_name) {
5462
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5463
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
5464
NDR_CHECK(ndr_pull_array_size(ndr, &r->document_name));
5465
NDR_CHECK(ndr_pull_array_length(ndr, &r->document_name));
5466
if (ndr_get_array_length(ndr, &r->document_name) > ndr_get_array_size(ndr, &r->document_name)) {
5467
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->document_name), ndr_get_array_length(ndr, &r->document_name));
5469
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t)));
5470
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->document_name, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t), CH_UTF16));
5471
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
5473
if (r->notify_name) {
5474
_mem_save_notify_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5475
NDR_PULL_SET_MEM_CTX(ndr, r->notify_name, 0);
5476
NDR_CHECK(ndr_pull_array_size(ndr, &r->notify_name));
5477
NDR_CHECK(ndr_pull_array_length(ndr, &r->notify_name));
5478
if (ndr_get_array_length(ndr, &r->notify_name) > ndr_get_array_size(ndr, &r->notify_name)) {
5479
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->notify_name), ndr_get_array_length(ndr, &r->notify_name));
5481
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->notify_name), sizeof(uint16_t)));
5482
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->notify_name, ndr_get_array_length(ndr, &r->notify_name), sizeof(uint16_t), CH_UTF16));
5483
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_name_0, 0);
5486
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
5487
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
5488
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_type));
5489
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_type));
5490
if (ndr_get_array_length(ndr, &r->data_type) > ndr_get_array_size(ndr, &r->data_type)) {
5491
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data_type), ndr_get_array_length(ndr, &r->data_type));
5493
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t)));
5494
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_type, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t), CH_UTF16));
5495
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
5497
if (r->print_processor) {
5498
_mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr);
5499
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
5500
NDR_CHECK(ndr_pull_array_size(ndr, &r->print_processor));
5501
NDR_CHECK(ndr_pull_array_length(ndr, &r->print_processor));
5502
if (ndr_get_array_length(ndr, &r->print_processor) > ndr_get_array_size(ndr, &r->print_processor)) {
5503
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->print_processor), ndr_get_array_length(ndr, &r->print_processor));
5505
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t)));
5506
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->print_processor, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t), CH_UTF16));
5507
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
5509
if (r->parameters) {
5510
_mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
5511
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
5512
NDR_CHECK(ndr_pull_array_size(ndr, &r->parameters));
5513
NDR_CHECK(ndr_pull_array_length(ndr, &r->parameters));
5514
if (ndr_get_array_length(ndr, &r->parameters) > ndr_get_array_size(ndr, &r->parameters)) {
5515
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->parameters), ndr_get_array_length(ndr, &r->parameters));
5517
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t)));
5518
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->parameters, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t), CH_UTF16));
5519
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
5521
if (r->driver_name) {
5522
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5523
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
5524
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
5525
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
5526
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
5527
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_name), ndr_get_array_length(ndr, &r->driver_name));
5529
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
5530
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
5531
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
5533
if (r->text_status) {
5534
_mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
5535
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
5536
NDR_CHECK(ndr_pull_array_size(ndr, &r->text_status));
5537
NDR_CHECK(ndr_pull_array_length(ndr, &r->text_status));
5538
if (ndr_get_array_length(ndr, &r->text_status) > ndr_get_array_size(ndr, &r->text_status)) {
5539
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->text_status), ndr_get_array_length(ndr, &r->text_status));
5541
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t)));
5542
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->text_status, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t), CH_UTF16));
5543
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
5546
return NDR_ERR_SUCCESS;
5549
_PUBLIC_ void ndr_print_spoolss_SetJobInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_SetJobInfo2 *r)
5551
ndr_print_struct(ndr, name, "spoolss_SetJobInfo2");
5553
ndr_print_uint32(ndr, "job_id", r->job_id);
5554
ndr_print_ptr(ndr, "printer_name", r->printer_name);
5556
if (r->printer_name) {
5557
ndr_print_string(ndr, "printer_name", r->printer_name);
5560
ndr_print_ptr(ndr, "server_name", r->server_name);
5562
if (r->server_name) {
5563
ndr_print_string(ndr, "server_name", r->server_name);
5566
ndr_print_ptr(ndr, "user_name", r->user_name);
5569
ndr_print_string(ndr, "user_name", r->user_name);
5572
ndr_print_ptr(ndr, "document_name", r->document_name);
5574
if (r->document_name) {
5575
ndr_print_string(ndr, "document_name", r->document_name);
5578
ndr_print_ptr(ndr, "notify_name", r->notify_name);
5580
if (r->notify_name) {
5581
ndr_print_string(ndr, "notify_name", r->notify_name);
5584
ndr_print_ptr(ndr, "data_type", r->data_type);
5587
ndr_print_string(ndr, "data_type", r->data_type);
5590
ndr_print_ptr(ndr, "print_processor", r->print_processor);
5592
if (r->print_processor) {
5593
ndr_print_string(ndr, "print_processor", r->print_processor);
5596
ndr_print_ptr(ndr, "parameters", r->parameters);
5598
if (r->parameters) {
5599
ndr_print_string(ndr, "parameters", r->parameters);
5602
ndr_print_ptr(ndr, "driver_name", r->driver_name);
5604
if (r->driver_name) {
5605
ndr_print_string(ndr, "driver_name", r->driver_name);
5608
ndr_print_uint32(ndr, "_devmode_ptr", r->_devmode_ptr);
5609
ndr_print_ptr(ndr, "text_status", r->text_status);
5611
if (r->text_status) {
5612
ndr_print_string(ndr, "text_status", r->text_status);
5615
ndr_print_uint32(ndr, "_secdesc_ptr", r->_secdesc_ptr);
5616
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
5617
ndr_print_uint32(ndr, "priority", r->priority);
5618
ndr_print_uint32(ndr, "position", r->position);
5619
ndr_print_uint32(ndr, "start_time", r->start_time);
5620
ndr_print_uint32(ndr, "until_time", r->until_time);
5621
ndr_print_uint32(ndr, "total_pages", r->total_pages);
5622
ndr_print_uint32(ndr, "size", r->size);
5623
ndr_print_spoolss_Time(ndr, "submitted", &r->submitted);
5624
ndr_print_uint32(ndr, "time", r->time);
5625
ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
5629
static enum ndr_err_code ndr_push_spoolss_SetJobInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetJobInfo4 *r)
5631
if (ndr_flags & NDR_SCALARS) {
5632
NDR_CHECK(ndr_push_align(ndr, 5));
5633
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
5634
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printer_name));
5635
NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name));
5636
NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name));
5637
NDR_CHECK(ndr_push_unique_ptr(ndr, r->document_name));
5638
NDR_CHECK(ndr_push_unique_ptr(ndr, r->notify_name));
5639
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_type));
5640
NDR_CHECK(ndr_push_unique_ptr(ndr, r->print_processor));
5641
NDR_CHECK(ndr_push_unique_ptr(ndr, r->parameters));
5642
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
5643
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->_devmode_ptr));
5644
NDR_CHECK(ndr_push_unique_ptr(ndr, r->text_status));
5645
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->_secdesc_ptr));
5646
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
5647
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
5648
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
5649
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->start_time));
5650
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->until_time));
5651
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
5652
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
5653
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
5654
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time));
5655
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
5656
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size_high));
5657
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5659
if (ndr_flags & NDR_BUFFERS) {
5660
if (r->printer_name) {
5661
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16)));
5662
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5663
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16)));
5664
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printer_name, ndr_charset_length(r->printer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5666
if (r->server_name) {
5667
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
5668
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5669
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
5670
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5673
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
5674
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5675
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
5676
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5678
if (r->document_name) {
5679
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
5680
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5681
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
5682
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->document_name, ndr_charset_length(r->document_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5684
if (r->notify_name) {
5685
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->notify_name, CH_UTF16)));
5686
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5687
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->notify_name, CH_UTF16)));
5688
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->notify_name, ndr_charset_length(r->notify_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5691
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16)));
5692
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5693
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16)));
5694
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_type, ndr_charset_length(r->data_type, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5696
if (r->print_processor) {
5697
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16)));
5698
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5699
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16)));
5700
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->print_processor, ndr_charset_length(r->print_processor, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5702
if (r->parameters) {
5703
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
5704
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5705
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
5706
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->parameters, ndr_charset_length(r->parameters, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5708
if (r->driver_name) {
5709
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
5710
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5711
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
5712
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5714
if (r->text_status) {
5715
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16)));
5716
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5717
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16)));
5718
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->text_status, ndr_charset_length(r->text_status, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5721
return NDR_ERR_SUCCESS;
5724
static enum ndr_err_code ndr_pull_spoolss_SetJobInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetJobInfo4 *r)
5726
uint32_t _ptr_printer_name;
5727
TALLOC_CTX *_mem_save_printer_name_0;
5728
uint32_t _ptr_server_name;
5729
TALLOC_CTX *_mem_save_server_name_0;
5730
uint32_t _ptr_user_name;
5731
TALLOC_CTX *_mem_save_user_name_0;
5732
uint32_t _ptr_document_name;
5733
TALLOC_CTX *_mem_save_document_name_0;
5734
uint32_t _ptr_notify_name;
5735
TALLOC_CTX *_mem_save_notify_name_0;
5736
uint32_t _ptr_data_type;
5737
TALLOC_CTX *_mem_save_data_type_0;
5738
uint32_t _ptr_print_processor;
5739
TALLOC_CTX *_mem_save_print_processor_0;
5740
uint32_t _ptr_parameters;
5741
TALLOC_CTX *_mem_save_parameters_0;
5742
uint32_t _ptr_driver_name;
5743
TALLOC_CTX *_mem_save_driver_name_0;
5744
uint32_t _ptr_text_status;
5745
TALLOC_CTX *_mem_save_text_status_0;
5746
if (ndr_flags & NDR_SCALARS) {
5747
NDR_CHECK(ndr_pull_align(ndr, 5));
5748
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
5749
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
5750
if (_ptr_printer_name) {
5751
NDR_PULL_ALLOC(ndr, r->printer_name);
5753
r->printer_name = NULL;
5755
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
5756
if (_ptr_server_name) {
5757
NDR_PULL_ALLOC(ndr, r->server_name);
5759
r->server_name = NULL;
5761
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
5762
if (_ptr_user_name) {
5763
NDR_PULL_ALLOC(ndr, r->user_name);
5765
r->user_name = NULL;
5767
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
5768
if (_ptr_document_name) {
5769
NDR_PULL_ALLOC(ndr, r->document_name);
5771
r->document_name = NULL;
5773
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_name));
5774
if (_ptr_notify_name) {
5775
NDR_PULL_ALLOC(ndr, r->notify_name);
5777
r->notify_name = NULL;
5779
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
5780
if (_ptr_data_type) {
5781
NDR_PULL_ALLOC(ndr, r->data_type);
5783
r->data_type = NULL;
5785
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
5786
if (_ptr_print_processor) {
5787
NDR_PULL_ALLOC(ndr, r->print_processor);
5789
r->print_processor = NULL;
5791
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
5792
if (_ptr_parameters) {
5793
NDR_PULL_ALLOC(ndr, r->parameters);
5795
r->parameters = NULL;
5797
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
5798
if (_ptr_driver_name) {
5799
NDR_PULL_ALLOC(ndr, r->driver_name);
5801
r->driver_name = NULL;
5803
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_devmode_ptr));
5804
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
5805
if (_ptr_text_status) {
5806
NDR_PULL_ALLOC(ndr, r->text_status);
5808
r->text_status = NULL;
5810
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_secdesc_ptr));
5811
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
5812
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
5813
if (r->priority > 99) {
5814
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5816
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
5817
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->start_time));
5818
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->until_time));
5819
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
5820
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
5821
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
5822
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time));
5823
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
5824
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size_high));
5825
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5827
if (ndr_flags & NDR_BUFFERS) {
5828
if (r->printer_name) {
5829
_mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5830
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
5831
NDR_CHECK(ndr_pull_array_size(ndr, &r->printer_name));
5832
NDR_CHECK(ndr_pull_array_length(ndr, &r->printer_name));
5833
if (ndr_get_array_length(ndr, &r->printer_name) > ndr_get_array_size(ndr, &r->printer_name)) {
5834
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->printer_name), ndr_get_array_length(ndr, &r->printer_name));
5836
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t)));
5837
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printer_name, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t), CH_UTF16));
5838
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
5840
if (r->server_name) {
5841
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5842
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
5843
NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
5844
NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
5845
if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
5846
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name));
5848
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));
5849
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));
5850
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
5853
_mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5854
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
5855
NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name));
5856
NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name));
5857
if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) {
5858
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user_name), ndr_get_array_length(ndr, &r->user_name));
5860
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t)));
5861
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16));
5862
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
5864
if (r->document_name) {
5865
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5866
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
5867
NDR_CHECK(ndr_pull_array_size(ndr, &r->document_name));
5868
NDR_CHECK(ndr_pull_array_length(ndr, &r->document_name));
5869
if (ndr_get_array_length(ndr, &r->document_name) > ndr_get_array_size(ndr, &r->document_name)) {
5870
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->document_name), ndr_get_array_length(ndr, &r->document_name));
5872
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t)));
5873
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->document_name, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t), CH_UTF16));
5874
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
5876
if (r->notify_name) {
5877
_mem_save_notify_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5878
NDR_PULL_SET_MEM_CTX(ndr, r->notify_name, 0);
5879
NDR_CHECK(ndr_pull_array_size(ndr, &r->notify_name));
5880
NDR_CHECK(ndr_pull_array_length(ndr, &r->notify_name));
5881
if (ndr_get_array_length(ndr, &r->notify_name) > ndr_get_array_size(ndr, &r->notify_name)) {
5882
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->notify_name), ndr_get_array_length(ndr, &r->notify_name));
5884
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->notify_name), sizeof(uint16_t)));
5885
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->notify_name, ndr_get_array_length(ndr, &r->notify_name), sizeof(uint16_t), CH_UTF16));
5886
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_name_0, 0);
5889
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
5890
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
5891
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_type));
5892
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_type));
5893
if (ndr_get_array_length(ndr, &r->data_type) > ndr_get_array_size(ndr, &r->data_type)) {
5894
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data_type), ndr_get_array_length(ndr, &r->data_type));
5896
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t)));
5897
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_type, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t), CH_UTF16));
5898
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
5900
if (r->print_processor) {
5901
_mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr);
5902
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
5903
NDR_CHECK(ndr_pull_array_size(ndr, &r->print_processor));
5904
NDR_CHECK(ndr_pull_array_length(ndr, &r->print_processor));
5905
if (ndr_get_array_length(ndr, &r->print_processor) > ndr_get_array_size(ndr, &r->print_processor)) {
5906
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->print_processor), ndr_get_array_length(ndr, &r->print_processor));
5908
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t)));
5909
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->print_processor, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t), CH_UTF16));
5910
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
5912
if (r->parameters) {
5913
_mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
5914
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
5915
NDR_CHECK(ndr_pull_array_size(ndr, &r->parameters));
5916
NDR_CHECK(ndr_pull_array_length(ndr, &r->parameters));
5917
if (ndr_get_array_length(ndr, &r->parameters) > ndr_get_array_size(ndr, &r->parameters)) {
5918
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->parameters), ndr_get_array_length(ndr, &r->parameters));
5920
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t)));
5921
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->parameters, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t), CH_UTF16));
5922
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
5924
if (r->driver_name) {
5925
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5926
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
5927
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
5928
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
5929
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
5930
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_name), ndr_get_array_length(ndr, &r->driver_name));
5932
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
5933
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
5934
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
5936
if (r->text_status) {
5937
_mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
5938
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
5939
NDR_CHECK(ndr_pull_array_size(ndr, &r->text_status));
5940
NDR_CHECK(ndr_pull_array_length(ndr, &r->text_status));
5941
if (ndr_get_array_length(ndr, &r->text_status) > ndr_get_array_size(ndr, &r->text_status)) {
5942
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->text_status), ndr_get_array_length(ndr, &r->text_status));
5944
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t)));
5945
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->text_status, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t), CH_UTF16));
5946
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
5949
return NDR_ERR_SUCCESS;
5952
_PUBLIC_ void ndr_print_spoolss_SetJobInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_SetJobInfo4 *r)
5954
ndr_print_struct(ndr, name, "spoolss_SetJobInfo4");
5956
ndr_print_uint32(ndr, "job_id", r->job_id);
5957
ndr_print_ptr(ndr, "printer_name", r->printer_name);
5959
if (r->printer_name) {
5960
ndr_print_string(ndr, "printer_name", r->printer_name);
5963
ndr_print_ptr(ndr, "server_name", r->server_name);
5965
if (r->server_name) {
5966
ndr_print_string(ndr, "server_name", r->server_name);
5969
ndr_print_ptr(ndr, "user_name", r->user_name);
5972
ndr_print_string(ndr, "user_name", r->user_name);
5975
ndr_print_ptr(ndr, "document_name", r->document_name);
5977
if (r->document_name) {
5978
ndr_print_string(ndr, "document_name", r->document_name);
5981
ndr_print_ptr(ndr, "notify_name", r->notify_name);
5983
if (r->notify_name) {
5984
ndr_print_string(ndr, "notify_name", r->notify_name);
5987
ndr_print_ptr(ndr, "data_type", r->data_type);
5990
ndr_print_string(ndr, "data_type", r->data_type);
5993
ndr_print_ptr(ndr, "print_processor", r->print_processor);
5995
if (r->print_processor) {
5996
ndr_print_string(ndr, "print_processor", r->print_processor);
5999
ndr_print_ptr(ndr, "parameters", r->parameters);
6001
if (r->parameters) {
6002
ndr_print_string(ndr, "parameters", r->parameters);
6005
ndr_print_ptr(ndr, "driver_name", r->driver_name);
6007
if (r->driver_name) {
6008
ndr_print_string(ndr, "driver_name", r->driver_name);
6011
ndr_print_uint32(ndr, "_devmode_ptr", r->_devmode_ptr);
6012
ndr_print_ptr(ndr, "text_status", r->text_status);
6014
if (r->text_status) {
6015
ndr_print_string(ndr, "text_status", r->text_status);
6018
ndr_print_uint32(ndr, "_secdesc_ptr", r->_secdesc_ptr);
6019
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
6020
ndr_print_uint32(ndr, "priority", r->priority);
6021
ndr_print_uint32(ndr, "position", r->position);
6022
ndr_print_uint32(ndr, "start_time", r->start_time);
6023
ndr_print_uint32(ndr, "until_time", r->until_time);
6024
ndr_print_uint32(ndr, "total_pages", r->total_pages);
6025
ndr_print_uint32(ndr, "size", r->size);
6026
ndr_print_spoolss_Time(ndr, "submitted", &r->submitted);
6027
ndr_print_uint32(ndr, "time", r->time);
6028
ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
6029
ndr_print_uint32(ndr, "size_high", r->size_high);
6033
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_SetJobInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_SetJobInfo *r)
6035
if (ndr_flags & NDR_SCALARS) {
6036
int level = ndr_push_get_switch_value(ndr, r);
6037
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6038
NDR_CHECK(ndr_push_union_align(ndr, 5));
6041
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
6045
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
6049
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
6053
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
6061
if (ndr_flags & NDR_BUFFERS) {
6062
int level = ndr_push_get_switch_value(ndr, r);
6066
NDR_CHECK(ndr_push_spoolss_SetJobInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
6072
NDR_CHECK(ndr_push_spoolss_SetJobInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
6078
NDR_CHECK(ndr_push_spoolss_JobInfo3(ndr, NDR_SCALARS, r->info3));
6084
NDR_CHECK(ndr_push_spoolss_SetJobInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
6093
return NDR_ERR_SUCCESS;
6096
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_SetJobInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_SetJobInfo *r)
6100
TALLOC_CTX *_mem_save_info1_0;
6101
TALLOC_CTX *_mem_save_info2_0;
6102
TALLOC_CTX *_mem_save_info3_0;
6103
TALLOC_CTX *_mem_save_info4_0;
6104
level = ndr_pull_get_switch_value(ndr, r);
6105
if (ndr_flags & NDR_SCALARS) {
6106
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6107
if (_level != level) {
6108
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6110
NDR_CHECK(ndr_pull_union_align(ndr, 5));
6113
uint32_t _ptr_info1;
6114
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
6116
NDR_PULL_ALLOC(ndr, r->info1);
6123
uint32_t _ptr_info2;
6124
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
6126
NDR_PULL_ALLOC(ndr, r->info2);
6133
uint32_t _ptr_info3;
6134
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
6136
NDR_PULL_ALLOC(ndr, r->info3);
6143
uint32_t _ptr_info4;
6144
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
6146
NDR_PULL_ALLOC(ndr, r->info4);
6157
if (ndr_flags & NDR_BUFFERS) {
6161
_mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6162
NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
6163
NDR_CHECK(ndr_pull_spoolss_SetJobInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
6164
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
6170
_mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
6171
NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
6172
NDR_CHECK(ndr_pull_spoolss_SetJobInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
6173
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
6179
_mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
6180
NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
6181
NDR_CHECK(ndr_pull_spoolss_JobInfo3(ndr, NDR_SCALARS, r->info3));
6182
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
6188
_mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr);
6189
NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0);
6190
NDR_CHECK(ndr_pull_spoolss_SetJobInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
6191
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0);
6200
return NDR_ERR_SUCCESS;
6203
_PUBLIC_ void ndr_print_spoolss_SetJobInfo(struct ndr_print *ndr, const char *name, const union spoolss_SetJobInfo *r)
6206
level = ndr_print_get_switch_value(ndr, r);
6207
ndr_print_union(ndr, name, level, "spoolss_SetJobInfo");
6210
ndr_print_ptr(ndr, "info1", r->info1);
6213
ndr_print_spoolss_SetJobInfo1(ndr, "info1", r->info1);
6219
ndr_print_ptr(ndr, "info2", r->info2);
6222
ndr_print_spoolss_SetJobInfo2(ndr, "info2", r->info2);
6228
ndr_print_ptr(ndr, "info3", r->info3);
6231
ndr_print_spoolss_JobInfo3(ndr, "info3", r->info3);
6237
ndr_print_ptr(ndr, "info4", r->info4);
6240
ndr_print_spoolss_SetJobInfo4(ndr, "info4", r->info4);
6251
static enum ndr_err_code ndr_push_spoolss_JobInfoContainer(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfoContainer *r)
6253
if (ndr_flags & NDR_SCALARS) {
6254
NDR_CHECK(ndr_push_align(ndr, 5));
6255
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
6256
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level));
6257
NDR_CHECK(ndr_push_spoolss_SetJobInfo(ndr, NDR_SCALARS, &r->info));
6258
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6260
if (ndr_flags & NDR_BUFFERS) {
6261
NDR_CHECK(ndr_push_spoolss_SetJobInfo(ndr, NDR_BUFFERS, &r->info));
6263
return NDR_ERR_SUCCESS;
6266
static enum ndr_err_code ndr_pull_spoolss_JobInfoContainer(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfoContainer *r)
6268
if (ndr_flags & NDR_SCALARS) {
6269
NDR_CHECK(ndr_pull_align(ndr, 5));
6270
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
6271
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level));
6272
NDR_CHECK(ndr_pull_spoolss_SetJobInfo(ndr, NDR_SCALARS, &r->info));
6273
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6275
if (ndr_flags & NDR_BUFFERS) {
6276
NDR_CHECK(ndr_pull_spoolss_SetJobInfo(ndr, NDR_BUFFERS, &r->info));
6278
return NDR_ERR_SUCCESS;
6281
_PUBLIC_ void ndr_print_spoolss_JobInfoContainer(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfoContainer *r)
6283
ndr_print_struct(ndr, name, "spoolss_JobInfoContainer");
6285
ndr_print_uint32(ndr, "level", r->level);
6286
ndr_print_set_switch_value(ndr, &r->info, r->level);
6287
ndr_print_spoolss_SetJobInfo(ndr, "info", &r->info);
6291
static enum ndr_err_code ndr_push_spoolss_JobControl(struct ndr_push *ndr, int ndr_flags, enum spoolss_JobControl r)
6293
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6294
return NDR_ERR_SUCCESS;
6297
static enum ndr_err_code ndr_pull_spoolss_JobControl(struct ndr_pull *ndr, int ndr_flags, enum spoolss_JobControl *r)
6300
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6302
return NDR_ERR_SUCCESS;
6305
_PUBLIC_ void ndr_print_spoolss_JobControl(struct ndr_print *ndr, const char *name, enum spoolss_JobControl r)
6307
const char *val = NULL;
6310
case SPOOLSS_JOB_CONTROL_PAUSE: val = "SPOOLSS_JOB_CONTROL_PAUSE"; break;
6311
case SPOOLSS_JOB_CONTROL_RESUME: val = "SPOOLSS_JOB_CONTROL_RESUME"; break;
6312
case SPOOLSS_JOB_CONTROL_CANCEL: val = "SPOOLSS_JOB_CONTROL_CANCEL"; break;
6313
case SPOOLSS_JOB_CONTROL_RESTART: val = "SPOOLSS_JOB_CONTROL_RESTART"; break;
6314
case SPOOLSS_JOB_CONTROL_DELETE: val = "SPOOLSS_JOB_CONTROL_DELETE"; break;
6315
case SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER: val = "SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER"; break;
6316
case SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED: val = "SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED"; break;
6317
case SPOOLSS_JOB_CONTROL_RETAIN: val = "SPOOLSS_JOB_CONTROL_RETAIN"; break;
6318
case SPOOLSS_JOB_CONTROL_RELEASE: val = "SPOOLSS_JOB_CONTROL_RELEASE"; break;
6320
ndr_print_enum(ndr, name, "ENUM", val, r);
6323
static enum ndr_err_code ndr_push_spoolss_PrinterControl(struct ndr_push *ndr, int ndr_flags, enum spoolss_PrinterControl r)
6325
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6326
return NDR_ERR_SUCCESS;
6329
static enum ndr_err_code ndr_pull_spoolss_PrinterControl(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PrinterControl *r)
6332
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6334
return NDR_ERR_SUCCESS;
6337
_PUBLIC_ void ndr_print_spoolss_PrinterControl(struct ndr_print *ndr, const char *name, enum spoolss_PrinterControl r)
6339
const char *val = NULL;
6342
case SPOOLSS_PRINTER_CONTROL_UNPAUSE: val = "SPOOLSS_PRINTER_CONTROL_UNPAUSE"; break;
6343
case SPOOLSS_PRINTER_CONTROL_PAUSE: val = "SPOOLSS_PRINTER_CONTROL_PAUSE"; break;
6344
case SPOOLSS_PRINTER_CONTROL_RESUME: val = "SPOOLSS_PRINTER_CONTROL_RESUME"; break;
6345
case SPOOLSS_PRINTER_CONTROL_PURGE: val = "SPOOLSS_PRINTER_CONTROL_PURGE"; break;
6346
case SPOOLSS_PRINTER_CONTROL_SET_STATUS: val = "SPOOLSS_PRINTER_CONTROL_SET_STATUS"; break;
6348
ndr_print_enum(ndr, name, "ENUM", val, r);
6351
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo0(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo0 *r)
6353
if (ndr_flags & NDR_SCALARS) {
6354
NDR_CHECK(ndr_push_align(ndr, 5));
6355
NDR_CHECK(ndr_push_unique_ptr(ndr, r->servername));
6356
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printername));
6357
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cjobs));
6358
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_jobs));
6359
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_bytes));
6360
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->time));
6361
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->global_counter));
6362
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
6363
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
6364
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->free_build));
6365
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->spooling));
6366
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_spooling));
6367
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_counter));
6368
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_error_out_of_paper));
6369
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_error_not_ready));
6370
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_error));
6371
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->number_of_processors));
6372
NDR_CHECK(ndr_push_spoolss_ProcessorType(ndr, NDR_SCALARS, r->processor_type));
6373
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->high_part_total_bytes));
6374
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->change_id));
6375
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_error));
6376
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->status));
6377
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumerate_network_printers));
6378
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->c_setprinter));
6379
NDR_CHECK(ndr_push_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, r->processor_architecture));
6380
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->processor_level));
6381
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ref_ic));
6382
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved2));
6383
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved3));
6384
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6386
if (ndr_flags & NDR_BUFFERS) {
6387
if (r->servername) {
6388
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16)));
6389
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6390
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16)));
6391
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->servername, ndr_charset_length(r->servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6393
if (r->printername) {
6394
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
6395
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6396
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
6397
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printername, ndr_charset_length(r->printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6400
return NDR_ERR_SUCCESS;
6403
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo0(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo0 *r)
6405
uint32_t _ptr_servername;
6406
TALLOC_CTX *_mem_save_servername_0;
6407
uint32_t _ptr_printername;
6408
TALLOC_CTX *_mem_save_printername_0;
6409
if (ndr_flags & NDR_SCALARS) {
6410
NDR_CHECK(ndr_pull_align(ndr, 5));
6411
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
6412
if (_ptr_servername) {
6413
NDR_PULL_ALLOC(ndr, r->servername);
6415
r->servername = NULL;
6417
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
6418
if (_ptr_printername) {
6419
NDR_PULL_ALLOC(ndr, r->printername);
6421
r->printername = NULL;
6423
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs));
6424
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_jobs));
6425
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_bytes));
6426
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->time));
6427
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->global_counter));
6428
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
6429
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
6430
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->free_build));
6431
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->spooling));
6432
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_spooling));
6433
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_counter));
6434
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_error_out_of_paper));
6435
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_error_not_ready));
6436
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_error));
6437
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->number_of_processors));
6438
NDR_CHECK(ndr_pull_spoolss_ProcessorType(ndr, NDR_SCALARS, &r->processor_type));
6439
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->high_part_total_bytes));
6440
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->change_id));
6441
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_error));
6442
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->status));
6443
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumerate_network_printers));
6444
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->c_setprinter));
6445
NDR_CHECK(ndr_pull_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, &r->processor_architecture));
6446
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->processor_level));
6447
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ref_ic));
6448
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
6449
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3));
6450
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6452
if (ndr_flags & NDR_BUFFERS) {
6453
if (r->servername) {
6454
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
6455
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
6456
NDR_CHECK(ndr_pull_array_size(ndr, &r->servername));
6457
NDR_CHECK(ndr_pull_array_length(ndr, &r->servername));
6458
if (ndr_get_array_length(ndr, &r->servername) > ndr_get_array_size(ndr, &r->servername)) {
6459
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->servername), ndr_get_array_length(ndr, &r->servername));
6461
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t)));
6462
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->servername, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t), CH_UTF16));
6463
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
6465
if (r->printername) {
6466
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
6467
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
6468
NDR_CHECK(ndr_pull_array_size(ndr, &r->printername));
6469
NDR_CHECK(ndr_pull_array_length(ndr, &r->printername));
6470
if (ndr_get_array_length(ndr, &r->printername) > ndr_get_array_size(ndr, &r->printername)) {
6471
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->printername), ndr_get_array_length(ndr, &r->printername));
6473
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t)));
6474
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printername, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t), CH_UTF16));
6475
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
6478
return NDR_ERR_SUCCESS;
6481
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo0(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo0 *r)
6483
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo0");
6485
ndr_print_ptr(ndr, "servername", r->servername);
6487
if (r->servername) {
6488
ndr_print_string(ndr, "servername", r->servername);
6491
ndr_print_ptr(ndr, "printername", r->printername);
6493
if (r->printername) {
6494
ndr_print_string(ndr, "printername", r->printername);
6497
ndr_print_uint32(ndr, "cjobs", r->cjobs);
6498
ndr_print_uint32(ndr, "total_jobs", r->total_jobs);
6499
ndr_print_uint32(ndr, "total_bytes", r->total_bytes);
6500
ndr_print_spoolss_Time(ndr, "time", &r->time);
6501
ndr_print_uint32(ndr, "global_counter", r->global_counter);
6502
ndr_print_uint32(ndr, "total_pages", r->total_pages);
6503
ndr_print_uint32(ndr, "version", r->version);
6504
ndr_print_uint32(ndr, "free_build", r->free_build);
6505
ndr_print_uint32(ndr, "spooling", r->spooling);
6506
ndr_print_uint32(ndr, "max_spooling", r->max_spooling);
6507
ndr_print_uint32(ndr, "session_counter", r->session_counter);
6508
ndr_print_uint32(ndr, "num_error_out_of_paper", r->num_error_out_of_paper);
6509
ndr_print_uint32(ndr, "num_error_not_ready", r->num_error_not_ready);
6510
ndr_print_uint32(ndr, "job_error", r->job_error);
6511
ndr_print_uint32(ndr, "number_of_processors", r->number_of_processors);
6512
ndr_print_spoolss_ProcessorType(ndr, "processor_type", r->processor_type);
6513
ndr_print_uint32(ndr, "high_part_total_bytes", r->high_part_total_bytes);
6514
ndr_print_uint32(ndr, "change_id", r->change_id);
6515
ndr_print_WERROR(ndr, "last_error", r->last_error);
6516
ndr_print_uint32(ndr, "status", r->status);
6517
ndr_print_uint32(ndr, "enumerate_network_printers", r->enumerate_network_printers);
6518
ndr_print_uint32(ndr, "c_setprinter", r->c_setprinter);
6519
ndr_print_spoolss_ProcessorArchitecture(ndr, "processor_architecture", r->processor_architecture);
6520
ndr_print_uint16(ndr, "processor_level", r->processor_level);
6521
ndr_print_uint32(ndr, "ref_ic", r->ref_ic);
6522
ndr_print_uint32(ndr, "reserved2", r->reserved2);
6523
ndr_print_uint32(ndr, "reserved3", r->reserved3);
6527
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo1 *r)
6529
if (ndr_flags & NDR_SCALARS) {
6530
NDR_CHECK(ndr_push_align(ndr, 5));
6531
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->flags));
6532
NDR_CHECK(ndr_push_unique_ptr(ndr, r->description));
6533
NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
6534
NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
6535
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6537
if (ndr_flags & NDR_BUFFERS) {
6538
if (r->description) {
6539
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->description, CH_UTF16)));
6540
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6541
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->description, CH_UTF16)));
6542
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->description, ndr_charset_length(r->description, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6545
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
6546
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6547
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
6548
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6551
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16)));
6552
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6553
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16)));
6554
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6557
return NDR_ERR_SUCCESS;
6560
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo1 *r)
6562
uint32_t _ptr_description;
6563
TALLOC_CTX *_mem_save_description_0;
6565
TALLOC_CTX *_mem_save_name_0;
6566
uint32_t _ptr_comment;
6567
TALLOC_CTX *_mem_save_comment_0;
6568
if (ndr_flags & NDR_SCALARS) {
6569
NDR_CHECK(ndr_pull_align(ndr, 5));
6570
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->flags));
6571
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description));
6572
if (_ptr_description) {
6573
NDR_PULL_ALLOC(ndr, r->description);
6575
r->description = NULL;
6577
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
6579
NDR_PULL_ALLOC(ndr, r->name);
6583
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
6585
NDR_PULL_ALLOC(ndr, r->comment);
6589
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6591
if (ndr_flags & NDR_BUFFERS) {
6592
if (r->description) {
6593
_mem_save_description_0 = NDR_PULL_GET_MEM_CTX(ndr);
6594
NDR_PULL_SET_MEM_CTX(ndr, r->description, 0);
6595
NDR_CHECK(ndr_pull_array_size(ndr, &r->description));
6596
NDR_CHECK(ndr_pull_array_length(ndr, &r->description));
6597
if (ndr_get_array_length(ndr, &r->description) > ndr_get_array_size(ndr, &r->description)) {
6598
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->description), ndr_get_array_length(ndr, &r->description));
6600
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->description), sizeof(uint16_t)));
6601
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->description, ndr_get_array_length(ndr, &r->description), sizeof(uint16_t), CH_UTF16));
6602
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0);
6605
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6606
NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
6607
NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
6608
NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
6609
if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
6610
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
6612
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
6613
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
6614
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
6617
_mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
6618
NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
6619
NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
6620
NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
6621
if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
6622
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
6624
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
6625
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
6626
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
6629
return NDR_ERR_SUCCESS;
6632
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo1 *r)
6634
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo1");
6636
ndr_print_spoolss_PrinterAttributes(ndr, "flags", r->flags);
6637
ndr_print_ptr(ndr, "description", r->description);
6639
if (r->description) {
6640
ndr_print_string(ndr, "description", r->description);
6643
ndr_print_ptr(ndr, "name", r->name);
6646
ndr_print_string(ndr, "name", r->name);
6649
ndr_print_ptr(ndr, "comment", r->comment);
6652
ndr_print_string(ndr, "comment", r->comment);
6658
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo2 *r)
6660
if (ndr_flags & NDR_SCALARS) {
6661
NDR_CHECK(ndr_push_align(ndr, 5));
6662
NDR_CHECK(ndr_push_unique_ptr(ndr, r->servername));
6663
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printername));
6664
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sharename));
6665
NDR_CHECK(ndr_push_unique_ptr(ndr, r->portname));
6666
NDR_CHECK(ndr_push_unique_ptr(ndr, r->drivername));
6667
NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
6668
NDR_CHECK(ndr_push_unique_ptr(ndr, r->location));
6669
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->devmode_ptr));
6670
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sepfile));
6671
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printprocessor));
6672
NDR_CHECK(ndr_push_unique_ptr(ndr, r->datatype));
6673
NDR_CHECK(ndr_push_unique_ptr(ndr, r->parameters));
6674
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->secdesc_ptr));
6675
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
6676
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
6677
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->defaultpriority));
6678
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->starttime));
6679
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->untiltime));
6680
NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
6681
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cjobs));
6682
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->averageppm));
6683
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6685
if (ndr_flags & NDR_BUFFERS) {
6686
if (r->servername) {
6687
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16)));
6688
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6689
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16)));
6690
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->servername, ndr_charset_length(r->servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6692
if (r->printername) {
6693
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
6694
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6695
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
6696
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printername, ndr_charset_length(r->printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6699
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sharename, CH_UTF16)));
6700
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6701
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sharename, CH_UTF16)));
6702
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->sharename, ndr_charset_length(r->sharename, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6705
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->portname, CH_UTF16)));
6706
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6707
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->portname, CH_UTF16)));
6708
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->portname, ndr_charset_length(r->portname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6710
if (r->drivername) {
6711
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->drivername, CH_UTF16)));
6712
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6713
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->drivername, CH_UTF16)));
6714
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->drivername, ndr_charset_length(r->drivername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6717
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16)));
6718
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6719
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16)));
6720
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6723
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->location, CH_UTF16)));
6724
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6725
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->location, CH_UTF16)));
6726
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->location, ndr_charset_length(r->location, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6729
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sepfile, CH_UTF16)));
6730
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6731
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sepfile, CH_UTF16)));
6732
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->sepfile, ndr_charset_length(r->sepfile, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6734
if (r->printprocessor) {
6735
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printprocessor, CH_UTF16)));
6736
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6737
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printprocessor, CH_UTF16)));
6738
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printprocessor, ndr_charset_length(r->printprocessor, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6741
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->datatype, CH_UTF16)));
6742
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6743
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->datatype, CH_UTF16)));
6744
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->datatype, ndr_charset_length(r->datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6746
if (r->parameters) {
6747
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
6748
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6749
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
6750
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->parameters, ndr_charset_length(r->parameters, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6753
return NDR_ERR_SUCCESS;
6756
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo2 *r)
6758
uint32_t _ptr_servername;
6759
TALLOC_CTX *_mem_save_servername_0;
6760
uint32_t _ptr_printername;
6761
TALLOC_CTX *_mem_save_printername_0;
6762
uint32_t _ptr_sharename;
6763
TALLOC_CTX *_mem_save_sharename_0;
6764
uint32_t _ptr_portname;
6765
TALLOC_CTX *_mem_save_portname_0;
6766
uint32_t _ptr_drivername;
6767
TALLOC_CTX *_mem_save_drivername_0;
6768
uint32_t _ptr_comment;
6769
TALLOC_CTX *_mem_save_comment_0;
6770
uint32_t _ptr_location;
6771
TALLOC_CTX *_mem_save_location_0;
6772
uint32_t _ptr_sepfile;
6773
TALLOC_CTX *_mem_save_sepfile_0;
6774
uint32_t _ptr_printprocessor;
6775
TALLOC_CTX *_mem_save_printprocessor_0;
6776
uint32_t _ptr_datatype;
6777
TALLOC_CTX *_mem_save_datatype_0;
6778
uint32_t _ptr_parameters;
6779
TALLOC_CTX *_mem_save_parameters_0;
6780
if (ndr_flags & NDR_SCALARS) {
6781
NDR_CHECK(ndr_pull_align(ndr, 5));
6782
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
6783
if (_ptr_servername) {
6784
NDR_PULL_ALLOC(ndr, r->servername);
6786
r->servername = NULL;
6788
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
6789
if (_ptr_printername) {
6790
NDR_PULL_ALLOC(ndr, r->printername);
6792
r->printername = NULL;
6794
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename));
6795
if (_ptr_sharename) {
6796
NDR_PULL_ALLOC(ndr, r->sharename);
6798
r->sharename = NULL;
6800
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname));
6801
if (_ptr_portname) {
6802
NDR_PULL_ALLOC(ndr, r->portname);
6806
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_drivername));
6807
if (_ptr_drivername) {
6808
NDR_PULL_ALLOC(ndr, r->drivername);
6810
r->drivername = NULL;
6812
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
6814
NDR_PULL_ALLOC(ndr, r->comment);
6818
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_location));
6819
if (_ptr_location) {
6820
NDR_PULL_ALLOC(ndr, r->location);
6824
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->devmode_ptr));
6825
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sepfile));
6827
NDR_PULL_ALLOC(ndr, r->sepfile);
6831
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printprocessor));
6832
if (_ptr_printprocessor) {
6833
NDR_PULL_ALLOC(ndr, r->printprocessor);
6835
r->printprocessor = NULL;
6837
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
6838
if (_ptr_datatype) {
6839
NDR_PULL_ALLOC(ndr, r->datatype);
6843
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
6844
if (_ptr_parameters) {
6845
NDR_PULL_ALLOC(ndr, r->parameters);
6847
r->parameters = NULL;
6849
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->secdesc_ptr));
6850
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
6851
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
6852
if (r->priority > 99) {
6853
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6855
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->defaultpriority));
6856
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->starttime));
6857
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->untiltime));
6858
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
6859
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs));
6860
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->averageppm));
6861
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6863
if (ndr_flags & NDR_BUFFERS) {
6864
if (r->servername) {
6865
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
6866
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
6867
NDR_CHECK(ndr_pull_array_size(ndr, &r->servername));
6868
NDR_CHECK(ndr_pull_array_length(ndr, &r->servername));
6869
if (ndr_get_array_length(ndr, &r->servername) > ndr_get_array_size(ndr, &r->servername)) {
6870
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->servername), ndr_get_array_length(ndr, &r->servername));
6872
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t)));
6873
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->servername, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t), CH_UTF16));
6874
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
6876
if (r->printername) {
6877
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
6878
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
6879
NDR_CHECK(ndr_pull_array_size(ndr, &r->printername));
6880
NDR_CHECK(ndr_pull_array_length(ndr, &r->printername));
6881
if (ndr_get_array_length(ndr, &r->printername) > ndr_get_array_size(ndr, &r->printername)) {
6882
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->printername), ndr_get_array_length(ndr, &r->printername));
6884
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t)));
6885
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printername, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t), CH_UTF16));
6886
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
6889
_mem_save_sharename_0 = NDR_PULL_GET_MEM_CTX(ndr);
6890
NDR_PULL_SET_MEM_CTX(ndr, r->sharename, 0);
6891
NDR_CHECK(ndr_pull_array_size(ndr, &r->sharename));
6892
NDR_CHECK(ndr_pull_array_length(ndr, &r->sharename));
6893
if (ndr_get_array_length(ndr, &r->sharename) > ndr_get_array_size(ndr, &r->sharename)) {
6894
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->sharename), ndr_get_array_length(ndr, &r->sharename));
6896
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->sharename), sizeof(uint16_t)));
6897
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->sharename, ndr_get_array_length(ndr, &r->sharename), sizeof(uint16_t), CH_UTF16));
6898
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0);
6901
_mem_save_portname_0 = NDR_PULL_GET_MEM_CTX(ndr);
6902
NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0);
6903
NDR_CHECK(ndr_pull_array_size(ndr, &r->portname));
6904
NDR_CHECK(ndr_pull_array_length(ndr, &r->portname));
6905
if (ndr_get_array_length(ndr, &r->portname) > ndr_get_array_size(ndr, &r->portname)) {
6906
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->portname), ndr_get_array_length(ndr, &r->portname));
6908
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->portname), sizeof(uint16_t)));
6909
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->portname, ndr_get_array_length(ndr, &r->portname), sizeof(uint16_t), CH_UTF16));
6910
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0);
6912
if (r->drivername) {
6913
_mem_save_drivername_0 = NDR_PULL_GET_MEM_CTX(ndr);
6914
NDR_PULL_SET_MEM_CTX(ndr, r->drivername, 0);
6915
NDR_CHECK(ndr_pull_array_size(ndr, &r->drivername));
6916
NDR_CHECK(ndr_pull_array_length(ndr, &r->drivername));
6917
if (ndr_get_array_length(ndr, &r->drivername) > ndr_get_array_size(ndr, &r->drivername)) {
6918
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->drivername), ndr_get_array_length(ndr, &r->drivername));
6920
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->drivername), sizeof(uint16_t)));
6921
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->drivername, ndr_get_array_length(ndr, &r->drivername), sizeof(uint16_t), CH_UTF16));
6922
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_drivername_0, 0);
6925
_mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
6926
NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
6927
NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
6928
NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
6929
if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
6930
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
6932
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
6933
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
6934
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
6937
_mem_save_location_0 = NDR_PULL_GET_MEM_CTX(ndr);
6938
NDR_PULL_SET_MEM_CTX(ndr, r->location, 0);
6939
NDR_CHECK(ndr_pull_array_size(ndr, &r->location));
6940
NDR_CHECK(ndr_pull_array_length(ndr, &r->location));
6941
if (ndr_get_array_length(ndr, &r->location) > ndr_get_array_size(ndr, &r->location)) {
6942
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->location), ndr_get_array_length(ndr, &r->location));
6944
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->location), sizeof(uint16_t)));
6945
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->location, ndr_get_array_length(ndr, &r->location), sizeof(uint16_t), CH_UTF16));
6946
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_location_0, 0);
6949
_mem_save_sepfile_0 = NDR_PULL_GET_MEM_CTX(ndr);
6950
NDR_PULL_SET_MEM_CTX(ndr, r->sepfile, 0);
6951
NDR_CHECK(ndr_pull_array_size(ndr, &r->sepfile));
6952
NDR_CHECK(ndr_pull_array_length(ndr, &r->sepfile));
6953
if (ndr_get_array_length(ndr, &r->sepfile) > ndr_get_array_size(ndr, &r->sepfile)) {
6954
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->sepfile), ndr_get_array_length(ndr, &r->sepfile));
6956
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->sepfile), sizeof(uint16_t)));
6957
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->sepfile, ndr_get_array_length(ndr, &r->sepfile), sizeof(uint16_t), CH_UTF16));
6958
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sepfile_0, 0);
6960
if (r->printprocessor) {
6961
_mem_save_printprocessor_0 = NDR_PULL_GET_MEM_CTX(ndr);
6962
NDR_PULL_SET_MEM_CTX(ndr, r->printprocessor, 0);
6963
NDR_CHECK(ndr_pull_array_size(ndr, &r->printprocessor));
6964
NDR_CHECK(ndr_pull_array_length(ndr, &r->printprocessor));
6965
if (ndr_get_array_length(ndr, &r->printprocessor) > ndr_get_array_size(ndr, &r->printprocessor)) {
6966
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->printprocessor), ndr_get_array_length(ndr, &r->printprocessor));
6968
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printprocessor), sizeof(uint16_t)));
6969
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printprocessor, ndr_get_array_length(ndr, &r->printprocessor), sizeof(uint16_t), CH_UTF16));
6970
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printprocessor_0, 0);
6973
_mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
6974
NDR_PULL_SET_MEM_CTX(ndr, r->datatype, 0);
6975
NDR_CHECK(ndr_pull_array_size(ndr, &r->datatype));
6976
NDR_CHECK(ndr_pull_array_length(ndr, &r->datatype));
6977
if (ndr_get_array_length(ndr, &r->datatype) > ndr_get_array_size(ndr, &r->datatype)) {
6978
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->datatype), ndr_get_array_length(ndr, &r->datatype));
6980
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->datatype), sizeof(uint16_t)));
6981
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->datatype, ndr_get_array_length(ndr, &r->datatype), sizeof(uint16_t), CH_UTF16));
6982
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
6984
if (r->parameters) {
6985
_mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
6986
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
6987
NDR_CHECK(ndr_pull_array_size(ndr, &r->parameters));
6988
NDR_CHECK(ndr_pull_array_length(ndr, &r->parameters));
6989
if (ndr_get_array_length(ndr, &r->parameters) > ndr_get_array_size(ndr, &r->parameters)) {
6990
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->parameters), ndr_get_array_length(ndr, &r->parameters));
6992
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t)));
6993
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->parameters, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t), CH_UTF16));
6994
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
6997
return NDR_ERR_SUCCESS;
7000
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo2 *r)
7002
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo2");
7004
ndr_print_ptr(ndr, "servername", r->servername);
7006
if (r->servername) {
7007
ndr_print_string(ndr, "servername", r->servername);
7010
ndr_print_ptr(ndr, "printername", r->printername);
7012
if (r->printername) {
7013
ndr_print_string(ndr, "printername", r->printername);
7016
ndr_print_ptr(ndr, "sharename", r->sharename);
7019
ndr_print_string(ndr, "sharename", r->sharename);
7022
ndr_print_ptr(ndr, "portname", r->portname);
7025
ndr_print_string(ndr, "portname", r->portname);
7028
ndr_print_ptr(ndr, "drivername", r->drivername);
7030
if (r->drivername) {
7031
ndr_print_string(ndr, "drivername", r->drivername);
7034
ndr_print_ptr(ndr, "comment", r->comment);
7037
ndr_print_string(ndr, "comment", r->comment);
7040
ndr_print_ptr(ndr, "location", r->location);
7043
ndr_print_string(ndr, "location", r->location);
7046
ndr_print_uint32(ndr, "devmode_ptr", r->devmode_ptr);
7047
ndr_print_ptr(ndr, "sepfile", r->sepfile);
7050
ndr_print_string(ndr, "sepfile", r->sepfile);
7053
ndr_print_ptr(ndr, "printprocessor", r->printprocessor);
7055
if (r->printprocessor) {
7056
ndr_print_string(ndr, "printprocessor", r->printprocessor);
7059
ndr_print_ptr(ndr, "datatype", r->datatype);
7062
ndr_print_string(ndr, "datatype", r->datatype);
7065
ndr_print_ptr(ndr, "parameters", r->parameters);
7067
if (r->parameters) {
7068
ndr_print_string(ndr, "parameters", r->parameters);
7071
ndr_print_uint32(ndr, "secdesc_ptr", r->secdesc_ptr);
7072
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
7073
ndr_print_uint32(ndr, "priority", r->priority);
7074
ndr_print_uint32(ndr, "defaultpriority", r->defaultpriority);
7075
ndr_print_uint32(ndr, "starttime", r->starttime);
7076
ndr_print_uint32(ndr, "untiltime", r->untiltime);
7077
ndr_print_spoolss_PrinterStatus(ndr, "status", r->status);
7078
ndr_print_uint32(ndr, "cjobs", r->cjobs);
7079
ndr_print_uint32(ndr, "averageppm", r->averageppm);
7083
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo3 *r)
7085
if (ndr_flags & NDR_SCALARS) {
7086
NDR_CHECK(ndr_push_align(ndr, 4));
7087
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sec_desc_ptr));
7088
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7090
if (ndr_flags & NDR_BUFFERS) {
7092
return NDR_ERR_SUCCESS;
7095
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo3 *r)
7097
if (ndr_flags & NDR_SCALARS) {
7098
NDR_CHECK(ndr_pull_align(ndr, 4));
7099
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sec_desc_ptr));
7100
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
7102
if (ndr_flags & NDR_BUFFERS) {
7104
return NDR_ERR_SUCCESS;
7107
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo3 *r)
7109
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo3");
7111
ndr_print_uint32(ndr, "sec_desc_ptr", r->sec_desc_ptr);
7115
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo4 *r)
7117
if (ndr_flags & NDR_SCALARS) {
7118
NDR_CHECK(ndr_push_align(ndr, 5));
7119
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printername));
7120
NDR_CHECK(ndr_push_unique_ptr(ndr, r->servername));
7121
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
7122
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7124
if (ndr_flags & NDR_BUFFERS) {
7125
if (r->printername) {
7126
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
7127
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7128
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
7129
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printername, ndr_charset_length(r->printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7131
if (r->servername) {
7132
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16)));
7133
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7134
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16)));
7135
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->servername, ndr_charset_length(r->servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7138
return NDR_ERR_SUCCESS;
7141
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo4 *r)
7143
uint32_t _ptr_printername;
7144
TALLOC_CTX *_mem_save_printername_0;
7145
uint32_t _ptr_servername;
7146
TALLOC_CTX *_mem_save_servername_0;
7147
if (ndr_flags & NDR_SCALARS) {
7148
NDR_CHECK(ndr_pull_align(ndr, 5));
7149
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
7150
if (_ptr_printername) {
7151
NDR_PULL_ALLOC(ndr, r->printername);
7153
r->printername = NULL;
7155
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
7156
if (_ptr_servername) {
7157
NDR_PULL_ALLOC(ndr, r->servername);
7159
r->servername = NULL;
7161
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
7162
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7164
if (ndr_flags & NDR_BUFFERS) {
7165
if (r->printername) {
7166
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
7167
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
7168
NDR_CHECK(ndr_pull_array_size(ndr, &r->printername));
7169
NDR_CHECK(ndr_pull_array_length(ndr, &r->printername));
7170
if (ndr_get_array_length(ndr, &r->printername) > ndr_get_array_size(ndr, &r->printername)) {
7171
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->printername), ndr_get_array_length(ndr, &r->printername));
7173
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t)));
7174
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printername, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t), CH_UTF16));
7175
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
7177
if (r->servername) {
7178
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
7179
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
7180
NDR_CHECK(ndr_pull_array_size(ndr, &r->servername));
7181
NDR_CHECK(ndr_pull_array_length(ndr, &r->servername));
7182
if (ndr_get_array_length(ndr, &r->servername) > ndr_get_array_size(ndr, &r->servername)) {
7183
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->servername), ndr_get_array_length(ndr, &r->servername));
7185
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t)));
7186
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->servername, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t), CH_UTF16));
7187
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
7190
return NDR_ERR_SUCCESS;
7193
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo4 *r)
7195
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo4");
7197
ndr_print_ptr(ndr, "printername", r->printername);
7199
if (r->printername) {
7200
ndr_print_string(ndr, "printername", r->printername);
7203
ndr_print_ptr(ndr, "servername", r->servername);
7205
if (r->servername) {
7206
ndr_print_string(ndr, "servername", r->servername);
7209
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
7213
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo5(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo5 *r)
7215
if (ndr_flags & NDR_SCALARS) {
7216
NDR_CHECK(ndr_push_align(ndr, 5));
7217
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printername));
7218
NDR_CHECK(ndr_push_unique_ptr(ndr, r->portname));
7219
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
7220
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->device_not_selected_timeout));
7221
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->transmission_retry_timeout));
7222
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7224
if (ndr_flags & NDR_BUFFERS) {
7225
if (r->printername) {
7226
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
7227
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7228
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
7229
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printername, ndr_charset_length(r->printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7232
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->portname, CH_UTF16)));
7233
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7234
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->portname, CH_UTF16)));
7235
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->portname, ndr_charset_length(r->portname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7238
return NDR_ERR_SUCCESS;
7241
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo5(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo5 *r)
7243
uint32_t _ptr_printername;
7244
TALLOC_CTX *_mem_save_printername_0;
7245
uint32_t _ptr_portname;
7246
TALLOC_CTX *_mem_save_portname_0;
7247
if (ndr_flags & NDR_SCALARS) {
7248
NDR_CHECK(ndr_pull_align(ndr, 5));
7249
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
7250
if (_ptr_printername) {
7251
NDR_PULL_ALLOC(ndr, r->printername);
7253
r->printername = NULL;
7255
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname));
7256
if (_ptr_portname) {
7257
NDR_PULL_ALLOC(ndr, r->portname);
7261
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
7262
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->device_not_selected_timeout));
7263
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->transmission_retry_timeout));
7264
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7266
if (ndr_flags & NDR_BUFFERS) {
7267
if (r->printername) {
7268
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
7269
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
7270
NDR_CHECK(ndr_pull_array_size(ndr, &r->printername));
7271
NDR_CHECK(ndr_pull_array_length(ndr, &r->printername));
7272
if (ndr_get_array_length(ndr, &r->printername) > ndr_get_array_size(ndr, &r->printername)) {
7273
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->printername), ndr_get_array_length(ndr, &r->printername));
7275
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t)));
7276
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printername, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t), CH_UTF16));
7277
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
7280
_mem_save_portname_0 = NDR_PULL_GET_MEM_CTX(ndr);
7281
NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0);
7282
NDR_CHECK(ndr_pull_array_size(ndr, &r->portname));
7283
NDR_CHECK(ndr_pull_array_length(ndr, &r->portname));
7284
if (ndr_get_array_length(ndr, &r->portname) > ndr_get_array_size(ndr, &r->portname)) {
7285
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->portname), ndr_get_array_length(ndr, &r->portname));
7287
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->portname), sizeof(uint16_t)));
7288
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->portname, ndr_get_array_length(ndr, &r->portname), sizeof(uint16_t), CH_UTF16));
7289
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0);
7292
return NDR_ERR_SUCCESS;
7295
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo5(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo5 *r)
7297
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo5");
7299
ndr_print_ptr(ndr, "printername", r->printername);
7301
if (r->printername) {
7302
ndr_print_string(ndr, "printername", r->printername);
7305
ndr_print_ptr(ndr, "portname", r->portname);
7308
ndr_print_string(ndr, "portname", r->portname);
7311
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
7312
ndr_print_uint32(ndr, "device_not_selected_timeout", r->device_not_selected_timeout);
7313
ndr_print_uint32(ndr, "transmission_retry_timeout", r->transmission_retry_timeout);
7317
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo6 *r)
7319
if (ndr_flags & NDR_SCALARS) {
7320
NDR_CHECK(ndr_push_align(ndr, 4));
7321
NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
7322
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7324
if (ndr_flags & NDR_BUFFERS) {
7326
return NDR_ERR_SUCCESS;
7329
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo6 *r)
7331
if (ndr_flags & NDR_SCALARS) {
7332
NDR_CHECK(ndr_pull_align(ndr, 4));
7333
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
7334
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
7336
if (ndr_flags & NDR_BUFFERS) {
7338
return NDR_ERR_SUCCESS;
7341
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo6 *r)
7343
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo6");
7345
ndr_print_spoolss_PrinterStatus(ndr, "status", r->status);
7349
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo7(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo7 *r)
7351
if (ndr_flags & NDR_SCALARS) {
7352
NDR_CHECK(ndr_push_align(ndr, 5));
7353
NDR_CHECK(ndr_push_unique_ptr(ndr, r->guid));
7354
NDR_CHECK(ndr_push_spoolss_DsPrintAction(ndr, NDR_SCALARS, r->action));
7355
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7357
if (ndr_flags & NDR_BUFFERS) {
7359
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->guid, CH_UTF16)));
7360
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7361
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->guid, CH_UTF16)));
7362
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->guid, ndr_charset_length(r->guid, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7365
return NDR_ERR_SUCCESS;
7368
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo7(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo7 *r)
7371
TALLOC_CTX *_mem_save_guid_0;
7372
if (ndr_flags & NDR_SCALARS) {
7373
NDR_CHECK(ndr_pull_align(ndr, 5));
7374
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_guid));
7376
NDR_PULL_ALLOC(ndr, r->guid);
7380
NDR_CHECK(ndr_pull_spoolss_DsPrintAction(ndr, NDR_SCALARS, &r->action));
7381
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7383
if (ndr_flags & NDR_BUFFERS) {
7385
_mem_save_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7386
NDR_PULL_SET_MEM_CTX(ndr, r->guid, 0);
7387
NDR_CHECK(ndr_pull_array_size(ndr, &r->guid));
7388
NDR_CHECK(ndr_pull_array_length(ndr, &r->guid));
7389
if (ndr_get_array_length(ndr, &r->guid) > ndr_get_array_size(ndr, &r->guid)) {
7390
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->guid), ndr_get_array_length(ndr, &r->guid));
7392
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->guid), sizeof(uint16_t)));
7393
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->guid, ndr_get_array_length(ndr, &r->guid), sizeof(uint16_t), CH_UTF16));
7394
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_guid_0, 0);
7397
return NDR_ERR_SUCCESS;
7400
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo7(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo7 *r)
7402
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo7");
7404
ndr_print_ptr(ndr, "guid", r->guid);
7407
ndr_print_string(ndr, "guid", r->guid);
7410
ndr_print_spoolss_DsPrintAction(ndr, "action", r->action);
7414
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo8(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo8 *r)
7416
if (ndr_flags & NDR_SCALARS) {
7417
NDR_CHECK(ndr_push_align(ndr, 4));
7418
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->devmode_ptr));
7419
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7421
if (ndr_flags & NDR_BUFFERS) {
7423
return NDR_ERR_SUCCESS;
7426
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo8(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo8 *r)
7428
if (ndr_flags & NDR_SCALARS) {
7429
NDR_CHECK(ndr_pull_align(ndr, 4));
7430
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->devmode_ptr));
7431
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
7433
if (ndr_flags & NDR_BUFFERS) {
7435
return NDR_ERR_SUCCESS;
7438
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo8(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo8 *r)
7440
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo8");
7442
ndr_print_uint32(ndr, "devmode_ptr", r->devmode_ptr);
7446
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo9(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo9 *r)
7448
if (ndr_flags & NDR_SCALARS) {
7449
NDR_CHECK(ndr_push_align(ndr, 4));
7450
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->devmode_ptr));
7451
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7453
if (ndr_flags & NDR_BUFFERS) {
7455
return NDR_ERR_SUCCESS;
7458
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo9(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo9 *r)
7460
if (ndr_flags & NDR_SCALARS) {
7461
NDR_CHECK(ndr_pull_align(ndr, 4));
7462
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->devmode_ptr));
7463
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
7465
if (ndr_flags & NDR_BUFFERS) {
7467
return NDR_ERR_SUCCESS;
7470
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo9(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo9 *r)
7472
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo9");
7474
ndr_print_uint32(ndr, "devmode_ptr", r->devmode_ptr);
7478
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_SetPrinterInfo *r)
7480
if (ndr_flags & NDR_SCALARS) {
7481
int level = ndr_push_get_switch_value(ndr, r);
7482
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7483
NDR_CHECK(ndr_push_union_align(ndr, 5));
7486
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
7490
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7494
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
7498
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
7502
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
7506
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info5));
7510
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info6));
7514
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info7));
7518
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info8));
7522
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info9));
7530
if (ndr_flags & NDR_BUFFERS) {
7531
int level = ndr_push_get_switch_value(ndr, r);
7535
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
7541
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7547
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
7553
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo3(ndr, NDR_SCALARS, r->info3));
7559
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
7565
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo5(ndr, NDR_SCALARS|NDR_BUFFERS, r->info5));
7571
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo6(ndr, NDR_SCALARS, r->info6));
7577
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo7(ndr, NDR_SCALARS|NDR_BUFFERS, r->info7));
7583
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo8(ndr, NDR_SCALARS, r->info8));
7589
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo9(ndr, NDR_SCALARS, r->info9));
7598
return NDR_ERR_SUCCESS;
7601
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_SetPrinterInfo *r)
7605
TALLOC_CTX *_mem_save_info0_0;
7606
TALLOC_CTX *_mem_save_info1_0;
7607
TALLOC_CTX *_mem_save_info2_0;
7608
TALLOC_CTX *_mem_save_info3_0;
7609
TALLOC_CTX *_mem_save_info4_0;
7610
TALLOC_CTX *_mem_save_info5_0;
7611
TALLOC_CTX *_mem_save_info6_0;
7612
TALLOC_CTX *_mem_save_info7_0;
7613
TALLOC_CTX *_mem_save_info8_0;
7614
TALLOC_CTX *_mem_save_info9_0;
7615
level = ndr_pull_get_switch_value(ndr, r);
7616
if (ndr_flags & NDR_SCALARS) {
7617
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7618
if (_level != level) {
7619
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7621
NDR_CHECK(ndr_pull_union_align(ndr, 5));
7624
uint32_t _ptr_info0;
7625
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
7627
NDR_PULL_ALLOC(ndr, r->info0);
7634
uint32_t _ptr_info1;
7635
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
7637
NDR_PULL_ALLOC(ndr, r->info1);
7644
uint32_t _ptr_info2;
7645
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
7647
NDR_PULL_ALLOC(ndr, r->info2);
7654
uint32_t _ptr_info3;
7655
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
7657
NDR_PULL_ALLOC(ndr, r->info3);
7664
uint32_t _ptr_info4;
7665
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
7667
NDR_PULL_ALLOC(ndr, r->info4);
7674
uint32_t _ptr_info5;
7675
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info5));
7677
NDR_PULL_ALLOC(ndr, r->info5);
7684
uint32_t _ptr_info6;
7685
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info6));
7687
NDR_PULL_ALLOC(ndr, r->info6);
7694
uint32_t _ptr_info7;
7695
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info7));
7697
NDR_PULL_ALLOC(ndr, r->info7);
7704
uint32_t _ptr_info8;
7705
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info8));
7707
NDR_PULL_ALLOC(ndr, r->info8);
7714
uint32_t _ptr_info9;
7715
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info9));
7717
NDR_PULL_ALLOC(ndr, r->info9);
7728
if (ndr_flags & NDR_BUFFERS) {
7732
_mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
7733
NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
7734
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
7735
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
7741
_mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7742
NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
7743
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7744
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
7750
_mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
7751
NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
7752
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
7753
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
7759
_mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
7760
NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
7761
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo3(ndr, NDR_SCALARS, r->info3));
7762
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
7768
_mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr);
7769
NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0);
7770
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
7771
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0);
7777
_mem_save_info5_0 = NDR_PULL_GET_MEM_CTX(ndr);
7778
NDR_PULL_SET_MEM_CTX(ndr, r->info5, 0);
7779
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo5(ndr, NDR_SCALARS|NDR_BUFFERS, r->info5));
7780
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info5_0, 0);
7786
_mem_save_info6_0 = NDR_PULL_GET_MEM_CTX(ndr);
7787
NDR_PULL_SET_MEM_CTX(ndr, r->info6, 0);
7788
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo6(ndr, NDR_SCALARS, r->info6));
7789
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info6_0, 0);
7795
_mem_save_info7_0 = NDR_PULL_GET_MEM_CTX(ndr);
7796
NDR_PULL_SET_MEM_CTX(ndr, r->info7, 0);
7797
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo7(ndr, NDR_SCALARS|NDR_BUFFERS, r->info7));
7798
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info7_0, 0);
7804
_mem_save_info8_0 = NDR_PULL_GET_MEM_CTX(ndr);
7805
NDR_PULL_SET_MEM_CTX(ndr, r->info8, 0);
7806
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo8(ndr, NDR_SCALARS, r->info8));
7807
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info8_0, 0);
7813
_mem_save_info9_0 = NDR_PULL_GET_MEM_CTX(ndr);
7814
NDR_PULL_SET_MEM_CTX(ndr, r->info9, 0);
7815
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo9(ndr, NDR_SCALARS, r->info9));
7816
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info9_0, 0);
7825
return NDR_ERR_SUCCESS;
7828
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_SetPrinterInfo *r)
7831
level = ndr_print_get_switch_value(ndr, r);
7832
ndr_print_union(ndr, name, level, "spoolss_SetPrinterInfo");
7835
ndr_print_ptr(ndr, "info0", r->info0);
7838
ndr_print_spoolss_SetPrinterInfo0(ndr, "info0", r->info0);
7844
ndr_print_ptr(ndr, "info1", r->info1);
7847
ndr_print_spoolss_SetPrinterInfo1(ndr, "info1", r->info1);
7853
ndr_print_ptr(ndr, "info2", r->info2);
7856
ndr_print_spoolss_SetPrinterInfo2(ndr, "info2", r->info2);
7862
ndr_print_ptr(ndr, "info3", r->info3);
7865
ndr_print_spoolss_SetPrinterInfo3(ndr, "info3", r->info3);
7871
ndr_print_ptr(ndr, "info4", r->info4);
7874
ndr_print_spoolss_SetPrinterInfo4(ndr, "info4", r->info4);
7880
ndr_print_ptr(ndr, "info5", r->info5);
7883
ndr_print_spoolss_SetPrinterInfo5(ndr, "info5", r->info5);
7889
ndr_print_ptr(ndr, "info6", r->info6);
7892
ndr_print_spoolss_SetPrinterInfo6(ndr, "info6", r->info6);
7898
ndr_print_ptr(ndr, "info7", r->info7);
7901
ndr_print_spoolss_SetPrinterInfo7(ndr, "info7", r->info7);
7907
ndr_print_ptr(ndr, "info8", r->info8);
7910
ndr_print_spoolss_SetPrinterInfo8(ndr, "info8", r->info8);
7916
ndr_print_ptr(ndr, "info9", r->info9);
7919
ndr_print_spoolss_SetPrinterInfo9(ndr, "info9", r->info9);
7930
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfoCtr *r)
7932
if (ndr_flags & NDR_SCALARS) {
7933
NDR_CHECK(ndr_push_align(ndr, 5));
7934
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
7935
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level));
7936
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo(ndr, NDR_SCALARS, &r->info));
7937
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7939
if (ndr_flags & NDR_BUFFERS) {
7940
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo(ndr, NDR_BUFFERS, &r->info));
7942
return NDR_ERR_SUCCESS;
7945
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfoCtr *r)
7947
if (ndr_flags & NDR_SCALARS) {
7948
NDR_CHECK(ndr_pull_align(ndr, 5));
7949
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
7950
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level));
7951
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo(ndr, NDR_SCALARS, &r->info));
7952
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7954
if (ndr_flags & NDR_BUFFERS) {
7955
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo(ndr, NDR_BUFFERS, &r->info));
7957
return NDR_ERR_SUCCESS;
7960
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfoCtr(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfoCtr *r)
7962
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfoCtr");
7964
ndr_print_uint32(ndr, "level", r->level);
7965
ndr_print_set_switch_value(ndr, &r->info, r->level);
7966
ndr_print_spoolss_SetPrinterInfo(ndr, "info", &r->info);
7970
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_StringArray(struct ndr_push *ndr, int ndr_flags, const struct spoolss_StringArray *r)
7972
if (ndr_flags & NDR_SCALARS) {
7973
NDR_CHECK(ndr_push_align(ndr, 4));
7974
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, (ndr_size_spoolss_StringArray(r, ndr->iconv_convenience, ndr->flags) - 4) / 2));
7976
uint32_t _flags_save_string_array = ndr->flags;
7977
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7978
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string));
7979
ndr->flags = _flags_save_string_array;
7981
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7983
if (ndr_flags & NDR_BUFFERS) {
7985
return NDR_ERR_SUCCESS;
7988
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_StringArray(struct ndr_pull *ndr, int ndr_flags, struct spoolss_StringArray *r)
7990
if (ndr_flags & NDR_SCALARS) {
7991
NDR_CHECK(ndr_pull_align(ndr, 4));
7992
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size));
7994
uint32_t _flags_save_string_array = ndr->flags;
7995
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7996
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string));
7997
ndr->flags = _flags_save_string_array;
7999
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
8001
if (ndr_flags & NDR_BUFFERS) {
8003
return NDR_ERR_SUCCESS;
8006
_PUBLIC_ void ndr_print_spoolss_StringArray(struct ndr_print *ndr, const char *name, const struct spoolss_StringArray *r)
8008
ndr_print_struct(ndr, name, "spoolss_StringArray");
8010
ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?(ndr_size_spoolss_StringArray(r, ndr->iconv_convenience, ndr->flags) - 4) / 2:r->_ndr_size);
8011
ndr_print_string_array(ndr, "string", r->string);
8015
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo1 *r)
8017
if (ndr_flags & NDR_SCALARS) {
8018
NDR_CHECK(ndr_push_align(ndr, 5));
8019
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
8020
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8022
if (ndr_flags & NDR_BUFFERS) {
8023
if (r->driver_name) {
8024
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8025
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8026
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8027
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8030
return NDR_ERR_SUCCESS;
8033
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo1 *r)
8035
uint32_t _ptr_driver_name;
8036
TALLOC_CTX *_mem_save_driver_name_0;
8037
if (ndr_flags & NDR_SCALARS) {
8038
NDR_CHECK(ndr_pull_align(ndr, 5));
8039
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
8040
if (_ptr_driver_name) {
8041
NDR_PULL_ALLOC(ndr, r->driver_name);
8043
r->driver_name = NULL;
8045
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8047
if (ndr_flags & NDR_BUFFERS) {
8048
if (r->driver_name) {
8049
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8050
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
8051
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
8052
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
8053
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
8054
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_name), ndr_get_array_length(ndr, &r->driver_name));
8056
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
8057
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
8058
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
8061
return NDR_ERR_SUCCESS;
8064
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo1 *r)
8066
ndr_print_struct(ndr, name, "spoolss_AddDriverInfo1");
8068
ndr_print_ptr(ndr, "driver_name", r->driver_name);
8070
if (r->driver_name) {
8071
ndr_print_string(ndr, "driver_name", r->driver_name);
8077
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverOSVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_DriverOSVersion r)
8079
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
8080
return NDR_ERR_SUCCESS;
8083
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverOSVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DriverOSVersion *r)
8086
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
8088
return NDR_ERR_SUCCESS;
8091
_PUBLIC_ void ndr_print_spoolss_DriverOSVersion(struct ndr_print *ndr, const char *name, enum spoolss_DriverOSVersion r)
8093
const char *val = NULL;
8096
case SPOOLSS_DRIVER_VERSION_9X: val = "SPOOLSS_DRIVER_VERSION_9X"; break;
8097
case SPOOLSS_DRIVER_VERSION_NT35: val = "SPOOLSS_DRIVER_VERSION_NT35"; break;
8098
case SPOOLSS_DRIVER_VERSION_NT4: val = "SPOOLSS_DRIVER_VERSION_NT4"; break;
8099
case SPOOLSS_DRIVER_VERSION_200X: val = "SPOOLSS_DRIVER_VERSION_200X"; break;
8101
ndr_print_enum(ndr, name, "ENUM", val, r);
8104
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo2 *r)
8106
if (ndr_flags & NDR_SCALARS) {
8107
NDR_CHECK(ndr_push_align(ndr, 5));
8108
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
8109
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
8110
NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture));
8111
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path));
8112
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file));
8113
NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file));
8114
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8116
if (ndr_flags & NDR_BUFFERS) {
8117
if (r->driver_name) {
8118
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8119
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8120
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8121
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8123
if (r->architecture) {
8124
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
8125
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8126
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
8127
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8129
if (r->driver_path) {
8130
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
8131
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8132
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
8133
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8136
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
8137
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8138
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
8139
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8141
if (r->config_file) {
8142
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
8143
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8144
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
8145
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8148
return NDR_ERR_SUCCESS;
8151
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo2 *r)
8153
uint32_t _ptr_driver_name;
8154
TALLOC_CTX *_mem_save_driver_name_0;
8155
uint32_t _ptr_architecture;
8156
TALLOC_CTX *_mem_save_architecture_0;
8157
uint32_t _ptr_driver_path;
8158
TALLOC_CTX *_mem_save_driver_path_0;
8159
uint32_t _ptr_data_file;
8160
TALLOC_CTX *_mem_save_data_file_0;
8161
uint32_t _ptr_config_file;
8162
TALLOC_CTX *_mem_save_config_file_0;
8163
if (ndr_flags & NDR_SCALARS) {
8164
NDR_CHECK(ndr_pull_align(ndr, 5));
8165
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
8166
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
8167
if (_ptr_driver_name) {
8168
NDR_PULL_ALLOC(ndr, r->driver_name);
8170
r->driver_name = NULL;
8172
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
8173
if (_ptr_architecture) {
8174
NDR_PULL_ALLOC(ndr, r->architecture);
8176
r->architecture = NULL;
8178
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
8179
if (_ptr_driver_path) {
8180
NDR_PULL_ALLOC(ndr, r->driver_path);
8182
r->driver_path = NULL;
8184
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
8185
if (_ptr_data_file) {
8186
NDR_PULL_ALLOC(ndr, r->data_file);
8188
r->data_file = NULL;
8190
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
8191
if (_ptr_config_file) {
8192
NDR_PULL_ALLOC(ndr, r->config_file);
8194
r->config_file = NULL;
8196
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8198
if (ndr_flags & NDR_BUFFERS) {
8199
if (r->driver_name) {
8200
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8201
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
8202
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
8203
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
8204
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
8205
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_name), ndr_get_array_length(ndr, &r->driver_name));
8207
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
8208
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
8209
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
8211
if (r->architecture) {
8212
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
8213
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
8214
NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture));
8215
NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture));
8216
if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) {
8217
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->architecture), ndr_get_array_length(ndr, &r->architecture));
8219
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t)));
8220
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16));
8221
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
8223
if (r->driver_path) {
8224
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
8225
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
8226
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path));
8227
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path));
8228
if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) {
8229
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_path), ndr_get_array_length(ndr, &r->driver_path));
8231
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t)));
8232
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16));
8233
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
8236
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8237
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
8238
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file));
8239
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file));
8240
if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) {
8241
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data_file), ndr_get_array_length(ndr, &r->data_file));
8243
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t)));
8244
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16));
8245
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
8247
if (r->config_file) {
8248
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8249
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
8250
NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file));
8251
NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file));
8252
if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) {
8253
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->config_file), ndr_get_array_length(ndr, &r->config_file));
8255
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t)));
8256
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16));
8257
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
8260
return NDR_ERR_SUCCESS;
8263
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo2 *r)
8265
ndr_print_struct(ndr, name, "spoolss_AddDriverInfo2");
8267
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
8268
ndr_print_ptr(ndr, "driver_name", r->driver_name);
8270
if (r->driver_name) {
8271
ndr_print_string(ndr, "driver_name", r->driver_name);
8274
ndr_print_ptr(ndr, "architecture", r->architecture);
8276
if (r->architecture) {
8277
ndr_print_string(ndr, "architecture", r->architecture);
8280
ndr_print_ptr(ndr, "driver_path", r->driver_path);
8282
if (r->driver_path) {
8283
ndr_print_string(ndr, "driver_path", r->driver_path);
8286
ndr_print_ptr(ndr, "data_file", r->data_file);
8289
ndr_print_string(ndr, "data_file", r->data_file);
8292
ndr_print_ptr(ndr, "config_file", r->config_file);
8294
if (r->config_file) {
8295
ndr_print_string(ndr, "config_file", r->config_file);
8301
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo3 *r)
8303
if (ndr_flags & NDR_SCALARS) {
8304
NDR_CHECK(ndr_push_align(ndr, 5));
8305
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
8306
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
8307
NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture));
8308
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path));
8309
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file));
8310
NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file));
8311
NDR_CHECK(ndr_push_unique_ptr(ndr, r->help_file));
8312
NDR_CHECK(ndr_push_unique_ptr(ndr, r->monitor_name));
8313
NDR_CHECK(ndr_push_unique_ptr(ndr, r->default_datatype));
8314
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
8315
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependent_files));
8316
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8318
if (ndr_flags & NDR_BUFFERS) {
8319
if (r->driver_name) {
8320
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8321
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8322
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8323
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8325
if (r->architecture) {
8326
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
8327
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8328
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
8329
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8331
if (r->driver_path) {
8332
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
8333
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8334
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
8335
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8338
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
8339
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8340
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
8341
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8343
if (r->config_file) {
8344
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
8345
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8346
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
8347
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8350
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
8351
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8352
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
8353
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->help_file, ndr_charset_length(r->help_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8355
if (r->monitor_name) {
8356
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
8357
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8358
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
8359
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->monitor_name, ndr_charset_length(r->monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8361
if (r->default_datatype) {
8362
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
8363
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8364
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
8365
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->default_datatype, ndr_charset_length(r->default_datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8367
if (r->dependent_files) {
8368
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
8371
return NDR_ERR_SUCCESS;
8374
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo3 *r)
8376
uint32_t _ptr_driver_name;
8377
TALLOC_CTX *_mem_save_driver_name_0;
8378
uint32_t _ptr_architecture;
8379
TALLOC_CTX *_mem_save_architecture_0;
8380
uint32_t _ptr_driver_path;
8381
TALLOC_CTX *_mem_save_driver_path_0;
8382
uint32_t _ptr_data_file;
8383
TALLOC_CTX *_mem_save_data_file_0;
8384
uint32_t _ptr_config_file;
8385
TALLOC_CTX *_mem_save_config_file_0;
8386
uint32_t _ptr_help_file;
8387
TALLOC_CTX *_mem_save_help_file_0;
8388
uint32_t _ptr_monitor_name;
8389
TALLOC_CTX *_mem_save_monitor_name_0;
8390
uint32_t _ptr_default_datatype;
8391
TALLOC_CTX *_mem_save_default_datatype_0;
8392
uint32_t _ptr_dependent_files;
8393
TALLOC_CTX *_mem_save_dependent_files_0;
8394
if (ndr_flags & NDR_SCALARS) {
8395
NDR_CHECK(ndr_pull_align(ndr, 5));
8396
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
8397
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
8398
if (_ptr_driver_name) {
8399
NDR_PULL_ALLOC(ndr, r->driver_name);
8401
r->driver_name = NULL;
8403
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
8404
if (_ptr_architecture) {
8405
NDR_PULL_ALLOC(ndr, r->architecture);
8407
r->architecture = NULL;
8409
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
8410
if (_ptr_driver_path) {
8411
NDR_PULL_ALLOC(ndr, r->driver_path);
8413
r->driver_path = NULL;
8415
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
8416
if (_ptr_data_file) {
8417
NDR_PULL_ALLOC(ndr, r->data_file);
8419
r->data_file = NULL;
8421
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
8422
if (_ptr_config_file) {
8423
NDR_PULL_ALLOC(ndr, r->config_file);
8425
r->config_file = NULL;
8427
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
8428
if (_ptr_help_file) {
8429
NDR_PULL_ALLOC(ndr, r->help_file);
8431
r->help_file = NULL;
8433
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
8434
if (_ptr_monitor_name) {
8435
NDR_PULL_ALLOC(ndr, r->monitor_name);
8437
r->monitor_name = NULL;
8439
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
8440
if (_ptr_default_datatype) {
8441
NDR_PULL_ALLOC(ndr, r->default_datatype);
8443
r->default_datatype = NULL;
8445
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_dependent_files));
8446
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
8447
if (_ptr_dependent_files) {
8448
NDR_PULL_ALLOC(ndr, r->dependent_files);
8450
r->dependent_files = NULL;
8452
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8454
if (ndr_flags & NDR_BUFFERS) {
8455
if (r->driver_name) {
8456
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8457
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
8458
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
8459
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
8460
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
8461
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_name), ndr_get_array_length(ndr, &r->driver_name));
8463
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
8464
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
8465
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
8467
if (r->architecture) {
8468
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
8469
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
8470
NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture));
8471
NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture));
8472
if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) {
8473
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->architecture), ndr_get_array_length(ndr, &r->architecture));
8475
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t)));
8476
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16));
8477
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
8479
if (r->driver_path) {
8480
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
8481
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
8482
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path));
8483
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path));
8484
if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) {
8485
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_path), ndr_get_array_length(ndr, &r->driver_path));
8487
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t)));
8488
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16));
8489
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
8492
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8493
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
8494
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file));
8495
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file));
8496
if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) {
8497
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data_file), ndr_get_array_length(ndr, &r->data_file));
8499
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t)));
8500
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16));
8501
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
8503
if (r->config_file) {
8504
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8505
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
8506
NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file));
8507
NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file));
8508
if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) {
8509
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->config_file), ndr_get_array_length(ndr, &r->config_file));
8511
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t)));
8512
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16));
8513
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
8516
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8517
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
8518
NDR_CHECK(ndr_pull_array_size(ndr, &r->help_file));
8519
NDR_CHECK(ndr_pull_array_length(ndr, &r->help_file));
8520
if (ndr_get_array_length(ndr, &r->help_file) > ndr_get_array_size(ndr, &r->help_file)) {
8521
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->help_file), ndr_get_array_length(ndr, &r->help_file));
8523
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t)));
8524
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->help_file, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t), CH_UTF16));
8525
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
8527
if (r->monitor_name) {
8528
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8529
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
8530
NDR_CHECK(ndr_pull_array_size(ndr, &r->monitor_name));
8531
NDR_CHECK(ndr_pull_array_length(ndr, &r->monitor_name));
8532
if (ndr_get_array_length(ndr, &r->monitor_name) > ndr_get_array_size(ndr, &r->monitor_name)) {
8533
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->monitor_name), ndr_get_array_length(ndr, &r->monitor_name));
8535
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t)));
8536
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->monitor_name, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t), CH_UTF16));
8537
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
8539
if (r->default_datatype) {
8540
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
8541
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
8542
NDR_CHECK(ndr_pull_array_size(ndr, &r->default_datatype));
8543
NDR_CHECK(ndr_pull_array_length(ndr, &r->default_datatype));
8544
if (ndr_get_array_length(ndr, &r->default_datatype) > ndr_get_array_size(ndr, &r->default_datatype)) {
8545
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->default_datatype), ndr_get_array_length(ndr, &r->default_datatype));
8547
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t)));
8548
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->default_datatype, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t), CH_UTF16));
8549
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
8551
if (r->dependent_files) {
8552
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
8553
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
8554
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
8555
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
8558
return NDR_ERR_SUCCESS;
8561
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo3 *r)
8563
ndr_print_struct(ndr, name, "spoolss_AddDriverInfo3");
8565
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
8566
ndr_print_ptr(ndr, "driver_name", r->driver_name);
8568
if (r->driver_name) {
8569
ndr_print_string(ndr, "driver_name", r->driver_name);
8572
ndr_print_ptr(ndr, "architecture", r->architecture);
8574
if (r->architecture) {
8575
ndr_print_string(ndr, "architecture", r->architecture);
8578
ndr_print_ptr(ndr, "driver_path", r->driver_path);
8580
if (r->driver_path) {
8581
ndr_print_string(ndr, "driver_path", r->driver_path);
8584
ndr_print_ptr(ndr, "data_file", r->data_file);
8587
ndr_print_string(ndr, "data_file", r->data_file);
8590
ndr_print_ptr(ndr, "config_file", r->config_file);
8592
if (r->config_file) {
8593
ndr_print_string(ndr, "config_file", r->config_file);
8596
ndr_print_ptr(ndr, "help_file", r->help_file);
8599
ndr_print_string(ndr, "help_file", r->help_file);
8602
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
8604
if (r->monitor_name) {
8605
ndr_print_string(ndr, "monitor_name", r->monitor_name);
8608
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
8610
if (r->default_datatype) {
8611
ndr_print_string(ndr, "default_datatype", r->default_datatype);
8614
ndr_print_uint32(ndr, "_ndr_size_dependent_files", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_dependent_files);
8615
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
8617
if (r->dependent_files) {
8618
ndr_print_spoolss_StringArray(ndr, "dependent_files", r->dependent_files);
8624
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo4 *r)
8626
if (ndr_flags & NDR_SCALARS) {
8627
NDR_CHECK(ndr_push_align(ndr, 5));
8628
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
8629
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
8630
NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture));
8631
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path));
8632
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file));
8633
NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file));
8634
NDR_CHECK(ndr_push_unique_ptr(ndr, r->help_file));
8635
NDR_CHECK(ndr_push_unique_ptr(ndr, r->monitor_name));
8636
NDR_CHECK(ndr_push_unique_ptr(ndr, r->default_datatype));
8637
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
8638
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependent_files));
8639
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
8640
NDR_CHECK(ndr_push_unique_ptr(ndr, r->previous_names));
8641
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8643
if (ndr_flags & NDR_BUFFERS) {
8644
if (r->driver_name) {
8645
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8646
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8647
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8648
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8650
if (r->architecture) {
8651
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
8652
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8653
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
8654
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8656
if (r->driver_path) {
8657
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
8658
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8659
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
8660
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8663
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
8664
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8665
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
8666
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8668
if (r->config_file) {
8669
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
8670
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8671
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
8672
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8675
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
8676
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8677
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
8678
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->help_file, ndr_charset_length(r->help_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8680
if (r->monitor_name) {
8681
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
8682
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8683
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
8684
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->monitor_name, ndr_charset_length(r->monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8686
if (r->default_datatype) {
8687
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
8688
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8689
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
8690
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->default_datatype, ndr_charset_length(r->default_datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8692
if (r->dependent_files) {
8693
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
8695
if (r->previous_names) {
8696
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names));
8699
return NDR_ERR_SUCCESS;
8702
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo4 *r)
8704
uint32_t _ptr_driver_name;
8705
TALLOC_CTX *_mem_save_driver_name_0;
8706
uint32_t _ptr_architecture;
8707
TALLOC_CTX *_mem_save_architecture_0;
8708
uint32_t _ptr_driver_path;
8709
TALLOC_CTX *_mem_save_driver_path_0;
8710
uint32_t _ptr_data_file;
8711
TALLOC_CTX *_mem_save_data_file_0;
8712
uint32_t _ptr_config_file;
8713
TALLOC_CTX *_mem_save_config_file_0;
8714
uint32_t _ptr_help_file;
8715
TALLOC_CTX *_mem_save_help_file_0;
8716
uint32_t _ptr_monitor_name;
8717
TALLOC_CTX *_mem_save_monitor_name_0;
8718
uint32_t _ptr_default_datatype;
8719
TALLOC_CTX *_mem_save_default_datatype_0;
8720
uint32_t _ptr_dependent_files;
8721
TALLOC_CTX *_mem_save_dependent_files_0;
8722
uint32_t _ptr_previous_names;
8723
TALLOC_CTX *_mem_save_previous_names_0;
8724
if (ndr_flags & NDR_SCALARS) {
8725
NDR_CHECK(ndr_pull_align(ndr, 5));
8726
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
8727
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
8728
if (_ptr_driver_name) {
8729
NDR_PULL_ALLOC(ndr, r->driver_name);
8731
r->driver_name = NULL;
8733
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
8734
if (_ptr_architecture) {
8735
NDR_PULL_ALLOC(ndr, r->architecture);
8737
r->architecture = NULL;
8739
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
8740
if (_ptr_driver_path) {
8741
NDR_PULL_ALLOC(ndr, r->driver_path);
8743
r->driver_path = NULL;
8745
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
8746
if (_ptr_data_file) {
8747
NDR_PULL_ALLOC(ndr, r->data_file);
8749
r->data_file = NULL;
8751
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
8752
if (_ptr_config_file) {
8753
NDR_PULL_ALLOC(ndr, r->config_file);
8755
r->config_file = NULL;
8757
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
8758
if (_ptr_help_file) {
8759
NDR_PULL_ALLOC(ndr, r->help_file);
8761
r->help_file = NULL;
8763
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
8764
if (_ptr_monitor_name) {
8765
NDR_PULL_ALLOC(ndr, r->monitor_name);
8767
r->monitor_name = NULL;
8769
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
8770
if (_ptr_default_datatype) {
8771
NDR_PULL_ALLOC(ndr, r->default_datatype);
8773
r->default_datatype = NULL;
8775
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_dependent_files));
8776
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
8777
if (_ptr_dependent_files) {
8778
NDR_PULL_ALLOC(ndr, r->dependent_files);
8780
r->dependent_files = NULL;
8782
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_previous_names));
8783
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
8784
if (_ptr_previous_names) {
8785
NDR_PULL_ALLOC(ndr, r->previous_names);
8787
r->previous_names = NULL;
8789
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8791
if (ndr_flags & NDR_BUFFERS) {
8792
if (r->driver_name) {
8793
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8794
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
8795
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
8796
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
8797
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
8798
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_name), ndr_get_array_length(ndr, &r->driver_name));
8800
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
8801
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
8802
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
8804
if (r->architecture) {
8805
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
8806
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
8807
NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture));
8808
NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture));
8809
if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) {
8810
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->architecture), ndr_get_array_length(ndr, &r->architecture));
8812
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t)));
8813
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16));
8814
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
8816
if (r->driver_path) {
8817
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
8818
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
8819
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path));
8820
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path));
8821
if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) {
8822
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_path), ndr_get_array_length(ndr, &r->driver_path));
8824
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t)));
8825
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16));
8826
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
8829
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8830
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
8831
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file));
8832
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file));
8833
if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) {
8834
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data_file), ndr_get_array_length(ndr, &r->data_file));
8836
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t)));
8837
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16));
8838
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
8840
if (r->config_file) {
8841
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8842
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
8843
NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file));
8844
NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file));
8845
if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) {
8846
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->config_file), ndr_get_array_length(ndr, &r->config_file));
8848
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t)));
8849
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16));
8850
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
8853
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8854
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
8855
NDR_CHECK(ndr_pull_array_size(ndr, &r->help_file));
8856
NDR_CHECK(ndr_pull_array_length(ndr, &r->help_file));
8857
if (ndr_get_array_length(ndr, &r->help_file) > ndr_get_array_size(ndr, &r->help_file)) {
8858
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->help_file), ndr_get_array_length(ndr, &r->help_file));
8860
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t)));
8861
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->help_file, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t), CH_UTF16));
8862
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
8864
if (r->monitor_name) {
8865
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8866
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
8867
NDR_CHECK(ndr_pull_array_size(ndr, &r->monitor_name));
8868
NDR_CHECK(ndr_pull_array_length(ndr, &r->monitor_name));
8869
if (ndr_get_array_length(ndr, &r->monitor_name) > ndr_get_array_size(ndr, &r->monitor_name)) {
8870
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->monitor_name), ndr_get_array_length(ndr, &r->monitor_name));
8872
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t)));
8873
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->monitor_name, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t), CH_UTF16));
8874
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
8876
if (r->default_datatype) {
8877
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
8878
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
8879
NDR_CHECK(ndr_pull_array_size(ndr, &r->default_datatype));
8880
NDR_CHECK(ndr_pull_array_length(ndr, &r->default_datatype));
8881
if (ndr_get_array_length(ndr, &r->default_datatype) > ndr_get_array_size(ndr, &r->default_datatype)) {
8882
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->default_datatype), ndr_get_array_length(ndr, &r->default_datatype));
8884
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t)));
8885
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->default_datatype, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t), CH_UTF16));
8886
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
8888
if (r->dependent_files) {
8889
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
8890
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
8891
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
8892
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
8894
if (r->previous_names) {
8895
_mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
8896
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
8897
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names));
8898
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
8901
return NDR_ERR_SUCCESS;
8904
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo4 *r)
8906
ndr_print_struct(ndr, name, "spoolss_AddDriverInfo4");
8908
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
8909
ndr_print_ptr(ndr, "driver_name", r->driver_name);
8911
if (r->driver_name) {
8912
ndr_print_string(ndr, "driver_name", r->driver_name);
8915
ndr_print_ptr(ndr, "architecture", r->architecture);
8917
if (r->architecture) {
8918
ndr_print_string(ndr, "architecture", r->architecture);
8921
ndr_print_ptr(ndr, "driver_path", r->driver_path);
8923
if (r->driver_path) {
8924
ndr_print_string(ndr, "driver_path", r->driver_path);
8927
ndr_print_ptr(ndr, "data_file", r->data_file);
8930
ndr_print_string(ndr, "data_file", r->data_file);
8933
ndr_print_ptr(ndr, "config_file", r->config_file);
8935
if (r->config_file) {
8936
ndr_print_string(ndr, "config_file", r->config_file);
8939
ndr_print_ptr(ndr, "help_file", r->help_file);
8942
ndr_print_string(ndr, "help_file", r->help_file);
8945
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
8947
if (r->monitor_name) {
8948
ndr_print_string(ndr, "monitor_name", r->monitor_name);
8951
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
8953
if (r->default_datatype) {
8954
ndr_print_string(ndr, "default_datatype", r->default_datatype);
8957
ndr_print_uint32(ndr, "_ndr_size_dependent_files", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_dependent_files);
8958
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
8960
if (r->dependent_files) {
8961
ndr_print_spoolss_StringArray(ndr, "dependent_files", r->dependent_files);
8964
ndr_print_uint32(ndr, "_ndr_size_previous_names", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_previous_names);
8965
ndr_print_ptr(ndr, "previous_names", r->previous_names);
8967
if (r->previous_names) {
8968
ndr_print_spoolss_StringArray(ndr, "previous_names", r->previous_names);
8974
static enum ndr_err_code ndr_push_spoolss_DriverAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
8976
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8977
return NDR_ERR_SUCCESS;
8980
static enum ndr_err_code ndr_pull_spoolss_DriverAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
8983
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8985
return NDR_ERR_SUCCESS;
8988
_PUBLIC_ void ndr_print_spoolss_DriverAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
8990
ndr_print_uint32(ndr, name, r);
8992
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_DRIVER_PACKAGE_AWARE", PRINTER_DRIVER_PACKAGE_AWARE, r);
8996
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo6 *r)
8998
if (ndr_flags & NDR_SCALARS) {
8999
NDR_CHECK(ndr_push_align(ndr, 8));
9000
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
9001
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
9002
NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture));
9003
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path));
9004
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file));
9005
NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file));
9006
NDR_CHECK(ndr_push_unique_ptr(ndr, r->help_file));
9007
NDR_CHECK(ndr_push_unique_ptr(ndr, r->monitor_name));
9008
NDR_CHECK(ndr_push_unique_ptr(ndr, r->default_datatype));
9009
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
9010
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependent_files));
9011
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
9012
NDR_CHECK(ndr_push_unique_ptr(ndr, r->previous_names));
9013
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date));
9014
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
9015
NDR_CHECK(ndr_push_unique_ptr(ndr, r->manufacturer_name));
9016
NDR_CHECK(ndr_push_unique_ptr(ndr, r->manufacturer_url));
9017
NDR_CHECK(ndr_push_unique_ptr(ndr, r->hardware_id));
9018
NDR_CHECK(ndr_push_unique_ptr(ndr, r->provider));
9019
NDR_CHECK(ndr_push_trailer_align(ndr, 8));
9021
if (ndr_flags & NDR_BUFFERS) {
9022
if (r->driver_name) {
9023
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
9024
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9025
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
9026
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9028
if (r->architecture) {
9029
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
9030
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9031
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
9032
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9034
if (r->driver_path) {
9035
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
9036
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9037
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
9038
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9041
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
9042
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9043
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
9044
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9046
if (r->config_file) {
9047
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
9048
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9049
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
9050
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9053
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
9054
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9055
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
9056
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->help_file, ndr_charset_length(r->help_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9058
if (r->monitor_name) {
9059
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
9060
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9061
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
9062
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->monitor_name, ndr_charset_length(r->monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9064
if (r->default_datatype) {
9065
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
9066
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9067
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
9068
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->default_datatype, ndr_charset_length(r->default_datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9070
if (r->dependent_files) {
9071
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
9073
if (r->previous_names) {
9074
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names));
9076
if (r->manufacturer_name) {
9077
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_name, CH_UTF16)));
9078
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9079
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_name, CH_UTF16)));
9080
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->manufacturer_name, ndr_charset_length(r->manufacturer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9082
if (r->manufacturer_url) {
9083
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_url, CH_UTF16)));
9084
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9085
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_url, CH_UTF16)));
9086
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->manufacturer_url, ndr_charset_length(r->manufacturer_url, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9088
if (r->hardware_id) {
9089
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->hardware_id, CH_UTF16)));
9090
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9091
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->hardware_id, CH_UTF16)));
9092
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hardware_id, ndr_charset_length(r->hardware_id, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9095
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->provider, CH_UTF16)));
9096
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9097
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->provider, CH_UTF16)));
9098
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->provider, ndr_charset_length(r->provider, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9101
return NDR_ERR_SUCCESS;
9104
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo6 *r)
9106
uint32_t _ptr_driver_name;
9107
TALLOC_CTX *_mem_save_driver_name_0;
9108
uint32_t _ptr_architecture;
9109
TALLOC_CTX *_mem_save_architecture_0;
9110
uint32_t _ptr_driver_path;
9111
TALLOC_CTX *_mem_save_driver_path_0;
9112
uint32_t _ptr_data_file;
9113
TALLOC_CTX *_mem_save_data_file_0;
9114
uint32_t _ptr_config_file;
9115
TALLOC_CTX *_mem_save_config_file_0;
9116
uint32_t _ptr_help_file;
9117
TALLOC_CTX *_mem_save_help_file_0;
9118
uint32_t _ptr_monitor_name;
9119
TALLOC_CTX *_mem_save_monitor_name_0;
9120
uint32_t _ptr_default_datatype;
9121
TALLOC_CTX *_mem_save_default_datatype_0;
9122
uint32_t _ptr_dependent_files;
9123
TALLOC_CTX *_mem_save_dependent_files_0;
9124
uint32_t _ptr_previous_names;
9125
TALLOC_CTX *_mem_save_previous_names_0;
9126
uint32_t _ptr_manufacturer_name;
9127
TALLOC_CTX *_mem_save_manufacturer_name_0;
9128
uint32_t _ptr_manufacturer_url;
9129
TALLOC_CTX *_mem_save_manufacturer_url_0;
9130
uint32_t _ptr_hardware_id;
9131
TALLOC_CTX *_mem_save_hardware_id_0;
9132
uint32_t _ptr_provider;
9133
TALLOC_CTX *_mem_save_provider_0;
9134
if (ndr_flags & NDR_SCALARS) {
9135
NDR_CHECK(ndr_pull_align(ndr, 8));
9136
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
9137
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
9138
if (_ptr_driver_name) {
9139
NDR_PULL_ALLOC(ndr, r->driver_name);
9141
r->driver_name = NULL;
9143
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
9144
if (_ptr_architecture) {
9145
NDR_PULL_ALLOC(ndr, r->architecture);
9147
r->architecture = NULL;
9149
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
9150
if (_ptr_driver_path) {
9151
NDR_PULL_ALLOC(ndr, r->driver_path);
9153
r->driver_path = NULL;
9155
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
9156
if (_ptr_data_file) {
9157
NDR_PULL_ALLOC(ndr, r->data_file);
9159
r->data_file = NULL;
9161
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
9162
if (_ptr_config_file) {
9163
NDR_PULL_ALLOC(ndr, r->config_file);
9165
r->config_file = NULL;
9167
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
9168
if (_ptr_help_file) {
9169
NDR_PULL_ALLOC(ndr, r->help_file);
9171
r->help_file = NULL;
9173
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
9174
if (_ptr_monitor_name) {
9175
NDR_PULL_ALLOC(ndr, r->monitor_name);
9177
r->monitor_name = NULL;
9179
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
9180
if (_ptr_default_datatype) {
9181
NDR_PULL_ALLOC(ndr, r->default_datatype);
9183
r->default_datatype = NULL;
9185
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_dependent_files));
9186
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
9187
if (_ptr_dependent_files) {
9188
NDR_PULL_ALLOC(ndr, r->dependent_files);
9190
r->dependent_files = NULL;
9192
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_previous_names));
9193
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
9194
if (_ptr_previous_names) {
9195
NDR_PULL_ALLOC(ndr, r->previous_names);
9197
r->previous_names = NULL;
9199
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date));
9200
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
9201
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name));
9202
if (_ptr_manufacturer_name) {
9203
NDR_PULL_ALLOC(ndr, r->manufacturer_name);
9205
r->manufacturer_name = NULL;
9207
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url));
9208
if (_ptr_manufacturer_url) {
9209
NDR_PULL_ALLOC(ndr, r->manufacturer_url);
9211
r->manufacturer_url = NULL;
9213
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id));
9214
if (_ptr_hardware_id) {
9215
NDR_PULL_ALLOC(ndr, r->hardware_id);
9217
r->hardware_id = NULL;
9219
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider));
9220
if (_ptr_provider) {
9221
NDR_PULL_ALLOC(ndr, r->provider);
9225
NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
9227
if (ndr_flags & NDR_BUFFERS) {
9228
if (r->driver_name) {
9229
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9230
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
9231
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
9232
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
9233
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
9234
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_name), ndr_get_array_length(ndr, &r->driver_name));
9236
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
9237
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
9238
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
9240
if (r->architecture) {
9241
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
9242
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
9243
NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture));
9244
NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture));
9245
if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) {
9246
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->architecture), ndr_get_array_length(ndr, &r->architecture));
9248
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t)));
9249
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16));
9250
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
9252
if (r->driver_path) {
9253
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
9254
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
9255
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path));
9256
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path));
9257
if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) {
9258
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_path), ndr_get_array_length(ndr, &r->driver_path));
9260
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t)));
9261
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16));
9262
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
9265
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9266
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
9267
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file));
9268
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file));
9269
if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) {
9270
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data_file), ndr_get_array_length(ndr, &r->data_file));
9272
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t)));
9273
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16));
9274
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
9276
if (r->config_file) {
9277
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9278
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
9279
NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file));
9280
NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file));
9281
if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) {
9282
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->config_file), ndr_get_array_length(ndr, &r->config_file));
9284
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t)));
9285
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16));
9286
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
9289
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9290
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
9291
NDR_CHECK(ndr_pull_array_size(ndr, &r->help_file));
9292
NDR_CHECK(ndr_pull_array_length(ndr, &r->help_file));
9293
if (ndr_get_array_length(ndr, &r->help_file) > ndr_get_array_size(ndr, &r->help_file)) {
9294
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->help_file), ndr_get_array_length(ndr, &r->help_file));
9296
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t)));
9297
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->help_file, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t), CH_UTF16));
9298
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
9300
if (r->monitor_name) {
9301
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9302
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
9303
NDR_CHECK(ndr_pull_array_size(ndr, &r->monitor_name));
9304
NDR_CHECK(ndr_pull_array_length(ndr, &r->monitor_name));
9305
if (ndr_get_array_length(ndr, &r->monitor_name) > ndr_get_array_size(ndr, &r->monitor_name)) {
9306
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->monitor_name), ndr_get_array_length(ndr, &r->monitor_name));
9308
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t)));
9309
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->monitor_name, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t), CH_UTF16));
9310
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
9312
if (r->default_datatype) {
9313
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
9314
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
9315
NDR_CHECK(ndr_pull_array_size(ndr, &r->default_datatype));
9316
NDR_CHECK(ndr_pull_array_length(ndr, &r->default_datatype));
9317
if (ndr_get_array_length(ndr, &r->default_datatype) > ndr_get_array_size(ndr, &r->default_datatype)) {
9318
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->default_datatype), ndr_get_array_length(ndr, &r->default_datatype));
9320
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t)));
9321
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->default_datatype, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t), CH_UTF16));
9322
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
9324
if (r->dependent_files) {
9325
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
9326
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
9327
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
9328
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
9330
if (r->previous_names) {
9331
_mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
9332
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
9333
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names));
9334
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
9336
if (r->manufacturer_name) {
9337
_mem_save_manufacturer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9338
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0);
9339
NDR_CHECK(ndr_pull_array_size(ndr, &r->manufacturer_name));
9340
NDR_CHECK(ndr_pull_array_length(ndr, &r->manufacturer_name));
9341
if (ndr_get_array_length(ndr, &r->manufacturer_name) > ndr_get_array_size(ndr, &r->manufacturer_name)) {
9342
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->manufacturer_name), ndr_get_array_length(ndr, &r->manufacturer_name));
9344
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->manufacturer_name), sizeof(uint16_t)));
9345
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->manufacturer_name, ndr_get_array_length(ndr, &r->manufacturer_name), sizeof(uint16_t), CH_UTF16));
9346
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0);
9348
if (r->manufacturer_url) {
9349
_mem_save_manufacturer_url_0 = NDR_PULL_GET_MEM_CTX(ndr);
9350
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0);
9351
NDR_CHECK(ndr_pull_array_size(ndr, &r->manufacturer_url));
9352
NDR_CHECK(ndr_pull_array_length(ndr, &r->manufacturer_url));
9353
if (ndr_get_array_length(ndr, &r->manufacturer_url) > ndr_get_array_size(ndr, &r->manufacturer_url)) {
9354
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->manufacturer_url), ndr_get_array_length(ndr, &r->manufacturer_url));
9356
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->manufacturer_url), sizeof(uint16_t)));
9357
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->manufacturer_url, ndr_get_array_length(ndr, &r->manufacturer_url), sizeof(uint16_t), CH_UTF16));
9358
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0);
9360
if (r->hardware_id) {
9361
_mem_save_hardware_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9362
NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0);
9363
NDR_CHECK(ndr_pull_array_size(ndr, &r->hardware_id));
9364
NDR_CHECK(ndr_pull_array_length(ndr, &r->hardware_id));
9365
if (ndr_get_array_length(ndr, &r->hardware_id) > ndr_get_array_size(ndr, &r->hardware_id)) {
9366
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->hardware_id), ndr_get_array_length(ndr, &r->hardware_id));
9368
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->hardware_id), sizeof(uint16_t)));
9369
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hardware_id, ndr_get_array_length(ndr, &r->hardware_id), sizeof(uint16_t), CH_UTF16));
9370
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0);
9373
_mem_save_provider_0 = NDR_PULL_GET_MEM_CTX(ndr);
9374
NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0);
9375
NDR_CHECK(ndr_pull_array_size(ndr, &r->provider));
9376
NDR_CHECK(ndr_pull_array_length(ndr, &r->provider));
9377
if (ndr_get_array_length(ndr, &r->provider) > ndr_get_array_size(ndr, &r->provider)) {
9378
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->provider), ndr_get_array_length(ndr, &r->provider));
9380
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->provider), sizeof(uint16_t)));
9381
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->provider, ndr_get_array_length(ndr, &r->provider), sizeof(uint16_t), CH_UTF16));
9382
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0);
9385
return NDR_ERR_SUCCESS;
9388
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo6 *r)
9390
ndr_print_struct(ndr, name, "spoolss_AddDriverInfo6");
9392
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
9393
ndr_print_ptr(ndr, "driver_name", r->driver_name);
9395
if (r->driver_name) {
9396
ndr_print_string(ndr, "driver_name", r->driver_name);
9399
ndr_print_ptr(ndr, "architecture", r->architecture);
9401
if (r->architecture) {
9402
ndr_print_string(ndr, "architecture", r->architecture);
9405
ndr_print_ptr(ndr, "driver_path", r->driver_path);
9407
if (r->driver_path) {
9408
ndr_print_string(ndr, "driver_path", r->driver_path);
9411
ndr_print_ptr(ndr, "data_file", r->data_file);
9414
ndr_print_string(ndr, "data_file", r->data_file);
9417
ndr_print_ptr(ndr, "config_file", r->config_file);
9419
if (r->config_file) {
9420
ndr_print_string(ndr, "config_file", r->config_file);
9423
ndr_print_ptr(ndr, "help_file", r->help_file);
9426
ndr_print_string(ndr, "help_file", r->help_file);
9429
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
9431
if (r->monitor_name) {
9432
ndr_print_string(ndr, "monitor_name", r->monitor_name);
9435
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
9437
if (r->default_datatype) {
9438
ndr_print_string(ndr, "default_datatype", r->default_datatype);
9441
ndr_print_uint32(ndr, "_ndr_size_dependent_files", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_dependent_files);
9442
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
9444
if (r->dependent_files) {
9445
ndr_print_spoolss_StringArray(ndr, "dependent_files", r->dependent_files);
9448
ndr_print_uint32(ndr, "_ndr_size_previous_names", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_previous_names);
9449
ndr_print_ptr(ndr, "previous_names", r->previous_names);
9451
if (r->previous_names) {
9452
ndr_print_spoolss_StringArray(ndr, "previous_names", r->previous_names);
9455
ndr_print_NTTIME(ndr, "driver_date", r->driver_date);
9456
ndr_print_hyper(ndr, "driver_version", r->driver_version);
9457
ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name);
9459
if (r->manufacturer_name) {
9460
ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name);
9463
ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url);
9465
if (r->manufacturer_url) {
9466
ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url);
9469
ndr_print_ptr(ndr, "hardware_id", r->hardware_id);
9471
if (r->hardware_id) {
9472
ndr_print_string(ndr, "hardware_id", r->hardware_id);
9475
ndr_print_ptr(ndr, "provider", r->provider);
9478
ndr_print_string(ndr, "provider", r->provider);
9484
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo8(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo8 *r)
9486
if (ndr_flags & NDR_SCALARS) {
9487
NDR_CHECK(ndr_push_align(ndr, 8));
9488
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
9489
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
9490
NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture));
9491
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path));
9492
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file));
9493
NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file));
9494
NDR_CHECK(ndr_push_unique_ptr(ndr, r->help_file));
9495
NDR_CHECK(ndr_push_unique_ptr(ndr, r->monitor_name));
9496
NDR_CHECK(ndr_push_unique_ptr(ndr, r->default_datatype));
9497
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
9498
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependent_files));
9499
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
9500
NDR_CHECK(ndr_push_unique_ptr(ndr, r->previous_names));
9501
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date));
9502
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
9503
NDR_CHECK(ndr_push_unique_ptr(ndr, r->manufacturer_name));
9504
NDR_CHECK(ndr_push_unique_ptr(ndr, r->manufacturer_url));
9505
NDR_CHECK(ndr_push_unique_ptr(ndr, r->hardware_id));
9506
NDR_CHECK(ndr_push_unique_ptr(ndr, r->provider));
9507
NDR_CHECK(ndr_push_unique_ptr(ndr, r->print_processor));
9508
NDR_CHECK(ndr_push_unique_ptr(ndr, r->vendor_setup));
9509
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->color_profiles, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
9510
NDR_CHECK(ndr_push_unique_ptr(ndr, r->color_profiles));
9511
NDR_CHECK(ndr_push_unique_ptr(ndr, r->inf_path));
9512
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->printer_driver_attributes));
9513
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->core_driver_dependencies, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
9514
NDR_CHECK(ndr_push_unique_ptr(ndr, r->core_driver_dependencies));
9515
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->min_inbox_driver_ver_date));
9516
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->min_inbox_driver_ver_version));
9517
NDR_CHECK(ndr_push_trailer_align(ndr, 8));
9519
if (ndr_flags & NDR_BUFFERS) {
9520
if (r->driver_name) {
9521
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
9522
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9523
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
9524
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9526
if (r->architecture) {
9527
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
9528
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9529
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
9530
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9532
if (r->driver_path) {
9533
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
9534
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9535
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
9536
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9539
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
9540
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9541
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
9542
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9544
if (r->config_file) {
9545
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
9546
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9547
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
9548
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9551
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
9552
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9553
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
9554
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->help_file, ndr_charset_length(r->help_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9556
if (r->monitor_name) {
9557
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
9558
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9559
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
9560
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->monitor_name, ndr_charset_length(r->monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9562
if (r->default_datatype) {
9563
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
9564
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9565
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
9566
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->default_datatype, ndr_charset_length(r->default_datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9568
if (r->dependent_files) {
9569
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
9571
if (r->previous_names) {
9572
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names));
9574
if (r->manufacturer_name) {
9575
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_name, CH_UTF16)));
9576
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9577
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_name, CH_UTF16)));
9578
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->manufacturer_name, ndr_charset_length(r->manufacturer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9580
if (r->manufacturer_url) {
9581
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_url, CH_UTF16)));
9582
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9583
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_url, CH_UTF16)));
9584
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->manufacturer_url, ndr_charset_length(r->manufacturer_url, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9586
if (r->hardware_id) {
9587
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->hardware_id, CH_UTF16)));
9588
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9589
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->hardware_id, CH_UTF16)));
9590
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hardware_id, ndr_charset_length(r->hardware_id, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9593
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->provider, CH_UTF16)));
9594
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9595
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->provider, CH_UTF16)));
9596
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->provider, ndr_charset_length(r->provider, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9598
if (r->print_processor) {
9599
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16)));
9600
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9601
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16)));
9602
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->print_processor, ndr_charset_length(r->print_processor, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9604
if (r->vendor_setup) {
9605
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->vendor_setup, CH_UTF16)));
9606
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9607
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->vendor_setup, CH_UTF16)));
9608
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->vendor_setup, ndr_charset_length(r->vendor_setup, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9610
if (r->color_profiles) {
9611
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->color_profiles));
9614
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->inf_path, CH_UTF16)));
9615
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9616
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->inf_path, CH_UTF16)));
9617
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->inf_path, ndr_charset_length(r->inf_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9619
if (r->core_driver_dependencies) {
9620
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->core_driver_dependencies));
9623
return NDR_ERR_SUCCESS;
9626
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo8(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo8 *r)
9628
uint32_t _ptr_driver_name;
9629
TALLOC_CTX *_mem_save_driver_name_0;
9630
uint32_t _ptr_architecture;
9631
TALLOC_CTX *_mem_save_architecture_0;
9632
uint32_t _ptr_driver_path;
9633
TALLOC_CTX *_mem_save_driver_path_0;
9634
uint32_t _ptr_data_file;
9635
TALLOC_CTX *_mem_save_data_file_0;
9636
uint32_t _ptr_config_file;
9637
TALLOC_CTX *_mem_save_config_file_0;
9638
uint32_t _ptr_help_file;
9639
TALLOC_CTX *_mem_save_help_file_0;
9640
uint32_t _ptr_monitor_name;
9641
TALLOC_CTX *_mem_save_monitor_name_0;
9642
uint32_t _ptr_default_datatype;
9643
TALLOC_CTX *_mem_save_default_datatype_0;
9644
uint32_t _ptr_dependent_files;
9645
TALLOC_CTX *_mem_save_dependent_files_0;
9646
uint32_t _ptr_previous_names;
9647
TALLOC_CTX *_mem_save_previous_names_0;
9648
uint32_t _ptr_manufacturer_name;
9649
TALLOC_CTX *_mem_save_manufacturer_name_0;
9650
uint32_t _ptr_manufacturer_url;
9651
TALLOC_CTX *_mem_save_manufacturer_url_0;
9652
uint32_t _ptr_hardware_id;
9653
TALLOC_CTX *_mem_save_hardware_id_0;
9654
uint32_t _ptr_provider;
9655
TALLOC_CTX *_mem_save_provider_0;
9656
uint32_t _ptr_print_processor;
9657
TALLOC_CTX *_mem_save_print_processor_0;
9658
uint32_t _ptr_vendor_setup;
9659
TALLOC_CTX *_mem_save_vendor_setup_0;
9660
uint32_t _ptr_color_profiles;
9661
TALLOC_CTX *_mem_save_color_profiles_0;
9662
uint32_t _ptr_inf_path;
9663
TALLOC_CTX *_mem_save_inf_path_0;
9664
uint32_t _ptr_core_driver_dependencies;
9665
TALLOC_CTX *_mem_save_core_driver_dependencies_0;
9666
if (ndr_flags & NDR_SCALARS) {
9667
NDR_CHECK(ndr_pull_align(ndr, 8));
9668
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
9669
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
9670
if (_ptr_driver_name) {
9671
NDR_PULL_ALLOC(ndr, r->driver_name);
9673
r->driver_name = NULL;
9675
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
9676
if (_ptr_architecture) {
9677
NDR_PULL_ALLOC(ndr, r->architecture);
9679
r->architecture = NULL;
9681
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
9682
if (_ptr_driver_path) {
9683
NDR_PULL_ALLOC(ndr, r->driver_path);
9685
r->driver_path = NULL;
9687
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
9688
if (_ptr_data_file) {
9689
NDR_PULL_ALLOC(ndr, r->data_file);
9691
r->data_file = NULL;
9693
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
9694
if (_ptr_config_file) {
9695
NDR_PULL_ALLOC(ndr, r->config_file);
9697
r->config_file = NULL;
9699
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
9700
if (_ptr_help_file) {
9701
NDR_PULL_ALLOC(ndr, r->help_file);
9703
r->help_file = NULL;
9705
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
9706
if (_ptr_monitor_name) {
9707
NDR_PULL_ALLOC(ndr, r->monitor_name);
9709
r->monitor_name = NULL;
9711
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
9712
if (_ptr_default_datatype) {
9713
NDR_PULL_ALLOC(ndr, r->default_datatype);
9715
r->default_datatype = NULL;
9717
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_dependent_files));
9718
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
9719
if (_ptr_dependent_files) {
9720
NDR_PULL_ALLOC(ndr, r->dependent_files);
9722
r->dependent_files = NULL;
9724
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_previous_names));
9725
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
9726
if (_ptr_previous_names) {
9727
NDR_PULL_ALLOC(ndr, r->previous_names);
9729
r->previous_names = NULL;
9731
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date));
9732
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
9733
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name));
9734
if (_ptr_manufacturer_name) {
9735
NDR_PULL_ALLOC(ndr, r->manufacturer_name);
9737
r->manufacturer_name = NULL;
9739
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url));
9740
if (_ptr_manufacturer_url) {
9741
NDR_PULL_ALLOC(ndr, r->manufacturer_url);
9743
r->manufacturer_url = NULL;
9745
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id));
9746
if (_ptr_hardware_id) {
9747
NDR_PULL_ALLOC(ndr, r->hardware_id);
9749
r->hardware_id = NULL;
9751
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider));
9752
if (_ptr_provider) {
9753
NDR_PULL_ALLOC(ndr, r->provider);
9757
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
9758
if (_ptr_print_processor) {
9759
NDR_PULL_ALLOC(ndr, r->print_processor);
9761
r->print_processor = NULL;
9763
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_vendor_setup));
9764
if (_ptr_vendor_setup) {
9765
NDR_PULL_ALLOC(ndr, r->vendor_setup);
9767
r->vendor_setup = NULL;
9769
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_color_profiles));
9770
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_color_profiles));
9771
if (_ptr_color_profiles) {
9772
NDR_PULL_ALLOC(ndr, r->color_profiles);
9774
r->color_profiles = NULL;
9776
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_inf_path));
9777
if (_ptr_inf_path) {
9778
NDR_PULL_ALLOC(ndr, r->inf_path);
9782
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->printer_driver_attributes));
9783
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_core_driver_dependencies));
9784
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_core_driver_dependencies));
9785
if (_ptr_core_driver_dependencies) {
9786
NDR_PULL_ALLOC(ndr, r->core_driver_dependencies);
9788
r->core_driver_dependencies = NULL;
9790
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_date));
9791
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_version));
9792
NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
9794
if (ndr_flags & NDR_BUFFERS) {
9795
if (r->driver_name) {
9796
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9797
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
9798
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
9799
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
9800
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
9801
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_name), ndr_get_array_length(ndr, &r->driver_name));
9803
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
9804
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
9805
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
9807
if (r->architecture) {
9808
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
9809
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
9810
NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture));
9811
NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture));
9812
if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) {
9813
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->architecture), ndr_get_array_length(ndr, &r->architecture));
9815
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t)));
9816
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16));
9817
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
9819
if (r->driver_path) {
9820
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
9821
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
9822
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path));
9823
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path));
9824
if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) {
9825
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_path), ndr_get_array_length(ndr, &r->driver_path));
9827
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t)));
9828
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16));
9829
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
9832
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9833
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
9834
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file));
9835
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file));
9836
if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) {
9837
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data_file), ndr_get_array_length(ndr, &r->data_file));
9839
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t)));
9840
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16));
9841
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
9843
if (r->config_file) {
9844
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9845
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
9846
NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file));
9847
NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file));
9848
if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) {
9849
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->config_file), ndr_get_array_length(ndr, &r->config_file));
9851
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t)));
9852
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16));
9853
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
9856
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9857
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
9858
NDR_CHECK(ndr_pull_array_size(ndr, &r->help_file));
9859
NDR_CHECK(ndr_pull_array_length(ndr, &r->help_file));
9860
if (ndr_get_array_length(ndr, &r->help_file) > ndr_get_array_size(ndr, &r->help_file)) {
9861
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->help_file), ndr_get_array_length(ndr, &r->help_file));
9863
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t)));
9864
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->help_file, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t), CH_UTF16));
9865
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
9867
if (r->monitor_name) {
9868
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9869
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
9870
NDR_CHECK(ndr_pull_array_size(ndr, &r->monitor_name));
9871
NDR_CHECK(ndr_pull_array_length(ndr, &r->monitor_name));
9872
if (ndr_get_array_length(ndr, &r->monitor_name) > ndr_get_array_size(ndr, &r->monitor_name)) {
9873
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->monitor_name), ndr_get_array_length(ndr, &r->monitor_name));
9875
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t)));
9876
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->monitor_name, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t), CH_UTF16));
9877
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
9879
if (r->default_datatype) {
9880
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
9881
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
9882
NDR_CHECK(ndr_pull_array_size(ndr, &r->default_datatype));
9883
NDR_CHECK(ndr_pull_array_length(ndr, &r->default_datatype));
9884
if (ndr_get_array_length(ndr, &r->default_datatype) > ndr_get_array_size(ndr, &r->default_datatype)) {
9885
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->default_datatype), ndr_get_array_length(ndr, &r->default_datatype));
9887
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t)));
9888
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->default_datatype, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t), CH_UTF16));
9889
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
9891
if (r->dependent_files) {
9892
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
9893
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
9894
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
9895
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
9897
if (r->previous_names) {
9898
_mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
9899
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
9900
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names));
9901
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
9903
if (r->manufacturer_name) {
9904
_mem_save_manufacturer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9905
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0);
9906
NDR_CHECK(ndr_pull_array_size(ndr, &r->manufacturer_name));
9907
NDR_CHECK(ndr_pull_array_length(ndr, &r->manufacturer_name));
9908
if (ndr_get_array_length(ndr, &r->manufacturer_name) > ndr_get_array_size(ndr, &r->manufacturer_name)) {
9909
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->manufacturer_name), ndr_get_array_length(ndr, &r->manufacturer_name));
9911
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->manufacturer_name), sizeof(uint16_t)));
9912
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->manufacturer_name, ndr_get_array_length(ndr, &r->manufacturer_name), sizeof(uint16_t), CH_UTF16));
9913
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0);
9915
if (r->manufacturer_url) {
9916
_mem_save_manufacturer_url_0 = NDR_PULL_GET_MEM_CTX(ndr);
9917
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0);
9918
NDR_CHECK(ndr_pull_array_size(ndr, &r->manufacturer_url));
9919
NDR_CHECK(ndr_pull_array_length(ndr, &r->manufacturer_url));
9920
if (ndr_get_array_length(ndr, &r->manufacturer_url) > ndr_get_array_size(ndr, &r->manufacturer_url)) {
9921
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->manufacturer_url), ndr_get_array_length(ndr, &r->manufacturer_url));
9923
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->manufacturer_url), sizeof(uint16_t)));
9924
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->manufacturer_url, ndr_get_array_length(ndr, &r->manufacturer_url), sizeof(uint16_t), CH_UTF16));
9925
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0);
9927
if (r->hardware_id) {
9928
_mem_save_hardware_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9929
NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0);
9930
NDR_CHECK(ndr_pull_array_size(ndr, &r->hardware_id));
9931
NDR_CHECK(ndr_pull_array_length(ndr, &r->hardware_id));
9932
if (ndr_get_array_length(ndr, &r->hardware_id) > ndr_get_array_size(ndr, &r->hardware_id)) {
9933
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->hardware_id), ndr_get_array_length(ndr, &r->hardware_id));
9935
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->hardware_id), sizeof(uint16_t)));
9936
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hardware_id, ndr_get_array_length(ndr, &r->hardware_id), sizeof(uint16_t), CH_UTF16));
9937
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0);
9940
_mem_save_provider_0 = NDR_PULL_GET_MEM_CTX(ndr);
9941
NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0);
9942
NDR_CHECK(ndr_pull_array_size(ndr, &r->provider));
9943
NDR_CHECK(ndr_pull_array_length(ndr, &r->provider));
9944
if (ndr_get_array_length(ndr, &r->provider) > ndr_get_array_size(ndr, &r->provider)) {
9945
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->provider), ndr_get_array_length(ndr, &r->provider));
9947
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->provider), sizeof(uint16_t)));
9948
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->provider, ndr_get_array_length(ndr, &r->provider), sizeof(uint16_t), CH_UTF16));
9949
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0);
9951
if (r->print_processor) {
9952
_mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr);
9953
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
9954
NDR_CHECK(ndr_pull_array_size(ndr, &r->print_processor));
9955
NDR_CHECK(ndr_pull_array_length(ndr, &r->print_processor));
9956
if (ndr_get_array_length(ndr, &r->print_processor) > ndr_get_array_size(ndr, &r->print_processor)) {
9957
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->print_processor), ndr_get_array_length(ndr, &r->print_processor));
9959
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t)));
9960
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->print_processor, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t), CH_UTF16));
9961
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
9963
if (r->vendor_setup) {
9964
_mem_save_vendor_setup_0 = NDR_PULL_GET_MEM_CTX(ndr);
9965
NDR_PULL_SET_MEM_CTX(ndr, r->vendor_setup, 0);
9966
NDR_CHECK(ndr_pull_array_size(ndr, &r->vendor_setup));
9967
NDR_CHECK(ndr_pull_array_length(ndr, &r->vendor_setup));
9968
if (ndr_get_array_length(ndr, &r->vendor_setup) > ndr_get_array_size(ndr, &r->vendor_setup)) {
9969
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->vendor_setup), ndr_get_array_length(ndr, &r->vendor_setup));
9971
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->vendor_setup), sizeof(uint16_t)));
9972
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->vendor_setup, ndr_get_array_length(ndr, &r->vendor_setup), sizeof(uint16_t), CH_UTF16));
9973
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_vendor_setup_0, 0);
9975
if (r->color_profiles) {
9976
_mem_save_color_profiles_0 = NDR_PULL_GET_MEM_CTX(ndr);
9977
NDR_PULL_SET_MEM_CTX(ndr, r->color_profiles, 0);
9978
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->color_profiles));
9979
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_color_profiles_0, 0);
9982
_mem_save_inf_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
9983
NDR_PULL_SET_MEM_CTX(ndr, r->inf_path, 0);
9984
NDR_CHECK(ndr_pull_array_size(ndr, &r->inf_path));
9985
NDR_CHECK(ndr_pull_array_length(ndr, &r->inf_path));
9986
if (ndr_get_array_length(ndr, &r->inf_path) > ndr_get_array_size(ndr, &r->inf_path)) {
9987
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->inf_path), ndr_get_array_length(ndr, &r->inf_path));
9989
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->inf_path), sizeof(uint16_t)));
9990
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->inf_path, ndr_get_array_length(ndr, &r->inf_path), sizeof(uint16_t), CH_UTF16));
9991
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_inf_path_0, 0);
9993
if (r->core_driver_dependencies) {
9994
_mem_save_core_driver_dependencies_0 = NDR_PULL_GET_MEM_CTX(ndr);
9995
NDR_PULL_SET_MEM_CTX(ndr, r->core_driver_dependencies, 0);
9996
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->core_driver_dependencies));
9997
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_core_driver_dependencies_0, 0);
10000
return NDR_ERR_SUCCESS;
10003
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo8(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo8 *r)
10005
ndr_print_struct(ndr, name, "spoolss_AddDriverInfo8");
10007
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
10008
ndr_print_ptr(ndr, "driver_name", r->driver_name);
10010
if (r->driver_name) {
10011
ndr_print_string(ndr, "driver_name", r->driver_name);
10014
ndr_print_ptr(ndr, "architecture", r->architecture);
10016
if (r->architecture) {
10017
ndr_print_string(ndr, "architecture", r->architecture);
10020
ndr_print_ptr(ndr, "driver_path", r->driver_path);
10022
if (r->driver_path) {
10023
ndr_print_string(ndr, "driver_path", r->driver_path);
10026
ndr_print_ptr(ndr, "data_file", r->data_file);
10028
if (r->data_file) {
10029
ndr_print_string(ndr, "data_file", r->data_file);
10032
ndr_print_ptr(ndr, "config_file", r->config_file);
10034
if (r->config_file) {
10035
ndr_print_string(ndr, "config_file", r->config_file);
10038
ndr_print_ptr(ndr, "help_file", r->help_file);
10040
if (r->help_file) {
10041
ndr_print_string(ndr, "help_file", r->help_file);
10044
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
10046
if (r->monitor_name) {
10047
ndr_print_string(ndr, "monitor_name", r->monitor_name);
10050
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
10052
if (r->default_datatype) {
10053
ndr_print_string(ndr, "default_datatype", r->default_datatype);
10056
ndr_print_uint32(ndr, "_ndr_size_dependent_files", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_dependent_files);
10057
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
10059
if (r->dependent_files) {
10060
ndr_print_spoolss_StringArray(ndr, "dependent_files", r->dependent_files);
10063
ndr_print_uint32(ndr, "_ndr_size_previous_names", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_previous_names);
10064
ndr_print_ptr(ndr, "previous_names", r->previous_names);
10066
if (r->previous_names) {
10067
ndr_print_spoolss_StringArray(ndr, "previous_names", r->previous_names);
10070
ndr_print_NTTIME(ndr, "driver_date", r->driver_date);
10071
ndr_print_hyper(ndr, "driver_version", r->driver_version);
10072
ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name);
10074
if (r->manufacturer_name) {
10075
ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name);
10078
ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url);
10080
if (r->manufacturer_url) {
10081
ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url);
10084
ndr_print_ptr(ndr, "hardware_id", r->hardware_id);
10086
if (r->hardware_id) {
10087
ndr_print_string(ndr, "hardware_id", r->hardware_id);
10090
ndr_print_ptr(ndr, "provider", r->provider);
10093
ndr_print_string(ndr, "provider", r->provider);
10096
ndr_print_ptr(ndr, "print_processor", r->print_processor);
10098
if (r->print_processor) {
10099
ndr_print_string(ndr, "print_processor", r->print_processor);
10102
ndr_print_ptr(ndr, "vendor_setup", r->vendor_setup);
10104
if (r->vendor_setup) {
10105
ndr_print_string(ndr, "vendor_setup", r->vendor_setup);
10108
ndr_print_uint32(ndr, "_ndr_size_color_profiles", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->color_profiles, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_color_profiles);
10109
ndr_print_ptr(ndr, "color_profiles", r->color_profiles);
10111
if (r->color_profiles) {
10112
ndr_print_spoolss_StringArray(ndr, "color_profiles", r->color_profiles);
10115
ndr_print_ptr(ndr, "inf_path", r->inf_path);
10118
ndr_print_string(ndr, "inf_path", r->inf_path);
10121
ndr_print_uint32(ndr, "printer_driver_attributes", r->printer_driver_attributes);
10122
ndr_print_uint32(ndr, "_ndr_size_core_driver_dependencies", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->core_driver_dependencies, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_core_driver_dependencies);
10123
ndr_print_ptr(ndr, "core_driver_dependencies", r->core_driver_dependencies);
10125
if (r->core_driver_dependencies) {
10126
ndr_print_spoolss_StringArray(ndr, "core_driver_dependencies", r->core_driver_dependencies);
10129
ndr_print_NTTIME(ndr, "min_inbox_driver_ver_date", r->min_inbox_driver_ver_date);
10130
ndr_print_hyper(ndr, "min_inbox_driver_ver_version", r->min_inbox_driver_ver_version);
10134
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_AddDriverInfo *r)
10136
if (ndr_flags & NDR_SCALARS) {
10137
int level = ndr_push_get_switch_value(ndr, r);
10138
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
10139
NDR_CHECK(ndr_push_union_align(ndr, 5));
10142
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
10146
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
10150
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
10154
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
10158
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info6));
10162
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info8));
10166
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10169
if (ndr_flags & NDR_BUFFERS) {
10170
int level = ndr_push_get_switch_value(ndr, r);
10174
NDR_CHECK(ndr_push_spoolss_AddDriverInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
10180
NDR_CHECK(ndr_push_spoolss_AddDriverInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
10186
NDR_CHECK(ndr_push_spoolss_AddDriverInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3));
10192
NDR_CHECK(ndr_push_spoolss_AddDriverInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
10198
NDR_CHECK(ndr_push_spoolss_AddDriverInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->info6));
10204
NDR_CHECK(ndr_push_spoolss_AddDriverInfo8(ndr, NDR_SCALARS|NDR_BUFFERS, r->info8));
10209
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10212
return NDR_ERR_SUCCESS;
10215
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_AddDriverInfo *r)
10219
TALLOC_CTX *_mem_save_info1_0;
10220
TALLOC_CTX *_mem_save_info2_0;
10221
TALLOC_CTX *_mem_save_info3_0;
10222
TALLOC_CTX *_mem_save_info4_0;
10223
TALLOC_CTX *_mem_save_info6_0;
10224
TALLOC_CTX *_mem_save_info8_0;
10225
level = ndr_pull_get_switch_value(ndr, r);
10226
if (ndr_flags & NDR_SCALARS) {
10227
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
10228
if (_level != level) {
10229
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
10231
NDR_CHECK(ndr_pull_union_align(ndr, 5));
10234
uint32_t _ptr_info1;
10235
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
10237
NDR_PULL_ALLOC(ndr, r->info1);
10244
uint32_t _ptr_info2;
10245
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
10247
NDR_PULL_ALLOC(ndr, r->info2);
10254
uint32_t _ptr_info3;
10255
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
10257
NDR_PULL_ALLOC(ndr, r->info3);
10264
uint32_t _ptr_info4;
10265
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
10267
NDR_PULL_ALLOC(ndr, r->info4);
10274
uint32_t _ptr_info6;
10275
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info6));
10277
NDR_PULL_ALLOC(ndr, r->info6);
10284
uint32_t _ptr_info8;
10285
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info8));
10287
NDR_PULL_ALLOC(ndr, r->info8);
10294
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10297
if (ndr_flags & NDR_BUFFERS) {
10301
_mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
10302
NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
10303
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
10304
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
10310
_mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
10311
NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
10312
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
10313
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
10319
_mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
10320
NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
10321
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3));
10322
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
10328
_mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr);
10329
NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0);
10330
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
10331
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0);
10337
_mem_save_info6_0 = NDR_PULL_GET_MEM_CTX(ndr);
10338
NDR_PULL_SET_MEM_CTX(ndr, r->info6, 0);
10339
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->info6));
10340
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info6_0, 0);
10346
_mem_save_info8_0 = NDR_PULL_GET_MEM_CTX(ndr);
10347
NDR_PULL_SET_MEM_CTX(ndr, r->info8, 0);
10348
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo8(ndr, NDR_SCALARS|NDR_BUFFERS, r->info8));
10349
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info8_0, 0);
10354
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10357
return NDR_ERR_SUCCESS;
10360
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo(struct ndr_print *ndr, const char *name, const union spoolss_AddDriverInfo *r)
10363
level = ndr_print_get_switch_value(ndr, r);
10364
ndr_print_union(ndr, name, level, "spoolss_AddDriverInfo");
10367
ndr_print_ptr(ndr, "info1", r->info1);
10370
ndr_print_spoolss_AddDriverInfo1(ndr, "info1", r->info1);
10376
ndr_print_ptr(ndr, "info2", r->info2);
10379
ndr_print_spoolss_AddDriverInfo2(ndr, "info2", r->info2);
10385
ndr_print_ptr(ndr, "info3", r->info3);
10388
ndr_print_spoolss_AddDriverInfo3(ndr, "info3", r->info3);
10394
ndr_print_ptr(ndr, "info4", r->info4);
10397
ndr_print_spoolss_AddDriverInfo4(ndr, "info4", r->info4);
10403
ndr_print_ptr(ndr, "info6", r->info6);
10406
ndr_print_spoolss_AddDriverInfo6(ndr, "info6", r->info6);
10412
ndr_print_ptr(ndr, "info8", r->info8);
10415
ndr_print_spoolss_AddDriverInfo8(ndr, "info8", r->info8);
10421
ndr_print_bad_level(ndr, name, level);
10425
static enum ndr_err_code ndr_push_spoolss_AddDriverInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfoCtr *r)
10427
if (ndr_flags & NDR_SCALARS) {
10428
NDR_CHECK(ndr_push_align(ndr, 5));
10429
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
10430
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level));
10431
NDR_CHECK(ndr_push_spoolss_AddDriverInfo(ndr, NDR_SCALARS, &r->info));
10432
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10434
if (ndr_flags & NDR_BUFFERS) {
10435
NDR_CHECK(ndr_push_spoolss_AddDriverInfo(ndr, NDR_BUFFERS, &r->info));
10437
return NDR_ERR_SUCCESS;
10440
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfoCtr *r)
10442
if (ndr_flags & NDR_SCALARS) {
10443
NDR_CHECK(ndr_pull_align(ndr, 5));
10444
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
10445
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level));
10446
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo(ndr, NDR_SCALARS, &r->info));
10447
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10449
if (ndr_flags & NDR_BUFFERS) {
10450
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo(ndr, NDR_BUFFERS, &r->info));
10452
return NDR_ERR_SUCCESS;
10455
_PUBLIC_ void ndr_print_spoolss_AddDriverInfoCtr(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfoCtr *r)
10457
ndr_print_struct(ndr, name, "spoolss_AddDriverInfoCtr");
10459
ndr_print_uint32(ndr, "level", r->level);
10460
ndr_print_set_switch_value(ndr, &r->info, r->level);
10461
ndr_print_spoolss_AddDriverInfo(ndr, "info", &r->info);
10465
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo1 *r)
10467
if (ndr_flags & NDR_SCALARS) {
10468
NDR_CHECK(ndr_push_align(ndr, 5));
10470
uint32_t _flags_save_string = ndr->flags;
10471
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10472
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
10473
ndr->flags = _flags_save_string;
10475
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10477
if (ndr_flags & NDR_BUFFERS) {
10479
uint32_t _flags_save_string = ndr->flags;
10480
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10481
if (r->driver_name) {
10482
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
10483
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
10484
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
10486
ndr->flags = _flags_save_string;
10489
return NDR_ERR_SUCCESS;
10492
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo1 *r)
10494
uint32_t _ptr_driver_name;
10495
TALLOC_CTX *_mem_save_driver_name_0;
10496
if (ndr_flags & NDR_SCALARS) {
10497
NDR_CHECK(ndr_pull_align(ndr, 5));
10499
uint32_t _flags_save_string = ndr->flags;
10500
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10501
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
10502
if (_ptr_driver_name) {
10503
NDR_PULL_ALLOC(ndr, r->driver_name);
10504
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
10506
r->driver_name = NULL;
10508
ndr->flags = _flags_save_string;
10510
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10512
if (ndr_flags & NDR_BUFFERS) {
10514
uint32_t _flags_save_string = ndr->flags;
10515
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10516
if (r->driver_name) {
10517
uint32_t _relative_save_offset;
10518
_relative_save_offset = ndr->offset;
10519
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
10520
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10521
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
10522
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
10523
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
10524
ndr->offset = _relative_save_offset;
10526
ndr->flags = _flags_save_string;
10529
return NDR_ERR_SUCCESS;
10532
_PUBLIC_ void ndr_print_spoolss_DriverInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo1 *r)
10534
ndr_print_struct(ndr, name, "spoolss_DriverInfo1");
10536
ndr_print_ptr(ndr, "driver_name", r->driver_name);
10538
if (r->driver_name) {
10539
ndr_print_string(ndr, "driver_name", r->driver_name);
10545
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo1(const struct spoolss_DriverInfo1 *r, struct smb_iconv_convenience *ic, int flags)
10547
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo1, ic);
10550
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo2 *r)
10552
if (ndr_flags & NDR_SCALARS) {
10553
NDR_CHECK(ndr_push_align(ndr, 5));
10554
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
10556
uint32_t _flags_save_string = ndr->flags;
10557
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10558
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
10559
ndr->flags = _flags_save_string;
10562
uint32_t _flags_save_string = ndr->flags;
10563
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10564
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
10565
ndr->flags = _flags_save_string;
10568
uint32_t _flags_save_string = ndr->flags;
10569
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10570
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
10571
ndr->flags = _flags_save_string;
10574
uint32_t _flags_save_string = ndr->flags;
10575
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10576
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
10577
ndr->flags = _flags_save_string;
10580
uint32_t _flags_save_string = ndr->flags;
10581
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10582
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
10583
ndr->flags = _flags_save_string;
10585
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10587
if (ndr_flags & NDR_BUFFERS) {
10589
uint32_t _flags_save_string = ndr->flags;
10590
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10591
if (r->driver_name) {
10592
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
10593
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
10594
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
10596
ndr->flags = _flags_save_string;
10599
uint32_t _flags_save_string = ndr->flags;
10600
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10601
if (r->architecture) {
10602
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
10603
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
10604
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
10606
ndr->flags = _flags_save_string;
10609
uint32_t _flags_save_string = ndr->flags;
10610
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10611
if (r->driver_path) {
10612
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
10613
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
10614
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
10616
ndr->flags = _flags_save_string;
10619
uint32_t _flags_save_string = ndr->flags;
10620
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10621
if (r->data_file) {
10622
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
10623
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
10624
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
10626
ndr->flags = _flags_save_string;
10629
uint32_t _flags_save_string = ndr->flags;
10630
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10631
if (r->config_file) {
10632
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
10633
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
10634
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
10636
ndr->flags = _flags_save_string;
10639
return NDR_ERR_SUCCESS;
10642
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo2 *r)
10644
uint32_t _ptr_driver_name;
10645
TALLOC_CTX *_mem_save_driver_name_0;
10646
uint32_t _ptr_architecture;
10647
TALLOC_CTX *_mem_save_architecture_0;
10648
uint32_t _ptr_driver_path;
10649
TALLOC_CTX *_mem_save_driver_path_0;
10650
uint32_t _ptr_data_file;
10651
TALLOC_CTX *_mem_save_data_file_0;
10652
uint32_t _ptr_config_file;
10653
TALLOC_CTX *_mem_save_config_file_0;
10654
if (ndr_flags & NDR_SCALARS) {
10655
NDR_CHECK(ndr_pull_align(ndr, 5));
10656
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
10658
uint32_t _flags_save_string = ndr->flags;
10659
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10660
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
10661
if (_ptr_driver_name) {
10662
NDR_PULL_ALLOC(ndr, r->driver_name);
10663
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
10665
r->driver_name = NULL;
10667
ndr->flags = _flags_save_string;
10670
uint32_t _flags_save_string = ndr->flags;
10671
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10672
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
10673
if (_ptr_architecture) {
10674
NDR_PULL_ALLOC(ndr, r->architecture);
10675
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
10677
r->architecture = NULL;
10679
ndr->flags = _flags_save_string;
10682
uint32_t _flags_save_string = ndr->flags;
10683
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10684
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
10685
if (_ptr_driver_path) {
10686
NDR_PULL_ALLOC(ndr, r->driver_path);
10687
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
10689
r->driver_path = NULL;
10691
ndr->flags = _flags_save_string;
10694
uint32_t _flags_save_string = ndr->flags;
10695
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10696
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
10697
if (_ptr_data_file) {
10698
NDR_PULL_ALLOC(ndr, r->data_file);
10699
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
10701
r->data_file = NULL;
10703
ndr->flags = _flags_save_string;
10706
uint32_t _flags_save_string = ndr->flags;
10707
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10708
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
10709
if (_ptr_config_file) {
10710
NDR_PULL_ALLOC(ndr, r->config_file);
10711
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
10713
r->config_file = NULL;
10715
ndr->flags = _flags_save_string;
10717
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10719
if (ndr_flags & NDR_BUFFERS) {
10721
uint32_t _flags_save_string = ndr->flags;
10722
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10723
if (r->driver_name) {
10724
uint32_t _relative_save_offset;
10725
_relative_save_offset = ndr->offset;
10726
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
10727
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10728
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
10729
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
10730
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
10731
ndr->offset = _relative_save_offset;
10733
ndr->flags = _flags_save_string;
10736
uint32_t _flags_save_string = ndr->flags;
10737
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10738
if (r->architecture) {
10739
uint32_t _relative_save_offset;
10740
_relative_save_offset = ndr->offset;
10741
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
10742
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
10743
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
10744
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
10745
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
10746
ndr->offset = _relative_save_offset;
10748
ndr->flags = _flags_save_string;
10751
uint32_t _flags_save_string = ndr->flags;
10752
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10753
if (r->driver_path) {
10754
uint32_t _relative_save_offset;
10755
_relative_save_offset = ndr->offset;
10756
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
10757
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
10758
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
10759
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
10760
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
10761
ndr->offset = _relative_save_offset;
10763
ndr->flags = _flags_save_string;
10766
uint32_t _flags_save_string = ndr->flags;
10767
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10768
if (r->data_file) {
10769
uint32_t _relative_save_offset;
10770
_relative_save_offset = ndr->offset;
10771
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
10772
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
10773
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
10774
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
10775
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
10776
ndr->offset = _relative_save_offset;
10778
ndr->flags = _flags_save_string;
10781
uint32_t _flags_save_string = ndr->flags;
10782
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10783
if (r->config_file) {
10784
uint32_t _relative_save_offset;
10785
_relative_save_offset = ndr->offset;
10786
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
10787
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
10788
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
10789
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
10790
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
10791
ndr->offset = _relative_save_offset;
10793
ndr->flags = _flags_save_string;
10796
return NDR_ERR_SUCCESS;
10799
_PUBLIC_ void ndr_print_spoolss_DriverInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo2 *r)
10801
ndr_print_struct(ndr, name, "spoolss_DriverInfo2");
10803
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
10804
ndr_print_ptr(ndr, "driver_name", r->driver_name);
10806
if (r->driver_name) {
10807
ndr_print_string(ndr, "driver_name", r->driver_name);
10810
ndr_print_ptr(ndr, "architecture", r->architecture);
10812
if (r->architecture) {
10813
ndr_print_string(ndr, "architecture", r->architecture);
10816
ndr_print_ptr(ndr, "driver_path", r->driver_path);
10818
if (r->driver_path) {
10819
ndr_print_string(ndr, "driver_path", r->driver_path);
10822
ndr_print_ptr(ndr, "data_file", r->data_file);
10824
if (r->data_file) {
10825
ndr_print_string(ndr, "data_file", r->data_file);
10828
ndr_print_ptr(ndr, "config_file", r->config_file);
10830
if (r->config_file) {
10831
ndr_print_string(ndr, "config_file", r->config_file);
10837
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo2(const struct spoolss_DriverInfo2 *r, struct smb_iconv_convenience *ic, int flags)
10839
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo2, ic);
10842
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo3 *r)
10844
if (ndr_flags & NDR_SCALARS) {
10845
NDR_CHECK(ndr_push_align(ndr, 5));
10846
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
10848
uint32_t _flags_save_string = ndr->flags;
10849
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10850
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
10851
ndr->flags = _flags_save_string;
10854
uint32_t _flags_save_string = ndr->flags;
10855
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10856
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
10857
ndr->flags = _flags_save_string;
10860
uint32_t _flags_save_string = ndr->flags;
10861
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10862
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
10863
ndr->flags = _flags_save_string;
10866
uint32_t _flags_save_string = ndr->flags;
10867
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10868
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
10869
ndr->flags = _flags_save_string;
10872
uint32_t _flags_save_string = ndr->flags;
10873
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10874
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
10875
ndr->flags = _flags_save_string;
10878
uint32_t _flags_save_string = ndr->flags;
10879
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10880
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
10881
ndr->flags = _flags_save_string;
10884
uint32_t _flags_save_string_array = ndr->flags;
10885
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10886
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
10887
ndr->flags = _flags_save_string_array;
10890
uint32_t _flags_save_string = ndr->flags;
10891
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10892
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
10893
ndr->flags = _flags_save_string;
10896
uint32_t _flags_save_string = ndr->flags;
10897
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10898
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
10899
ndr->flags = _flags_save_string;
10901
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10903
if (ndr_flags & NDR_BUFFERS) {
10905
uint32_t _flags_save_string = ndr->flags;
10906
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10907
if (r->driver_name) {
10908
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
10909
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
10910
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
10912
ndr->flags = _flags_save_string;
10915
uint32_t _flags_save_string = ndr->flags;
10916
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10917
if (r->architecture) {
10918
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
10919
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
10920
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
10922
ndr->flags = _flags_save_string;
10925
uint32_t _flags_save_string = ndr->flags;
10926
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10927
if (r->driver_path) {
10928
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
10929
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
10930
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
10932
ndr->flags = _flags_save_string;
10935
uint32_t _flags_save_string = ndr->flags;
10936
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10937
if (r->data_file) {
10938
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
10939
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
10940
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
10942
ndr->flags = _flags_save_string;
10945
uint32_t _flags_save_string = ndr->flags;
10946
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10947
if (r->config_file) {
10948
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
10949
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
10950
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
10952
ndr->flags = _flags_save_string;
10955
uint32_t _flags_save_string = ndr->flags;
10956
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10957
if (r->help_file) {
10958
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
10959
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
10960
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file));
10962
ndr->flags = _flags_save_string;
10965
uint32_t _flags_save_string_array = ndr->flags;
10966
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10967
if (r->dependent_files) {
10968
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
10969
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
10970
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files));
10972
ndr->flags = _flags_save_string_array;
10975
uint32_t _flags_save_string = ndr->flags;
10976
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10977
if (r->monitor_name) {
10978
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
10979
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
10980
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
10982
ndr->flags = _flags_save_string;
10985
uint32_t _flags_save_string = ndr->flags;
10986
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
10987
if (r->default_datatype) {
10988
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
10989
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
10990
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype));
10992
ndr->flags = _flags_save_string;
10995
return NDR_ERR_SUCCESS;
10998
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo3 *r)
11000
uint32_t _ptr_driver_name;
11001
TALLOC_CTX *_mem_save_driver_name_0;
11002
uint32_t _ptr_architecture;
11003
TALLOC_CTX *_mem_save_architecture_0;
11004
uint32_t _ptr_driver_path;
11005
TALLOC_CTX *_mem_save_driver_path_0;
11006
uint32_t _ptr_data_file;
11007
TALLOC_CTX *_mem_save_data_file_0;
11008
uint32_t _ptr_config_file;
11009
TALLOC_CTX *_mem_save_config_file_0;
11010
uint32_t _ptr_help_file;
11011
TALLOC_CTX *_mem_save_help_file_0;
11012
uint32_t _ptr_dependent_files;
11013
TALLOC_CTX *_mem_save_dependent_files_0;
11014
uint32_t _ptr_monitor_name;
11015
TALLOC_CTX *_mem_save_monitor_name_0;
11016
uint32_t _ptr_default_datatype;
11017
TALLOC_CTX *_mem_save_default_datatype_0;
11018
if (ndr_flags & NDR_SCALARS) {
11019
NDR_CHECK(ndr_pull_align(ndr, 5));
11020
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
11022
uint32_t _flags_save_string = ndr->flags;
11023
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11024
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
11025
if (_ptr_driver_name) {
11026
NDR_PULL_ALLOC(ndr, r->driver_name);
11027
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
11029
r->driver_name = NULL;
11031
ndr->flags = _flags_save_string;
11034
uint32_t _flags_save_string = ndr->flags;
11035
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11036
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
11037
if (_ptr_architecture) {
11038
NDR_PULL_ALLOC(ndr, r->architecture);
11039
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
11041
r->architecture = NULL;
11043
ndr->flags = _flags_save_string;
11046
uint32_t _flags_save_string = ndr->flags;
11047
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11048
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
11049
if (_ptr_driver_path) {
11050
NDR_PULL_ALLOC(ndr, r->driver_path);
11051
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
11053
r->driver_path = NULL;
11055
ndr->flags = _flags_save_string;
11058
uint32_t _flags_save_string = ndr->flags;
11059
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11060
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
11061
if (_ptr_data_file) {
11062
NDR_PULL_ALLOC(ndr, r->data_file);
11063
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
11065
r->data_file = NULL;
11067
ndr->flags = _flags_save_string;
11070
uint32_t _flags_save_string = ndr->flags;
11071
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11072
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
11073
if (_ptr_config_file) {
11074
NDR_PULL_ALLOC(ndr, r->config_file);
11075
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
11077
r->config_file = NULL;
11079
ndr->flags = _flags_save_string;
11082
uint32_t _flags_save_string = ndr->flags;
11083
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11084
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
11085
if (_ptr_help_file) {
11086
NDR_PULL_ALLOC(ndr, r->help_file);
11087
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file));
11089
r->help_file = NULL;
11091
ndr->flags = _flags_save_string;
11094
uint32_t _flags_save_string_array = ndr->flags;
11095
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11096
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
11097
if (_ptr_dependent_files) {
11098
NDR_PULL_ALLOC(ndr, r->dependent_files);
11099
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
11101
r->dependent_files = NULL;
11103
ndr->flags = _flags_save_string_array;
11106
uint32_t _flags_save_string = ndr->flags;
11107
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11108
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
11109
if (_ptr_monitor_name) {
11110
NDR_PULL_ALLOC(ndr, r->monitor_name);
11111
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
11113
r->monitor_name = NULL;
11115
ndr->flags = _flags_save_string;
11118
uint32_t _flags_save_string = ndr->flags;
11119
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11120
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
11121
if (_ptr_default_datatype) {
11122
NDR_PULL_ALLOC(ndr, r->default_datatype);
11123
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype));
11125
r->default_datatype = NULL;
11127
ndr->flags = _flags_save_string;
11129
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11131
if (ndr_flags & NDR_BUFFERS) {
11133
uint32_t _flags_save_string = ndr->flags;
11134
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11135
if (r->driver_name) {
11136
uint32_t _relative_save_offset;
11137
_relative_save_offset = ndr->offset;
11138
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
11139
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11140
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
11141
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
11142
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
11143
ndr->offset = _relative_save_offset;
11145
ndr->flags = _flags_save_string;
11148
uint32_t _flags_save_string = ndr->flags;
11149
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11150
if (r->architecture) {
11151
uint32_t _relative_save_offset;
11152
_relative_save_offset = ndr->offset;
11153
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
11154
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
11155
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
11156
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
11157
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
11158
ndr->offset = _relative_save_offset;
11160
ndr->flags = _flags_save_string;
11163
uint32_t _flags_save_string = ndr->flags;
11164
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11165
if (r->driver_path) {
11166
uint32_t _relative_save_offset;
11167
_relative_save_offset = ndr->offset;
11168
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
11169
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
11170
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
11171
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
11172
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
11173
ndr->offset = _relative_save_offset;
11175
ndr->flags = _flags_save_string;
11178
uint32_t _flags_save_string = ndr->flags;
11179
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11180
if (r->data_file) {
11181
uint32_t _relative_save_offset;
11182
_relative_save_offset = ndr->offset;
11183
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
11184
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
11185
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
11186
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
11187
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
11188
ndr->offset = _relative_save_offset;
11190
ndr->flags = _flags_save_string;
11193
uint32_t _flags_save_string = ndr->flags;
11194
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11195
if (r->config_file) {
11196
uint32_t _relative_save_offset;
11197
_relative_save_offset = ndr->offset;
11198
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
11199
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
11200
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
11201
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
11202
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
11203
ndr->offset = _relative_save_offset;
11205
ndr->flags = _flags_save_string;
11208
uint32_t _flags_save_string = ndr->flags;
11209
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11210
if (r->help_file) {
11211
uint32_t _relative_save_offset;
11212
_relative_save_offset = ndr->offset;
11213
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file));
11214
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
11215
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
11216
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
11217
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
11218
ndr->offset = _relative_save_offset;
11220
ndr->flags = _flags_save_string;
11223
uint32_t _flags_save_string_array = ndr->flags;
11224
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11225
if (r->dependent_files) {
11226
uint32_t _relative_save_offset;
11227
_relative_save_offset = ndr->offset;
11228
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
11229
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
11230
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
11231
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
11232
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
11233
ndr->offset = _relative_save_offset;
11235
ndr->flags = _flags_save_string_array;
11238
uint32_t _flags_save_string = ndr->flags;
11239
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11240
if (r->monitor_name) {
11241
uint32_t _relative_save_offset;
11242
_relative_save_offset = ndr->offset;
11243
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
11244
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11245
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
11246
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
11247
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
11248
ndr->offset = _relative_save_offset;
11250
ndr->flags = _flags_save_string;
11253
uint32_t _flags_save_string = ndr->flags;
11254
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11255
if (r->default_datatype) {
11256
uint32_t _relative_save_offset;
11257
_relative_save_offset = ndr->offset;
11258
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype));
11259
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
11260
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
11261
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
11262
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
11263
ndr->offset = _relative_save_offset;
11265
ndr->flags = _flags_save_string;
11268
return NDR_ERR_SUCCESS;
11271
_PUBLIC_ void ndr_print_spoolss_DriverInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo3 *r)
11273
ndr_print_struct(ndr, name, "spoolss_DriverInfo3");
11275
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
11276
ndr_print_ptr(ndr, "driver_name", r->driver_name);
11278
if (r->driver_name) {
11279
ndr_print_string(ndr, "driver_name", r->driver_name);
11282
ndr_print_ptr(ndr, "architecture", r->architecture);
11284
if (r->architecture) {
11285
ndr_print_string(ndr, "architecture", r->architecture);
11288
ndr_print_ptr(ndr, "driver_path", r->driver_path);
11290
if (r->driver_path) {
11291
ndr_print_string(ndr, "driver_path", r->driver_path);
11294
ndr_print_ptr(ndr, "data_file", r->data_file);
11296
if (r->data_file) {
11297
ndr_print_string(ndr, "data_file", r->data_file);
11300
ndr_print_ptr(ndr, "config_file", r->config_file);
11302
if (r->config_file) {
11303
ndr_print_string(ndr, "config_file", r->config_file);
11306
ndr_print_ptr(ndr, "help_file", r->help_file);
11308
if (r->help_file) {
11309
ndr_print_string(ndr, "help_file", r->help_file);
11312
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
11314
if (r->dependent_files) {
11315
ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
11318
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
11320
if (r->monitor_name) {
11321
ndr_print_string(ndr, "monitor_name", r->monitor_name);
11324
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
11326
if (r->default_datatype) {
11327
ndr_print_string(ndr, "default_datatype", r->default_datatype);
11333
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo3(const struct spoolss_DriverInfo3 *r, struct smb_iconv_convenience *ic, int flags)
11335
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo3, ic);
11338
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo4 *r)
11340
if (ndr_flags & NDR_SCALARS) {
11341
NDR_CHECK(ndr_push_align(ndr, 5));
11342
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
11344
uint32_t _flags_save_string = ndr->flags;
11345
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11346
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
11347
ndr->flags = _flags_save_string;
11350
uint32_t _flags_save_string = ndr->flags;
11351
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11352
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
11353
ndr->flags = _flags_save_string;
11356
uint32_t _flags_save_string = ndr->flags;
11357
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11358
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
11359
ndr->flags = _flags_save_string;
11362
uint32_t _flags_save_string = ndr->flags;
11363
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11364
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
11365
ndr->flags = _flags_save_string;
11368
uint32_t _flags_save_string = ndr->flags;
11369
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11370
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
11371
ndr->flags = _flags_save_string;
11374
uint32_t _flags_save_string = ndr->flags;
11375
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11376
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
11377
ndr->flags = _flags_save_string;
11380
uint32_t _flags_save_string_array = ndr->flags;
11381
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11382
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
11383
ndr->flags = _flags_save_string_array;
11386
uint32_t _flags_save_string = ndr->flags;
11387
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11388
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
11389
ndr->flags = _flags_save_string;
11392
uint32_t _flags_save_string = ndr->flags;
11393
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11394
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
11395
ndr->flags = _flags_save_string;
11398
uint32_t _flags_save_string_array = ndr->flags;
11399
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11400
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names));
11401
ndr->flags = _flags_save_string_array;
11403
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11405
if (ndr_flags & NDR_BUFFERS) {
11407
uint32_t _flags_save_string = ndr->flags;
11408
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11409
if (r->driver_name) {
11410
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
11411
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
11412
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
11414
ndr->flags = _flags_save_string;
11417
uint32_t _flags_save_string = ndr->flags;
11418
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11419
if (r->architecture) {
11420
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
11421
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
11422
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
11424
ndr->flags = _flags_save_string;
11427
uint32_t _flags_save_string = ndr->flags;
11428
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11429
if (r->driver_path) {
11430
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
11431
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
11432
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
11434
ndr->flags = _flags_save_string;
11437
uint32_t _flags_save_string = ndr->flags;
11438
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11439
if (r->data_file) {
11440
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
11441
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
11442
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
11444
ndr->flags = _flags_save_string;
11447
uint32_t _flags_save_string = ndr->flags;
11448
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11449
if (r->config_file) {
11450
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
11451
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
11452
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
11454
ndr->flags = _flags_save_string;
11457
uint32_t _flags_save_string = ndr->flags;
11458
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11459
if (r->help_file) {
11460
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
11461
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
11462
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file));
11464
ndr->flags = _flags_save_string;
11467
uint32_t _flags_save_string_array = ndr->flags;
11468
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11469
if (r->dependent_files) {
11470
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
11471
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
11472
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files));
11474
ndr->flags = _flags_save_string_array;
11477
uint32_t _flags_save_string = ndr->flags;
11478
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11479
if (r->monitor_name) {
11480
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
11481
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
11482
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
11484
ndr->flags = _flags_save_string;
11487
uint32_t _flags_save_string = ndr->flags;
11488
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11489
if (r->default_datatype) {
11490
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
11491
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
11492
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype));
11494
ndr->flags = _flags_save_string;
11497
uint32_t _flags_save_string_array = ndr->flags;
11498
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11499
if (r->previous_names) {
11500
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names));
11501
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names));
11502
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->previous_names));
11504
ndr->flags = _flags_save_string_array;
11507
return NDR_ERR_SUCCESS;
11510
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo4 *r)
11512
uint32_t _ptr_driver_name;
11513
TALLOC_CTX *_mem_save_driver_name_0;
11514
uint32_t _ptr_architecture;
11515
TALLOC_CTX *_mem_save_architecture_0;
11516
uint32_t _ptr_driver_path;
11517
TALLOC_CTX *_mem_save_driver_path_0;
11518
uint32_t _ptr_data_file;
11519
TALLOC_CTX *_mem_save_data_file_0;
11520
uint32_t _ptr_config_file;
11521
TALLOC_CTX *_mem_save_config_file_0;
11522
uint32_t _ptr_help_file;
11523
TALLOC_CTX *_mem_save_help_file_0;
11524
uint32_t _ptr_dependent_files;
11525
TALLOC_CTX *_mem_save_dependent_files_0;
11526
uint32_t _ptr_monitor_name;
11527
TALLOC_CTX *_mem_save_monitor_name_0;
11528
uint32_t _ptr_default_datatype;
11529
TALLOC_CTX *_mem_save_default_datatype_0;
11530
uint32_t _ptr_previous_names;
11531
TALLOC_CTX *_mem_save_previous_names_0;
11532
if (ndr_flags & NDR_SCALARS) {
11533
NDR_CHECK(ndr_pull_align(ndr, 5));
11534
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
11536
uint32_t _flags_save_string = ndr->flags;
11537
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11538
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
11539
if (_ptr_driver_name) {
11540
NDR_PULL_ALLOC(ndr, r->driver_name);
11541
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
11543
r->driver_name = NULL;
11545
ndr->flags = _flags_save_string;
11548
uint32_t _flags_save_string = ndr->flags;
11549
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11550
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
11551
if (_ptr_architecture) {
11552
NDR_PULL_ALLOC(ndr, r->architecture);
11553
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
11555
r->architecture = NULL;
11557
ndr->flags = _flags_save_string;
11560
uint32_t _flags_save_string = ndr->flags;
11561
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11562
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
11563
if (_ptr_driver_path) {
11564
NDR_PULL_ALLOC(ndr, r->driver_path);
11565
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
11567
r->driver_path = NULL;
11569
ndr->flags = _flags_save_string;
11572
uint32_t _flags_save_string = ndr->flags;
11573
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11574
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
11575
if (_ptr_data_file) {
11576
NDR_PULL_ALLOC(ndr, r->data_file);
11577
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
11579
r->data_file = NULL;
11581
ndr->flags = _flags_save_string;
11584
uint32_t _flags_save_string = ndr->flags;
11585
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11586
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
11587
if (_ptr_config_file) {
11588
NDR_PULL_ALLOC(ndr, r->config_file);
11589
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
11591
r->config_file = NULL;
11593
ndr->flags = _flags_save_string;
11596
uint32_t _flags_save_string = ndr->flags;
11597
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11598
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
11599
if (_ptr_help_file) {
11600
NDR_PULL_ALLOC(ndr, r->help_file);
11601
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file));
11603
r->help_file = NULL;
11605
ndr->flags = _flags_save_string;
11608
uint32_t _flags_save_string_array = ndr->flags;
11609
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11610
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
11611
if (_ptr_dependent_files) {
11612
NDR_PULL_ALLOC(ndr, r->dependent_files);
11613
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
11615
r->dependent_files = NULL;
11617
ndr->flags = _flags_save_string_array;
11620
uint32_t _flags_save_string = ndr->flags;
11621
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11622
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
11623
if (_ptr_monitor_name) {
11624
NDR_PULL_ALLOC(ndr, r->monitor_name);
11625
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
11627
r->monitor_name = NULL;
11629
ndr->flags = _flags_save_string;
11632
uint32_t _flags_save_string = ndr->flags;
11633
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11634
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
11635
if (_ptr_default_datatype) {
11636
NDR_PULL_ALLOC(ndr, r->default_datatype);
11637
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype));
11639
r->default_datatype = NULL;
11641
ndr->flags = _flags_save_string;
11644
uint32_t _flags_save_string_array = ndr->flags;
11645
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11646
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
11647
if (_ptr_previous_names) {
11648
NDR_PULL_ALLOC(ndr, r->previous_names);
11649
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->previous_names, _ptr_previous_names));
11651
r->previous_names = NULL;
11653
ndr->flags = _flags_save_string_array;
11655
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11657
if (ndr_flags & NDR_BUFFERS) {
11659
uint32_t _flags_save_string = ndr->flags;
11660
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11661
if (r->driver_name) {
11662
uint32_t _relative_save_offset;
11663
_relative_save_offset = ndr->offset;
11664
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
11665
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11666
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
11667
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
11668
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
11669
ndr->offset = _relative_save_offset;
11671
ndr->flags = _flags_save_string;
11674
uint32_t _flags_save_string = ndr->flags;
11675
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11676
if (r->architecture) {
11677
uint32_t _relative_save_offset;
11678
_relative_save_offset = ndr->offset;
11679
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
11680
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
11681
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
11682
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
11683
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
11684
ndr->offset = _relative_save_offset;
11686
ndr->flags = _flags_save_string;
11689
uint32_t _flags_save_string = ndr->flags;
11690
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11691
if (r->driver_path) {
11692
uint32_t _relative_save_offset;
11693
_relative_save_offset = ndr->offset;
11694
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
11695
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
11696
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
11697
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
11698
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
11699
ndr->offset = _relative_save_offset;
11701
ndr->flags = _flags_save_string;
11704
uint32_t _flags_save_string = ndr->flags;
11705
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11706
if (r->data_file) {
11707
uint32_t _relative_save_offset;
11708
_relative_save_offset = ndr->offset;
11709
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
11710
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
11711
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
11712
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
11713
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
11714
ndr->offset = _relative_save_offset;
11716
ndr->flags = _flags_save_string;
11719
uint32_t _flags_save_string = ndr->flags;
11720
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11721
if (r->config_file) {
11722
uint32_t _relative_save_offset;
11723
_relative_save_offset = ndr->offset;
11724
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
11725
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
11726
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
11727
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
11728
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
11729
ndr->offset = _relative_save_offset;
11731
ndr->flags = _flags_save_string;
11734
uint32_t _flags_save_string = ndr->flags;
11735
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11736
if (r->help_file) {
11737
uint32_t _relative_save_offset;
11738
_relative_save_offset = ndr->offset;
11739
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file));
11740
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
11741
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
11742
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
11743
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
11744
ndr->offset = _relative_save_offset;
11746
ndr->flags = _flags_save_string;
11749
uint32_t _flags_save_string_array = ndr->flags;
11750
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11751
if (r->dependent_files) {
11752
uint32_t _relative_save_offset;
11753
_relative_save_offset = ndr->offset;
11754
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
11755
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
11756
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
11757
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
11758
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
11759
ndr->offset = _relative_save_offset;
11761
ndr->flags = _flags_save_string_array;
11764
uint32_t _flags_save_string = ndr->flags;
11765
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11766
if (r->monitor_name) {
11767
uint32_t _relative_save_offset;
11768
_relative_save_offset = ndr->offset;
11769
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
11770
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11771
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
11772
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
11773
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
11774
ndr->offset = _relative_save_offset;
11776
ndr->flags = _flags_save_string;
11779
uint32_t _flags_save_string = ndr->flags;
11780
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11781
if (r->default_datatype) {
11782
uint32_t _relative_save_offset;
11783
_relative_save_offset = ndr->offset;
11784
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype));
11785
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
11786
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
11787
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
11788
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
11789
ndr->offset = _relative_save_offset;
11791
ndr->flags = _flags_save_string;
11794
uint32_t _flags_save_string_array = ndr->flags;
11795
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11796
if (r->previous_names) {
11797
uint32_t _relative_save_offset;
11798
_relative_save_offset = ndr->offset;
11799
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->previous_names));
11800
_mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
11801
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
11802
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->previous_names));
11803
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
11804
ndr->offset = _relative_save_offset;
11806
ndr->flags = _flags_save_string_array;
11809
return NDR_ERR_SUCCESS;
11812
_PUBLIC_ void ndr_print_spoolss_DriverInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo4 *r)
11814
ndr_print_struct(ndr, name, "spoolss_DriverInfo4");
11816
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
11817
ndr_print_ptr(ndr, "driver_name", r->driver_name);
11819
if (r->driver_name) {
11820
ndr_print_string(ndr, "driver_name", r->driver_name);
11823
ndr_print_ptr(ndr, "architecture", r->architecture);
11825
if (r->architecture) {
11826
ndr_print_string(ndr, "architecture", r->architecture);
11829
ndr_print_ptr(ndr, "driver_path", r->driver_path);
11831
if (r->driver_path) {
11832
ndr_print_string(ndr, "driver_path", r->driver_path);
11835
ndr_print_ptr(ndr, "data_file", r->data_file);
11837
if (r->data_file) {
11838
ndr_print_string(ndr, "data_file", r->data_file);
11841
ndr_print_ptr(ndr, "config_file", r->config_file);
11843
if (r->config_file) {
11844
ndr_print_string(ndr, "config_file", r->config_file);
11847
ndr_print_ptr(ndr, "help_file", r->help_file);
11849
if (r->help_file) {
11850
ndr_print_string(ndr, "help_file", r->help_file);
11853
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
11855
if (r->dependent_files) {
11856
ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
11859
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
11861
if (r->monitor_name) {
11862
ndr_print_string(ndr, "monitor_name", r->monitor_name);
11865
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
11867
if (r->default_datatype) {
11868
ndr_print_string(ndr, "default_datatype", r->default_datatype);
11871
ndr_print_ptr(ndr, "previous_names", r->previous_names);
11873
if (r->previous_names) {
11874
ndr_print_string_array(ndr, "previous_names", r->previous_names);
11880
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo4(const struct spoolss_DriverInfo4 *r, struct smb_iconv_convenience *ic, int flags)
11882
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo4, ic);
11885
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo5(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo5 *r)
11887
if (ndr_flags & NDR_SCALARS) {
11888
NDR_CHECK(ndr_push_align(ndr, 5));
11889
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
11891
uint32_t _flags_save_string = ndr->flags;
11892
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11893
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
11894
ndr->flags = _flags_save_string;
11897
uint32_t _flags_save_string = ndr->flags;
11898
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11899
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
11900
ndr->flags = _flags_save_string;
11903
uint32_t _flags_save_string = ndr->flags;
11904
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11905
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
11906
ndr->flags = _flags_save_string;
11909
uint32_t _flags_save_string = ndr->flags;
11910
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11911
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
11912
ndr->flags = _flags_save_string;
11915
uint32_t _flags_save_string = ndr->flags;
11916
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11917
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
11918
ndr->flags = _flags_save_string;
11920
NDR_CHECK(ndr_push_spoolss_DriverAttributes(ndr, NDR_SCALARS, r->driver_attributes));
11921
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->config_version));
11922
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->driver_version));
11923
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11925
if (ndr_flags & NDR_BUFFERS) {
11927
uint32_t _flags_save_string = ndr->flags;
11928
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11929
if (r->driver_name) {
11930
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
11931
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
11932
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
11934
ndr->flags = _flags_save_string;
11937
uint32_t _flags_save_string = ndr->flags;
11938
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11939
if (r->architecture) {
11940
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
11941
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
11942
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
11944
ndr->flags = _flags_save_string;
11947
uint32_t _flags_save_string = ndr->flags;
11948
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11949
if (r->driver_path) {
11950
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
11951
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
11952
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
11954
ndr->flags = _flags_save_string;
11957
uint32_t _flags_save_string = ndr->flags;
11958
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11959
if (r->data_file) {
11960
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
11961
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
11962
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
11964
ndr->flags = _flags_save_string;
11967
uint32_t _flags_save_string = ndr->flags;
11968
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11969
if (r->config_file) {
11970
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
11971
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
11972
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
11974
ndr->flags = _flags_save_string;
11977
return NDR_ERR_SUCCESS;
11980
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo5(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo5 *r)
11982
uint32_t _ptr_driver_name;
11983
TALLOC_CTX *_mem_save_driver_name_0;
11984
uint32_t _ptr_architecture;
11985
TALLOC_CTX *_mem_save_architecture_0;
11986
uint32_t _ptr_driver_path;
11987
TALLOC_CTX *_mem_save_driver_path_0;
11988
uint32_t _ptr_data_file;
11989
TALLOC_CTX *_mem_save_data_file_0;
11990
uint32_t _ptr_config_file;
11991
TALLOC_CTX *_mem_save_config_file_0;
11992
if (ndr_flags & NDR_SCALARS) {
11993
NDR_CHECK(ndr_pull_align(ndr, 5));
11994
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
11996
uint32_t _flags_save_string = ndr->flags;
11997
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
11998
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
11999
if (_ptr_driver_name) {
12000
NDR_PULL_ALLOC(ndr, r->driver_name);
12001
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
12003
r->driver_name = NULL;
12005
ndr->flags = _flags_save_string;
12008
uint32_t _flags_save_string = ndr->flags;
12009
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12010
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
12011
if (_ptr_architecture) {
12012
NDR_PULL_ALLOC(ndr, r->architecture);
12013
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
12015
r->architecture = NULL;
12017
ndr->flags = _flags_save_string;
12020
uint32_t _flags_save_string = ndr->flags;
12021
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12022
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
12023
if (_ptr_driver_path) {
12024
NDR_PULL_ALLOC(ndr, r->driver_path);
12025
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
12027
r->driver_path = NULL;
12029
ndr->flags = _flags_save_string;
12032
uint32_t _flags_save_string = ndr->flags;
12033
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12034
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
12035
if (_ptr_data_file) {
12036
NDR_PULL_ALLOC(ndr, r->data_file);
12037
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
12039
r->data_file = NULL;
12041
ndr->flags = _flags_save_string;
12044
uint32_t _flags_save_string = ndr->flags;
12045
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12046
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
12047
if (_ptr_config_file) {
12048
NDR_PULL_ALLOC(ndr, r->config_file);
12049
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
12051
r->config_file = NULL;
12053
ndr->flags = _flags_save_string;
12055
NDR_CHECK(ndr_pull_spoolss_DriverAttributes(ndr, NDR_SCALARS, &r->driver_attributes));
12056
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->config_version));
12057
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->driver_version));
12058
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12060
if (ndr_flags & NDR_BUFFERS) {
12062
uint32_t _flags_save_string = ndr->flags;
12063
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12064
if (r->driver_name) {
12065
uint32_t _relative_save_offset;
12066
_relative_save_offset = ndr->offset;
12067
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
12068
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12069
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
12070
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
12071
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
12072
ndr->offset = _relative_save_offset;
12074
ndr->flags = _flags_save_string;
12077
uint32_t _flags_save_string = ndr->flags;
12078
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12079
if (r->architecture) {
12080
uint32_t _relative_save_offset;
12081
_relative_save_offset = ndr->offset;
12082
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
12083
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
12084
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
12085
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
12086
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
12087
ndr->offset = _relative_save_offset;
12089
ndr->flags = _flags_save_string;
12092
uint32_t _flags_save_string = ndr->flags;
12093
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12094
if (r->driver_path) {
12095
uint32_t _relative_save_offset;
12096
_relative_save_offset = ndr->offset;
12097
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
12098
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
12099
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
12100
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
12101
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
12102
ndr->offset = _relative_save_offset;
12104
ndr->flags = _flags_save_string;
12107
uint32_t _flags_save_string = ndr->flags;
12108
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12109
if (r->data_file) {
12110
uint32_t _relative_save_offset;
12111
_relative_save_offset = ndr->offset;
12112
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
12113
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
12114
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
12115
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
12116
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
12117
ndr->offset = _relative_save_offset;
12119
ndr->flags = _flags_save_string;
12122
uint32_t _flags_save_string = ndr->flags;
12123
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12124
if (r->config_file) {
12125
uint32_t _relative_save_offset;
12126
_relative_save_offset = ndr->offset;
12127
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
12128
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
12129
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
12130
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
12131
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
12132
ndr->offset = _relative_save_offset;
12134
ndr->flags = _flags_save_string;
12137
return NDR_ERR_SUCCESS;
12140
_PUBLIC_ void ndr_print_spoolss_DriverInfo5(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo5 *r)
12142
ndr_print_struct(ndr, name, "spoolss_DriverInfo5");
12144
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
12145
ndr_print_ptr(ndr, "driver_name", r->driver_name);
12147
if (r->driver_name) {
12148
ndr_print_string(ndr, "driver_name", r->driver_name);
12151
ndr_print_ptr(ndr, "architecture", r->architecture);
12153
if (r->architecture) {
12154
ndr_print_string(ndr, "architecture", r->architecture);
12157
ndr_print_ptr(ndr, "driver_path", r->driver_path);
12159
if (r->driver_path) {
12160
ndr_print_string(ndr, "driver_path", r->driver_path);
12163
ndr_print_ptr(ndr, "data_file", r->data_file);
12165
if (r->data_file) {
12166
ndr_print_string(ndr, "data_file", r->data_file);
12169
ndr_print_ptr(ndr, "config_file", r->config_file);
12171
if (r->config_file) {
12172
ndr_print_string(ndr, "config_file", r->config_file);
12175
ndr_print_spoolss_DriverAttributes(ndr, "driver_attributes", r->driver_attributes);
12176
ndr_print_uint32(ndr, "config_version", r->config_version);
12177
ndr_print_uint32(ndr, "driver_version", r->driver_version);
12181
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo5(const struct spoolss_DriverInfo5 *r, struct smb_iconv_convenience *ic, int flags)
12183
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo5, ic);
12186
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo6 *r)
12188
if (ndr_flags & NDR_SCALARS) {
12189
NDR_CHECK(ndr_push_align(ndr, 8));
12190
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
12192
uint32_t _flags_save_string = ndr->flags;
12193
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12194
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
12195
ndr->flags = _flags_save_string;
12198
uint32_t _flags_save_string = ndr->flags;
12199
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12200
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
12201
ndr->flags = _flags_save_string;
12204
uint32_t _flags_save_string = ndr->flags;
12205
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12206
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
12207
ndr->flags = _flags_save_string;
12210
uint32_t _flags_save_string = ndr->flags;
12211
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12212
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
12213
ndr->flags = _flags_save_string;
12216
uint32_t _flags_save_string = ndr->flags;
12217
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12218
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
12219
ndr->flags = _flags_save_string;
12222
uint32_t _flags_save_string = ndr->flags;
12223
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12224
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
12225
ndr->flags = _flags_save_string;
12228
uint32_t _flags_save_string_array = ndr->flags;
12229
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12230
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
12231
ndr->flags = _flags_save_string_array;
12234
uint32_t _flags_save_string = ndr->flags;
12235
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12236
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
12237
ndr->flags = _flags_save_string;
12240
uint32_t _flags_save_string = ndr->flags;
12241
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12242
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
12243
ndr->flags = _flags_save_string;
12246
uint32_t _flags_save_string_array = ndr->flags;
12247
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12248
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names));
12249
ndr->flags = _flags_save_string_array;
12251
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date));
12252
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
12254
uint32_t _flags_save_string = ndr->flags;
12255
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12256
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_name));
12257
ndr->flags = _flags_save_string;
12260
uint32_t _flags_save_string = ndr->flags;
12261
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12262
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_url));
12263
ndr->flags = _flags_save_string;
12266
uint32_t _flags_save_string = ndr->flags;
12267
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12268
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->hardware_id));
12269
ndr->flags = _flags_save_string;
12272
uint32_t _flags_save_string = ndr->flags;
12273
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12274
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->provider));
12275
ndr->flags = _flags_save_string;
12277
NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12279
if (ndr_flags & NDR_BUFFERS) {
12281
uint32_t _flags_save_string = ndr->flags;
12282
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12283
if (r->driver_name) {
12284
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
12285
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
12286
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
12288
ndr->flags = _flags_save_string;
12291
uint32_t _flags_save_string = ndr->flags;
12292
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12293
if (r->architecture) {
12294
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
12295
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
12296
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
12298
ndr->flags = _flags_save_string;
12301
uint32_t _flags_save_string = ndr->flags;
12302
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12303
if (r->driver_path) {
12304
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
12305
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
12306
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
12308
ndr->flags = _flags_save_string;
12311
uint32_t _flags_save_string = ndr->flags;
12312
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12313
if (r->data_file) {
12314
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
12315
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
12316
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
12318
ndr->flags = _flags_save_string;
12321
uint32_t _flags_save_string = ndr->flags;
12322
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12323
if (r->config_file) {
12324
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
12325
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
12326
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
12328
ndr->flags = _flags_save_string;
12331
uint32_t _flags_save_string = ndr->flags;
12332
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12333
if (r->help_file) {
12334
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
12335
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
12336
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file));
12338
ndr->flags = _flags_save_string;
12341
uint32_t _flags_save_string_array = ndr->flags;
12342
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12343
if (r->dependent_files) {
12344
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
12345
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
12346
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files));
12348
ndr->flags = _flags_save_string_array;
12351
uint32_t _flags_save_string = ndr->flags;
12352
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12353
if (r->monitor_name) {
12354
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
12355
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
12356
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
12358
ndr->flags = _flags_save_string;
12361
uint32_t _flags_save_string = ndr->flags;
12362
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12363
if (r->default_datatype) {
12364
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
12365
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
12366
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype));
12368
ndr->flags = _flags_save_string;
12371
uint32_t _flags_save_string_array = ndr->flags;
12372
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12373
if (r->previous_names) {
12374
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names));
12375
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names));
12376
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->previous_names));
12378
ndr->flags = _flags_save_string_array;
12381
uint32_t _flags_save_string = ndr->flags;
12382
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12383
if (r->manufacturer_name) {
12384
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_name));
12385
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_name));
12386
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_name));
12388
ndr->flags = _flags_save_string;
12391
uint32_t _flags_save_string = ndr->flags;
12392
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12393
if (r->manufacturer_url) {
12394
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_url));
12395
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_url));
12396
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_url));
12398
ndr->flags = _flags_save_string;
12401
uint32_t _flags_save_string = ndr->flags;
12402
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12403
if (r->hardware_id) {
12404
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->hardware_id));
12405
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->hardware_id));
12406
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->hardware_id));
12408
ndr->flags = _flags_save_string;
12411
uint32_t _flags_save_string = ndr->flags;
12412
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12414
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->provider));
12415
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->provider));
12416
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->provider));
12418
ndr->flags = _flags_save_string;
12421
return NDR_ERR_SUCCESS;
12424
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo6 *r)
12426
uint32_t _ptr_driver_name;
12427
TALLOC_CTX *_mem_save_driver_name_0;
12428
uint32_t _ptr_architecture;
12429
TALLOC_CTX *_mem_save_architecture_0;
12430
uint32_t _ptr_driver_path;
12431
TALLOC_CTX *_mem_save_driver_path_0;
12432
uint32_t _ptr_data_file;
12433
TALLOC_CTX *_mem_save_data_file_0;
12434
uint32_t _ptr_config_file;
12435
TALLOC_CTX *_mem_save_config_file_0;
12436
uint32_t _ptr_help_file;
12437
TALLOC_CTX *_mem_save_help_file_0;
12438
uint32_t _ptr_dependent_files;
12439
TALLOC_CTX *_mem_save_dependent_files_0;
12440
uint32_t _ptr_monitor_name;
12441
TALLOC_CTX *_mem_save_monitor_name_0;
12442
uint32_t _ptr_default_datatype;
12443
TALLOC_CTX *_mem_save_default_datatype_0;
12444
uint32_t _ptr_previous_names;
12445
TALLOC_CTX *_mem_save_previous_names_0;
12446
uint32_t _ptr_manufacturer_name;
12447
TALLOC_CTX *_mem_save_manufacturer_name_0;
12448
uint32_t _ptr_manufacturer_url;
12449
TALLOC_CTX *_mem_save_manufacturer_url_0;
12450
uint32_t _ptr_hardware_id;
12451
TALLOC_CTX *_mem_save_hardware_id_0;
12452
uint32_t _ptr_provider;
12453
TALLOC_CTX *_mem_save_provider_0;
12454
if (ndr_flags & NDR_SCALARS) {
12455
NDR_CHECK(ndr_pull_align(ndr, 8));
12456
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
12458
uint32_t _flags_save_string = ndr->flags;
12459
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12460
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
12461
if (_ptr_driver_name) {
12462
NDR_PULL_ALLOC(ndr, r->driver_name);
12463
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
12465
r->driver_name = NULL;
12467
ndr->flags = _flags_save_string;
12470
uint32_t _flags_save_string = ndr->flags;
12471
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12472
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
12473
if (_ptr_architecture) {
12474
NDR_PULL_ALLOC(ndr, r->architecture);
12475
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
12477
r->architecture = NULL;
12479
ndr->flags = _flags_save_string;
12482
uint32_t _flags_save_string = ndr->flags;
12483
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12484
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
12485
if (_ptr_driver_path) {
12486
NDR_PULL_ALLOC(ndr, r->driver_path);
12487
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
12489
r->driver_path = NULL;
12491
ndr->flags = _flags_save_string;
12494
uint32_t _flags_save_string = ndr->flags;
12495
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12496
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
12497
if (_ptr_data_file) {
12498
NDR_PULL_ALLOC(ndr, r->data_file);
12499
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
12501
r->data_file = NULL;
12503
ndr->flags = _flags_save_string;
12506
uint32_t _flags_save_string = ndr->flags;
12507
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12508
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
12509
if (_ptr_config_file) {
12510
NDR_PULL_ALLOC(ndr, r->config_file);
12511
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
12513
r->config_file = NULL;
12515
ndr->flags = _flags_save_string;
12518
uint32_t _flags_save_string = ndr->flags;
12519
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12520
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
12521
if (_ptr_help_file) {
12522
NDR_PULL_ALLOC(ndr, r->help_file);
12523
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file));
12525
r->help_file = NULL;
12527
ndr->flags = _flags_save_string;
12530
uint32_t _flags_save_string_array = ndr->flags;
12531
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12532
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
12533
if (_ptr_dependent_files) {
12534
NDR_PULL_ALLOC(ndr, r->dependent_files);
12535
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
12537
r->dependent_files = NULL;
12539
ndr->flags = _flags_save_string_array;
12542
uint32_t _flags_save_string = ndr->flags;
12543
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12544
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
12545
if (_ptr_monitor_name) {
12546
NDR_PULL_ALLOC(ndr, r->monitor_name);
12547
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
12549
r->monitor_name = NULL;
12551
ndr->flags = _flags_save_string;
12554
uint32_t _flags_save_string = ndr->flags;
12555
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12556
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
12557
if (_ptr_default_datatype) {
12558
NDR_PULL_ALLOC(ndr, r->default_datatype);
12559
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype));
12561
r->default_datatype = NULL;
12563
ndr->flags = _flags_save_string;
12566
uint32_t _flags_save_string_array = ndr->flags;
12567
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12568
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
12569
if (_ptr_previous_names) {
12570
NDR_PULL_ALLOC(ndr, r->previous_names);
12571
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->previous_names, _ptr_previous_names));
12573
r->previous_names = NULL;
12575
ndr->flags = _flags_save_string_array;
12577
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date));
12578
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
12580
uint32_t _flags_save_string = ndr->flags;
12581
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12582
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name));
12583
if (_ptr_manufacturer_name) {
12584
NDR_PULL_ALLOC(ndr, r->manufacturer_name);
12585
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->manufacturer_name, _ptr_manufacturer_name));
12587
r->manufacturer_name = NULL;
12589
ndr->flags = _flags_save_string;
12592
uint32_t _flags_save_string = ndr->flags;
12593
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12594
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url));
12595
if (_ptr_manufacturer_url) {
12596
NDR_PULL_ALLOC(ndr, r->manufacturer_url);
12597
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->manufacturer_url, _ptr_manufacturer_url));
12599
r->manufacturer_url = NULL;
12601
ndr->flags = _flags_save_string;
12604
uint32_t _flags_save_string = ndr->flags;
12605
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12606
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id));
12607
if (_ptr_hardware_id) {
12608
NDR_PULL_ALLOC(ndr, r->hardware_id);
12609
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->hardware_id, _ptr_hardware_id));
12611
r->hardware_id = NULL;
12613
ndr->flags = _flags_save_string;
12616
uint32_t _flags_save_string = ndr->flags;
12617
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12618
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider));
12619
if (_ptr_provider) {
12620
NDR_PULL_ALLOC(ndr, r->provider);
12621
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->provider, _ptr_provider));
12623
r->provider = NULL;
12625
ndr->flags = _flags_save_string;
12627
NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12629
if (ndr_flags & NDR_BUFFERS) {
12631
uint32_t _flags_save_string = ndr->flags;
12632
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12633
if (r->driver_name) {
12634
uint32_t _relative_save_offset;
12635
_relative_save_offset = ndr->offset;
12636
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
12637
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12638
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
12639
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
12640
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
12641
ndr->offset = _relative_save_offset;
12643
ndr->flags = _flags_save_string;
12646
uint32_t _flags_save_string = ndr->flags;
12647
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12648
if (r->architecture) {
12649
uint32_t _relative_save_offset;
12650
_relative_save_offset = ndr->offset;
12651
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
12652
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
12653
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
12654
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
12655
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
12656
ndr->offset = _relative_save_offset;
12658
ndr->flags = _flags_save_string;
12661
uint32_t _flags_save_string = ndr->flags;
12662
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12663
if (r->driver_path) {
12664
uint32_t _relative_save_offset;
12665
_relative_save_offset = ndr->offset;
12666
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
12667
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
12668
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
12669
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
12670
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
12671
ndr->offset = _relative_save_offset;
12673
ndr->flags = _flags_save_string;
12676
uint32_t _flags_save_string = ndr->flags;
12677
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12678
if (r->data_file) {
12679
uint32_t _relative_save_offset;
12680
_relative_save_offset = ndr->offset;
12681
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
12682
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
12683
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
12684
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
12685
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
12686
ndr->offset = _relative_save_offset;
12688
ndr->flags = _flags_save_string;
12691
uint32_t _flags_save_string = ndr->flags;
12692
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12693
if (r->config_file) {
12694
uint32_t _relative_save_offset;
12695
_relative_save_offset = ndr->offset;
12696
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
12697
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
12698
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
12699
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
12700
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
12701
ndr->offset = _relative_save_offset;
12703
ndr->flags = _flags_save_string;
12706
uint32_t _flags_save_string = ndr->flags;
12707
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12708
if (r->help_file) {
12709
uint32_t _relative_save_offset;
12710
_relative_save_offset = ndr->offset;
12711
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file));
12712
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
12713
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
12714
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
12715
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
12716
ndr->offset = _relative_save_offset;
12718
ndr->flags = _flags_save_string;
12721
uint32_t _flags_save_string_array = ndr->flags;
12722
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12723
if (r->dependent_files) {
12724
uint32_t _relative_save_offset;
12725
_relative_save_offset = ndr->offset;
12726
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
12727
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
12728
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
12729
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
12730
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
12731
ndr->offset = _relative_save_offset;
12733
ndr->flags = _flags_save_string_array;
12736
uint32_t _flags_save_string = ndr->flags;
12737
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12738
if (r->monitor_name) {
12739
uint32_t _relative_save_offset;
12740
_relative_save_offset = ndr->offset;
12741
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
12742
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12743
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
12744
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
12745
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
12746
ndr->offset = _relative_save_offset;
12748
ndr->flags = _flags_save_string;
12751
uint32_t _flags_save_string = ndr->flags;
12752
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12753
if (r->default_datatype) {
12754
uint32_t _relative_save_offset;
12755
_relative_save_offset = ndr->offset;
12756
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype));
12757
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
12758
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
12759
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
12760
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
12761
ndr->offset = _relative_save_offset;
12763
ndr->flags = _flags_save_string;
12766
uint32_t _flags_save_string_array = ndr->flags;
12767
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12768
if (r->previous_names) {
12769
uint32_t _relative_save_offset;
12770
_relative_save_offset = ndr->offset;
12771
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->previous_names));
12772
_mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
12773
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
12774
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->previous_names));
12775
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
12776
ndr->offset = _relative_save_offset;
12778
ndr->flags = _flags_save_string_array;
12781
uint32_t _flags_save_string = ndr->flags;
12782
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12783
if (r->manufacturer_name) {
12784
uint32_t _relative_save_offset;
12785
_relative_save_offset = ndr->offset;
12786
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->manufacturer_name));
12787
_mem_save_manufacturer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12788
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0);
12789
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_name));
12790
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0);
12791
ndr->offset = _relative_save_offset;
12793
ndr->flags = _flags_save_string;
12796
uint32_t _flags_save_string = ndr->flags;
12797
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12798
if (r->manufacturer_url) {
12799
uint32_t _relative_save_offset;
12800
_relative_save_offset = ndr->offset;
12801
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->manufacturer_url));
12802
_mem_save_manufacturer_url_0 = NDR_PULL_GET_MEM_CTX(ndr);
12803
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0);
12804
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_url));
12805
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0);
12806
ndr->offset = _relative_save_offset;
12808
ndr->flags = _flags_save_string;
12811
uint32_t _flags_save_string = ndr->flags;
12812
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12813
if (r->hardware_id) {
12814
uint32_t _relative_save_offset;
12815
_relative_save_offset = ndr->offset;
12816
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->hardware_id));
12817
_mem_save_hardware_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
12818
NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0);
12819
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->hardware_id));
12820
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0);
12821
ndr->offset = _relative_save_offset;
12823
ndr->flags = _flags_save_string;
12826
uint32_t _flags_save_string = ndr->flags;
12827
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12829
uint32_t _relative_save_offset;
12830
_relative_save_offset = ndr->offset;
12831
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->provider));
12832
_mem_save_provider_0 = NDR_PULL_GET_MEM_CTX(ndr);
12833
NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0);
12834
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->provider));
12835
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0);
12836
ndr->offset = _relative_save_offset;
12838
ndr->flags = _flags_save_string;
12841
return NDR_ERR_SUCCESS;
12844
_PUBLIC_ void ndr_print_spoolss_DriverInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo6 *r)
12846
ndr_print_struct(ndr, name, "spoolss_DriverInfo6");
12848
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
12849
ndr_print_ptr(ndr, "driver_name", r->driver_name);
12851
if (r->driver_name) {
12852
ndr_print_string(ndr, "driver_name", r->driver_name);
12855
ndr_print_ptr(ndr, "architecture", r->architecture);
12857
if (r->architecture) {
12858
ndr_print_string(ndr, "architecture", r->architecture);
12861
ndr_print_ptr(ndr, "driver_path", r->driver_path);
12863
if (r->driver_path) {
12864
ndr_print_string(ndr, "driver_path", r->driver_path);
12867
ndr_print_ptr(ndr, "data_file", r->data_file);
12869
if (r->data_file) {
12870
ndr_print_string(ndr, "data_file", r->data_file);
12873
ndr_print_ptr(ndr, "config_file", r->config_file);
12875
if (r->config_file) {
12876
ndr_print_string(ndr, "config_file", r->config_file);
12879
ndr_print_ptr(ndr, "help_file", r->help_file);
12881
if (r->help_file) {
12882
ndr_print_string(ndr, "help_file", r->help_file);
12885
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
12887
if (r->dependent_files) {
12888
ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
12891
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
12893
if (r->monitor_name) {
12894
ndr_print_string(ndr, "monitor_name", r->monitor_name);
12897
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
12899
if (r->default_datatype) {
12900
ndr_print_string(ndr, "default_datatype", r->default_datatype);
12903
ndr_print_ptr(ndr, "previous_names", r->previous_names);
12905
if (r->previous_names) {
12906
ndr_print_string_array(ndr, "previous_names", r->previous_names);
12909
ndr_print_NTTIME(ndr, "driver_date", r->driver_date);
12910
ndr_print_hyper(ndr, "driver_version", r->driver_version);
12911
ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name);
12913
if (r->manufacturer_name) {
12914
ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name);
12917
ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url);
12919
if (r->manufacturer_url) {
12920
ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url);
12923
ndr_print_ptr(ndr, "hardware_id", r->hardware_id);
12925
if (r->hardware_id) {
12926
ndr_print_string(ndr, "hardware_id", r->hardware_id);
12929
ndr_print_ptr(ndr, "provider", r->provider);
12932
ndr_print_string(ndr, "provider", r->provider);
12938
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo6(const struct spoolss_DriverInfo6 *r, struct smb_iconv_convenience *ic, int flags)
12940
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo6, ic);
12943
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo7(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo7 *r)
12945
if (ndr_flags & NDR_SCALARS) {
12946
NDR_CHECK(ndr_push_align(ndr, 5));
12947
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
12948
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
12950
uint32_t _flags_save_string = ndr->flags;
12951
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12952
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
12953
ndr->flags = _flags_save_string;
12956
uint32_t _flags_save_string = ndr->flags;
12957
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12958
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->inf_name));
12959
ndr->flags = _flags_save_string;
12962
uint32_t _flags_save_string = ndr->flags;
12963
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12964
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->install_source_root));
12965
ndr->flags = _flags_save_string;
12967
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12969
if (ndr_flags & NDR_BUFFERS) {
12971
uint32_t _flags_save_string = ndr->flags;
12972
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12973
if (r->driver_name) {
12974
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
12975
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
12976
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
12978
ndr->flags = _flags_save_string;
12981
uint32_t _flags_save_string = ndr->flags;
12982
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12984
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->inf_name));
12985
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->inf_name));
12986
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->inf_name));
12988
ndr->flags = _flags_save_string;
12991
uint32_t _flags_save_string = ndr->flags;
12992
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
12993
if (r->install_source_root) {
12994
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->install_source_root));
12995
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->install_source_root));
12996
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->install_source_root));
12998
ndr->flags = _flags_save_string;
13001
return NDR_ERR_SUCCESS;
13004
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo7(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo7 *r)
13006
uint32_t _ptr_driver_name;
13007
TALLOC_CTX *_mem_save_driver_name_0;
13008
uint32_t _ptr_inf_name;
13009
TALLOC_CTX *_mem_save_inf_name_0;
13010
uint32_t _ptr_install_source_root;
13011
TALLOC_CTX *_mem_save_install_source_root_0;
13012
if (ndr_flags & NDR_SCALARS) {
13013
NDR_CHECK(ndr_pull_align(ndr, 5));
13014
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
13015
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
13017
uint32_t _flags_save_string = ndr->flags;
13018
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13019
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
13020
if (_ptr_driver_name) {
13021
NDR_PULL_ALLOC(ndr, r->driver_name);
13022
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
13024
r->driver_name = NULL;
13026
ndr->flags = _flags_save_string;
13029
uint32_t _flags_save_string = ndr->flags;
13030
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13031
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_inf_name));
13032
if (_ptr_inf_name) {
13033
NDR_PULL_ALLOC(ndr, r->inf_name);
13034
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->inf_name, _ptr_inf_name));
13036
r->inf_name = NULL;
13038
ndr->flags = _flags_save_string;
13041
uint32_t _flags_save_string = ndr->flags;
13042
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13043
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_install_source_root));
13044
if (_ptr_install_source_root) {
13045
NDR_PULL_ALLOC(ndr, r->install_source_root);
13046
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->install_source_root, _ptr_install_source_root));
13048
r->install_source_root = NULL;
13050
ndr->flags = _flags_save_string;
13052
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13054
if (ndr_flags & NDR_BUFFERS) {
13056
uint32_t _flags_save_string = ndr->flags;
13057
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13058
if (r->driver_name) {
13059
uint32_t _relative_save_offset;
13060
_relative_save_offset = ndr->offset;
13061
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
13062
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13063
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
13064
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
13065
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
13066
ndr->offset = _relative_save_offset;
13068
ndr->flags = _flags_save_string;
13071
uint32_t _flags_save_string = ndr->flags;
13072
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13074
uint32_t _relative_save_offset;
13075
_relative_save_offset = ndr->offset;
13076
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->inf_name));
13077
_mem_save_inf_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13078
NDR_PULL_SET_MEM_CTX(ndr, r->inf_name, 0);
13079
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->inf_name));
13080
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_inf_name_0, 0);
13081
ndr->offset = _relative_save_offset;
13083
ndr->flags = _flags_save_string;
13086
uint32_t _flags_save_string = ndr->flags;
13087
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13088
if (r->install_source_root) {
13089
uint32_t _relative_save_offset;
13090
_relative_save_offset = ndr->offset;
13091
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->install_source_root));
13092
_mem_save_install_source_root_0 = NDR_PULL_GET_MEM_CTX(ndr);
13093
NDR_PULL_SET_MEM_CTX(ndr, r->install_source_root, 0);
13094
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->install_source_root));
13095
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_install_source_root_0, 0);
13096
ndr->offset = _relative_save_offset;
13098
ndr->flags = _flags_save_string;
13101
return NDR_ERR_SUCCESS;
13104
_PUBLIC_ void ndr_print_spoolss_DriverInfo7(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo7 *r)
13106
ndr_print_struct(ndr, name, "spoolss_DriverInfo7");
13108
ndr_print_uint32(ndr, "size", r->size);
13109
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
13110
ndr_print_ptr(ndr, "driver_name", r->driver_name);
13112
if (r->driver_name) {
13113
ndr_print_string(ndr, "driver_name", r->driver_name);
13116
ndr_print_ptr(ndr, "inf_name", r->inf_name);
13119
ndr_print_string(ndr, "inf_name", r->inf_name);
13122
ndr_print_ptr(ndr, "install_source_root", r->install_source_root);
13124
if (r->install_source_root) {
13125
ndr_print_string(ndr, "install_source_root", r->install_source_root);
13131
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo7(const struct spoolss_DriverInfo7 *r, struct smb_iconv_convenience *ic, int flags)
13133
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo7, ic);
13136
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo8 *r)
13138
if (ndr_flags & NDR_SCALARS) {
13139
NDR_CHECK(ndr_push_align(ndr, 8));
13140
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
13142
uint32_t _flags_save_string = ndr->flags;
13143
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13144
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
13145
ndr->flags = _flags_save_string;
13148
uint32_t _flags_save_string = ndr->flags;
13149
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13150
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
13151
ndr->flags = _flags_save_string;
13154
uint32_t _flags_save_string = ndr->flags;
13155
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13156
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
13157
ndr->flags = _flags_save_string;
13160
uint32_t _flags_save_string = ndr->flags;
13161
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13162
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
13163
ndr->flags = _flags_save_string;
13166
uint32_t _flags_save_string = ndr->flags;
13167
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13168
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
13169
ndr->flags = _flags_save_string;
13172
uint32_t _flags_save_string = ndr->flags;
13173
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13174
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
13175
ndr->flags = _flags_save_string;
13178
uint32_t _flags_save_string_array = ndr->flags;
13179
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13180
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
13181
ndr->flags = _flags_save_string_array;
13184
uint32_t _flags_save_string = ndr->flags;
13185
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13186
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
13187
ndr->flags = _flags_save_string;
13190
uint32_t _flags_save_string = ndr->flags;
13191
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13192
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
13193
ndr->flags = _flags_save_string;
13196
uint32_t _flags_save_string_array = ndr->flags;
13197
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13198
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names));
13199
ndr->flags = _flags_save_string_array;
13201
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date));
13202
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
13204
uint32_t _flags_save_string = ndr->flags;
13205
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13206
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_name));
13207
ndr->flags = _flags_save_string;
13210
uint32_t _flags_save_string = ndr->flags;
13211
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13212
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_url));
13213
ndr->flags = _flags_save_string;
13216
uint32_t _flags_save_string = ndr->flags;
13217
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13218
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->hardware_id));
13219
ndr->flags = _flags_save_string;
13222
uint32_t _flags_save_string = ndr->flags;
13223
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13224
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->provider));
13225
ndr->flags = _flags_save_string;
13228
uint32_t _flags_save_string = ndr->flags;
13229
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13230
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor));
13231
ndr->flags = _flags_save_string;
13234
uint32_t _flags_save_string = ndr->flags;
13235
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13236
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->vendor_setup));
13237
ndr->flags = _flags_save_string;
13240
uint32_t _flags_save_string_array = ndr->flags;
13241
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13242
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->color_profiles));
13243
ndr->flags = _flags_save_string_array;
13246
uint32_t _flags_save_string = ndr->flags;
13247
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13248
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->inf_path));
13249
ndr->flags = _flags_save_string;
13251
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->printer_driver_attributes));
13253
uint32_t _flags_save_string_array = ndr->flags;
13254
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13255
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->core_driver_dependencies));
13256
ndr->flags = _flags_save_string_array;
13258
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->min_inbox_driver_ver_date));
13259
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->min_inbox_driver_ver_version));
13260
NDR_CHECK(ndr_push_trailer_align(ndr, 8));
13262
if (ndr_flags & NDR_BUFFERS) {
13264
uint32_t _flags_save_string = ndr->flags;
13265
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13266
if (r->driver_name) {
13267
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
13268
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
13269
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
13271
ndr->flags = _flags_save_string;
13274
uint32_t _flags_save_string = ndr->flags;
13275
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13276
if (r->architecture) {
13277
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
13278
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
13279
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
13281
ndr->flags = _flags_save_string;
13284
uint32_t _flags_save_string = ndr->flags;
13285
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13286
if (r->driver_path) {
13287
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
13288
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
13289
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
13291
ndr->flags = _flags_save_string;
13294
uint32_t _flags_save_string = ndr->flags;
13295
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13296
if (r->data_file) {
13297
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
13298
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
13299
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
13301
ndr->flags = _flags_save_string;
13304
uint32_t _flags_save_string = ndr->flags;
13305
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13306
if (r->config_file) {
13307
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
13308
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
13309
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
13311
ndr->flags = _flags_save_string;
13314
uint32_t _flags_save_string = ndr->flags;
13315
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13316
if (r->help_file) {
13317
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
13318
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
13319
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file));
13321
ndr->flags = _flags_save_string;
13324
uint32_t _flags_save_string_array = ndr->flags;
13325
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13326
if (r->dependent_files) {
13327
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
13328
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
13329
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files));
13331
ndr->flags = _flags_save_string_array;
13334
uint32_t _flags_save_string = ndr->flags;
13335
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13336
if (r->monitor_name) {
13337
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
13338
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
13339
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
13341
ndr->flags = _flags_save_string;
13344
uint32_t _flags_save_string = ndr->flags;
13345
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13346
if (r->default_datatype) {
13347
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
13348
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
13349
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype));
13351
ndr->flags = _flags_save_string;
13354
uint32_t _flags_save_string_array = ndr->flags;
13355
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13356
if (r->previous_names) {
13357
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names));
13358
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names));
13359
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->previous_names));
13361
ndr->flags = _flags_save_string_array;
13364
uint32_t _flags_save_string = ndr->flags;
13365
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13366
if (r->manufacturer_name) {
13367
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_name));
13368
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_name));
13369
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_name));
13371
ndr->flags = _flags_save_string;
13374
uint32_t _flags_save_string = ndr->flags;
13375
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13376
if (r->manufacturer_url) {
13377
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_url));
13378
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_url));
13379
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_url));
13381
ndr->flags = _flags_save_string;
13384
uint32_t _flags_save_string = ndr->flags;
13385
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13386
if (r->hardware_id) {
13387
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->hardware_id));
13388
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->hardware_id));
13389
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->hardware_id));
13391
ndr->flags = _flags_save_string;
13394
uint32_t _flags_save_string = ndr->flags;
13395
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13397
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->provider));
13398
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->provider));
13399
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->provider));
13401
ndr->flags = _flags_save_string;
13404
uint32_t _flags_save_string = ndr->flags;
13405
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13406
if (r->print_processor) {
13407
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor));
13408
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor));
13409
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor));
13411
ndr->flags = _flags_save_string;
13414
uint32_t _flags_save_string = ndr->flags;
13415
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13416
if (r->vendor_setup) {
13417
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->vendor_setup));
13418
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->vendor_setup));
13419
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->vendor_setup));
13421
ndr->flags = _flags_save_string;
13424
uint32_t _flags_save_string_array = ndr->flags;
13425
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13426
if (r->color_profiles) {
13427
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->color_profiles));
13428
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->color_profiles));
13429
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->color_profiles));
13431
ndr->flags = _flags_save_string_array;
13434
uint32_t _flags_save_string = ndr->flags;
13435
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13437
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->inf_path));
13438
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->inf_path));
13439
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->inf_path));
13441
ndr->flags = _flags_save_string;
13444
uint32_t _flags_save_string_array = ndr->flags;
13445
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13446
if (r->core_driver_dependencies) {
13447
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->core_driver_dependencies));
13448
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->core_driver_dependencies));
13449
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->core_driver_dependencies));
13451
ndr->flags = _flags_save_string_array;
13454
return NDR_ERR_SUCCESS;
13457
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo8(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo8 *r)
13459
uint32_t _ptr_driver_name;
13460
TALLOC_CTX *_mem_save_driver_name_0;
13461
uint32_t _ptr_architecture;
13462
TALLOC_CTX *_mem_save_architecture_0;
13463
uint32_t _ptr_driver_path;
13464
TALLOC_CTX *_mem_save_driver_path_0;
13465
uint32_t _ptr_data_file;
13466
TALLOC_CTX *_mem_save_data_file_0;
13467
uint32_t _ptr_config_file;
13468
TALLOC_CTX *_mem_save_config_file_0;
13469
uint32_t _ptr_help_file;
13470
TALLOC_CTX *_mem_save_help_file_0;
13471
uint32_t _ptr_dependent_files;
13472
TALLOC_CTX *_mem_save_dependent_files_0;
13473
uint32_t _ptr_monitor_name;
13474
TALLOC_CTX *_mem_save_monitor_name_0;
13475
uint32_t _ptr_default_datatype;
13476
TALLOC_CTX *_mem_save_default_datatype_0;
13477
uint32_t _ptr_previous_names;
13478
TALLOC_CTX *_mem_save_previous_names_0;
13479
uint32_t _ptr_manufacturer_name;
13480
TALLOC_CTX *_mem_save_manufacturer_name_0;
13481
uint32_t _ptr_manufacturer_url;
13482
TALLOC_CTX *_mem_save_manufacturer_url_0;
13483
uint32_t _ptr_hardware_id;
13484
TALLOC_CTX *_mem_save_hardware_id_0;
13485
uint32_t _ptr_provider;
13486
TALLOC_CTX *_mem_save_provider_0;
13487
uint32_t _ptr_print_processor;
13488
TALLOC_CTX *_mem_save_print_processor_0;
13489
uint32_t _ptr_vendor_setup;
13490
TALLOC_CTX *_mem_save_vendor_setup_0;
13491
uint32_t _ptr_color_profiles;
13492
TALLOC_CTX *_mem_save_color_profiles_0;
13493
uint32_t _ptr_inf_path;
13494
TALLOC_CTX *_mem_save_inf_path_0;
13495
uint32_t _ptr_core_driver_dependencies;
13496
TALLOC_CTX *_mem_save_core_driver_dependencies_0;
13497
if (ndr_flags & NDR_SCALARS) {
13498
NDR_CHECK(ndr_pull_align(ndr, 8));
13499
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
13501
uint32_t _flags_save_string = ndr->flags;
13502
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13503
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
13504
if (_ptr_driver_name) {
13505
NDR_PULL_ALLOC(ndr, r->driver_name);
13506
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
13508
r->driver_name = NULL;
13510
ndr->flags = _flags_save_string;
13513
uint32_t _flags_save_string = ndr->flags;
13514
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13515
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
13516
if (_ptr_architecture) {
13517
NDR_PULL_ALLOC(ndr, r->architecture);
13518
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
13520
r->architecture = NULL;
13522
ndr->flags = _flags_save_string;
13525
uint32_t _flags_save_string = ndr->flags;
13526
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13527
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
13528
if (_ptr_driver_path) {
13529
NDR_PULL_ALLOC(ndr, r->driver_path);
13530
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
13532
r->driver_path = NULL;
13534
ndr->flags = _flags_save_string;
13537
uint32_t _flags_save_string = ndr->flags;
13538
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13539
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
13540
if (_ptr_data_file) {
13541
NDR_PULL_ALLOC(ndr, r->data_file);
13542
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
13544
r->data_file = NULL;
13546
ndr->flags = _flags_save_string;
13549
uint32_t _flags_save_string = ndr->flags;
13550
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13551
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
13552
if (_ptr_config_file) {
13553
NDR_PULL_ALLOC(ndr, r->config_file);
13554
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
13556
r->config_file = NULL;
13558
ndr->flags = _flags_save_string;
13561
uint32_t _flags_save_string = ndr->flags;
13562
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13563
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
13564
if (_ptr_help_file) {
13565
NDR_PULL_ALLOC(ndr, r->help_file);
13566
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file));
13568
r->help_file = NULL;
13570
ndr->flags = _flags_save_string;
13573
uint32_t _flags_save_string_array = ndr->flags;
13574
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13575
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
13576
if (_ptr_dependent_files) {
13577
NDR_PULL_ALLOC(ndr, r->dependent_files);
13578
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
13580
r->dependent_files = NULL;
13582
ndr->flags = _flags_save_string_array;
13585
uint32_t _flags_save_string = ndr->flags;
13586
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13587
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
13588
if (_ptr_monitor_name) {
13589
NDR_PULL_ALLOC(ndr, r->monitor_name);
13590
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
13592
r->monitor_name = NULL;
13594
ndr->flags = _flags_save_string;
13597
uint32_t _flags_save_string = ndr->flags;
13598
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13599
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
13600
if (_ptr_default_datatype) {
13601
NDR_PULL_ALLOC(ndr, r->default_datatype);
13602
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype));
13604
r->default_datatype = NULL;
13606
ndr->flags = _flags_save_string;
13609
uint32_t _flags_save_string_array = ndr->flags;
13610
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13611
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
13612
if (_ptr_previous_names) {
13613
NDR_PULL_ALLOC(ndr, r->previous_names);
13614
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->previous_names, _ptr_previous_names));
13616
r->previous_names = NULL;
13618
ndr->flags = _flags_save_string_array;
13620
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date));
13621
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
13623
uint32_t _flags_save_string = ndr->flags;
13624
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13625
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name));
13626
if (_ptr_manufacturer_name) {
13627
NDR_PULL_ALLOC(ndr, r->manufacturer_name);
13628
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->manufacturer_name, _ptr_manufacturer_name));
13630
r->manufacturer_name = NULL;
13632
ndr->flags = _flags_save_string;
13635
uint32_t _flags_save_string = ndr->flags;
13636
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13637
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url));
13638
if (_ptr_manufacturer_url) {
13639
NDR_PULL_ALLOC(ndr, r->manufacturer_url);
13640
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->manufacturer_url, _ptr_manufacturer_url));
13642
r->manufacturer_url = NULL;
13644
ndr->flags = _flags_save_string;
13647
uint32_t _flags_save_string = ndr->flags;
13648
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13649
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id));
13650
if (_ptr_hardware_id) {
13651
NDR_PULL_ALLOC(ndr, r->hardware_id);
13652
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->hardware_id, _ptr_hardware_id));
13654
r->hardware_id = NULL;
13656
ndr->flags = _flags_save_string;
13659
uint32_t _flags_save_string = ndr->flags;
13660
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13661
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider));
13662
if (_ptr_provider) {
13663
NDR_PULL_ALLOC(ndr, r->provider);
13664
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->provider, _ptr_provider));
13666
r->provider = NULL;
13668
ndr->flags = _flags_save_string;
13671
uint32_t _flags_save_string = ndr->flags;
13672
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13673
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
13674
if (_ptr_print_processor) {
13675
NDR_PULL_ALLOC(ndr, r->print_processor);
13676
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->print_processor, _ptr_print_processor));
13678
r->print_processor = NULL;
13680
ndr->flags = _flags_save_string;
13683
uint32_t _flags_save_string = ndr->flags;
13684
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13685
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_vendor_setup));
13686
if (_ptr_vendor_setup) {
13687
NDR_PULL_ALLOC(ndr, r->vendor_setup);
13688
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->vendor_setup, _ptr_vendor_setup));
13690
r->vendor_setup = NULL;
13692
ndr->flags = _flags_save_string;
13695
uint32_t _flags_save_string_array = ndr->flags;
13696
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13697
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_color_profiles));
13698
if (_ptr_color_profiles) {
13699
NDR_PULL_ALLOC(ndr, r->color_profiles);
13700
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->color_profiles, _ptr_color_profiles));
13702
r->color_profiles = NULL;
13704
ndr->flags = _flags_save_string_array;
13707
uint32_t _flags_save_string = ndr->flags;
13708
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13709
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_inf_path));
13710
if (_ptr_inf_path) {
13711
NDR_PULL_ALLOC(ndr, r->inf_path);
13712
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->inf_path, _ptr_inf_path));
13714
r->inf_path = NULL;
13716
ndr->flags = _flags_save_string;
13718
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->printer_driver_attributes));
13720
uint32_t _flags_save_string_array = ndr->flags;
13721
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13722
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_core_driver_dependencies));
13723
if (_ptr_core_driver_dependencies) {
13724
NDR_PULL_ALLOC(ndr, r->core_driver_dependencies);
13725
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->core_driver_dependencies, _ptr_core_driver_dependencies));
13727
r->core_driver_dependencies = NULL;
13729
ndr->flags = _flags_save_string_array;
13731
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_date));
13732
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_version));
13733
NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
13735
if (ndr_flags & NDR_BUFFERS) {
13737
uint32_t _flags_save_string = ndr->flags;
13738
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13739
if (r->driver_name) {
13740
uint32_t _relative_save_offset;
13741
_relative_save_offset = ndr->offset;
13742
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
13743
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13744
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
13745
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
13746
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
13747
ndr->offset = _relative_save_offset;
13749
ndr->flags = _flags_save_string;
13752
uint32_t _flags_save_string = ndr->flags;
13753
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13754
if (r->architecture) {
13755
uint32_t _relative_save_offset;
13756
_relative_save_offset = ndr->offset;
13757
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
13758
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
13759
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
13760
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
13761
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
13762
ndr->offset = _relative_save_offset;
13764
ndr->flags = _flags_save_string;
13767
uint32_t _flags_save_string = ndr->flags;
13768
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13769
if (r->driver_path) {
13770
uint32_t _relative_save_offset;
13771
_relative_save_offset = ndr->offset;
13772
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
13773
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
13774
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
13775
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
13776
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
13777
ndr->offset = _relative_save_offset;
13779
ndr->flags = _flags_save_string;
13782
uint32_t _flags_save_string = ndr->flags;
13783
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13784
if (r->data_file) {
13785
uint32_t _relative_save_offset;
13786
_relative_save_offset = ndr->offset;
13787
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
13788
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
13789
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
13790
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
13791
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
13792
ndr->offset = _relative_save_offset;
13794
ndr->flags = _flags_save_string;
13797
uint32_t _flags_save_string = ndr->flags;
13798
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13799
if (r->config_file) {
13800
uint32_t _relative_save_offset;
13801
_relative_save_offset = ndr->offset;
13802
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
13803
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
13804
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
13805
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
13806
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
13807
ndr->offset = _relative_save_offset;
13809
ndr->flags = _flags_save_string;
13812
uint32_t _flags_save_string = ndr->flags;
13813
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13814
if (r->help_file) {
13815
uint32_t _relative_save_offset;
13816
_relative_save_offset = ndr->offset;
13817
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file));
13818
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
13819
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
13820
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
13821
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
13822
ndr->offset = _relative_save_offset;
13824
ndr->flags = _flags_save_string;
13827
uint32_t _flags_save_string_array = ndr->flags;
13828
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13829
if (r->dependent_files) {
13830
uint32_t _relative_save_offset;
13831
_relative_save_offset = ndr->offset;
13832
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
13833
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
13834
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
13835
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
13836
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
13837
ndr->offset = _relative_save_offset;
13839
ndr->flags = _flags_save_string_array;
13842
uint32_t _flags_save_string = ndr->flags;
13843
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13844
if (r->monitor_name) {
13845
uint32_t _relative_save_offset;
13846
_relative_save_offset = ndr->offset;
13847
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
13848
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13849
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
13850
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
13851
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
13852
ndr->offset = _relative_save_offset;
13854
ndr->flags = _flags_save_string;
13857
uint32_t _flags_save_string = ndr->flags;
13858
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13859
if (r->default_datatype) {
13860
uint32_t _relative_save_offset;
13861
_relative_save_offset = ndr->offset;
13862
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype));
13863
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
13864
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
13865
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
13866
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
13867
ndr->offset = _relative_save_offset;
13869
ndr->flags = _flags_save_string;
13872
uint32_t _flags_save_string_array = ndr->flags;
13873
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13874
if (r->previous_names) {
13875
uint32_t _relative_save_offset;
13876
_relative_save_offset = ndr->offset;
13877
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->previous_names));
13878
_mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
13879
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
13880
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->previous_names));
13881
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
13882
ndr->offset = _relative_save_offset;
13884
ndr->flags = _flags_save_string_array;
13887
uint32_t _flags_save_string = ndr->flags;
13888
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13889
if (r->manufacturer_name) {
13890
uint32_t _relative_save_offset;
13891
_relative_save_offset = ndr->offset;
13892
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->manufacturer_name));
13893
_mem_save_manufacturer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13894
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0);
13895
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_name));
13896
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0);
13897
ndr->offset = _relative_save_offset;
13899
ndr->flags = _flags_save_string;
13902
uint32_t _flags_save_string = ndr->flags;
13903
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13904
if (r->manufacturer_url) {
13905
uint32_t _relative_save_offset;
13906
_relative_save_offset = ndr->offset;
13907
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->manufacturer_url));
13908
_mem_save_manufacturer_url_0 = NDR_PULL_GET_MEM_CTX(ndr);
13909
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0);
13910
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_url));
13911
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0);
13912
ndr->offset = _relative_save_offset;
13914
ndr->flags = _flags_save_string;
13917
uint32_t _flags_save_string = ndr->flags;
13918
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13919
if (r->hardware_id) {
13920
uint32_t _relative_save_offset;
13921
_relative_save_offset = ndr->offset;
13922
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->hardware_id));
13923
_mem_save_hardware_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
13924
NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0);
13925
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->hardware_id));
13926
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0);
13927
ndr->offset = _relative_save_offset;
13929
ndr->flags = _flags_save_string;
13932
uint32_t _flags_save_string = ndr->flags;
13933
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13935
uint32_t _relative_save_offset;
13936
_relative_save_offset = ndr->offset;
13937
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->provider));
13938
_mem_save_provider_0 = NDR_PULL_GET_MEM_CTX(ndr);
13939
NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0);
13940
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->provider));
13941
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0);
13942
ndr->offset = _relative_save_offset;
13944
ndr->flags = _flags_save_string;
13947
uint32_t _flags_save_string = ndr->flags;
13948
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13949
if (r->print_processor) {
13950
uint32_t _relative_save_offset;
13951
_relative_save_offset = ndr->offset;
13952
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->print_processor));
13953
_mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr);
13954
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
13955
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor));
13956
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
13957
ndr->offset = _relative_save_offset;
13959
ndr->flags = _flags_save_string;
13962
uint32_t _flags_save_string = ndr->flags;
13963
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13964
if (r->vendor_setup) {
13965
uint32_t _relative_save_offset;
13966
_relative_save_offset = ndr->offset;
13967
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->vendor_setup));
13968
_mem_save_vendor_setup_0 = NDR_PULL_GET_MEM_CTX(ndr);
13969
NDR_PULL_SET_MEM_CTX(ndr, r->vendor_setup, 0);
13970
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->vendor_setup));
13971
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_vendor_setup_0, 0);
13972
ndr->offset = _relative_save_offset;
13974
ndr->flags = _flags_save_string;
13977
uint32_t _flags_save_string_array = ndr->flags;
13978
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13979
if (r->color_profiles) {
13980
uint32_t _relative_save_offset;
13981
_relative_save_offset = ndr->offset;
13982
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->color_profiles));
13983
_mem_save_color_profiles_0 = NDR_PULL_GET_MEM_CTX(ndr);
13984
NDR_PULL_SET_MEM_CTX(ndr, r->color_profiles, 0);
13985
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->color_profiles));
13986
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_color_profiles_0, 0);
13987
ndr->offset = _relative_save_offset;
13989
ndr->flags = _flags_save_string_array;
13992
uint32_t _flags_save_string = ndr->flags;
13993
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
13995
uint32_t _relative_save_offset;
13996
_relative_save_offset = ndr->offset;
13997
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->inf_path));
13998
_mem_save_inf_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
13999
NDR_PULL_SET_MEM_CTX(ndr, r->inf_path, 0);
14000
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->inf_path));
14001
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_inf_path_0, 0);
14002
ndr->offset = _relative_save_offset;
14004
ndr->flags = _flags_save_string;
14007
uint32_t _flags_save_string_array = ndr->flags;
14008
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
14009
if (r->core_driver_dependencies) {
14010
uint32_t _relative_save_offset;
14011
_relative_save_offset = ndr->offset;
14012
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->core_driver_dependencies));
14013
_mem_save_core_driver_dependencies_0 = NDR_PULL_GET_MEM_CTX(ndr);
14014
NDR_PULL_SET_MEM_CTX(ndr, r->core_driver_dependencies, 0);
14015
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->core_driver_dependencies));
14016
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_core_driver_dependencies_0, 0);
14017
ndr->offset = _relative_save_offset;
14019
ndr->flags = _flags_save_string_array;
14022
return NDR_ERR_SUCCESS;
14025
_PUBLIC_ void ndr_print_spoolss_DriverInfo8(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo8 *r)
14027
ndr_print_struct(ndr, name, "spoolss_DriverInfo8");
14029
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
14030
ndr_print_ptr(ndr, "driver_name", r->driver_name);
14032
if (r->driver_name) {
14033
ndr_print_string(ndr, "driver_name", r->driver_name);
14036
ndr_print_ptr(ndr, "architecture", r->architecture);
14038
if (r->architecture) {
14039
ndr_print_string(ndr, "architecture", r->architecture);
14042
ndr_print_ptr(ndr, "driver_path", r->driver_path);
14044
if (r->driver_path) {
14045
ndr_print_string(ndr, "driver_path", r->driver_path);
14048
ndr_print_ptr(ndr, "data_file", r->data_file);
14050
if (r->data_file) {
14051
ndr_print_string(ndr, "data_file", r->data_file);
14054
ndr_print_ptr(ndr, "config_file", r->config_file);
14056
if (r->config_file) {
14057
ndr_print_string(ndr, "config_file", r->config_file);
14060
ndr_print_ptr(ndr, "help_file", r->help_file);
14062
if (r->help_file) {
14063
ndr_print_string(ndr, "help_file", r->help_file);
14066
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
14068
if (r->dependent_files) {
14069
ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
14072
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
14074
if (r->monitor_name) {
14075
ndr_print_string(ndr, "monitor_name", r->monitor_name);
14078
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
14080
if (r->default_datatype) {
14081
ndr_print_string(ndr, "default_datatype", r->default_datatype);
14084
ndr_print_ptr(ndr, "previous_names", r->previous_names);
14086
if (r->previous_names) {
14087
ndr_print_string_array(ndr, "previous_names", r->previous_names);
14090
ndr_print_NTTIME(ndr, "driver_date", r->driver_date);
14091
ndr_print_hyper(ndr, "driver_version", r->driver_version);
14092
ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name);
14094
if (r->manufacturer_name) {
14095
ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name);
14098
ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url);
14100
if (r->manufacturer_url) {
14101
ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url);
14104
ndr_print_ptr(ndr, "hardware_id", r->hardware_id);
14106
if (r->hardware_id) {
14107
ndr_print_string(ndr, "hardware_id", r->hardware_id);
14110
ndr_print_ptr(ndr, "provider", r->provider);
14113
ndr_print_string(ndr, "provider", r->provider);
14116
ndr_print_ptr(ndr, "print_processor", r->print_processor);
14118
if (r->print_processor) {
14119
ndr_print_string(ndr, "print_processor", r->print_processor);
14122
ndr_print_ptr(ndr, "vendor_setup", r->vendor_setup);
14124
if (r->vendor_setup) {
14125
ndr_print_string(ndr, "vendor_setup", r->vendor_setup);
14128
ndr_print_ptr(ndr, "color_profiles", r->color_profiles);
14130
if (r->color_profiles) {
14131
ndr_print_string_array(ndr, "color_profiles", r->color_profiles);
14134
ndr_print_ptr(ndr, "inf_path", r->inf_path);
14137
ndr_print_string(ndr, "inf_path", r->inf_path);
14140
ndr_print_uint32(ndr, "printer_driver_attributes", r->printer_driver_attributes);
14141
ndr_print_ptr(ndr, "core_driver_dependencies", r->core_driver_dependencies);
14143
if (r->core_driver_dependencies) {
14144
ndr_print_string_array(ndr, "core_driver_dependencies", r->core_driver_dependencies);
14147
ndr_print_NTTIME(ndr, "min_inbox_driver_ver_date", r->min_inbox_driver_ver_date);
14148
ndr_print_hyper(ndr, "min_inbox_driver_ver_version", r->min_inbox_driver_ver_version);
14152
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo8(const struct spoolss_DriverInfo8 *r, struct smb_iconv_convenience *ic, int flags)
14154
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo8, ic);
14157
static enum ndr_err_code ndr_push_spoolss_DriverFileType(struct ndr_push *ndr, int ndr_flags, enum spoolss_DriverFileType r)
14159
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
14160
return NDR_ERR_SUCCESS;
14163
static enum ndr_err_code ndr_pull_spoolss_DriverFileType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DriverFileType *r)
14166
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
14168
return NDR_ERR_SUCCESS;
14171
_PUBLIC_ void ndr_print_spoolss_DriverFileType(struct ndr_print *ndr, const char *name, enum spoolss_DriverFileType r)
14173
const char *val = NULL;
14176
case SPOOLSS_DRIVER_FILE_TYPE_RENDERING: val = "SPOOLSS_DRIVER_FILE_TYPE_RENDERING"; break;
14177
case SPOOLSS_DRIVER_FILE_TYPE_CONFIGURATION: val = "SPOOLSS_DRIVER_FILE_TYPE_CONFIGURATION"; break;
14178
case SPOOLSS_DRIVER_FILE_TYPE_DATA: val = "SPOOLSS_DRIVER_FILE_TYPE_DATA"; break;
14179
case SPOOLSS_DRIVER_FILE_TYPE_HELP: val = "SPOOLSS_DRIVER_FILE_TYPE_HELP"; break;
14180
case SPOOLSS_DRIVER_FILE_TYPE_OTHER: val = "SPOOLSS_DRIVER_FILE_TYPE_OTHER"; break;
14182
ndr_print_enum(ndr, name, "ENUM", val, r);
14185
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverFileInfo(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverFileInfo *r)
14187
if (ndr_flags & NDR_SCALARS) {
14188
NDR_CHECK(ndr_push_align(ndr, 5));
14190
uint32_t _flags_save_string = ndr->flags;
14191
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
14192
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->file_name));
14193
ndr->flags = _flags_save_string;
14195
NDR_CHECK(ndr_push_spoolss_DriverFileType(ndr, NDR_SCALARS, r->file_type));
14196
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->file_version));
14197
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
14199
if (ndr_flags & NDR_BUFFERS) {
14201
uint32_t _flags_save_string = ndr->flags;
14202
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
14203
if (r->file_name) {
14204
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->file_name));
14205
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->file_name));
14206
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->file_name));
14208
ndr->flags = _flags_save_string;
14211
return NDR_ERR_SUCCESS;
14214
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverFileInfo(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverFileInfo *r)
14216
uint32_t _ptr_file_name;
14217
TALLOC_CTX *_mem_save_file_name_0;
14218
if (ndr_flags & NDR_SCALARS) {
14219
NDR_CHECK(ndr_pull_align(ndr, 5));
14221
uint32_t _flags_save_string = ndr->flags;
14222
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
14223
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_file_name));
14224
if (_ptr_file_name) {
14225
NDR_PULL_ALLOC(ndr, r->file_name);
14226
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->file_name, _ptr_file_name));
14228
r->file_name = NULL;
14230
ndr->flags = _flags_save_string;
14232
NDR_CHECK(ndr_pull_spoolss_DriverFileType(ndr, NDR_SCALARS, &r->file_type));
14233
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->file_version));
14234
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
14236
if (ndr_flags & NDR_BUFFERS) {
14238
uint32_t _flags_save_string = ndr->flags;
14239
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
14240
if (r->file_name) {
14241
uint32_t _relative_save_offset;
14242
_relative_save_offset = ndr->offset;
14243
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->file_name));
14244
_mem_save_file_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14245
NDR_PULL_SET_MEM_CTX(ndr, r->file_name, 0);
14246
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->file_name));
14247
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_file_name_0, 0);
14248
ndr->offset = _relative_save_offset;
14250
ndr->flags = _flags_save_string;
14253
return NDR_ERR_SUCCESS;
14256
_PUBLIC_ void ndr_print_spoolss_DriverFileInfo(struct ndr_print *ndr, const char *name, const struct spoolss_DriverFileInfo *r)
14258
ndr_print_struct(ndr, name, "spoolss_DriverFileInfo");
14260
ndr_print_ptr(ndr, "file_name", r->file_name);
14262
if (r->file_name) {
14263
ndr_print_string(ndr, "file_name", r->file_name);
14266
ndr_print_spoolss_DriverFileType(ndr, "file_type", r->file_type);
14267
ndr_print_uint32(ndr, "file_version", r->file_version);
14271
_PUBLIC_ void ndr_print_spoolss_DriverInfo101(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo101 *r)
14273
uint32_t cntr_file_info_1;
14274
ndr_print_struct(ndr, name, "spoolss_DriverInfo101");
14276
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
14277
ndr_print_ptr(ndr, "driver_name", r->driver_name);
14279
if (r->driver_name) {
14280
ndr_print_string(ndr, "driver_name", r->driver_name);
14283
ndr_print_ptr(ndr, "architecture", r->architecture);
14285
if (r->architecture) {
14286
ndr_print_string(ndr, "architecture", r->architecture);
14289
ndr_print_ptr(ndr, "file_info", r->file_info);
14291
if (r->file_info) {
14292
ndr->print(ndr, "%s: ARRAY(%d)", "file_info", (int)r->file_count);
14294
for (cntr_file_info_1=0;cntr_file_info_1<r->file_count;cntr_file_info_1++) {
14296
if (asprintf(&idx_1, "[%d]", cntr_file_info_1) != -1) {
14297
ndr_print_spoolss_DriverFileInfo(ndr, "file_info", &r->file_info[cntr_file_info_1]);
14304
ndr_print_uint32(ndr, "file_count", r->file_count);
14305
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
14307
if (r->monitor_name) {
14308
ndr_print_string(ndr, "monitor_name", r->monitor_name);
14311
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
14313
if (r->default_datatype) {
14314
ndr_print_string(ndr, "default_datatype", r->default_datatype);
14317
ndr_print_ptr(ndr, "previous_names", r->previous_names);
14319
if (r->previous_names) {
14320
ndr_print_string_array(ndr, "previous_names", r->previous_names);
14323
ndr_print_NTTIME(ndr, "driver_date", r->driver_date);
14324
ndr_print_hyper(ndr, "driver_version", r->driver_version);
14325
ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name);
14327
if (r->manufacturer_name) {
14328
ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name);
14331
ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url);
14333
if (r->manufacturer_url) {
14334
ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url);
14337
ndr_print_ptr(ndr, "hardware_id", r->hardware_id);
14339
if (r->hardware_id) {
14340
ndr_print_string(ndr, "hardware_id", r->hardware_id);
14343
ndr_print_ptr(ndr, "provider", r->provider);
14346
ndr_print_string(ndr, "provider", r->provider);
14352
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo101(const struct spoolss_DriverInfo101 *r, struct smb_iconv_convenience *ic, int flags)
14354
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo101, ic);
14357
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DriverInfo *r)
14359
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
14361
uint32_t _flags_save_UNION = ndr->flags;
14362
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
14363
if (ndr_flags & NDR_SCALARS) {
14364
int level = ndr_push_get_switch_value(ndr, r);
14365
NDR_CHECK(ndr_push_union_align(ndr, 8));
14368
NDR_CHECK(ndr_push_align(ndr, 5));
14369
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14370
NDR_CHECK(ndr_push_spoolss_DriverInfo1(ndr, NDR_SCALARS, &r->info1));
14374
NDR_CHECK(ndr_push_align(ndr, 5));
14375
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14376
NDR_CHECK(ndr_push_spoolss_DriverInfo2(ndr, NDR_SCALARS, &r->info2));
14380
NDR_CHECK(ndr_push_align(ndr, 5));
14381
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14382
NDR_CHECK(ndr_push_spoolss_DriverInfo3(ndr, NDR_SCALARS, &r->info3));
14386
NDR_CHECK(ndr_push_align(ndr, 5));
14387
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14388
NDR_CHECK(ndr_push_spoolss_DriverInfo4(ndr, NDR_SCALARS, &r->info4));
14392
NDR_CHECK(ndr_push_align(ndr, 5));
14393
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14394
NDR_CHECK(ndr_push_spoolss_DriverInfo5(ndr, NDR_SCALARS, &r->info5));
14398
NDR_CHECK(ndr_push_align(ndr, 8));
14399
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14400
NDR_CHECK(ndr_push_spoolss_DriverInfo6(ndr, NDR_SCALARS, &r->info6));
14404
NDR_CHECK(ndr_push_align(ndr, 5));
14405
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14406
NDR_CHECK(ndr_push_spoolss_DriverInfo7(ndr, NDR_SCALARS, &r->info7));
14410
NDR_CHECK(ndr_push_align(ndr, 8));
14411
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14412
NDR_CHECK(ndr_push_spoolss_DriverInfo8(ndr, NDR_SCALARS, &r->info8));
14416
NDR_CHECK(ndr_push_align(ndr, 8));
14417
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14418
NDR_CHECK(ndr_push_spoolss_DriverInfo101(ndr, NDR_SCALARS, &r->info101));
14426
if (ndr_flags & NDR_BUFFERS) {
14427
int level = ndr_push_get_switch_value(ndr, r);
14428
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
14431
NDR_CHECK(ndr_push_spoolss_DriverInfo1(ndr, NDR_BUFFERS, &r->info1));
14435
NDR_CHECK(ndr_push_spoolss_DriverInfo2(ndr, NDR_BUFFERS, &r->info2));
14439
NDR_CHECK(ndr_push_spoolss_DriverInfo3(ndr, NDR_BUFFERS, &r->info3));
14443
NDR_CHECK(ndr_push_spoolss_DriverInfo4(ndr, NDR_BUFFERS, &r->info4));
14447
NDR_CHECK(ndr_push_spoolss_DriverInfo5(ndr, NDR_BUFFERS, &r->info5));
14451
NDR_CHECK(ndr_push_spoolss_DriverInfo6(ndr, NDR_BUFFERS, &r->info6));
14455
NDR_CHECK(ndr_push_spoolss_DriverInfo7(ndr, NDR_BUFFERS, &r->info7));
14459
NDR_CHECK(ndr_push_spoolss_DriverInfo8(ndr, NDR_BUFFERS, &r->info8));
14463
NDR_CHECK(ndr_push_spoolss_DriverInfo101(ndr, NDR_BUFFERS, &r->info101));
14471
ndr->flags = _flags_save_UNION;
14473
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
14474
return NDR_ERR_SUCCESS;
14477
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_DriverInfo *r)
14479
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
14482
uint32_t _flags_save_UNION = ndr->flags;
14483
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
14484
level = ndr_pull_get_switch_value(ndr, r);
14485
if (ndr_flags & NDR_SCALARS) {
14486
NDR_CHECK(ndr_pull_union_align(ndr, 8));
14489
NDR_CHECK(ndr_pull_align(ndr, 5));
14490
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14491
NDR_CHECK(ndr_pull_spoolss_DriverInfo1(ndr, NDR_SCALARS, &r->info1));
14495
NDR_CHECK(ndr_pull_align(ndr, 5));
14496
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14497
NDR_CHECK(ndr_pull_spoolss_DriverInfo2(ndr, NDR_SCALARS, &r->info2));
14501
NDR_CHECK(ndr_pull_align(ndr, 5));
14502
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14503
NDR_CHECK(ndr_pull_spoolss_DriverInfo3(ndr, NDR_SCALARS, &r->info3));
14507
NDR_CHECK(ndr_pull_align(ndr, 5));
14508
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14509
NDR_CHECK(ndr_pull_spoolss_DriverInfo4(ndr, NDR_SCALARS, &r->info4));
14513
NDR_CHECK(ndr_pull_align(ndr, 5));
14514
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14515
NDR_CHECK(ndr_pull_spoolss_DriverInfo5(ndr, NDR_SCALARS, &r->info5));
14519
NDR_CHECK(ndr_pull_align(ndr, 8));
14520
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14521
NDR_CHECK(ndr_pull_spoolss_DriverInfo6(ndr, NDR_SCALARS, &r->info6));
14525
NDR_CHECK(ndr_pull_align(ndr, 5));
14526
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14527
NDR_CHECK(ndr_pull_spoolss_DriverInfo7(ndr, NDR_SCALARS, &r->info7));
14531
NDR_CHECK(ndr_pull_align(ndr, 8));
14532
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14533
NDR_CHECK(ndr_pull_spoolss_DriverInfo8(ndr, NDR_SCALARS, &r->info8));
14537
NDR_CHECK(ndr_pull_align(ndr, 8));
14538
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14539
NDR_CHECK(ndr_pull_spoolss_DriverInfo101(ndr, NDR_SCALARS, &r->info101));
14547
if (ndr_flags & NDR_BUFFERS) {
14548
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
14551
NDR_CHECK(ndr_pull_spoolss_DriverInfo1(ndr, NDR_BUFFERS, &r->info1));
14555
NDR_CHECK(ndr_pull_spoolss_DriverInfo2(ndr, NDR_BUFFERS, &r->info2));
14559
NDR_CHECK(ndr_pull_spoolss_DriverInfo3(ndr, NDR_BUFFERS, &r->info3));
14563
NDR_CHECK(ndr_pull_spoolss_DriverInfo4(ndr, NDR_BUFFERS, &r->info4));
14567
NDR_CHECK(ndr_pull_spoolss_DriverInfo5(ndr, NDR_BUFFERS, &r->info5));
14571
NDR_CHECK(ndr_pull_spoolss_DriverInfo6(ndr, NDR_BUFFERS, &r->info6));
14575
NDR_CHECK(ndr_pull_spoolss_DriverInfo7(ndr, NDR_BUFFERS, &r->info7));
14579
NDR_CHECK(ndr_pull_spoolss_DriverInfo8(ndr, NDR_BUFFERS, &r->info8));
14583
NDR_CHECK(ndr_pull_spoolss_DriverInfo101(ndr, NDR_BUFFERS, &r->info101));
14591
ndr->flags = _flags_save_UNION;
14593
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
14594
return NDR_ERR_SUCCESS;
14597
_PUBLIC_ void ndr_print_spoolss_DriverInfo(struct ndr_print *ndr, const char *name, const union spoolss_DriverInfo *r)
14601
uint32_t _flags_save_UNION = ndr->flags;
14602
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
14603
level = ndr_print_get_switch_value(ndr, r);
14604
ndr_print_union(ndr, name, level, "spoolss_DriverInfo");
14607
ndr_print_spoolss_DriverInfo1(ndr, "info1", &r->info1);
14611
ndr_print_spoolss_DriverInfo2(ndr, "info2", &r->info2);
14615
ndr_print_spoolss_DriverInfo3(ndr, "info3", &r->info3);
14619
ndr_print_spoolss_DriverInfo4(ndr, "info4", &r->info4);
14623
ndr_print_spoolss_DriverInfo5(ndr, "info5", &r->info5);
14627
ndr_print_spoolss_DriverInfo6(ndr, "info6", &r->info6);
14631
ndr_print_spoolss_DriverInfo7(ndr, "info7", &r->info7);
14635
ndr_print_spoolss_DriverInfo8(ndr, "info8", &r->info8);
14639
ndr_print_spoolss_DriverInfo101(ndr, "info101", &r->info101);
14646
ndr->flags = _flags_save_UNION;
14650
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo(const union spoolss_DriverInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
14652
flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
14653
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo, ic);
14656
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverDirectoryInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverDirectoryInfo1 *r)
14658
if (ndr_flags & NDR_SCALARS) {
14659
NDR_CHECK(ndr_push_align(ndr, 4));
14661
uint32_t _flags_save_string = ndr->flags;
14662
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
14663
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->directory_name));
14664
ndr->flags = _flags_save_string;
14666
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
14668
if (ndr_flags & NDR_BUFFERS) {
14670
return NDR_ERR_SUCCESS;
14673
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverDirectoryInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverDirectoryInfo1 *r)
14675
if (ndr_flags & NDR_SCALARS) {
14676
NDR_CHECK(ndr_pull_align(ndr, 4));
14678
uint32_t _flags_save_string = ndr->flags;
14679
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
14680
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->directory_name));
14681
ndr->flags = _flags_save_string;
14683
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
14685
if (ndr_flags & NDR_BUFFERS) {
14687
return NDR_ERR_SUCCESS;
14690
_PUBLIC_ void ndr_print_spoolss_DriverDirectoryInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_DriverDirectoryInfo1 *r)
14692
ndr_print_struct(ndr, name, "spoolss_DriverDirectoryInfo1");
14694
ndr_print_string(ndr, "directory_name", r->directory_name);
14698
_PUBLIC_ size_t ndr_size_spoolss_DriverDirectoryInfo1(const struct spoolss_DriverDirectoryInfo1 *r, struct smb_iconv_convenience *ic, int flags)
14700
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverDirectoryInfo1, ic);
14703
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverDirectoryInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DriverDirectoryInfo *r)
14705
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
14707
uint32_t _flags_save_UNION = ndr->flags;
14708
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
14709
if (ndr_flags & NDR_SCALARS) {
14710
int level = ndr_push_get_switch_value(ndr, r);
14711
NDR_CHECK(ndr_push_union_align(ndr, 4));
14714
NDR_CHECK(ndr_push_align(ndr, 4));
14715
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14716
NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
14720
NDR_CHECK(ndr_push_align(ndr, 4));
14721
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14722
NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
14727
if (ndr_flags & NDR_BUFFERS) {
14728
int level = ndr_push_get_switch_value(ndr, r);
14729
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
14739
ndr->flags = _flags_save_UNION;
14741
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
14742
return NDR_ERR_SUCCESS;
14745
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverDirectoryInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_DriverDirectoryInfo *r)
14747
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
14750
uint32_t _flags_save_UNION = ndr->flags;
14751
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
14752
level = ndr_pull_get_switch_value(ndr, r);
14753
if (ndr_flags & NDR_SCALARS) {
14754
NDR_CHECK(ndr_pull_union_align(ndr, 4));
14757
NDR_CHECK(ndr_pull_align(ndr, 4));
14758
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14759
NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
14763
NDR_CHECK(ndr_pull_align(ndr, 4));
14764
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14765
NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
14770
if (ndr_flags & NDR_BUFFERS) {
14771
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
14781
ndr->flags = _flags_save_UNION;
14783
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
14784
return NDR_ERR_SUCCESS;
14787
_PUBLIC_ void ndr_print_spoolss_DriverDirectoryInfo(struct ndr_print *ndr, const char *name, const union spoolss_DriverDirectoryInfo *r)
14791
uint32_t _flags_save_UNION = ndr->flags;
14792
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
14793
level = ndr_print_get_switch_value(ndr, r);
14794
ndr_print_union(ndr, name, level, "spoolss_DriverDirectoryInfo");
14797
ndr_print_spoolss_DriverDirectoryInfo1(ndr, "info1", &r->info1);
14801
ndr_print_spoolss_DriverDirectoryInfo1(ndr, "info1", &r->info1);
14805
ndr->flags = _flags_save_UNION;
14809
_PUBLIC_ size_t ndr_size_spoolss_DriverDirectoryInfo(const union spoolss_DriverDirectoryInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
14811
flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
14812
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverDirectoryInfo, ic);
14815
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrintProcessorInfo1 *r)
14817
if (ndr_flags & NDR_SCALARS) {
14818
NDR_CHECK(ndr_push_align(ndr, 5));
14820
uint32_t _flags_save_string = ndr->flags;
14821
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
14822
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor_name));
14823
ndr->flags = _flags_save_string;
14825
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
14827
if (ndr_flags & NDR_BUFFERS) {
14829
uint32_t _flags_save_string = ndr->flags;
14830
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
14831
if (r->print_processor_name) {
14832
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor_name));
14833
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor_name));
14834
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor_name));
14836
ndr->flags = _flags_save_string;
14839
return NDR_ERR_SUCCESS;
14842
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcessorInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrintProcessorInfo1 *r)
14844
uint32_t _ptr_print_processor_name;
14845
TALLOC_CTX *_mem_save_print_processor_name_0;
14846
if (ndr_flags & NDR_SCALARS) {
14847
NDR_CHECK(ndr_pull_align(ndr, 5));
14849
uint32_t _flags_save_string = ndr->flags;
14850
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
14851
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor_name));
14852
if (_ptr_print_processor_name) {
14853
NDR_PULL_ALLOC(ndr, r->print_processor_name);
14854
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->print_processor_name, _ptr_print_processor_name));
14856
r->print_processor_name = NULL;
14858
ndr->flags = _flags_save_string;
14860
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
14862
if (ndr_flags & NDR_BUFFERS) {
14864
uint32_t _flags_save_string = ndr->flags;
14865
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
14866
if (r->print_processor_name) {
14867
uint32_t _relative_save_offset;
14868
_relative_save_offset = ndr->offset;
14869
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->print_processor_name));
14870
_mem_save_print_processor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14871
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor_name, 0);
14872
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor_name));
14873
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_name_0, 0);
14874
ndr->offset = _relative_save_offset;
14876
ndr->flags = _flags_save_string;
14879
return NDR_ERR_SUCCESS;
14882
_PUBLIC_ void ndr_print_spoolss_PrintProcessorInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrintProcessorInfo1 *r)
14884
ndr_print_struct(ndr, name, "spoolss_PrintProcessorInfo1");
14886
ndr_print_ptr(ndr, "print_processor_name", r->print_processor_name);
14888
if (r->print_processor_name) {
14889
ndr_print_string(ndr, "print_processor_name", r->print_processor_name);
14895
_PUBLIC_ size_t ndr_size_spoolss_PrintProcessorInfo1(const struct spoolss_PrintProcessorInfo1 *r, struct smb_iconv_convenience *ic, int flags)
14897
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrintProcessorInfo1, ic);
14900
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcessorInfo *r)
14902
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
14904
uint32_t _flags_save_UNION = ndr->flags;
14905
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
14906
if (ndr_flags & NDR_SCALARS) {
14907
int level = ndr_push_get_switch_value(ndr, r);
14908
NDR_CHECK(ndr_push_union_align(ndr, 5));
14911
NDR_CHECK(ndr_push_align(ndr, 5));
14912
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14913
NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo1(ndr, NDR_SCALARS, &r->info1));
14921
if (ndr_flags & NDR_BUFFERS) {
14922
int level = ndr_push_get_switch_value(ndr, r);
14923
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
14926
NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo1(ndr, NDR_BUFFERS, &r->info1));
14934
ndr->flags = _flags_save_UNION;
14936
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
14937
return NDR_ERR_SUCCESS;
14940
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcessorInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrintProcessorInfo *r)
14942
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
14945
uint32_t _flags_save_UNION = ndr->flags;
14946
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
14947
level = ndr_pull_get_switch_value(ndr, r);
14948
if (ndr_flags & NDR_SCALARS) {
14949
NDR_CHECK(ndr_pull_union_align(ndr, 5));
14952
NDR_CHECK(ndr_pull_align(ndr, 5));
14953
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14954
NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo1(ndr, NDR_SCALARS, &r->info1));
14962
if (ndr_flags & NDR_BUFFERS) {
14963
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
14966
NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo1(ndr, NDR_BUFFERS, &r->info1));
14974
ndr->flags = _flags_save_UNION;
14976
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
14977
return NDR_ERR_SUCCESS;
14980
_PUBLIC_ void ndr_print_spoolss_PrintProcessorInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcessorInfo *r)
14984
uint32_t _flags_save_UNION = ndr->flags;
14985
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
14986
level = ndr_print_get_switch_value(ndr, r);
14987
ndr_print_union(ndr, name, level, "spoolss_PrintProcessorInfo");
14990
ndr_print_spoolss_PrintProcessorInfo1(ndr, "info1", &r->info1);
14997
ndr->flags = _flags_save_UNION;
15001
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorDirectoryInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrintProcessorDirectoryInfo1 *r)
15003
if (ndr_flags & NDR_SCALARS) {
15004
NDR_CHECK(ndr_push_align(ndr, 4));
15006
uint32_t _flags_save_string = ndr->flags;
15007
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
15008
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->directory_name));
15009
ndr->flags = _flags_save_string;
15011
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
15013
if (ndr_flags & NDR_BUFFERS) {
15015
return NDR_ERR_SUCCESS;
15018
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcessorDirectoryInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrintProcessorDirectoryInfo1 *r)
15020
if (ndr_flags & NDR_SCALARS) {
15021
NDR_CHECK(ndr_pull_align(ndr, 4));
15023
uint32_t _flags_save_string = ndr->flags;
15024
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
15025
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->directory_name));
15026
ndr->flags = _flags_save_string;
15028
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
15030
if (ndr_flags & NDR_BUFFERS) {
15032
return NDR_ERR_SUCCESS;
15035
_PUBLIC_ void ndr_print_spoolss_PrintProcessorDirectoryInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrintProcessorDirectoryInfo1 *r)
15037
ndr_print_struct(ndr, name, "spoolss_PrintProcessorDirectoryInfo1");
15039
ndr_print_string(ndr, "directory_name", r->directory_name);
15043
_PUBLIC_ size_t ndr_size_spoolss_PrintProcessorDirectoryInfo1(const struct spoolss_PrintProcessorDirectoryInfo1 *r, struct smb_iconv_convenience *ic, int flags)
15045
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrintProcessorDirectoryInfo1, ic);
15048
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorDirectoryInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcessorDirectoryInfo *r)
15050
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
15052
uint32_t _flags_save_UNION = ndr->flags;
15053
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
15054
if (ndr_flags & NDR_SCALARS) {
15055
int level = ndr_push_get_switch_value(ndr, r);
15056
NDR_CHECK(ndr_push_union_align(ndr, 4));
15059
NDR_CHECK(ndr_push_align(ndr, 4));
15060
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
15061
NDR_CHECK(ndr_push_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
15065
NDR_CHECK(ndr_push_align(ndr, 4));
15066
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
15067
NDR_CHECK(ndr_push_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
15072
if (ndr_flags & NDR_BUFFERS) {
15073
int level = ndr_push_get_switch_value(ndr, r);
15074
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
15084
ndr->flags = _flags_save_UNION;
15086
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
15087
return NDR_ERR_SUCCESS;
15090
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcessorDirectoryInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrintProcessorDirectoryInfo *r)
15092
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
15095
uint32_t _flags_save_UNION = ndr->flags;
15096
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
15097
level = ndr_pull_get_switch_value(ndr, r);
15098
if (ndr_flags & NDR_SCALARS) {
15099
NDR_CHECK(ndr_pull_union_align(ndr, 4));
15102
NDR_CHECK(ndr_pull_align(ndr, 4));
15103
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
15104
NDR_CHECK(ndr_pull_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
15108
NDR_CHECK(ndr_pull_align(ndr, 4));
15109
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
15110
NDR_CHECK(ndr_pull_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
15115
if (ndr_flags & NDR_BUFFERS) {
15116
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
15126
ndr->flags = _flags_save_UNION;
15128
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
15129
return NDR_ERR_SUCCESS;
15132
_PUBLIC_ void ndr_print_spoolss_PrintProcessorDirectoryInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcessorDirectoryInfo *r)
15136
uint32_t _flags_save_UNION = ndr->flags;
15137
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
15138
level = ndr_print_get_switch_value(ndr, r);
15139
ndr_print_union(ndr, name, level, "spoolss_PrintProcessorDirectoryInfo");
15142
ndr_print_spoolss_PrintProcessorDirectoryInfo1(ndr, "info1", &r->info1);
15146
ndr_print_spoolss_PrintProcessorDirectoryInfo1(ndr, "info1", &r->info1);
15150
ndr->flags = _flags_save_UNION;
15154
_PUBLIC_ size_t ndr_size_spoolss_PrintProcessorDirectoryInfo(const union spoolss_PrintProcessorDirectoryInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
15156
flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
15157
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_PrintProcessorDirectoryInfo, ic);
15160
static enum ndr_err_code ndr_push_spoolss_DocumentInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DocumentInfo1 *r)
15162
if (ndr_flags & NDR_SCALARS) {
15163
NDR_CHECK(ndr_push_align(ndr, 5));
15164
NDR_CHECK(ndr_push_unique_ptr(ndr, r->document_name));
15165
NDR_CHECK(ndr_push_unique_ptr(ndr, r->output_file));
15166
NDR_CHECK(ndr_push_unique_ptr(ndr, r->datatype));
15167
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
15169
if (ndr_flags & NDR_BUFFERS) {
15170
if (r->document_name) {
15171
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
15172
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15173
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
15174
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->document_name, ndr_charset_length(r->document_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15176
if (r->output_file) {
15177
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->output_file, CH_UTF16)));
15178
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15179
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->output_file, CH_UTF16)));
15180
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->output_file, ndr_charset_length(r->output_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15183
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->datatype, CH_UTF16)));
15184
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15185
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->datatype, CH_UTF16)));
15186
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->datatype, ndr_charset_length(r->datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15189
return NDR_ERR_SUCCESS;
15192
static enum ndr_err_code ndr_pull_spoolss_DocumentInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DocumentInfo1 *r)
15194
uint32_t _ptr_document_name;
15195
TALLOC_CTX *_mem_save_document_name_0;
15196
uint32_t _ptr_output_file;
15197
TALLOC_CTX *_mem_save_output_file_0;
15198
uint32_t _ptr_datatype;
15199
TALLOC_CTX *_mem_save_datatype_0;
15200
if (ndr_flags & NDR_SCALARS) {
15201
NDR_CHECK(ndr_pull_align(ndr, 5));
15202
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
15203
if (_ptr_document_name) {
15204
NDR_PULL_ALLOC(ndr, r->document_name);
15206
r->document_name = NULL;
15208
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_output_file));
15209
if (_ptr_output_file) {
15210
NDR_PULL_ALLOC(ndr, r->output_file);
15212
r->output_file = NULL;
15214
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
15215
if (_ptr_datatype) {
15216
NDR_PULL_ALLOC(ndr, r->datatype);
15218
r->datatype = NULL;
15220
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
15222
if (ndr_flags & NDR_BUFFERS) {
15223
if (r->document_name) {
15224
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15225
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
15226
NDR_CHECK(ndr_pull_array_size(ndr, &r->document_name));
15227
NDR_CHECK(ndr_pull_array_length(ndr, &r->document_name));
15228
if (ndr_get_array_length(ndr, &r->document_name) > ndr_get_array_size(ndr, &r->document_name)) {
15229
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->document_name), ndr_get_array_length(ndr, &r->document_name));
15231
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t)));
15232
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->document_name, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t), CH_UTF16));
15233
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
15235
if (r->output_file) {
15236
_mem_save_output_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
15237
NDR_PULL_SET_MEM_CTX(ndr, r->output_file, 0);
15238
NDR_CHECK(ndr_pull_array_size(ndr, &r->output_file));
15239
NDR_CHECK(ndr_pull_array_length(ndr, &r->output_file));
15240
if (ndr_get_array_length(ndr, &r->output_file) > ndr_get_array_size(ndr, &r->output_file)) {
15241
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->output_file), ndr_get_array_length(ndr, &r->output_file));
15243
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->output_file), sizeof(uint16_t)));
15244
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->output_file, ndr_get_array_length(ndr, &r->output_file), sizeof(uint16_t), CH_UTF16));
15245
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_output_file_0, 0);
15248
_mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
15249
NDR_PULL_SET_MEM_CTX(ndr, r->datatype, 0);
15250
NDR_CHECK(ndr_pull_array_size(ndr, &r->datatype));
15251
NDR_CHECK(ndr_pull_array_length(ndr, &r->datatype));
15252
if (ndr_get_array_length(ndr, &r->datatype) > ndr_get_array_size(ndr, &r->datatype)) {
15253
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->datatype), ndr_get_array_length(ndr, &r->datatype));
15255
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->datatype), sizeof(uint16_t)));
15256
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->datatype, ndr_get_array_length(ndr, &r->datatype), sizeof(uint16_t), CH_UTF16));
15257
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
15260
return NDR_ERR_SUCCESS;
15263
_PUBLIC_ void ndr_print_spoolss_DocumentInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_DocumentInfo1 *r)
15265
ndr_print_struct(ndr, name, "spoolss_DocumentInfo1");
15267
ndr_print_ptr(ndr, "document_name", r->document_name);
15269
if (r->document_name) {
15270
ndr_print_string(ndr, "document_name", r->document_name);
15273
ndr_print_ptr(ndr, "output_file", r->output_file);
15275
if (r->output_file) {
15276
ndr_print_string(ndr, "output_file", r->output_file);
15279
ndr_print_ptr(ndr, "datatype", r->datatype);
15282
ndr_print_string(ndr, "datatype", r->datatype);
15288
static enum ndr_err_code ndr_push_spoolss_DocumentInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DocumentInfo *r)
15290
if (ndr_flags & NDR_SCALARS) {
15291
int level = ndr_push_get_switch_value(ndr, r);
15292
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
15293
NDR_CHECK(ndr_push_union_align(ndr, 5));
15296
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
15310
if (ndr_flags & NDR_BUFFERS) {
15311
int level = ndr_push_get_switch_value(ndr, r);
15315
NDR_CHECK(ndr_push_spoolss_DocumentInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
15330
return NDR_ERR_SUCCESS;
15333
static enum ndr_err_code ndr_pull_spoolss_DocumentInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_DocumentInfo *r)
15337
TALLOC_CTX *_mem_save_info1_0;
15338
level = ndr_pull_get_switch_value(ndr, r);
15339
if (ndr_flags & NDR_SCALARS) {
15340
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
15341
if (_level != level) {
15342
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
15344
NDR_CHECK(ndr_pull_union_align(ndr, 5));
15347
uint32_t _ptr_info1;
15348
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
15350
NDR_PULL_ALLOC(ndr, r->info1);
15367
if (ndr_flags & NDR_BUFFERS) {
15371
_mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
15372
NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
15373
NDR_CHECK(ndr_pull_spoolss_DocumentInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
15374
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
15389
return NDR_ERR_SUCCESS;
15392
_PUBLIC_ void ndr_print_spoolss_DocumentInfo(struct ndr_print *ndr, const char *name, const union spoolss_DocumentInfo *r)
15395
level = ndr_print_get_switch_value(ndr, r);
15396
ndr_print_union(ndr, name, level, "spoolss_DocumentInfo");
15399
ndr_print_ptr(ndr, "info1", r->info1);
15402
ndr_print_spoolss_DocumentInfo1(ndr, "info1", r->info1);
15419
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_OSVersion(struct ndr_push *ndr, int ndr_flags, const struct spoolss_OSVersion *r)
15421
if (ndr_flags & NDR_SCALARS) {
15422
NDR_CHECK(ndr_push_align(ndr, 4));
15423
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_spoolss_OSVersion(r, ndr->iconv_convenience, ndr->flags)));
15424
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->major));
15425
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minor));
15426
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build));
15427
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
15429
uint32_t _flags_save_string = ndr->flags;
15430
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
15432
struct ndr_push *_ndr_extra_string;
15433
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
15434
NDR_CHECK(ndr_push_string(_ndr_extra_string, NDR_SCALARS, r->extra_string));
15435
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_extra_string, 0, 256));
15437
ndr->flags = _flags_save_string;
15439
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
15441
if (ndr_flags & NDR_BUFFERS) {
15443
return NDR_ERR_SUCCESS;
15446
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OSVersion(struct ndr_pull *ndr, int ndr_flags, struct spoolss_OSVersion *r)
15448
if (ndr_flags & NDR_SCALARS) {
15449
NDR_CHECK(ndr_pull_align(ndr, 4));
15450
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size));
15451
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->major));
15452
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minor));
15453
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build));
15454
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->platform_id));
15456
uint32_t _flags_save_string = ndr->flags;
15457
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
15459
struct ndr_pull *_ndr_extra_string;
15460
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
15461
NDR_CHECK(ndr_pull_string(_ndr_extra_string, NDR_SCALARS, &r->extra_string));
15462
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_extra_string, 0, 256));
15464
ndr->flags = _flags_save_string;
15466
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
15468
if (ndr_flags & NDR_BUFFERS) {
15470
return NDR_ERR_SUCCESS;
15473
_PUBLIC_ void ndr_print_spoolss_OSVersion(struct ndr_print *ndr, const char *name, const struct spoolss_OSVersion *r)
15475
ndr_print_struct(ndr, name, "spoolss_OSVersion");
15477
ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_spoolss_OSVersion(r, ndr->iconv_convenience, ndr->flags):r->_ndr_size);
15478
ndr_print_uint32(ndr, "major", r->major);
15479
ndr_print_uint32(ndr, "minor", r->minor);
15480
ndr_print_uint32(ndr, "build", r->build);
15481
ndr_print_uint32(ndr, "platform_id", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->platform_id);
15482
ndr_print_string(ndr, "extra_string", r->extra_string);
15486
_PUBLIC_ size_t ndr_size_spoolss_OSVersion(const struct spoolss_OSVersion *r, struct smb_iconv_convenience *ic, int flags)
15488
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_OSVersion, ic);
15491
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_OSVersionEx(struct ndr_push *ndr, int ndr_flags, const struct spoolss_OSVersionEx *r)
15493
if (ndr_flags & NDR_SCALARS) {
15494
NDR_CHECK(ndr_push_align(ndr, 4));
15495
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_spoolss_OSVersionEx(r, ndr->iconv_convenience, ndr->flags)));
15496
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->major));
15497
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minor));
15498
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build));
15499
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
15501
uint32_t _flags_save_string = ndr->flags;
15502
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
15504
struct ndr_push *_ndr_extra_string;
15505
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
15506
NDR_CHECK(ndr_push_string(_ndr_extra_string, NDR_SCALARS, r->extra_string));
15507
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_extra_string, 0, 256));
15509
ndr->flags = _flags_save_string;
15511
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->service_pack_major));
15512
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->service_pack_minor));
15513
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->suite_mask));
15514
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->product_type));
15515
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->reserved));
15516
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
15518
if (ndr_flags & NDR_BUFFERS) {
15520
return NDR_ERR_SUCCESS;
15523
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OSVersionEx(struct ndr_pull *ndr, int ndr_flags, struct spoolss_OSVersionEx *r)
15525
if (ndr_flags & NDR_SCALARS) {
15526
NDR_CHECK(ndr_pull_align(ndr, 4));
15527
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size));
15528
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->major));
15529
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minor));
15530
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build));
15531
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->platform_id));
15533
uint32_t _flags_save_string = ndr->flags;
15534
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
15536
struct ndr_pull *_ndr_extra_string;
15537
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
15538
NDR_CHECK(ndr_pull_string(_ndr_extra_string, NDR_SCALARS, &r->extra_string));
15539
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_extra_string, 0, 256));
15541
ndr->flags = _flags_save_string;
15543
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->service_pack_major));
15544
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->service_pack_minor));
15545
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->suite_mask));
15546
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->product_type));
15547
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->reserved));
15548
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
15550
if (ndr_flags & NDR_BUFFERS) {
15552
return NDR_ERR_SUCCESS;
15555
_PUBLIC_ void ndr_print_spoolss_OSVersionEx(struct ndr_print *ndr, const char *name, const struct spoolss_OSVersionEx *r)
15557
ndr_print_struct(ndr, name, "spoolss_OSVersionEx");
15559
ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_spoolss_OSVersionEx(r, ndr->iconv_convenience, ndr->flags):r->_ndr_size);
15560
ndr_print_uint32(ndr, "major", r->major);
15561
ndr_print_uint32(ndr, "minor", r->minor);
15562
ndr_print_uint32(ndr, "build", r->build);
15563
ndr_print_uint32(ndr, "platform_id", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->platform_id);
15564
ndr_print_string(ndr, "extra_string", r->extra_string);
15565
ndr_print_uint16(ndr, "service_pack_major", r->service_pack_major);
15566
ndr_print_uint16(ndr, "service_pack_minor", r->service_pack_minor);
15567
ndr_print_uint16(ndr, "suite_mask", r->suite_mask);
15568
ndr_print_uint8(ndr, "product_type", r->product_type);
15569
ndr_print_uint8(ndr, "reserved", r->reserved);
15573
_PUBLIC_ size_t ndr_size_spoolss_OSVersionEx(const struct spoolss_OSVersionEx *r, struct smb_iconv_convenience *ic, int flags)
15575
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_OSVersionEx, ic);
15578
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterData(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrinterData *r)
15580
if (ndr_flags & NDR_SCALARS) {
15581
int level = ndr_push_get_switch_value(ndr, r);
15582
NDR_CHECK(ndr_push_union_align(ndr, 4));
15589
uint32_t _flags_save_string = ndr->flags;
15590
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
15591
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string));
15592
ndr->flags = _flags_save_string;
15598
uint32_t _flags_save_DATA_BLOB = ndr->flags;
15599
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
15600
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
15601
ndr->flags = _flags_save_DATA_BLOB;
15606
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->value));
15609
case REG_MULTI_SZ: {
15611
uint32_t _flags_save_string_array = ndr->flags;
15612
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
15613
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string_array));
15614
ndr->flags = _flags_save_string_array;
15620
uint32_t _flags_save_DATA_BLOB = ndr->flags;
15621
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
15622
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data));
15623
ndr->flags = _flags_save_DATA_BLOB;
15629
if (ndr_flags & NDR_BUFFERS) {
15630
int level = ndr_push_get_switch_value(ndr, r);
15652
return NDR_ERR_SUCCESS;
15655
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterData(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrinterData *r)
15658
level = ndr_pull_get_switch_value(ndr, r);
15659
if (ndr_flags & NDR_SCALARS) {
15660
NDR_CHECK(ndr_pull_union_align(ndr, 4));
15667
uint32_t _flags_save_string = ndr->flags;
15668
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
15669
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string));
15670
ndr->flags = _flags_save_string;
15676
uint32_t _flags_save_DATA_BLOB = ndr->flags;
15677
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
15678
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
15679
ndr->flags = _flags_save_DATA_BLOB;
15684
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value));
15687
case REG_MULTI_SZ: {
15689
uint32_t _flags_save_string_array = ndr->flags;
15690
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
15691
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string_array));
15692
ndr->flags = _flags_save_string_array;
15698
uint32_t _flags_save_DATA_BLOB = ndr->flags;
15699
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
15700
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data));
15701
ndr->flags = _flags_save_DATA_BLOB;
15707
if (ndr_flags & NDR_BUFFERS) {
15729
return NDR_ERR_SUCCESS;
15732
_PUBLIC_ void ndr_print_spoolss_PrinterData(struct ndr_print *ndr, const char *name, const union spoolss_PrinterData *r)
15735
level = ndr_print_get_switch_value(ndr, r);
15736
ndr_print_union(ndr, name, level, "spoolss_PrinterData");
15742
ndr_print_string(ndr, "string", r->string);
15746
ndr_print_DATA_BLOB(ndr, "binary", r->binary);
15750
ndr_print_uint32(ndr, "value", r->value);
15754
ndr_print_string_array(ndr, "string_array", r->string_array);
15758
ndr_print_DATA_BLOB(ndr, "data", r->data);
15764
static enum ndr_err_code ndr_push_spoolss_FormFlags(struct ndr_push *ndr, int ndr_flags, enum spoolss_FormFlags r)
15766
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
15767
return NDR_ERR_SUCCESS;
15770
static enum ndr_err_code ndr_pull_spoolss_FormFlags(struct ndr_pull *ndr, int ndr_flags, enum spoolss_FormFlags *r)
15773
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
15775
return NDR_ERR_SUCCESS;
15778
_PUBLIC_ void ndr_print_spoolss_FormFlags(struct ndr_print *ndr, const char *name, enum spoolss_FormFlags r)
15780
const char *val = NULL;
15783
case SPOOLSS_FORM_USER: val = "SPOOLSS_FORM_USER"; break;
15784
case SPOOLSS_FORM_BUILTIN: val = "SPOOLSS_FORM_BUILTIN"; break;
15785
case SPOOLSS_FORM_PRINTER: val = "SPOOLSS_FORM_PRINTER"; break;
15787
ndr_print_enum(ndr, name, "ENUM", val, r);
15790
static enum ndr_err_code ndr_push_spoolss_FormSize(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormSize *r)
15792
if (ndr_flags & NDR_SCALARS) {
15793
NDR_CHECK(ndr_push_align(ndr, 4));
15794
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->width));
15795
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->height));
15796
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
15798
if (ndr_flags & NDR_BUFFERS) {
15800
return NDR_ERR_SUCCESS;
15803
static enum ndr_err_code ndr_pull_spoolss_FormSize(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormSize *r)
15805
if (ndr_flags & NDR_SCALARS) {
15806
NDR_CHECK(ndr_pull_align(ndr, 4));
15807
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->width));
15808
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->height));
15809
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
15811
if (ndr_flags & NDR_BUFFERS) {
15813
return NDR_ERR_SUCCESS;
15816
_PUBLIC_ void ndr_print_spoolss_FormSize(struct ndr_print *ndr, const char *name, const struct spoolss_FormSize *r)
15818
ndr_print_struct(ndr, name, "spoolss_FormSize");
15820
ndr_print_uint32(ndr, "width", r->width);
15821
ndr_print_uint32(ndr, "height", r->height);
15825
static enum ndr_err_code ndr_push_spoolss_FormArea(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormArea *r)
15827
if (ndr_flags & NDR_SCALARS) {
15828
NDR_CHECK(ndr_push_align(ndr, 4));
15829
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->left));
15830
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->top));
15831
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->right));
15832
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bottom));
15833
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
15835
if (ndr_flags & NDR_BUFFERS) {
15837
return NDR_ERR_SUCCESS;
15840
static enum ndr_err_code ndr_pull_spoolss_FormArea(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormArea *r)
15842
if (ndr_flags & NDR_SCALARS) {
15843
NDR_CHECK(ndr_pull_align(ndr, 4));
15844
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->left));
15845
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->top));
15846
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->right));
15847
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bottom));
15848
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
15850
if (ndr_flags & NDR_BUFFERS) {
15852
return NDR_ERR_SUCCESS;
15855
_PUBLIC_ void ndr_print_spoolss_FormArea(struct ndr_print *ndr, const char *name, const struct spoolss_FormArea *r)
15857
ndr_print_struct(ndr, name, "spoolss_FormArea");
15859
ndr_print_uint32(ndr, "left", r->left);
15860
ndr_print_uint32(ndr, "top", r->top);
15861
ndr_print_uint32(ndr, "right", r->right);
15862
ndr_print_uint32(ndr, "bottom", r->bottom);
15866
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormInfo1 *r)
15868
if (ndr_flags & NDR_SCALARS) {
15869
NDR_CHECK(ndr_push_align(ndr, 5));
15870
NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags));
15872
uint32_t _flags_save_string = ndr->flags;
15873
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
15874
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->form_name));
15875
ndr->flags = _flags_save_string;
15877
NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
15878
NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
15879
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
15881
if (ndr_flags & NDR_BUFFERS) {
15883
uint32_t _flags_save_string = ndr->flags;
15884
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
15885
if (r->form_name) {
15886
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->form_name));
15887
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->form_name));
15888
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->form_name));
15890
ndr->flags = _flags_save_string;
15893
return NDR_ERR_SUCCESS;
15896
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FormInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormInfo1 *r)
15898
uint32_t _ptr_form_name;
15899
TALLOC_CTX *_mem_save_form_name_0;
15900
if (ndr_flags & NDR_SCALARS) {
15901
NDR_CHECK(ndr_pull_align(ndr, 5));
15902
NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags));
15904
uint32_t _flags_save_string = ndr->flags;
15905
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
15906
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name));
15907
if (_ptr_form_name) {
15908
NDR_PULL_ALLOC(ndr, r->form_name);
15909
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->form_name, _ptr_form_name));
15911
r->form_name = NULL;
15913
ndr->flags = _flags_save_string;
15915
NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
15916
NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
15917
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
15919
if (ndr_flags & NDR_BUFFERS) {
15921
uint32_t _flags_save_string = ndr->flags;
15922
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
15923
if (r->form_name) {
15924
uint32_t _relative_save_offset;
15925
_relative_save_offset = ndr->offset;
15926
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->form_name));
15927
_mem_save_form_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15928
NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0);
15929
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->form_name));
15930
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0);
15931
ndr->offset = _relative_save_offset;
15933
ndr->flags = _flags_save_string;
15936
return NDR_ERR_SUCCESS;
15939
_PUBLIC_ void ndr_print_spoolss_FormInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_FormInfo1 *r)
15941
ndr_print_struct(ndr, name, "spoolss_FormInfo1");
15943
ndr_print_spoolss_FormFlags(ndr, "flags", r->flags);
15944
ndr_print_ptr(ndr, "form_name", r->form_name);
15946
if (r->form_name) {
15947
ndr_print_string(ndr, "form_name", r->form_name);
15950
ndr_print_spoolss_FormSize(ndr, "size", &r->size);
15951
ndr_print_spoolss_FormArea(ndr, "area", &r->area);
15955
_PUBLIC_ size_t ndr_size_spoolss_FormInfo1(const struct spoolss_FormInfo1 *r, struct smb_iconv_convenience *ic, int flags)
15957
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_FormInfo1, ic);
15960
static enum ndr_err_code ndr_push_spoolss_FormStringType(struct ndr_push *ndr, int ndr_flags, uint32_t r)
15962
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
15963
return NDR_ERR_SUCCESS;
15966
static enum ndr_err_code ndr_pull_spoolss_FormStringType(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
15969
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
15971
return NDR_ERR_SUCCESS;
15974
_PUBLIC_ void ndr_print_spoolss_FormStringType(struct ndr_print *ndr, const char *name, uint32_t r)
15976
ndr_print_uint32(ndr, name, r);
15978
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_FORM_STRING_TYPE_NONE", SPOOLSS_FORM_STRING_TYPE_NONE, r);
15979
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_FORM_STRING_TYPE_MUI_DLL", SPOOLSS_FORM_STRING_TYPE_MUI_DLL, r);
15980
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_FORM_STRING_TYPE_LANG_PAIR", SPOOLSS_FORM_STRING_TYPE_LANG_PAIR, r);
15984
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormInfo2 *r)
15986
if (ndr_flags & NDR_SCALARS) {
15987
NDR_CHECK(ndr_push_align(ndr, 5));
15988
NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags));
15990
uint32_t _flags_save_string = ndr->flags;
15991
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
15992
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->form_name));
15993
ndr->flags = _flags_save_string;
15995
NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
15996
NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
15998
uint32_t _flags_save_string = ndr->flags;
15999
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
16000
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->keyword));
16001
ndr->flags = _flags_save_string;
16003
NDR_CHECK(ndr_push_spoolss_FormStringType(ndr, NDR_SCALARS, r->string_type));
16005
uint32_t _flags_save_string = ndr->flags;
16006
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16007
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->mui_dll));
16008
ndr->flags = _flags_save_string;
16010
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ressource_id));
16012
uint32_t _flags_save_string = ndr->flags;
16013
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16014
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->display_name));
16015
ndr->flags = _flags_save_string;
16017
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lang_id));
16018
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unused));
16019
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
16021
if (ndr_flags & NDR_BUFFERS) {
16023
uint32_t _flags_save_string = ndr->flags;
16024
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16025
if (r->form_name) {
16026
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->form_name));
16027
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->form_name));
16028
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->form_name));
16030
ndr->flags = _flags_save_string;
16033
uint32_t _flags_save_string = ndr->flags;
16034
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
16036
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->keyword));
16037
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->keyword));
16038
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->keyword));
16040
ndr->flags = _flags_save_string;
16043
uint32_t _flags_save_string = ndr->flags;
16044
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16046
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->mui_dll));
16047
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->mui_dll));
16048
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->mui_dll));
16050
ndr->flags = _flags_save_string;
16053
uint32_t _flags_save_string = ndr->flags;
16054
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16055
if (r->display_name) {
16056
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->display_name));
16057
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->display_name));
16058
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->display_name));
16060
ndr->flags = _flags_save_string;
16063
return NDR_ERR_SUCCESS;
16066
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FormInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormInfo2 *r)
16068
uint32_t _ptr_form_name;
16069
TALLOC_CTX *_mem_save_form_name_0;
16070
uint32_t _ptr_keyword;
16071
TALLOC_CTX *_mem_save_keyword_0;
16072
uint32_t _ptr_mui_dll;
16073
TALLOC_CTX *_mem_save_mui_dll_0;
16074
uint32_t _ptr_display_name;
16075
TALLOC_CTX *_mem_save_display_name_0;
16076
if (ndr_flags & NDR_SCALARS) {
16077
NDR_CHECK(ndr_pull_align(ndr, 5));
16078
NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags));
16080
uint32_t _flags_save_string = ndr->flags;
16081
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16082
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name));
16083
if (_ptr_form_name) {
16084
NDR_PULL_ALLOC(ndr, r->form_name);
16085
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->form_name, _ptr_form_name));
16087
r->form_name = NULL;
16089
ndr->flags = _flags_save_string;
16091
NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
16092
NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
16094
uint32_t _flags_save_string = ndr->flags;
16095
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
16096
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_keyword));
16097
if (_ptr_keyword) {
16098
NDR_PULL_ALLOC(ndr, r->keyword);
16099
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->keyword, _ptr_keyword));
16103
ndr->flags = _flags_save_string;
16105
NDR_CHECK(ndr_pull_spoolss_FormStringType(ndr, NDR_SCALARS, &r->string_type));
16107
uint32_t _flags_save_string = ndr->flags;
16108
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16109
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mui_dll));
16110
if (_ptr_mui_dll) {
16111
NDR_PULL_ALLOC(ndr, r->mui_dll);
16112
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->mui_dll, _ptr_mui_dll));
16116
ndr->flags = _flags_save_string;
16118
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ressource_id));
16120
uint32_t _flags_save_string = ndr->flags;
16121
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16122
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name));
16123
if (_ptr_display_name) {
16124
NDR_PULL_ALLOC(ndr, r->display_name);
16125
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->display_name, _ptr_display_name));
16127
r->display_name = NULL;
16129
ndr->flags = _flags_save_string;
16131
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lang_id));
16132
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unused));
16133
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
16135
if (ndr_flags & NDR_BUFFERS) {
16137
uint32_t _flags_save_string = ndr->flags;
16138
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16139
if (r->form_name) {
16140
uint32_t _relative_save_offset;
16141
_relative_save_offset = ndr->offset;
16142
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->form_name));
16143
_mem_save_form_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16144
NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0);
16145
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->form_name));
16146
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0);
16147
ndr->offset = _relative_save_offset;
16149
ndr->flags = _flags_save_string;
16152
uint32_t _flags_save_string = ndr->flags;
16153
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
16155
uint32_t _relative_save_offset;
16156
_relative_save_offset = ndr->offset;
16157
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->keyword));
16158
_mem_save_keyword_0 = NDR_PULL_GET_MEM_CTX(ndr);
16159
NDR_PULL_SET_MEM_CTX(ndr, r->keyword, 0);
16160
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->keyword));
16161
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keyword_0, 0);
16162
ndr->offset = _relative_save_offset;
16164
ndr->flags = _flags_save_string;
16167
uint32_t _flags_save_string = ndr->flags;
16168
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16170
uint32_t _relative_save_offset;
16171
_relative_save_offset = ndr->offset;
16172
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->mui_dll));
16173
_mem_save_mui_dll_0 = NDR_PULL_GET_MEM_CTX(ndr);
16174
NDR_PULL_SET_MEM_CTX(ndr, r->mui_dll, 0);
16175
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->mui_dll));
16176
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mui_dll_0, 0);
16177
ndr->offset = _relative_save_offset;
16179
ndr->flags = _flags_save_string;
16182
uint32_t _flags_save_string = ndr->flags;
16183
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16184
if (r->display_name) {
16185
uint32_t _relative_save_offset;
16186
_relative_save_offset = ndr->offset;
16187
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->display_name));
16188
_mem_save_display_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16189
NDR_PULL_SET_MEM_CTX(ndr, r->display_name, 0);
16190
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->display_name));
16191
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, 0);
16192
ndr->offset = _relative_save_offset;
16194
ndr->flags = _flags_save_string;
16197
return NDR_ERR_SUCCESS;
16200
_PUBLIC_ void ndr_print_spoolss_FormInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_FormInfo2 *r)
16202
ndr_print_struct(ndr, name, "spoolss_FormInfo2");
16204
ndr_print_spoolss_FormFlags(ndr, "flags", r->flags);
16205
ndr_print_ptr(ndr, "form_name", r->form_name);
16207
if (r->form_name) {
16208
ndr_print_string(ndr, "form_name", r->form_name);
16211
ndr_print_spoolss_FormSize(ndr, "size", &r->size);
16212
ndr_print_spoolss_FormArea(ndr, "area", &r->area);
16213
ndr_print_ptr(ndr, "keyword", r->keyword);
16216
ndr_print_string(ndr, "keyword", r->keyword);
16219
ndr_print_spoolss_FormStringType(ndr, "string_type", r->string_type);
16220
ndr_print_ptr(ndr, "mui_dll", r->mui_dll);
16223
ndr_print_string(ndr, "mui_dll", r->mui_dll);
16226
ndr_print_uint32(ndr, "ressource_id", r->ressource_id);
16227
ndr_print_ptr(ndr, "display_name", r->display_name);
16229
if (r->display_name) {
16230
ndr_print_string(ndr, "display_name", r->display_name);
16233
ndr_print_uint16(ndr, "lang_id", r->lang_id);
16234
ndr_print_uint16(ndr, "unused", r->unused);
16238
_PUBLIC_ size_t ndr_size_spoolss_FormInfo2(const struct spoolss_FormInfo2 *r, struct smb_iconv_convenience *ic, int flags)
16240
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_FormInfo2, ic);
16243
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_FormInfo *r)
16245
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
16247
uint32_t _flags_save_UNION = ndr->flags;
16248
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
16249
if (ndr_flags & NDR_SCALARS) {
16250
int level = ndr_push_get_switch_value(ndr, r);
16251
NDR_CHECK(ndr_push_union_align(ndr, 5));
16254
NDR_CHECK(ndr_push_align(ndr, 5));
16255
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
16256
NDR_CHECK(ndr_push_spoolss_FormInfo1(ndr, NDR_SCALARS, &r->info1));
16260
NDR_CHECK(ndr_push_align(ndr, 5));
16261
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
16262
NDR_CHECK(ndr_push_spoolss_FormInfo2(ndr, NDR_SCALARS, &r->info2));
16270
if (ndr_flags & NDR_BUFFERS) {
16271
int level = ndr_push_get_switch_value(ndr, r);
16272
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
16275
NDR_CHECK(ndr_push_spoolss_FormInfo1(ndr, NDR_BUFFERS, &r->info1));
16279
NDR_CHECK(ndr_push_spoolss_FormInfo2(ndr, NDR_BUFFERS, &r->info2));
16287
ndr->flags = _flags_save_UNION;
16289
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
16290
return NDR_ERR_SUCCESS;
16293
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FormInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_FormInfo *r)
16295
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
16298
uint32_t _flags_save_UNION = ndr->flags;
16299
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
16300
level = ndr_pull_get_switch_value(ndr, r);
16301
if (ndr_flags & NDR_SCALARS) {
16302
NDR_CHECK(ndr_pull_union_align(ndr, 5));
16305
NDR_CHECK(ndr_pull_align(ndr, 5));
16306
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
16307
NDR_CHECK(ndr_pull_spoolss_FormInfo1(ndr, NDR_SCALARS, &r->info1));
16311
NDR_CHECK(ndr_pull_align(ndr, 5));
16312
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
16313
NDR_CHECK(ndr_pull_spoolss_FormInfo2(ndr, NDR_SCALARS, &r->info2));
16321
if (ndr_flags & NDR_BUFFERS) {
16322
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
16325
NDR_CHECK(ndr_pull_spoolss_FormInfo1(ndr, NDR_BUFFERS, &r->info1));
16329
NDR_CHECK(ndr_pull_spoolss_FormInfo2(ndr, NDR_BUFFERS, &r->info2));
16337
ndr->flags = _flags_save_UNION;
16339
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
16340
return NDR_ERR_SUCCESS;
16343
_PUBLIC_ void ndr_print_spoolss_FormInfo(struct ndr_print *ndr, const char *name, const union spoolss_FormInfo *r)
16347
uint32_t _flags_save_UNION = ndr->flags;
16348
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
16349
level = ndr_print_get_switch_value(ndr, r);
16350
ndr_print_union(ndr, name, level, "spoolss_FormInfo");
16353
ndr_print_spoolss_FormInfo1(ndr, "info1", &r->info1);
16357
ndr_print_spoolss_FormInfo2(ndr, "info2", &r->info2);
16364
ndr->flags = _flags_save_UNION;
16368
_PUBLIC_ size_t ndr_size_spoolss_FormInfo(const union spoolss_FormInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
16370
flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
16371
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_FormInfo, ic);
16374
static enum ndr_err_code ndr_push_spoolss_AddFormInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddFormInfo1 *r)
16376
if (ndr_flags & NDR_SCALARS) {
16377
NDR_CHECK(ndr_push_align(ndr, 5));
16378
NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags));
16379
NDR_CHECK(ndr_push_unique_ptr(ndr, r->form_name));
16380
NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
16381
NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
16382
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
16384
if (ndr_flags & NDR_BUFFERS) {
16385
if (r->form_name) {
16386
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->form_name, CH_UTF16)));
16387
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16388
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->form_name, CH_UTF16)));
16389
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->form_name, ndr_charset_length(r->form_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
16392
return NDR_ERR_SUCCESS;
16395
static enum ndr_err_code ndr_pull_spoolss_AddFormInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddFormInfo1 *r)
16397
uint32_t _ptr_form_name;
16398
TALLOC_CTX *_mem_save_form_name_0;
16399
if (ndr_flags & NDR_SCALARS) {
16400
NDR_CHECK(ndr_pull_align(ndr, 5));
16401
NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags));
16402
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name));
16403
if (_ptr_form_name) {
16404
NDR_PULL_ALLOC(ndr, r->form_name);
16406
r->form_name = NULL;
16408
NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
16409
NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
16410
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
16412
if (ndr_flags & NDR_BUFFERS) {
16413
if (r->form_name) {
16414
_mem_save_form_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16415
NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0);
16416
NDR_CHECK(ndr_pull_array_size(ndr, &r->form_name));
16417
NDR_CHECK(ndr_pull_array_length(ndr, &r->form_name));
16418
if (ndr_get_array_length(ndr, &r->form_name) > ndr_get_array_size(ndr, &r->form_name)) {
16419
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->form_name), ndr_get_array_length(ndr, &r->form_name));
16421
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->form_name), sizeof(uint16_t)));
16422
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->form_name, ndr_get_array_length(ndr, &r->form_name), sizeof(uint16_t), CH_UTF16));
16423
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0);
16426
return NDR_ERR_SUCCESS;
16429
_PUBLIC_ void ndr_print_spoolss_AddFormInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_AddFormInfo1 *r)
16431
ndr_print_struct(ndr, name, "spoolss_AddFormInfo1");
16433
ndr_print_spoolss_FormFlags(ndr, "flags", r->flags);
16434
ndr_print_ptr(ndr, "form_name", r->form_name);
16436
if (r->form_name) {
16437
ndr_print_string(ndr, "form_name", r->form_name);
16440
ndr_print_spoolss_FormSize(ndr, "size", &r->size);
16441
ndr_print_spoolss_FormArea(ndr, "area", &r->area);
16445
static enum ndr_err_code ndr_push_spoolss_AddFormInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddFormInfo2 *r)
16447
if (ndr_flags & NDR_SCALARS) {
16448
NDR_CHECK(ndr_push_align(ndr, 5));
16449
NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags));
16450
NDR_CHECK(ndr_push_unique_ptr(ndr, r->form_name));
16451
NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
16452
NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
16453
NDR_CHECK(ndr_push_unique_ptr(ndr, r->keyword));
16454
NDR_CHECK(ndr_push_spoolss_FormStringType(ndr, NDR_SCALARS, r->string_type));
16455
NDR_CHECK(ndr_push_unique_ptr(ndr, r->mui_dll));
16456
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ressource_id));
16457
NDR_CHECK(ndr_push_unique_ptr(ndr, r->display_name));
16458
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lang_id));
16459
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
16461
if (ndr_flags & NDR_BUFFERS) {
16462
if (r->form_name) {
16463
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->form_name, CH_UTF16)));
16464
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16465
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->form_name, CH_UTF16)));
16466
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->form_name, ndr_charset_length(r->form_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
16469
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->keyword, CH_DOS)));
16470
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16471
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->keyword, CH_DOS)));
16472
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->keyword, ndr_charset_length(r->keyword, CH_DOS), sizeof(uint8_t), CH_DOS));
16475
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->mui_dll, CH_UTF16)));
16476
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16477
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->mui_dll, CH_UTF16)));
16478
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->mui_dll, ndr_charset_length(r->mui_dll, CH_UTF16), sizeof(uint16_t), CH_UTF16));
16480
if (r->display_name) {
16481
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->display_name, CH_UTF16)));
16482
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16483
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->display_name, CH_UTF16)));
16484
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->display_name, ndr_charset_length(r->display_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
16487
return NDR_ERR_SUCCESS;
16490
static enum ndr_err_code ndr_pull_spoolss_AddFormInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddFormInfo2 *r)
16492
uint32_t _ptr_form_name;
16493
TALLOC_CTX *_mem_save_form_name_0;
16494
uint32_t _ptr_keyword;
16495
TALLOC_CTX *_mem_save_keyword_0;
16496
uint32_t _ptr_mui_dll;
16497
TALLOC_CTX *_mem_save_mui_dll_0;
16498
uint32_t _ptr_display_name;
16499
TALLOC_CTX *_mem_save_display_name_0;
16500
if (ndr_flags & NDR_SCALARS) {
16501
NDR_CHECK(ndr_pull_align(ndr, 5));
16502
NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags));
16503
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name));
16504
if (_ptr_form_name) {
16505
NDR_PULL_ALLOC(ndr, r->form_name);
16507
r->form_name = NULL;
16509
NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
16510
NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
16511
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_keyword));
16512
if (_ptr_keyword) {
16513
NDR_PULL_ALLOC(ndr, r->keyword);
16517
NDR_CHECK(ndr_pull_spoolss_FormStringType(ndr, NDR_SCALARS, &r->string_type));
16518
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mui_dll));
16519
if (_ptr_mui_dll) {
16520
NDR_PULL_ALLOC(ndr, r->mui_dll);
16524
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ressource_id));
16525
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name));
16526
if (_ptr_display_name) {
16527
NDR_PULL_ALLOC(ndr, r->display_name);
16529
r->display_name = NULL;
16531
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lang_id));
16532
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
16534
if (ndr_flags & NDR_BUFFERS) {
16535
if (r->form_name) {
16536
_mem_save_form_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16537
NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0);
16538
NDR_CHECK(ndr_pull_array_size(ndr, &r->form_name));
16539
NDR_CHECK(ndr_pull_array_length(ndr, &r->form_name));
16540
if (ndr_get_array_length(ndr, &r->form_name) > ndr_get_array_size(ndr, &r->form_name)) {
16541
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->form_name), ndr_get_array_length(ndr, &r->form_name));
16543
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->form_name), sizeof(uint16_t)));
16544
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->form_name, ndr_get_array_length(ndr, &r->form_name), sizeof(uint16_t), CH_UTF16));
16545
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0);
16548
_mem_save_keyword_0 = NDR_PULL_GET_MEM_CTX(ndr);
16549
NDR_PULL_SET_MEM_CTX(ndr, r->keyword, 0);
16550
NDR_CHECK(ndr_pull_array_size(ndr, &r->keyword));
16551
NDR_CHECK(ndr_pull_array_length(ndr, &r->keyword));
16552
if (ndr_get_array_length(ndr, &r->keyword) > ndr_get_array_size(ndr, &r->keyword)) {
16553
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->keyword), ndr_get_array_length(ndr, &r->keyword));
16555
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->keyword), sizeof(uint8_t)));
16556
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->keyword, ndr_get_array_length(ndr, &r->keyword), sizeof(uint8_t), CH_DOS));
16557
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keyword_0, 0);
16560
_mem_save_mui_dll_0 = NDR_PULL_GET_MEM_CTX(ndr);
16561
NDR_PULL_SET_MEM_CTX(ndr, r->mui_dll, 0);
16562
NDR_CHECK(ndr_pull_array_size(ndr, &r->mui_dll));
16563
NDR_CHECK(ndr_pull_array_length(ndr, &r->mui_dll));
16564
if (ndr_get_array_length(ndr, &r->mui_dll) > ndr_get_array_size(ndr, &r->mui_dll)) {
16565
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->mui_dll), ndr_get_array_length(ndr, &r->mui_dll));
16567
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->mui_dll), sizeof(uint16_t)));
16568
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->mui_dll, ndr_get_array_length(ndr, &r->mui_dll), sizeof(uint16_t), CH_UTF16));
16569
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mui_dll_0, 0);
16571
if (r->display_name) {
16572
_mem_save_display_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16573
NDR_PULL_SET_MEM_CTX(ndr, r->display_name, 0);
16574
NDR_CHECK(ndr_pull_array_size(ndr, &r->display_name));
16575
NDR_CHECK(ndr_pull_array_length(ndr, &r->display_name));
16576
if (ndr_get_array_length(ndr, &r->display_name) > ndr_get_array_size(ndr, &r->display_name)) {
16577
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->display_name), ndr_get_array_length(ndr, &r->display_name));
16579
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->display_name), sizeof(uint16_t)));
16580
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->display_name, ndr_get_array_length(ndr, &r->display_name), sizeof(uint16_t), CH_UTF16));
16581
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, 0);
16584
return NDR_ERR_SUCCESS;
16587
_PUBLIC_ void ndr_print_spoolss_AddFormInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_AddFormInfo2 *r)
16589
ndr_print_struct(ndr, name, "spoolss_AddFormInfo2");
16591
ndr_print_spoolss_FormFlags(ndr, "flags", r->flags);
16592
ndr_print_ptr(ndr, "form_name", r->form_name);
16594
if (r->form_name) {
16595
ndr_print_string(ndr, "form_name", r->form_name);
16598
ndr_print_spoolss_FormSize(ndr, "size", &r->size);
16599
ndr_print_spoolss_FormArea(ndr, "area", &r->area);
16600
ndr_print_ptr(ndr, "keyword", r->keyword);
16603
ndr_print_string(ndr, "keyword", r->keyword);
16606
ndr_print_spoolss_FormStringType(ndr, "string_type", r->string_type);
16607
ndr_print_ptr(ndr, "mui_dll", r->mui_dll);
16610
ndr_print_string(ndr, "mui_dll", r->mui_dll);
16613
ndr_print_uint32(ndr, "ressource_id", r->ressource_id);
16614
ndr_print_ptr(ndr, "display_name", r->display_name);
16616
if (r->display_name) {
16617
ndr_print_string(ndr, "display_name", r->display_name);
16620
ndr_print_uint32(ndr, "lang_id", r->lang_id);
16624
static enum ndr_err_code ndr_push_spoolss_AddFormInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_AddFormInfo *r)
16626
if (ndr_flags & NDR_SCALARS) {
16627
int level = ndr_push_get_switch_value(ndr, r);
16628
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
16629
NDR_CHECK(ndr_push_union_align(ndr, 5));
16632
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
16636
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
16640
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
16643
if (ndr_flags & NDR_BUFFERS) {
16644
int level = ndr_push_get_switch_value(ndr, r);
16648
NDR_CHECK(ndr_push_spoolss_AddFormInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
16654
NDR_CHECK(ndr_push_spoolss_AddFormInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
16659
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
16662
return NDR_ERR_SUCCESS;
16665
static enum ndr_err_code ndr_pull_spoolss_AddFormInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_AddFormInfo *r)
16669
TALLOC_CTX *_mem_save_info1_0;
16670
TALLOC_CTX *_mem_save_info2_0;
16671
level = ndr_pull_get_switch_value(ndr, r);
16672
if (ndr_flags & NDR_SCALARS) {
16673
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
16674
if (_level != level) {
16675
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
16677
NDR_CHECK(ndr_pull_union_align(ndr, 5));
16680
uint32_t _ptr_info1;
16681
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
16683
NDR_PULL_ALLOC(ndr, r->info1);
16690
uint32_t _ptr_info2;
16691
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
16693
NDR_PULL_ALLOC(ndr, r->info2);
16700
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
16703
if (ndr_flags & NDR_BUFFERS) {
16707
_mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
16708
NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
16709
NDR_CHECK(ndr_pull_spoolss_AddFormInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
16710
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
16716
_mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
16717
NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
16718
NDR_CHECK(ndr_pull_spoolss_AddFormInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
16719
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
16724
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
16727
return NDR_ERR_SUCCESS;
16730
_PUBLIC_ void ndr_print_spoolss_AddFormInfo(struct ndr_print *ndr, const char *name, const union spoolss_AddFormInfo *r)
16733
level = ndr_print_get_switch_value(ndr, r);
16734
ndr_print_union(ndr, name, level, "spoolss_AddFormInfo");
16737
ndr_print_ptr(ndr, "info1", r->info1);
16740
ndr_print_spoolss_AddFormInfo1(ndr, "info1", r->info1);
16746
ndr_print_ptr(ndr, "info2", r->info2);
16749
ndr_print_spoolss_AddFormInfo2(ndr, "info2", r->info2);
16755
ndr_print_bad_level(ndr, name, level);
16759
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfo1 *r)
16761
if (ndr_flags & NDR_SCALARS) {
16762
NDR_CHECK(ndr_push_align(ndr, 5));
16764
uint32_t _flags_save_string = ndr->flags;
16765
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16766
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->port_name));
16767
ndr->flags = _flags_save_string;
16769
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
16771
if (ndr_flags & NDR_BUFFERS) {
16773
uint32_t _flags_save_string = ndr->flags;
16774
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16775
if (r->port_name) {
16776
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name));
16777
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name));
16778
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->port_name));
16780
ndr->flags = _flags_save_string;
16783
return NDR_ERR_SUCCESS;
16786
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfo1 *r)
16788
uint32_t _ptr_port_name;
16789
TALLOC_CTX *_mem_save_port_name_0;
16790
if (ndr_flags & NDR_SCALARS) {
16791
NDR_CHECK(ndr_pull_align(ndr, 5));
16793
uint32_t _flags_save_string = ndr->flags;
16794
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16795
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name));
16796
if (_ptr_port_name) {
16797
NDR_PULL_ALLOC(ndr, r->port_name);
16798
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->port_name, _ptr_port_name));
16800
r->port_name = NULL;
16802
ndr->flags = _flags_save_string;
16804
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
16806
if (ndr_flags & NDR_BUFFERS) {
16808
uint32_t _flags_save_string = ndr->flags;
16809
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16810
if (r->port_name) {
16811
uint32_t _relative_save_offset;
16812
_relative_save_offset = ndr->offset;
16813
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->port_name));
16814
_mem_save_port_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16815
NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0);
16816
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->port_name));
16817
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0);
16818
ndr->offset = _relative_save_offset;
16820
ndr->flags = _flags_save_string;
16823
return NDR_ERR_SUCCESS;
16826
_PUBLIC_ void ndr_print_spoolss_PortInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfo1 *r)
16828
ndr_print_struct(ndr, name, "spoolss_PortInfo1");
16830
ndr_print_ptr(ndr, "port_name", r->port_name);
16832
if (r->port_name) {
16833
ndr_print_string(ndr, "port_name", r->port_name);
16839
_PUBLIC_ size_t ndr_size_spoolss_PortInfo1(const struct spoolss_PortInfo1 *r, struct smb_iconv_convenience *ic, int flags)
16841
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PortInfo1, ic);
16844
static enum ndr_err_code ndr_push_spoolss_PortType(struct ndr_push *ndr, int ndr_flags, uint32_t r)
16846
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
16847
return NDR_ERR_SUCCESS;
16850
static enum ndr_err_code ndr_pull_spoolss_PortType(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
16853
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
16855
return NDR_ERR_SUCCESS;
16858
_PUBLIC_ void ndr_print_spoolss_PortType(struct ndr_print *ndr, const char *name, uint32_t r)
16860
ndr_print_uint32(ndr, name, r);
16862
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_WRITE", SPOOLSS_PORT_TYPE_WRITE, r);
16863
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_READ", SPOOLSS_PORT_TYPE_READ, r);
16864
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_REDIRECTED", SPOOLSS_PORT_TYPE_REDIRECTED, r);
16865
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_NET_ATTACHED", SPOOLSS_PORT_TYPE_NET_ATTACHED, r);
16869
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfo2 *r)
16871
if (ndr_flags & NDR_SCALARS) {
16872
NDR_CHECK(ndr_push_align(ndr, 5));
16874
uint32_t _flags_save_string = ndr->flags;
16875
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16876
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->port_name));
16877
ndr->flags = _flags_save_string;
16880
uint32_t _flags_save_string = ndr->flags;
16881
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16882
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
16883
ndr->flags = _flags_save_string;
16886
uint32_t _flags_save_string = ndr->flags;
16887
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16888
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->description));
16889
ndr->flags = _flags_save_string;
16891
NDR_CHECK(ndr_push_spoolss_PortType(ndr, NDR_SCALARS, r->port_type));
16892
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
16893
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
16895
if (ndr_flags & NDR_BUFFERS) {
16897
uint32_t _flags_save_string = ndr->flags;
16898
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16899
if (r->port_name) {
16900
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name));
16901
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name));
16902
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->port_name));
16904
ndr->flags = _flags_save_string;
16907
uint32_t _flags_save_string = ndr->flags;
16908
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16909
if (r->monitor_name) {
16910
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
16911
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
16912
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
16914
ndr->flags = _flags_save_string;
16917
uint32_t _flags_save_string = ndr->flags;
16918
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16919
if (r->description) {
16920
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->description));
16921
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description));
16922
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->description));
16924
ndr->flags = _flags_save_string;
16927
return NDR_ERR_SUCCESS;
16930
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfo2 *r)
16932
uint32_t _ptr_port_name;
16933
TALLOC_CTX *_mem_save_port_name_0;
16934
uint32_t _ptr_monitor_name;
16935
TALLOC_CTX *_mem_save_monitor_name_0;
16936
uint32_t _ptr_description;
16937
TALLOC_CTX *_mem_save_description_0;
16938
if (ndr_flags & NDR_SCALARS) {
16939
NDR_CHECK(ndr_pull_align(ndr, 5));
16941
uint32_t _flags_save_string = ndr->flags;
16942
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16943
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name));
16944
if (_ptr_port_name) {
16945
NDR_PULL_ALLOC(ndr, r->port_name);
16946
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->port_name, _ptr_port_name));
16948
r->port_name = NULL;
16950
ndr->flags = _flags_save_string;
16953
uint32_t _flags_save_string = ndr->flags;
16954
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16955
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
16956
if (_ptr_monitor_name) {
16957
NDR_PULL_ALLOC(ndr, r->monitor_name);
16958
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
16960
r->monitor_name = NULL;
16962
ndr->flags = _flags_save_string;
16965
uint32_t _flags_save_string = ndr->flags;
16966
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16967
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description));
16968
if (_ptr_description) {
16969
NDR_PULL_ALLOC(ndr, r->description);
16970
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->description, _ptr_description));
16972
r->description = NULL;
16974
ndr->flags = _flags_save_string;
16976
NDR_CHECK(ndr_pull_spoolss_PortType(ndr, NDR_SCALARS, &r->port_type));
16977
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
16978
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
16980
if (ndr_flags & NDR_BUFFERS) {
16982
uint32_t _flags_save_string = ndr->flags;
16983
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16984
if (r->port_name) {
16985
uint32_t _relative_save_offset;
16986
_relative_save_offset = ndr->offset;
16987
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->port_name));
16988
_mem_save_port_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16989
NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0);
16990
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->port_name));
16991
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0);
16992
ndr->offset = _relative_save_offset;
16994
ndr->flags = _flags_save_string;
16997
uint32_t _flags_save_string = ndr->flags;
16998
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
16999
if (r->monitor_name) {
17000
uint32_t _relative_save_offset;
17001
_relative_save_offset = ndr->offset;
17002
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
17003
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17004
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
17005
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
17006
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
17007
ndr->offset = _relative_save_offset;
17009
ndr->flags = _flags_save_string;
17012
uint32_t _flags_save_string = ndr->flags;
17013
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17014
if (r->description) {
17015
uint32_t _relative_save_offset;
17016
_relative_save_offset = ndr->offset;
17017
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->description));
17018
_mem_save_description_0 = NDR_PULL_GET_MEM_CTX(ndr);
17019
NDR_PULL_SET_MEM_CTX(ndr, r->description, 0);
17020
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->description));
17021
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0);
17022
ndr->offset = _relative_save_offset;
17024
ndr->flags = _flags_save_string;
17027
return NDR_ERR_SUCCESS;
17030
_PUBLIC_ void ndr_print_spoolss_PortInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfo2 *r)
17032
ndr_print_struct(ndr, name, "spoolss_PortInfo2");
17034
ndr_print_ptr(ndr, "port_name", r->port_name);
17036
if (r->port_name) {
17037
ndr_print_string(ndr, "port_name", r->port_name);
17040
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
17042
if (r->monitor_name) {
17043
ndr_print_string(ndr, "monitor_name", r->monitor_name);
17046
ndr_print_ptr(ndr, "description", r->description);
17048
if (r->description) {
17049
ndr_print_string(ndr, "description", r->description);
17052
ndr_print_spoolss_PortType(ndr, "port_type", r->port_type);
17053
ndr_print_uint32(ndr, "reserved", r->reserved);
17057
_PUBLIC_ size_t ndr_size_spoolss_PortInfo2(const struct spoolss_PortInfo2 *r, struct smb_iconv_convenience *ic, int flags)
17059
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PortInfo2, ic);
17062
static enum ndr_err_code ndr_push_spoolss_PortStatus(struct ndr_push *ndr, int ndr_flags, enum spoolss_PortStatus r)
17064
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
17065
return NDR_ERR_SUCCESS;
17068
static enum ndr_err_code ndr_pull_spoolss_PortStatus(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PortStatus *r)
17071
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
17073
return NDR_ERR_SUCCESS;
17076
_PUBLIC_ void ndr_print_spoolss_PortStatus(struct ndr_print *ndr, const char *name, enum spoolss_PortStatus r)
17078
const char *val = NULL;
17081
case PORT_STATUS_CLEAR: val = "PORT_STATUS_CLEAR"; break;
17082
case PORT_STATUS_OFFLINE: val = "PORT_STATUS_OFFLINE"; break;
17083
case PORT_STATUS_PAPER_JAM: val = "PORT_STATUS_PAPER_JAM"; break;
17084
case PORT_STATUS_PAPER_OUT: val = "PORT_STATUS_PAPER_OUT"; break;
17085
case PORT_STATUS_OUTPUT_BIN_FULL: val = "PORT_STATUS_OUTPUT_BIN_FULL"; break;
17086
case PORT_STATUS_PAPER_PROBLEM: val = "PORT_STATUS_PAPER_PROBLEM"; break;
17087
case PORT_STATUS_NO_TONER: val = "PORT_STATUS_NO_TONER"; break;
17088
case PORT_STATUS_DOOR_OPEN: val = "PORT_STATUS_DOOR_OPEN"; break;
17089
case PORT_STATUS_USER_INTERVENTION: val = "PORT_STATUS_USER_INTERVENTION"; break;
17090
case PORT_STATUS_OUT_OF_MEMORY: val = "PORT_STATUS_OUT_OF_MEMORY"; break;
17091
case PORT_STATUS_TONER_LOW: val = "PORT_STATUS_TONER_LOW"; break;
17092
case PORT_STATUS_WARMING_UP: val = "PORT_STATUS_WARMING_UP"; break;
17093
case PORT_STATUS_POWER_SAVE: val = "PORT_STATUS_POWER_SAVE"; break;
17095
ndr_print_enum(ndr, name, "ENUM", val, r);
17098
static enum ndr_err_code ndr_push_spoolss_PortSeverity(struct ndr_push *ndr, int ndr_flags, enum spoolss_PortSeverity r)
17100
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
17101
return NDR_ERR_SUCCESS;
17104
static enum ndr_err_code ndr_pull_spoolss_PortSeverity(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PortSeverity *r)
17107
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
17109
return NDR_ERR_SUCCESS;
17112
_PUBLIC_ void ndr_print_spoolss_PortSeverity(struct ndr_print *ndr, const char *name, enum spoolss_PortSeverity r)
17114
const char *val = NULL;
17117
case PORT_STATUS_TYPE_ERROR: val = "PORT_STATUS_TYPE_ERROR"; break;
17118
case PORT_STATUS_TYPE_WARNING: val = "PORT_STATUS_TYPE_WARNING"; break;
17119
case PORT_STATUS_TYPE_INFO: val = "PORT_STATUS_TYPE_INFO"; break;
17121
ndr_print_enum(ndr, name, "ENUM", val, r);
17124
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfo3 *r)
17126
if (ndr_flags & NDR_SCALARS) {
17127
NDR_CHECK(ndr_push_align(ndr, 5));
17128
NDR_CHECK(ndr_push_spoolss_PortStatus(ndr, NDR_SCALARS, r->status));
17130
uint32_t _flags_save_string = ndr->flags;
17131
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17132
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->status_string));
17133
ndr->flags = _flags_save_string;
17135
NDR_CHECK(ndr_push_spoolss_PortSeverity(ndr, NDR_SCALARS, r->severity));
17136
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
17138
if (ndr_flags & NDR_BUFFERS) {
17140
uint32_t _flags_save_string = ndr->flags;
17141
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17142
if (r->status_string) {
17143
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->status_string));
17144
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->status_string));
17145
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->status_string));
17147
ndr->flags = _flags_save_string;
17150
return NDR_ERR_SUCCESS;
17153
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfo3 *r)
17155
uint32_t _ptr_status_string;
17156
TALLOC_CTX *_mem_save_status_string_0;
17157
if (ndr_flags & NDR_SCALARS) {
17158
NDR_CHECK(ndr_pull_align(ndr, 5));
17159
NDR_CHECK(ndr_pull_spoolss_PortStatus(ndr, NDR_SCALARS, &r->status));
17161
uint32_t _flags_save_string = ndr->flags;
17162
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17163
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_status_string));
17164
if (_ptr_status_string) {
17165
NDR_PULL_ALLOC(ndr, r->status_string);
17166
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->status_string, _ptr_status_string));
17168
r->status_string = NULL;
17170
ndr->flags = _flags_save_string;
17172
NDR_CHECK(ndr_pull_spoolss_PortSeverity(ndr, NDR_SCALARS, &r->severity));
17173
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
17175
if (ndr_flags & NDR_BUFFERS) {
17177
uint32_t _flags_save_string = ndr->flags;
17178
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17179
if (r->status_string) {
17180
uint32_t _relative_save_offset;
17181
_relative_save_offset = ndr->offset;
17182
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->status_string));
17183
_mem_save_status_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
17184
NDR_PULL_SET_MEM_CTX(ndr, r->status_string, 0);
17185
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->status_string));
17186
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_status_string_0, 0);
17187
ndr->offset = _relative_save_offset;
17189
ndr->flags = _flags_save_string;
17192
return NDR_ERR_SUCCESS;
17195
_PUBLIC_ void ndr_print_spoolss_PortInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfo3 *r)
17197
ndr_print_struct(ndr, name, "spoolss_PortInfo3");
17199
ndr_print_spoolss_PortStatus(ndr, "status", r->status);
17200
ndr_print_ptr(ndr, "status_string", r->status_string);
17202
if (r->status_string) {
17203
ndr_print_string(ndr, "status_string", r->status_string);
17206
ndr_print_spoolss_PortSeverity(ndr, "severity", r->severity);
17210
_PUBLIC_ size_t ndr_size_spoolss_PortInfo3(const struct spoolss_PortInfo3 *r, struct smb_iconv_convenience *ic, int flags)
17212
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PortInfo3, ic);
17215
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfoFF(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfoFF *r)
17217
if (ndr_flags & NDR_SCALARS) {
17218
NDR_CHECK(ndr_push_align(ndr, 5));
17220
uint32_t _flags_save_string = ndr->flags;
17221
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17222
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->port_name));
17223
ndr->flags = _flags_save_string;
17225
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->monitor_data));
17226
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
17228
if (ndr_flags & NDR_BUFFERS) {
17230
uint32_t _flags_save_string = ndr->flags;
17231
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17232
if (r->port_name) {
17233
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name));
17234
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name));
17235
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->port_name));
17237
ndr->flags = _flags_save_string;
17240
return NDR_ERR_SUCCESS;
17243
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfoFF(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfoFF *r)
17245
uint32_t _ptr_port_name;
17246
TALLOC_CTX *_mem_save_port_name_0;
17247
if (ndr_flags & NDR_SCALARS) {
17248
NDR_CHECK(ndr_pull_align(ndr, 5));
17250
uint32_t _flags_save_string = ndr->flags;
17251
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17252
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name));
17253
if (_ptr_port_name) {
17254
NDR_PULL_ALLOC(ndr, r->port_name);
17255
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->port_name, _ptr_port_name));
17257
r->port_name = NULL;
17259
ndr->flags = _flags_save_string;
17261
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->monitor_data));
17262
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
17264
if (ndr_flags & NDR_BUFFERS) {
17266
uint32_t _flags_save_string = ndr->flags;
17267
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17268
if (r->port_name) {
17269
uint32_t _relative_save_offset;
17270
_relative_save_offset = ndr->offset;
17271
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->port_name));
17272
_mem_save_port_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17273
NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0);
17274
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->port_name));
17275
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0);
17276
ndr->offset = _relative_save_offset;
17278
ndr->flags = _flags_save_string;
17281
return NDR_ERR_SUCCESS;
17284
_PUBLIC_ void ndr_print_spoolss_PortInfoFF(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfoFF *r)
17286
ndr_print_struct(ndr, name, "spoolss_PortInfoFF");
17288
ndr_print_ptr(ndr, "port_name", r->port_name);
17290
if (r->port_name) {
17291
ndr_print_string(ndr, "port_name", r->port_name);
17294
ndr_print_DATA_BLOB(ndr, "monitor_data", r->monitor_data);
17298
_PUBLIC_ size_t ndr_size_spoolss_PortInfoFF(const struct spoolss_PortInfoFF *r, struct smb_iconv_convenience *ic, int flags)
17300
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PortInfoFF, ic);
17303
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PortInfo *r)
17305
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
17307
uint32_t _flags_save_UNION = ndr->flags;
17308
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
17309
if (ndr_flags & NDR_SCALARS) {
17310
int level = ndr_push_get_switch_value(ndr, r);
17311
NDR_CHECK(ndr_push_union_align(ndr, 5));
17314
NDR_CHECK(ndr_push_align(ndr, 5));
17315
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
17316
NDR_CHECK(ndr_push_spoolss_PortInfo1(ndr, NDR_SCALARS, &r->info1));
17320
NDR_CHECK(ndr_push_align(ndr, 5));
17321
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
17322
NDR_CHECK(ndr_push_spoolss_PortInfo2(ndr, NDR_SCALARS, &r->info2));
17326
NDR_CHECK(ndr_push_align(ndr, 5));
17327
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
17328
NDR_CHECK(ndr_push_spoolss_PortInfo3(ndr, NDR_SCALARS, &r->info3));
17332
NDR_CHECK(ndr_push_align(ndr, 5));
17333
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
17334
NDR_CHECK(ndr_push_spoolss_PortInfoFF(ndr, NDR_SCALARS, &r->infoFF));
17342
if (ndr_flags & NDR_BUFFERS) {
17343
int level = ndr_push_get_switch_value(ndr, r);
17344
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
17347
NDR_CHECK(ndr_push_spoolss_PortInfo1(ndr, NDR_BUFFERS, &r->info1));
17351
NDR_CHECK(ndr_push_spoolss_PortInfo2(ndr, NDR_BUFFERS, &r->info2));
17355
NDR_CHECK(ndr_push_spoolss_PortInfo3(ndr, NDR_BUFFERS, &r->info3));
17359
NDR_CHECK(ndr_push_spoolss_PortInfoFF(ndr, NDR_BUFFERS, &r->infoFF));
17367
ndr->flags = _flags_save_UNION;
17369
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
17370
return NDR_ERR_SUCCESS;
17373
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PortInfo *r)
17375
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
17378
uint32_t _flags_save_UNION = ndr->flags;
17379
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
17380
level = ndr_pull_get_switch_value(ndr, r);
17381
if (ndr_flags & NDR_SCALARS) {
17382
NDR_CHECK(ndr_pull_union_align(ndr, 5));
17385
NDR_CHECK(ndr_pull_align(ndr, 5));
17386
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
17387
NDR_CHECK(ndr_pull_spoolss_PortInfo1(ndr, NDR_SCALARS, &r->info1));
17391
NDR_CHECK(ndr_pull_align(ndr, 5));
17392
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
17393
NDR_CHECK(ndr_pull_spoolss_PortInfo2(ndr, NDR_SCALARS, &r->info2));
17397
NDR_CHECK(ndr_pull_align(ndr, 5));
17398
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
17399
NDR_CHECK(ndr_pull_spoolss_PortInfo3(ndr, NDR_SCALARS, &r->info3));
17403
NDR_CHECK(ndr_pull_align(ndr, 5));
17404
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
17405
NDR_CHECK(ndr_pull_spoolss_PortInfoFF(ndr, NDR_SCALARS, &r->infoFF));
17413
if (ndr_flags & NDR_BUFFERS) {
17414
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
17417
NDR_CHECK(ndr_pull_spoolss_PortInfo1(ndr, NDR_BUFFERS, &r->info1));
17421
NDR_CHECK(ndr_pull_spoolss_PortInfo2(ndr, NDR_BUFFERS, &r->info2));
17425
NDR_CHECK(ndr_pull_spoolss_PortInfo3(ndr, NDR_BUFFERS, &r->info3));
17429
NDR_CHECK(ndr_pull_spoolss_PortInfoFF(ndr, NDR_BUFFERS, &r->infoFF));
17437
ndr->flags = _flags_save_UNION;
17439
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
17440
return NDR_ERR_SUCCESS;
17443
_PUBLIC_ void ndr_print_spoolss_PortInfo(struct ndr_print *ndr, const char *name, const union spoolss_PortInfo *r)
17447
uint32_t _flags_save_UNION = ndr->flags;
17448
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
17449
level = ndr_print_get_switch_value(ndr, r);
17450
ndr_print_union(ndr, name, level, "spoolss_PortInfo");
17453
ndr_print_spoolss_PortInfo1(ndr, "info1", &r->info1);
17457
ndr_print_spoolss_PortInfo2(ndr, "info2", &r->info2);
17461
ndr_print_spoolss_PortInfo3(ndr, "info3", &r->info3);
17465
ndr_print_spoolss_PortInfoFF(ndr, "infoFF", &r->infoFF);
17472
ndr->flags = _flags_save_UNION;
17476
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorInfo1 *r)
17478
if (ndr_flags & NDR_SCALARS) {
17479
NDR_CHECK(ndr_push_align(ndr, 5));
17481
uint32_t _flags_save_string = ndr->flags;
17482
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17483
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
17484
ndr->flags = _flags_save_string;
17486
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
17488
if (ndr_flags & NDR_BUFFERS) {
17490
uint32_t _flags_save_string = ndr->flags;
17491
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17492
if (r->monitor_name) {
17493
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
17494
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
17495
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
17497
ndr->flags = _flags_save_string;
17500
return NDR_ERR_SUCCESS;
17503
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_MonitorInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorInfo1 *r)
17505
uint32_t _ptr_monitor_name;
17506
TALLOC_CTX *_mem_save_monitor_name_0;
17507
if (ndr_flags & NDR_SCALARS) {
17508
NDR_CHECK(ndr_pull_align(ndr, 5));
17510
uint32_t _flags_save_string = ndr->flags;
17511
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17512
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
17513
if (_ptr_monitor_name) {
17514
NDR_PULL_ALLOC(ndr, r->monitor_name);
17515
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
17517
r->monitor_name = NULL;
17519
ndr->flags = _flags_save_string;
17521
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
17523
if (ndr_flags & NDR_BUFFERS) {
17525
uint32_t _flags_save_string = ndr->flags;
17526
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17527
if (r->monitor_name) {
17528
uint32_t _relative_save_offset;
17529
_relative_save_offset = ndr->offset;
17530
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
17531
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17532
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
17533
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
17534
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
17535
ndr->offset = _relative_save_offset;
17537
ndr->flags = _flags_save_string;
17540
return NDR_ERR_SUCCESS;
17543
_PUBLIC_ void ndr_print_spoolss_MonitorInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_MonitorInfo1 *r)
17545
ndr_print_struct(ndr, name, "spoolss_MonitorInfo1");
17547
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
17549
if (r->monitor_name) {
17550
ndr_print_string(ndr, "monitor_name", r->monitor_name);
17556
_PUBLIC_ size_t ndr_size_spoolss_MonitorInfo1(const struct spoolss_MonitorInfo1 *r, struct smb_iconv_convenience *ic, int flags)
17558
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_MonitorInfo1, ic);
17561
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorInfo2 *r)
17563
if (ndr_flags & NDR_SCALARS) {
17564
NDR_CHECK(ndr_push_align(ndr, 5));
17566
uint32_t _flags_save_string = ndr->flags;
17567
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17568
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
17569
ndr->flags = _flags_save_string;
17572
uint32_t _flags_save_string = ndr->flags;
17573
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17574
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->environment));
17575
ndr->flags = _flags_save_string;
17578
uint32_t _flags_save_string = ndr->flags;
17579
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17580
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dll_name));
17581
ndr->flags = _flags_save_string;
17583
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
17585
if (ndr_flags & NDR_BUFFERS) {
17587
uint32_t _flags_save_string = ndr->flags;
17588
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17589
if (r->monitor_name) {
17590
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
17591
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
17592
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
17594
ndr->flags = _flags_save_string;
17597
uint32_t _flags_save_string = ndr->flags;
17598
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17599
if (r->environment) {
17600
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->environment));
17601
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->environment));
17602
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->environment));
17604
ndr->flags = _flags_save_string;
17607
uint32_t _flags_save_string = ndr->flags;
17608
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17610
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dll_name));
17611
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dll_name));
17612
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dll_name));
17614
ndr->flags = _flags_save_string;
17617
return NDR_ERR_SUCCESS;
17620
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_MonitorInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorInfo2 *r)
17622
uint32_t _ptr_monitor_name;
17623
TALLOC_CTX *_mem_save_monitor_name_0;
17624
uint32_t _ptr_environment;
17625
TALLOC_CTX *_mem_save_environment_0;
17626
uint32_t _ptr_dll_name;
17627
TALLOC_CTX *_mem_save_dll_name_0;
17628
if (ndr_flags & NDR_SCALARS) {
17629
NDR_CHECK(ndr_pull_align(ndr, 5));
17631
uint32_t _flags_save_string = ndr->flags;
17632
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17633
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
17634
if (_ptr_monitor_name) {
17635
NDR_PULL_ALLOC(ndr, r->monitor_name);
17636
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
17638
r->monitor_name = NULL;
17640
ndr->flags = _flags_save_string;
17643
uint32_t _flags_save_string = ndr->flags;
17644
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17645
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
17646
if (_ptr_environment) {
17647
NDR_PULL_ALLOC(ndr, r->environment);
17648
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->environment, _ptr_environment));
17650
r->environment = NULL;
17652
ndr->flags = _flags_save_string;
17655
uint32_t _flags_save_string = ndr->flags;
17656
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17657
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dll_name));
17658
if (_ptr_dll_name) {
17659
NDR_PULL_ALLOC(ndr, r->dll_name);
17660
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dll_name, _ptr_dll_name));
17662
r->dll_name = NULL;
17664
ndr->flags = _flags_save_string;
17666
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
17668
if (ndr_flags & NDR_BUFFERS) {
17670
uint32_t _flags_save_string = ndr->flags;
17671
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17672
if (r->monitor_name) {
17673
uint32_t _relative_save_offset;
17674
_relative_save_offset = ndr->offset;
17675
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
17676
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17677
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
17678
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
17679
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
17680
ndr->offset = _relative_save_offset;
17682
ndr->flags = _flags_save_string;
17685
uint32_t _flags_save_string = ndr->flags;
17686
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17687
if (r->environment) {
17688
uint32_t _relative_save_offset;
17689
_relative_save_offset = ndr->offset;
17690
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->environment));
17691
_mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
17692
NDR_PULL_SET_MEM_CTX(ndr, r->environment, 0);
17693
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->environment));
17694
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
17695
ndr->offset = _relative_save_offset;
17697
ndr->flags = _flags_save_string;
17700
uint32_t _flags_save_string = ndr->flags;
17701
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17703
uint32_t _relative_save_offset;
17704
_relative_save_offset = ndr->offset;
17705
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dll_name));
17706
_mem_save_dll_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17707
NDR_PULL_SET_MEM_CTX(ndr, r->dll_name, 0);
17708
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dll_name));
17709
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dll_name_0, 0);
17710
ndr->offset = _relative_save_offset;
17712
ndr->flags = _flags_save_string;
17715
return NDR_ERR_SUCCESS;
17718
_PUBLIC_ void ndr_print_spoolss_MonitorInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_MonitorInfo2 *r)
17720
ndr_print_struct(ndr, name, "spoolss_MonitorInfo2");
17722
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
17724
if (r->monitor_name) {
17725
ndr_print_string(ndr, "monitor_name", r->monitor_name);
17728
ndr_print_ptr(ndr, "environment", r->environment);
17730
if (r->environment) {
17731
ndr_print_string(ndr, "environment", r->environment);
17734
ndr_print_ptr(ndr, "dll_name", r->dll_name);
17737
ndr_print_string(ndr, "dll_name", r->dll_name);
17743
_PUBLIC_ size_t ndr_size_spoolss_MonitorInfo2(const struct spoolss_MonitorInfo2 *r, struct smb_iconv_convenience *ic, int flags)
17745
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_MonitorInfo2, ic);
17748
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_MonitorInfo *r)
17750
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
17752
uint32_t _flags_save_UNION = ndr->flags;
17753
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
17754
if (ndr_flags & NDR_SCALARS) {
17755
int level = ndr_push_get_switch_value(ndr, r);
17756
NDR_CHECK(ndr_push_union_align(ndr, 5));
17759
NDR_CHECK(ndr_push_align(ndr, 5));
17760
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
17761
NDR_CHECK(ndr_push_spoolss_MonitorInfo1(ndr, NDR_SCALARS, &r->info1));
17765
NDR_CHECK(ndr_push_align(ndr, 5));
17766
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
17767
NDR_CHECK(ndr_push_spoolss_MonitorInfo2(ndr, NDR_SCALARS, &r->info2));
17775
if (ndr_flags & NDR_BUFFERS) {
17776
int level = ndr_push_get_switch_value(ndr, r);
17777
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
17780
NDR_CHECK(ndr_push_spoolss_MonitorInfo1(ndr, NDR_BUFFERS, &r->info1));
17784
NDR_CHECK(ndr_push_spoolss_MonitorInfo2(ndr, NDR_BUFFERS, &r->info2));
17792
ndr->flags = _flags_save_UNION;
17794
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
17795
return NDR_ERR_SUCCESS;
17798
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_MonitorInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_MonitorInfo *r)
17800
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
17803
uint32_t _flags_save_UNION = ndr->flags;
17804
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
17805
level = ndr_pull_get_switch_value(ndr, r);
17806
if (ndr_flags & NDR_SCALARS) {
17807
NDR_CHECK(ndr_pull_union_align(ndr, 5));
17810
NDR_CHECK(ndr_pull_align(ndr, 5));
17811
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
17812
NDR_CHECK(ndr_pull_spoolss_MonitorInfo1(ndr, NDR_SCALARS, &r->info1));
17816
NDR_CHECK(ndr_pull_align(ndr, 5));
17817
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
17818
NDR_CHECK(ndr_pull_spoolss_MonitorInfo2(ndr, NDR_SCALARS, &r->info2));
17826
if (ndr_flags & NDR_BUFFERS) {
17827
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
17830
NDR_CHECK(ndr_pull_spoolss_MonitorInfo1(ndr, NDR_BUFFERS, &r->info1));
17834
NDR_CHECK(ndr_pull_spoolss_MonitorInfo2(ndr, NDR_BUFFERS, &r->info2));
17842
ndr->flags = _flags_save_UNION;
17844
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
17845
return NDR_ERR_SUCCESS;
17848
_PUBLIC_ void ndr_print_spoolss_MonitorInfo(struct ndr_print *ndr, const char *name, const union spoolss_MonitorInfo *r)
17852
uint32_t _flags_save_UNION = ndr->flags;
17853
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
17854
level = ndr_print_get_switch_value(ndr, r);
17855
ndr_print_union(ndr, name, level, "spoolss_MonitorInfo");
17858
ndr_print_spoolss_MonitorInfo1(ndr, "info1", &r->info1);
17862
ndr_print_spoolss_MonitorInfo2(ndr, "info2", &r->info2);
17869
ndr->flags = _flags_save_UNION;
17873
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcDataTypesInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrintProcDataTypesInfo1 *r)
17875
if (ndr_flags & NDR_SCALARS) {
17876
NDR_CHECK(ndr_push_align(ndr, 5));
17878
uint32_t _flags_save_string = ndr->flags;
17879
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17880
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->name_array));
17881
ndr->flags = _flags_save_string;
17883
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
17885
if (ndr_flags & NDR_BUFFERS) {
17887
uint32_t _flags_save_string = ndr->flags;
17888
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17889
if (r->name_array) {
17890
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->name_array));
17891
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name_array));
17892
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->name_array));
17894
ndr->flags = _flags_save_string;
17897
return NDR_ERR_SUCCESS;
17900
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcDataTypesInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrintProcDataTypesInfo1 *r)
17902
uint32_t _ptr_name_array;
17903
TALLOC_CTX *_mem_save_name_array_0;
17904
if (ndr_flags & NDR_SCALARS) {
17905
NDR_CHECK(ndr_pull_align(ndr, 5));
17907
uint32_t _flags_save_string = ndr->flags;
17908
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17909
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name_array));
17910
if (_ptr_name_array) {
17911
NDR_PULL_ALLOC(ndr, r->name_array);
17912
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->name_array, _ptr_name_array));
17914
r->name_array = NULL;
17916
ndr->flags = _flags_save_string;
17918
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
17920
if (ndr_flags & NDR_BUFFERS) {
17922
uint32_t _flags_save_string = ndr->flags;
17923
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
17924
if (r->name_array) {
17925
uint32_t _relative_save_offset;
17926
_relative_save_offset = ndr->offset;
17927
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->name_array));
17928
_mem_save_name_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
17929
NDR_PULL_SET_MEM_CTX(ndr, r->name_array, 0);
17930
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name_array));
17931
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_array_0, 0);
17932
ndr->offset = _relative_save_offset;
17934
ndr->flags = _flags_save_string;
17937
return NDR_ERR_SUCCESS;
17940
_PUBLIC_ void ndr_print_spoolss_PrintProcDataTypesInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrintProcDataTypesInfo1 *r)
17942
ndr_print_struct(ndr, name, "spoolss_PrintProcDataTypesInfo1");
17944
ndr_print_ptr(ndr, "name_array", r->name_array);
17946
if (r->name_array) {
17947
ndr_print_string(ndr, "name_array", r->name_array);
17953
_PUBLIC_ size_t ndr_size_spoolss_PrintProcDataTypesInfo1(const struct spoolss_PrintProcDataTypesInfo1 *r, struct smb_iconv_convenience *ic, int flags)
17955
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrintProcDataTypesInfo1, ic);
17958
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcDataTypesInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcDataTypesInfo *r)
17960
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
17962
uint32_t _flags_save_UNION = ndr->flags;
17963
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
17964
if (ndr_flags & NDR_SCALARS) {
17965
int level = ndr_push_get_switch_value(ndr, r);
17966
NDR_CHECK(ndr_push_union_align(ndr, 5));
17969
NDR_CHECK(ndr_push_align(ndr, 5));
17970
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
17971
NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo1(ndr, NDR_SCALARS, &r->info1));
17979
if (ndr_flags & NDR_BUFFERS) {
17980
int level = ndr_push_get_switch_value(ndr, r);
17981
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
17984
NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo1(ndr, NDR_BUFFERS, &r->info1));
17992
ndr->flags = _flags_save_UNION;
17994
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
17995
return NDR_ERR_SUCCESS;
17998
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcDataTypesInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrintProcDataTypesInfo *r)
18000
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
18003
uint32_t _flags_save_UNION = ndr->flags;
18004
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
18005
level = ndr_pull_get_switch_value(ndr, r);
18006
if (ndr_flags & NDR_SCALARS) {
18007
NDR_CHECK(ndr_pull_union_align(ndr, 5));
18010
NDR_CHECK(ndr_pull_align(ndr, 5));
18011
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
18012
NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo1(ndr, NDR_SCALARS, &r->info1));
18020
if (ndr_flags & NDR_BUFFERS) {
18021
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
18024
NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo1(ndr, NDR_BUFFERS, &r->info1));
18032
ndr->flags = _flags_save_UNION;
18034
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
18035
return NDR_ERR_SUCCESS;
18038
_PUBLIC_ void ndr_print_spoolss_PrintProcDataTypesInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcDataTypesInfo *r)
18042
uint32_t _flags_save_UNION = ndr->flags;
18043
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
18044
level = ndr_print_get_switch_value(ndr, r);
18045
ndr_print_union(ndr, name, level, "spoolss_PrintProcDataTypesInfo");
18048
ndr_print_spoolss_PrintProcDataTypesInfo1(ndr, "info1", &r->info1);
18055
ndr->flags = _flags_save_UNION;
18059
static enum ndr_err_code ndr_push_spoolss_PrinterChangeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
18061
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
18062
return NDR_ERR_SUCCESS;
18065
static enum ndr_err_code ndr_pull_spoolss_PrinterChangeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
18068
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
18070
return NDR_ERR_SUCCESS;
18073
_PUBLIC_ void ndr_print_spoolss_PrinterChangeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
18075
ndr_print_uint32(ndr, name, r);
18077
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_PRINTER", PRINTER_CHANGE_ADD_PRINTER, r);
18078
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SET_PRINTER", PRINTER_CHANGE_SET_PRINTER, r);
18079
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_PRINTER", PRINTER_CHANGE_DELETE_PRINTER, r);
18080
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_FAILED_CONNECTION_PRINTER", PRINTER_CHANGE_FAILED_CONNECTION_PRINTER, r);
18081
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_JOB", PRINTER_CHANGE_ADD_JOB, r);
18082
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SET_JOB", PRINTER_CHANGE_SET_JOB, r);
18083
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_JOB", PRINTER_CHANGE_DELETE_JOB, r);
18084
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_WRITE_JOB", PRINTER_CHANGE_WRITE_JOB, r);
18085
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_FORM", PRINTER_CHANGE_ADD_FORM, r);
18086
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SET_FORM", PRINTER_CHANGE_SET_FORM, r);
18087
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_FORM", PRINTER_CHANGE_DELETE_FORM, r);
18088
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_PORT", PRINTER_CHANGE_ADD_PORT, r);
18089
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_CONFIGURE_PORT", PRINTER_CHANGE_CONFIGURE_PORT, r);
18090
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_PORT", PRINTER_CHANGE_DELETE_PORT, r);
18091
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_PRINT_PROCESSOR", PRINTER_CHANGE_ADD_PRINT_PROCESSOR, r);
18092
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_PRINT_PROCESSOR", PRINTER_CHANGE_DELETE_PRINT_PROCESSOR, r);
18093
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SERVER", PRINTER_CHANGE_SERVER, r);
18094
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_PRINTER_DRIVER", PRINTER_CHANGE_ADD_PRINTER_DRIVER, r);
18095
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SET_PRINTER_DRIVER", PRINTER_CHANGE_SET_PRINTER_DRIVER, r);
18096
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_PRINTER_DRIVER", PRINTER_CHANGE_DELETE_PRINTER_DRIVER, r);
18097
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_TIMEOUT", PRINTER_CHANGE_TIMEOUT, r);
18101
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobNotifyField(struct ndr_push *ndr, int ndr_flags, enum spoolss_JobNotifyField r)
18103
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
18104
return NDR_ERR_SUCCESS;
18107
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobNotifyField(struct ndr_pull *ndr, int ndr_flags, enum spoolss_JobNotifyField *r)
18110
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
18112
return NDR_ERR_SUCCESS;
18115
_PUBLIC_ void ndr_print_spoolss_JobNotifyField(struct ndr_print *ndr, const char *name, enum spoolss_JobNotifyField r)
18117
const char *val = NULL;
18120
case JOB_NOTIFY_FIELD_PRINTER_NAME: val = "JOB_NOTIFY_FIELD_PRINTER_NAME"; break;
18121
case JOB_NOTIFY_FIELD_MACHINE_NAME: val = "JOB_NOTIFY_FIELD_MACHINE_NAME"; break;
18122
case JOB_NOTIFY_FIELD_PORT_NAME: val = "JOB_NOTIFY_FIELD_PORT_NAME"; break;
18123
case JOB_NOTIFY_FIELD_USER_NAME: val = "JOB_NOTIFY_FIELD_USER_NAME"; break;
18124
case JOB_NOTIFY_FIELD_NOTIFY_NAME: val = "JOB_NOTIFY_FIELD_NOTIFY_NAME"; break;
18125
case JOB_NOTIFY_FIELD_DATATYPE: val = "JOB_NOTIFY_FIELD_DATATYPE"; break;
18126
case JOB_NOTIFY_FIELD_PRINT_PROCESSOR: val = "JOB_NOTIFY_FIELD_PRINT_PROCESSOR"; break;
18127
case JOB_NOTIFY_FIELD_PARAMETERS: val = "JOB_NOTIFY_FIELD_PARAMETERS"; break;
18128
case JOB_NOTIFY_FIELD_DRIVER_NAME: val = "JOB_NOTIFY_FIELD_DRIVER_NAME"; break;
18129
case JOB_NOTIFY_FIELD_DEVMODE: val = "JOB_NOTIFY_FIELD_DEVMODE"; break;
18130
case JOB_NOTIFY_FIELD_STATUS: val = "JOB_NOTIFY_FIELD_STATUS"; break;
18131
case JOB_NOTIFY_FIELD_STATUS_STRING: val = "JOB_NOTIFY_FIELD_STATUS_STRING"; break;
18132
case JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR: val = "JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR"; break;
18133
case JOB_NOTIFY_FIELD_DOCUMENT: val = "JOB_NOTIFY_FIELD_DOCUMENT"; break;
18134
case JOB_NOTIFY_FIELD_PRIORITY: val = "JOB_NOTIFY_FIELD_PRIORITY"; break;
18135
case JOB_NOTIFY_FIELD_POSITION: val = "JOB_NOTIFY_FIELD_POSITION"; break;
18136
case JOB_NOTIFY_FIELD_SUBMITTED: val = "JOB_NOTIFY_FIELD_SUBMITTED"; break;
18137
case JOB_NOTIFY_FIELD_START_TIME: val = "JOB_NOTIFY_FIELD_START_TIME"; break;
18138
case JOB_NOTIFY_FIELD_UNTIL_TIME: val = "JOB_NOTIFY_FIELD_UNTIL_TIME"; break;
18139
case JOB_NOTIFY_FIELD_TIME: val = "JOB_NOTIFY_FIELD_TIME"; break;
18140
case JOB_NOTIFY_FIELD_TOTAL_PAGES: val = "JOB_NOTIFY_FIELD_TOTAL_PAGES"; break;
18141
case JOB_NOTIFY_FIELD_PAGES_PRINTED: val = "JOB_NOTIFY_FIELD_PAGES_PRINTED"; break;
18142
case JOB_NOTIFY_FIELD_TOTAL_BYTES: val = "JOB_NOTIFY_FIELD_TOTAL_BYTES"; break;
18143
case JOB_NOTIFY_FIELD_BYTES_PRINTED: val = "JOB_NOTIFY_FIELD_BYTES_PRINTED"; break;
18145
ndr_print_enum(ndr, name, "ENUM", val, r);
18148
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintNotifyField(struct ndr_push *ndr, int ndr_flags, enum spoolss_PrintNotifyField r)
18150
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
18151
return NDR_ERR_SUCCESS;
18154
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintNotifyField(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PrintNotifyField *r)
18157
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
18159
return NDR_ERR_SUCCESS;
18162
_PUBLIC_ void ndr_print_spoolss_PrintNotifyField(struct ndr_print *ndr, const char *name, enum spoolss_PrintNotifyField r)
18164
const char *val = NULL;
18167
case PRINTER_NOTIFY_FIELD_SERVER_NAME: val = "PRINTER_NOTIFY_FIELD_SERVER_NAME"; break;
18168
case PRINTER_NOTIFY_FIELD_PRINTER_NAME: val = "PRINTER_NOTIFY_FIELD_PRINTER_NAME"; break;
18169
case PRINTER_NOTIFY_FIELD_SHARE_NAME: val = "PRINTER_NOTIFY_FIELD_SHARE_NAME"; break;
18170
case PRINTER_NOTIFY_FIELD_PORT_NAME: val = "PRINTER_NOTIFY_FIELD_PORT_NAME"; break;
18171
case PRINTER_NOTIFY_FIELD_DRIVER_NAME: val = "PRINTER_NOTIFY_FIELD_DRIVER_NAME"; break;
18172
case PRINTER_NOTIFY_FIELD_COMMENT: val = "PRINTER_NOTIFY_FIELD_COMMENT"; break;
18173
case PRINTER_NOTIFY_FIELD_LOCATION: val = "PRINTER_NOTIFY_FIELD_LOCATION"; break;
18174
case PRINTER_NOTIFY_FIELD_DEVMODE: val = "PRINTER_NOTIFY_FIELD_DEVMODE"; break;
18175
case PRINTER_NOTIFY_FIELD_SEPFILE: val = "PRINTER_NOTIFY_FIELD_SEPFILE"; break;
18176
case PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR: val = "PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR"; break;
18177
case PRINTER_NOTIFY_FIELD_PARAMETERS: val = "PRINTER_NOTIFY_FIELD_PARAMETERS"; break;
18178
case PRINTER_NOTIFY_FIELD_DATATYPE: val = "PRINTER_NOTIFY_FIELD_DATATYPE"; break;
18179
case PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR: val = "PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR"; break;
18180
case PRINTER_NOTIFY_FIELD_ATTRIBUTES: val = "PRINTER_NOTIFY_FIELD_ATTRIBUTES"; break;
18181
case PRINTER_NOTIFY_FIELD_PRIORITY: val = "PRINTER_NOTIFY_FIELD_PRIORITY"; break;
18182
case PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY: val = "PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY"; break;
18183
case PRINTER_NOTIFY_FIELD_START_TIME: val = "PRINTER_NOTIFY_FIELD_START_TIME"; break;
18184
case PRINTER_NOTIFY_FIELD_UNTIL_TIME: val = "PRINTER_NOTIFY_FIELD_UNTIL_TIME"; break;
18185
case PRINTER_NOTIFY_FIELD_STATUS: val = "PRINTER_NOTIFY_FIELD_STATUS"; break;
18186
case PRINTER_NOTIFY_FIELD_STATUS_STRING: val = "PRINTER_NOTIFY_FIELD_STATUS_STRING"; break;
18187
case PRINTER_NOTIFY_FIELD_CJOBS: val = "PRINTER_NOTIFY_FIELD_CJOBS"; break;
18188
case PRINTER_NOTIFY_FIELD_AVERAGE_PPM: val = "PRINTER_NOTIFY_FIELD_AVERAGE_PPM"; break;
18189
case PRINTER_NOTIFY_FIELD_TOTAL_PAGES: val = "PRINTER_NOTIFY_FIELD_TOTAL_PAGES"; break;
18190
case PRINTER_NOTIFY_FIELD_PAGES_PRINTED: val = "PRINTER_NOTIFY_FIELD_PAGES_PRINTED"; break;
18191
case PRINTER_NOTIFY_FIELD_TOTAL_BYTES: val = "PRINTER_NOTIFY_FIELD_TOTAL_BYTES"; break;
18192
case PRINTER_NOTIFY_FIELD_BYTES_PRINTED: val = "PRINTER_NOTIFY_FIELD_BYTES_PRINTED"; break;
18193
case PRINTER_NOTIFY_FIELD_OBJECT_GUID: val = "PRINTER_NOTIFY_FIELD_OBJECT_GUID"; break;
18194
case PRINTER_NOTIFY_FIELD_FRIENDLY_NAME: val = "PRINTER_NOTIFY_FIELD_FRIENDLY_NAME"; break;
18196
ndr_print_enum(ndr, name, "ENUM", val, r);
18199
static enum ndr_err_code ndr_push_spoolss_NotifyType(struct ndr_push *ndr, int ndr_flags, enum spoolss_NotifyType r)
18201
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
18202
return NDR_ERR_SUCCESS;
18205
static enum ndr_err_code ndr_pull_spoolss_NotifyType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_NotifyType *r)
18208
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
18210
return NDR_ERR_SUCCESS;
18213
_PUBLIC_ void ndr_print_spoolss_NotifyType(struct ndr_print *ndr, const char *name, enum spoolss_NotifyType r)
18215
const char *val = NULL;
18218
case PRINTER_NOTIFY_TYPE: val = "PRINTER_NOTIFY_TYPE"; break;
18219
case JOB_NOTIFY_TYPE: val = "JOB_NOTIFY_TYPE"; break;
18221
ndr_print_enum(ndr, name, "ENUM", val, r);
18224
static enum ndr_err_code ndr_push_spoolss_Field(struct ndr_push *ndr, int ndr_flags, const union spoolss_Field *r)
18226
if (ndr_flags & NDR_SCALARS) {
18227
int level = ndr_push_get_switch_value(ndr, r);
18228
NDR_CHECK(ndr_push_union_align(ndr, 2));
18230
case PRINTER_NOTIFY_TYPE: {
18231
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->field));
18234
case JOB_NOTIFY_TYPE: {
18235
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->field));
18239
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->field));
18244
if (ndr_flags & NDR_BUFFERS) {
18245
int level = ndr_push_get_switch_value(ndr, r);
18247
case PRINTER_NOTIFY_TYPE:
18250
case JOB_NOTIFY_TYPE:
18258
return NDR_ERR_SUCCESS;
18261
static enum ndr_err_code ndr_pull_spoolss_Field(struct ndr_pull *ndr, int ndr_flags, union spoolss_Field *r)
18264
level = ndr_pull_get_switch_value(ndr, r);
18265
if (ndr_flags & NDR_SCALARS) {
18266
NDR_CHECK(ndr_pull_union_align(ndr, 2));
18268
case PRINTER_NOTIFY_TYPE: {
18269
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->field));
18272
case JOB_NOTIFY_TYPE: {
18273
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->field));
18277
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->field));
18282
if (ndr_flags & NDR_BUFFERS) {
18284
case PRINTER_NOTIFY_TYPE:
18287
case JOB_NOTIFY_TYPE:
18295
return NDR_ERR_SUCCESS;
18298
static enum ndr_err_code ndr_push_spoolss_NotifyOptionType(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyOptionType *r)
18300
uint32_t cntr_fields_1;
18301
if (ndr_flags & NDR_SCALARS) {
18302
NDR_CHECK(ndr_push_align(ndr, 5));
18303
NDR_CHECK(ndr_push_spoolss_NotifyType(ndr, NDR_SCALARS, r->type));
18304
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->u1));
18305
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
18306
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
18307
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
18308
NDR_CHECK(ndr_push_unique_ptr(ndr, r->fields));
18309
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
18311
if (ndr_flags & NDR_BUFFERS) {
18313
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
18314
for (cntr_fields_1 = 0; cntr_fields_1 < r->count; cntr_fields_1++) {
18315
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->fields[cntr_fields_1], r->type));
18316
NDR_CHECK(ndr_push_spoolss_Field(ndr, NDR_SCALARS, &r->fields[cntr_fields_1]));
18320
return NDR_ERR_SUCCESS;
18323
static enum ndr_err_code ndr_pull_spoolss_NotifyOptionType(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyOptionType *r)
18325
uint32_t _ptr_fields;
18326
uint32_t cntr_fields_1;
18327
TALLOC_CTX *_mem_save_fields_0;
18328
TALLOC_CTX *_mem_save_fields_1;
18329
if (ndr_flags & NDR_SCALARS) {
18330
NDR_CHECK(ndr_pull_align(ndr, 5));
18331
NDR_CHECK(ndr_pull_spoolss_NotifyType(ndr, NDR_SCALARS, &r->type));
18332
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->u1));
18333
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
18334
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
18335
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
18336
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_fields));
18338
NDR_PULL_ALLOC(ndr, r->fields);
18342
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
18344
if (ndr_flags & NDR_BUFFERS) {
18346
_mem_save_fields_0 = NDR_PULL_GET_MEM_CTX(ndr);
18347
NDR_PULL_SET_MEM_CTX(ndr, r->fields, 0);
18348
NDR_CHECK(ndr_pull_array_size(ndr, &r->fields));
18349
NDR_PULL_ALLOC_N(ndr, r->fields, ndr_get_array_size(ndr, &r->fields));
18350
_mem_save_fields_1 = NDR_PULL_GET_MEM_CTX(ndr);
18351
NDR_PULL_SET_MEM_CTX(ndr, r->fields, 0);
18352
for (cntr_fields_1 = 0; cntr_fields_1 < r->count; cntr_fields_1++) {
18353
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->fields[cntr_fields_1], r->type));
18354
NDR_CHECK(ndr_pull_spoolss_Field(ndr, NDR_SCALARS, &r->fields[cntr_fields_1]));
18356
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_fields_1, 0);
18357
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_fields_0, 0);
18360
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->fields, r->count));
18363
return NDR_ERR_SUCCESS;
18366
_PUBLIC_ void ndr_print_spoolss_NotifyOptionType(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyOptionType *r)
18368
uint32_t cntr_fields_1;
18369
ndr_print_struct(ndr, name, "spoolss_NotifyOptionType");
18371
ndr_print_spoolss_NotifyType(ndr, "type", r->type);
18372
ndr_print_uint16(ndr, "u1", r->u1);
18373
ndr_print_uint32(ndr, "u2", r->u2);
18374
ndr_print_uint32(ndr, "u3", r->u3);
18375
ndr_print_uint32(ndr, "count", r->count);
18376
ndr_print_ptr(ndr, "fields", r->fields);
18379
ndr->print(ndr, "%s: ARRAY(%d)", "fields", (int)r->count);
18381
for (cntr_fields_1=0;cntr_fields_1<r->count;cntr_fields_1++) {
18383
if (asprintf(&idx_1, "[%d]", cntr_fields_1) != -1) {
18384
ndr_print_set_switch_value(ndr, &r->fields[cntr_fields_1], r->type);
18385
ndr_print_spoolss_Field(ndr, "fields", &r->fields[cntr_fields_1]);
18395
static enum ndr_err_code ndr_push_spoolssNotifyOptionFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
18397
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
18398
return NDR_ERR_SUCCESS;
18401
static enum ndr_err_code ndr_pull_spoolssNotifyOptionFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
18404
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
18406
return NDR_ERR_SUCCESS;
18409
_PUBLIC_ void ndr_print_spoolssNotifyOptionFlags(struct ndr_print *ndr, const char *name, uint32_t r)
18411
ndr_print_uint32(ndr, name, r);
18413
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_NOTIFY_OPTIONS_REFRESH", PRINTER_NOTIFY_OPTIONS_REFRESH, r);
18417
static enum ndr_err_code ndr_push_spoolss_NotifyOption(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyOption *r)
18419
uint32_t cntr_types_1;
18420
if (ndr_flags & NDR_SCALARS) {
18421
NDR_CHECK(ndr_push_align(ndr, 5));
18422
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
18423
NDR_CHECK(ndr_push_spoolssNotifyOptionFlags(ndr, NDR_SCALARS, r->flags));
18424
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
18425
NDR_CHECK(ndr_push_unique_ptr(ndr, r->types));
18426
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
18428
if (ndr_flags & NDR_BUFFERS) {
18430
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
18431
for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
18432
NDR_CHECK(ndr_push_spoolss_NotifyOptionType(ndr, NDR_SCALARS, &r->types[cntr_types_1]));
18434
for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
18435
NDR_CHECK(ndr_push_spoolss_NotifyOptionType(ndr, NDR_BUFFERS, &r->types[cntr_types_1]));
18439
return NDR_ERR_SUCCESS;
18442
static enum ndr_err_code ndr_pull_spoolss_NotifyOption(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyOption *r)
18444
uint32_t _ptr_types;
18445
uint32_t cntr_types_1;
18446
TALLOC_CTX *_mem_save_types_0;
18447
TALLOC_CTX *_mem_save_types_1;
18448
if (ndr_flags & NDR_SCALARS) {
18449
NDR_CHECK(ndr_pull_align(ndr, 5));
18450
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
18451
NDR_CHECK(ndr_pull_spoolssNotifyOptionFlags(ndr, NDR_SCALARS, &r->flags));
18452
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
18453
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_types));
18455
NDR_PULL_ALLOC(ndr, r->types);
18459
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
18461
if (ndr_flags & NDR_BUFFERS) {
18463
_mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
18464
NDR_PULL_SET_MEM_CTX(ndr, r->types, 0);
18465
NDR_CHECK(ndr_pull_array_size(ndr, &r->types));
18466
NDR_PULL_ALLOC_N(ndr, r->types, ndr_get_array_size(ndr, &r->types));
18467
_mem_save_types_1 = NDR_PULL_GET_MEM_CTX(ndr);
18468
NDR_PULL_SET_MEM_CTX(ndr, r->types, 0);
18469
for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
18470
NDR_CHECK(ndr_pull_spoolss_NotifyOptionType(ndr, NDR_SCALARS, &r->types[cntr_types_1]));
18472
for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
18473
NDR_CHECK(ndr_pull_spoolss_NotifyOptionType(ndr, NDR_BUFFERS, &r->types[cntr_types_1]));
18475
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_1, 0);
18476
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, 0);
18479
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->types, r->count));
18482
return NDR_ERR_SUCCESS;
18485
_PUBLIC_ void ndr_print_spoolss_NotifyOption(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyOption *r)
18487
uint32_t cntr_types_1;
18488
ndr_print_struct(ndr, name, "spoolss_NotifyOption");
18490
ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
18491
ndr_print_spoolssNotifyOptionFlags(ndr, "flags", r->flags);
18492
ndr_print_uint32(ndr, "count", r->count);
18493
ndr_print_ptr(ndr, "types", r->types);
18496
ndr->print(ndr, "%s: ARRAY(%d)", "types", (int)r->count);
18498
for (cntr_types_1=0;cntr_types_1<r->count;cntr_types_1++) {
18500
if (asprintf(&idx_1, "[%d]", cntr_types_1) != -1) {
18501
ndr_print_spoolss_NotifyOptionType(ndr, "types", &r->types[cntr_types_1]);
18511
static enum ndr_err_code ndr_push_spoolss_NotifyString(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyString *r)
18513
if (ndr_flags & NDR_SCALARS) {
18514
NDR_CHECK(ndr_push_align(ndr, 5));
18515
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
18516
NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
18517
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
18519
if (ndr_flags & NDR_BUFFERS) {
18521
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size / 2));
18522
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, r->size / 2, sizeof(uint16_t), CH_UTF16));
18525
return NDR_ERR_SUCCESS;
18528
static enum ndr_err_code ndr_pull_spoolss_NotifyString(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyString *r)
18530
uint32_t _ptr_string;
18531
TALLOC_CTX *_mem_save_string_0;
18532
if (ndr_flags & NDR_SCALARS) {
18533
NDR_CHECK(ndr_pull_align(ndr, 5));
18534
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
18535
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
18537
NDR_PULL_ALLOC(ndr, r->string);
18541
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
18543
if (ndr_flags & NDR_BUFFERS) {
18545
_mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
18546
NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
18547
NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
18548
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_size(ndr, &r->string), sizeof(uint16_t), CH_UTF16));
18549
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
18552
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->size / 2));
18555
return NDR_ERR_SUCCESS;
18558
_PUBLIC_ void ndr_print_spoolss_NotifyString(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyString *r)
18560
ndr_print_struct(ndr, name, "spoolss_NotifyString");
18562
ndr_print_uint32(ndr, "size", r->size);
18563
ndr_print_ptr(ndr, "string", r->string);
18566
ndr_print_string(ndr, "string", r->string);
18572
static enum ndr_err_code ndr_push_spoolss_NotifyTable(struct ndr_push *ndr, int ndr_flags, enum spoolss_NotifyTable r)
18574
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
18575
return NDR_ERR_SUCCESS;
18578
static enum ndr_err_code ndr_pull_spoolss_NotifyTable(struct ndr_pull *ndr, int ndr_flags, enum spoolss_NotifyTable *r)
18581
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
18583
return NDR_ERR_SUCCESS;
18586
_PUBLIC_ void ndr_print_spoolss_NotifyTable(struct ndr_print *ndr, const char *name, enum spoolss_NotifyTable r)
18588
const char *val = NULL;
18591
case NOTIFY_TABLE_DWORD: val = "NOTIFY_TABLE_DWORD"; break;
18592
case NOTIFY_TABLE_STRING: val = "NOTIFY_TABLE_STRING"; break;
18593
case NOTIFY_TABLE_DEVMODE: val = "NOTIFY_TABLE_DEVMODE"; break;
18594
case NOTIFY_TABLE_TIME: val = "NOTIFY_TABLE_TIME"; break;
18595
case NOTIFY_TABLE_SECURITYDESCRIPTOR: val = "NOTIFY_TABLE_SECURITYDESCRIPTOR"; break;
18597
ndr_print_enum(ndr, name, "ENUM", val, r);
18600
static enum ndr_err_code ndr_push_spoolss_NotifyData(struct ndr_push *ndr, int ndr_flags, const union spoolss_NotifyData *r)
18602
if (ndr_flags & NDR_SCALARS) {
18603
int level = ndr_push_get_switch_value(ndr, r);
18604
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
18605
NDR_CHECK(ndr_push_union_align(ndr, 5));
18608
uint32_t cntr_integer_0;
18609
for (cntr_integer_0 = 0; cntr_integer_0 < 2; cntr_integer_0++) {
18610
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->integer[cntr_integer_0]));
18615
NDR_CHECK(ndr_push_spoolss_NotifyString(ndr, NDR_SCALARS, &r->string));
18619
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS, &r->devmode));
18623
NDR_CHECK(ndr_push_spoolss_TimeCtr(ndr, NDR_SCALARS, &r->time));
18627
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sd));
18631
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
18634
if (ndr_flags & NDR_BUFFERS) {
18635
int level = ndr_push_get_switch_value(ndr, r);
18641
NDR_CHECK(ndr_push_spoolss_NotifyString(ndr, NDR_BUFFERS, &r->string));
18645
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_BUFFERS, &r->devmode));
18649
NDR_CHECK(ndr_push_spoolss_TimeCtr(ndr, NDR_BUFFERS, &r->time));
18653
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sd));
18657
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
18660
return NDR_ERR_SUCCESS;
18663
static enum ndr_err_code ndr_pull_spoolss_NotifyData(struct ndr_pull *ndr, int ndr_flags, union spoolss_NotifyData *r)
18667
level = ndr_pull_get_switch_value(ndr, r);
18668
if (ndr_flags & NDR_SCALARS) {
18669
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
18670
if (_level != level) {
18671
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
18673
NDR_CHECK(ndr_pull_union_align(ndr, 5));
18676
uint32_t cntr_integer_0;
18677
for (cntr_integer_0 = 0; cntr_integer_0 < 2; cntr_integer_0++) {
18678
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->integer[cntr_integer_0]));
18683
NDR_CHECK(ndr_pull_spoolss_NotifyString(ndr, NDR_SCALARS, &r->string));
18687
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS, &r->devmode));
18691
NDR_CHECK(ndr_pull_spoolss_TimeCtr(ndr, NDR_SCALARS, &r->time));
18695
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sd));
18699
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
18702
if (ndr_flags & NDR_BUFFERS) {
18708
NDR_CHECK(ndr_pull_spoolss_NotifyString(ndr, NDR_BUFFERS, &r->string));
18712
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_BUFFERS, &r->devmode));
18716
NDR_CHECK(ndr_pull_spoolss_TimeCtr(ndr, NDR_BUFFERS, &r->time));
18720
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sd));
18724
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
18727
return NDR_ERR_SUCCESS;
18730
_PUBLIC_ void ndr_print_spoolss_NotifyData(struct ndr_print *ndr, const char *name, const union spoolss_NotifyData *r)
18733
uint32_t cntr_integer_0;
18734
level = ndr_print_get_switch_value(ndr, r);
18735
ndr_print_union(ndr, name, level, "spoolss_NotifyData");
18738
ndr->print(ndr, "%s: ARRAY(%d)", "integer", (int)2);
18740
for (cntr_integer_0=0;cntr_integer_0<2;cntr_integer_0++) {
18742
if (asprintf(&idx_0, "[%d]", cntr_integer_0) != -1) {
18743
ndr_print_uint32(ndr, "integer", r->integer[cntr_integer_0]);
18751
ndr_print_spoolss_NotifyString(ndr, "string", &r->string);
18755
ndr_print_spoolss_DevmodeContainer(ndr, "devmode", &r->devmode);
18759
ndr_print_spoolss_TimeCtr(ndr, "time", &r->time);
18763
ndr_print_sec_desc_buf(ndr, "sd", &r->sd);
18767
ndr_print_bad_level(ndr, name, level);
18771
static enum ndr_err_code ndr_push_spoolss_Notify(struct ndr_push *ndr, int ndr_flags, const struct spoolss_Notify *r)
18773
if (ndr_flags & NDR_SCALARS) {
18774
NDR_CHECK(ndr_push_align(ndr, 5));
18775
NDR_CHECK(ndr_push_spoolss_NotifyType(ndr, NDR_SCALARS, r->type));
18776
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->field, r->type));
18777
NDR_CHECK(ndr_push_spoolss_Field(ndr, NDR_SCALARS, &r->field));
18778
NDR_CHECK(ndr_push_spoolss_NotifyTable(ndr, NDR_SCALARS, r->variable_type));
18779
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
18780
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->data, r->variable_type));
18781
NDR_CHECK(ndr_push_spoolss_NotifyData(ndr, NDR_SCALARS, &r->data));
18782
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
18784
if (ndr_flags & NDR_BUFFERS) {
18785
NDR_CHECK(ndr_push_spoolss_NotifyData(ndr, NDR_BUFFERS, &r->data));
18787
return NDR_ERR_SUCCESS;
18790
static enum ndr_err_code ndr_pull_spoolss_Notify(struct ndr_pull *ndr, int ndr_flags, struct spoolss_Notify *r)
18792
if (ndr_flags & NDR_SCALARS) {
18793
NDR_CHECK(ndr_pull_align(ndr, 5));
18794
NDR_CHECK(ndr_pull_spoolss_NotifyType(ndr, NDR_SCALARS, &r->type));
18795
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->field, r->type));
18796
NDR_CHECK(ndr_pull_spoolss_Field(ndr, NDR_SCALARS, &r->field));
18797
NDR_CHECK(ndr_pull_spoolss_NotifyTable(ndr, NDR_SCALARS, &r->variable_type));
18798
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
18799
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->data, r->variable_type));
18800
NDR_CHECK(ndr_pull_spoolss_NotifyData(ndr, NDR_SCALARS, &r->data));
18801
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
18803
if (ndr_flags & NDR_BUFFERS) {
18804
NDR_CHECK(ndr_pull_spoolss_NotifyData(ndr, NDR_BUFFERS, &r->data));
18806
return NDR_ERR_SUCCESS;
18809
_PUBLIC_ void ndr_print_spoolss_Notify(struct ndr_print *ndr, const char *name, const struct spoolss_Notify *r)
18811
ndr_print_struct(ndr, name, "spoolss_Notify");
18813
ndr_print_spoolss_NotifyType(ndr, "type", r->type);
18814
ndr_print_set_switch_value(ndr, &r->field, r->type);
18815
ndr_print_spoolss_Field(ndr, "field", &r->field);
18816
ndr_print_spoolss_NotifyTable(ndr, "variable_type", r->variable_type);
18817
ndr_print_uint32(ndr, "job_id", r->job_id);
18818
ndr_print_set_switch_value(ndr, &r->data, r->variable_type);
18819
ndr_print_spoolss_NotifyData(ndr, "data", &r->data);
18823
static enum ndr_err_code ndr_push_spoolss_NotifyInfo(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyInfo *r)
18825
uint32_t cntr_notifies_0;
18826
if (ndr_flags & NDR_SCALARS) {
18827
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
18828
NDR_CHECK(ndr_push_align(ndr, 5));
18829
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
18830
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
18831
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
18832
for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) {
18833
NDR_CHECK(ndr_push_spoolss_Notify(ndr, NDR_SCALARS, &r->notifies[cntr_notifies_0]));
18835
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
18837
if (ndr_flags & NDR_BUFFERS) {
18838
for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) {
18839
NDR_CHECK(ndr_push_spoolss_Notify(ndr, NDR_BUFFERS, &r->notifies[cntr_notifies_0]));
18842
return NDR_ERR_SUCCESS;
18845
static enum ndr_err_code ndr_pull_spoolss_NotifyInfo(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyInfo *r)
18847
uint32_t cntr_notifies_0;
18848
TALLOC_CTX *_mem_save_notifies_0;
18849
if (ndr_flags & NDR_SCALARS) {
18850
NDR_CHECK(ndr_pull_array_size(ndr, &r->notifies));
18851
NDR_CHECK(ndr_pull_align(ndr, 5));
18852
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
18853
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
18854
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
18855
NDR_PULL_ALLOC_N(ndr, r->notifies, ndr_get_array_size(ndr, &r->notifies));
18856
_mem_save_notifies_0 = NDR_PULL_GET_MEM_CTX(ndr);
18857
NDR_PULL_SET_MEM_CTX(ndr, r->notifies, 0);
18858
for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) {
18859
NDR_CHECK(ndr_pull_spoolss_Notify(ndr, NDR_SCALARS, &r->notifies[cntr_notifies_0]));
18861
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notifies_0, 0);
18863
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->notifies, r->count));
18865
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
18867
if (ndr_flags & NDR_BUFFERS) {
18868
_mem_save_notifies_0 = NDR_PULL_GET_MEM_CTX(ndr);
18869
NDR_PULL_SET_MEM_CTX(ndr, r->notifies, 0);
18870
for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) {
18871
NDR_CHECK(ndr_pull_spoolss_Notify(ndr, NDR_BUFFERS, &r->notifies[cntr_notifies_0]));
18873
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notifies_0, 0);
18875
return NDR_ERR_SUCCESS;
18878
_PUBLIC_ void ndr_print_spoolss_NotifyInfo(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyInfo *r)
18880
uint32_t cntr_notifies_0;
18881
ndr_print_struct(ndr, name, "spoolss_NotifyInfo");
18883
ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
18884
ndr_print_uint32(ndr, "flags", r->flags);
18885
ndr_print_uint32(ndr, "count", r->count);
18886
ndr->print(ndr, "%s: ARRAY(%d)", "notifies", (int)r->count);
18888
for (cntr_notifies_0=0;cntr_notifies_0<r->count;cntr_notifies_0++) {
18890
if (asprintf(&idx_0, "[%d]", cntr_notifies_0) != -1) {
18891
ndr_print_spoolss_Notify(ndr, "notifies", &r->notifies[cntr_notifies_0]);
18899
static enum ndr_err_code ndr_push_spoolss_ReplyPrinterInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_ReplyPrinterInfo *r)
18901
if (ndr_flags & NDR_SCALARS) {
18902
int level = ndr_push_get_switch_value(ndr, r);
18903
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
18904
NDR_CHECK(ndr_push_union_align(ndr, 5));
18907
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
18911
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
18914
if (ndr_flags & NDR_BUFFERS) {
18915
int level = ndr_push_get_switch_value(ndr, r);
18919
NDR_CHECK(ndr_push_spoolss_NotifyInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
18924
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
18927
return NDR_ERR_SUCCESS;
18930
static enum ndr_err_code ndr_pull_spoolss_ReplyPrinterInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_ReplyPrinterInfo *r)
18934
TALLOC_CTX *_mem_save_info0_0;
18935
level = ndr_pull_get_switch_value(ndr, r);
18936
if (ndr_flags & NDR_SCALARS) {
18937
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
18938
if (_level != level) {
18939
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
18941
NDR_CHECK(ndr_pull_union_align(ndr, 5));
18944
uint32_t _ptr_info0;
18945
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
18947
NDR_PULL_ALLOC(ndr, r->info0);
18954
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
18957
if (ndr_flags & NDR_BUFFERS) {
18961
_mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
18962
NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
18963
NDR_CHECK(ndr_pull_spoolss_NotifyInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
18964
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
18969
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
18972
return NDR_ERR_SUCCESS;
18975
_PUBLIC_ void ndr_print_spoolss_ReplyPrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_ReplyPrinterInfo *r)
18978
level = ndr_print_get_switch_value(ndr, r);
18979
ndr_print_union(ndr, name, level, "spoolss_ReplyPrinterInfo");
18982
ndr_print_ptr(ndr, "info0", r->info0);
18985
ndr_print_spoolss_NotifyInfo(ndr, "info0", r->info0);
18991
ndr_print_bad_level(ndr, name, level);
18995
static enum ndr_err_code ndr_push_spoolss_PrinterNotifyFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
18997
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
18998
return NDR_ERR_SUCCESS;
19001
static enum ndr_err_code ndr_pull_spoolss_PrinterNotifyFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
19004
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
19006
return NDR_ERR_SUCCESS;
19009
_PUBLIC_ void ndr_print_spoolss_PrinterNotifyFlags(struct ndr_print *ndr, const char *name, uint32_t r)
19011
ndr_print_uint32(ndr, name, r);
19013
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_NOTIFY_INFO_DISCARDED", PRINTER_NOTIFY_INFO_DISCARDED, r);
19014
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_NOTIFY_INFO_DISCARDNOTED", PRINTER_NOTIFY_INFO_DISCARDNOTED, r);
19015
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_NOTIFY_INFO_COLOR_MISMATCH", PRINTER_NOTIFY_INFO_COLOR_MISMATCH, r);
19019
static enum ndr_err_code ndr_push_spoolss_UserLevel1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UserLevel1 *r)
19021
if (ndr_flags & NDR_SCALARS) {
19022
NDR_CHECK(ndr_push_align(ndr, 5));
19023
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
19024
NDR_CHECK(ndr_push_unique_ptr(ndr, r->client));
19025
NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
19026
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build));
19027
NDR_CHECK(ndr_push_spoolss_MajorVersion(ndr, NDR_SCALARS, r->major));
19028
NDR_CHECK(ndr_push_spoolss_MinorVersion(ndr, NDR_SCALARS, r->minor));
19029
NDR_CHECK(ndr_push_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, r->processor));
19030
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
19032
if (ndr_flags & NDR_BUFFERS) {
19034
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16)));
19035
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
19036
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16)));
19037
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client, ndr_charset_length(r->client, CH_UTF16), sizeof(uint16_t), CH_UTF16));
19040
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
19041
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
19042
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
19043
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16));
19046
return NDR_ERR_SUCCESS;
19049
static enum ndr_err_code ndr_pull_spoolss_UserLevel1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UserLevel1 *r)
19051
uint32_t _ptr_client;
19052
TALLOC_CTX *_mem_save_client_0;
19053
uint32_t _ptr_user;
19054
TALLOC_CTX *_mem_save_user_0;
19055
if (ndr_flags & NDR_SCALARS) {
19056
NDR_CHECK(ndr_pull_align(ndr, 5));
19057
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
19058
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client));
19060
NDR_PULL_ALLOC(ndr, r->client);
19064
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
19066
NDR_PULL_ALLOC(ndr, r->user);
19070
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build));
19071
NDR_CHECK(ndr_pull_spoolss_MajorVersion(ndr, NDR_SCALARS, &r->major));
19072
NDR_CHECK(ndr_pull_spoolss_MinorVersion(ndr, NDR_SCALARS, &r->minor));
19073
NDR_CHECK(ndr_pull_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, &r->processor));
19074
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
19076
if (ndr_flags & NDR_BUFFERS) {
19078
_mem_save_client_0 = NDR_PULL_GET_MEM_CTX(ndr);
19079
NDR_PULL_SET_MEM_CTX(ndr, r->client, 0);
19080
NDR_CHECK(ndr_pull_array_size(ndr, &r->client));
19081
NDR_CHECK(ndr_pull_array_length(ndr, &r->client));
19082
if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) {
19083
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client), ndr_get_array_length(ndr, &r->client));
19085
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t)));
19086
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16));
19087
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0);
19090
_mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
19091
NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
19092
NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
19093
NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
19094
if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
19095
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user));
19097
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
19098
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
19099
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
19102
return NDR_ERR_SUCCESS;
19105
_PUBLIC_ void ndr_print_spoolss_UserLevel1(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevel1 *r)
19107
ndr_print_struct(ndr, name, "spoolss_UserLevel1");
19109
ndr_print_uint32(ndr, "size", r->size);
19110
ndr_print_ptr(ndr, "client", r->client);
19113
ndr_print_string(ndr, "client", r->client);
19116
ndr_print_ptr(ndr, "user", r->user);
19119
ndr_print_string(ndr, "user", r->user);
19122
ndr_print_uint32(ndr, "build", r->build);
19123
ndr_print_spoolss_MajorVersion(ndr, "major", r->major);
19124
ndr_print_spoolss_MinorVersion(ndr, "minor", r->minor);
19125
ndr_print_spoolss_ProcessorArchitecture(ndr, "processor", r->processor);
19129
static enum ndr_err_code ndr_push_spoolss_UserLevel2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UserLevel2 *r)
19131
if (ndr_flags & NDR_SCALARS) {
19132
NDR_CHECK(ndr_push_align(ndr, 4));
19133
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->not_used));
19134
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
19136
if (ndr_flags & NDR_BUFFERS) {
19138
return NDR_ERR_SUCCESS;
19141
static enum ndr_err_code ndr_pull_spoolss_UserLevel2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UserLevel2 *r)
19143
if (ndr_flags & NDR_SCALARS) {
19144
NDR_CHECK(ndr_pull_align(ndr, 4));
19145
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->not_used));
19146
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
19148
if (ndr_flags & NDR_BUFFERS) {
19150
return NDR_ERR_SUCCESS;
19153
_PUBLIC_ void ndr_print_spoolss_UserLevel2(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevel2 *r)
19155
ndr_print_struct(ndr, name, "spoolss_UserLevel2");
19157
ndr_print_uint32(ndr, "not_used", r->not_used);
19161
static enum ndr_err_code ndr_push_spoolss_UserLevel3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UserLevel3 *r)
19163
if (ndr_flags & NDR_SCALARS) {
19164
NDR_CHECK(ndr_push_align(ndr, 5));
19165
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
19166
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
19167
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size2));
19168
NDR_CHECK(ndr_push_unique_ptr(ndr, r->client));
19169
NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
19170
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build));
19171
NDR_CHECK(ndr_push_spoolss_MajorVersion(ndr, NDR_SCALARS, r->major));
19172
NDR_CHECK(ndr_push_spoolss_MinorVersion(ndr, NDR_SCALARS, r->minor));
19173
NDR_CHECK(ndr_push_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, r->processor));
19174
NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->reserved));
19175
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
19177
if (ndr_flags & NDR_BUFFERS) {
19179
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16)));
19180
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
19181
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16)));
19182
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client, ndr_charset_length(r->client, CH_UTF16), sizeof(uint16_t), CH_UTF16));
19185
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
19186
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
19187
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
19188
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16));
19191
return NDR_ERR_SUCCESS;
19194
static enum ndr_err_code ndr_pull_spoolss_UserLevel3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UserLevel3 *r)
19196
uint32_t _ptr_client;
19197
TALLOC_CTX *_mem_save_client_0;
19198
uint32_t _ptr_user;
19199
TALLOC_CTX *_mem_save_user_0;
19200
if (ndr_flags & NDR_SCALARS) {
19201
NDR_CHECK(ndr_pull_align(ndr, 5));
19202
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
19203
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
19204
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size2));
19205
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client));
19207
NDR_PULL_ALLOC(ndr, r->client);
19211
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
19213
NDR_PULL_ALLOC(ndr, r->user);
19217
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build));
19218
NDR_CHECK(ndr_pull_spoolss_MajorVersion(ndr, NDR_SCALARS, &r->major));
19219
NDR_CHECK(ndr_pull_spoolss_MinorVersion(ndr, NDR_SCALARS, &r->minor));
19220
NDR_CHECK(ndr_pull_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, &r->processor));
19221
NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->reserved));
19222
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
19224
if (ndr_flags & NDR_BUFFERS) {
19226
_mem_save_client_0 = NDR_PULL_GET_MEM_CTX(ndr);
19227
NDR_PULL_SET_MEM_CTX(ndr, r->client, 0);
19228
NDR_CHECK(ndr_pull_array_size(ndr, &r->client));
19229
NDR_CHECK(ndr_pull_array_length(ndr, &r->client));
19230
if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) {
19231
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client), ndr_get_array_length(ndr, &r->client));
19233
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t)));
19234
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16));
19235
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0);
19238
_mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
19239
NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
19240
NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
19241
NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
19242
if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
19243
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user));
19245
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
19246
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
19247
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
19250
return NDR_ERR_SUCCESS;
19253
_PUBLIC_ void ndr_print_spoolss_UserLevel3(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevel3 *r)
19255
ndr_print_struct(ndr, name, "spoolss_UserLevel3");
19257
ndr_print_uint32(ndr, "size", r->size);
19258
ndr_print_uint32(ndr, "flags", r->flags);
19259
ndr_print_uint32(ndr, "size2", r->size2);
19260
ndr_print_ptr(ndr, "client", r->client);
19263
ndr_print_string(ndr, "client", r->client);
19266
ndr_print_ptr(ndr, "user", r->user);
19269
ndr_print_string(ndr, "user", r->user);
19272
ndr_print_uint32(ndr, "build", r->build);
19273
ndr_print_spoolss_MajorVersion(ndr, "major", r->major);
19274
ndr_print_spoolss_MinorVersion(ndr, "minor", r->minor);
19275
ndr_print_spoolss_ProcessorArchitecture(ndr, "processor", r->processor);
19276
ndr_print_udlong(ndr, "reserved", r->reserved);
19280
static enum ndr_err_code ndr_push_spoolss_UserLevel(struct ndr_push *ndr, int ndr_flags, const union spoolss_UserLevel *r)
19282
if (ndr_flags & NDR_SCALARS) {
19283
int level = ndr_push_get_switch_value(ndr, r);
19284
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
19285
NDR_CHECK(ndr_push_union_align(ndr, 5));
19288
NDR_CHECK(ndr_push_unique_ptr(ndr, r->level1));
19292
NDR_CHECK(ndr_push_unique_ptr(ndr, r->level2));
19296
NDR_CHECK(ndr_push_unique_ptr(ndr, r->level3));
19300
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
19303
if (ndr_flags & NDR_BUFFERS) {
19304
int level = ndr_push_get_switch_value(ndr, r);
19308
NDR_CHECK(ndr_push_spoolss_UserLevel1(ndr, NDR_SCALARS|NDR_BUFFERS, r->level1));
19314
NDR_CHECK(ndr_push_spoolss_UserLevel2(ndr, NDR_SCALARS, r->level2));
19320
NDR_CHECK(ndr_push_spoolss_UserLevel3(ndr, NDR_SCALARS|NDR_BUFFERS, r->level3));
19325
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
19328
return NDR_ERR_SUCCESS;
19331
static enum ndr_err_code ndr_pull_spoolss_UserLevel(struct ndr_pull *ndr, int ndr_flags, union spoolss_UserLevel *r)
19335
TALLOC_CTX *_mem_save_level1_0;
19336
TALLOC_CTX *_mem_save_level2_0;
19337
TALLOC_CTX *_mem_save_level3_0;
19338
level = ndr_pull_get_switch_value(ndr, r);
19339
if (ndr_flags & NDR_SCALARS) {
19340
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
19341
if (_level != level) {
19342
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
19344
NDR_CHECK(ndr_pull_union_align(ndr, 5));
19347
uint32_t _ptr_level1;
19348
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_level1));
19350
NDR_PULL_ALLOC(ndr, r->level1);
19357
uint32_t _ptr_level2;
19358
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_level2));
19360
NDR_PULL_ALLOC(ndr, r->level2);
19367
uint32_t _ptr_level3;
19368
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_level3));
19370
NDR_PULL_ALLOC(ndr, r->level3);
19377
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
19380
if (ndr_flags & NDR_BUFFERS) {
19384
_mem_save_level1_0 = NDR_PULL_GET_MEM_CTX(ndr);
19385
NDR_PULL_SET_MEM_CTX(ndr, r->level1, 0);
19386
NDR_CHECK(ndr_pull_spoolss_UserLevel1(ndr, NDR_SCALARS|NDR_BUFFERS, r->level1));
19387
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level1_0, 0);
19393
_mem_save_level2_0 = NDR_PULL_GET_MEM_CTX(ndr);
19394
NDR_PULL_SET_MEM_CTX(ndr, r->level2, 0);
19395
NDR_CHECK(ndr_pull_spoolss_UserLevel2(ndr, NDR_SCALARS, r->level2));
19396
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level2_0, 0);
19402
_mem_save_level3_0 = NDR_PULL_GET_MEM_CTX(ndr);
19403
NDR_PULL_SET_MEM_CTX(ndr, r->level3, 0);
19404
NDR_CHECK(ndr_pull_spoolss_UserLevel3(ndr, NDR_SCALARS|NDR_BUFFERS, r->level3));
19405
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level3_0, 0);
19410
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
19413
return NDR_ERR_SUCCESS;
19416
_PUBLIC_ void ndr_print_spoolss_UserLevel(struct ndr_print *ndr, const char *name, const union spoolss_UserLevel *r)
19419
level = ndr_print_get_switch_value(ndr, r);
19420
ndr_print_union(ndr, name, level, "spoolss_UserLevel");
19423
ndr_print_ptr(ndr, "level1", r->level1);
19426
ndr_print_spoolss_UserLevel1(ndr, "level1", r->level1);
19432
ndr_print_ptr(ndr, "level2", r->level2);
19435
ndr_print_spoolss_UserLevel2(ndr, "level2", r->level2);
19441
ndr_print_ptr(ndr, "level3", r->level3);
19444
ndr_print_spoolss_UserLevel3(ndr, "level3", r->level3);
19450
ndr_print_bad_level(ndr, name, level);
19454
static enum ndr_err_code ndr_push_spoolss_UserLevelCtr(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UserLevelCtr *r)
19456
if (ndr_flags & NDR_SCALARS) {
19457
NDR_CHECK(ndr_push_align(ndr, 5));
19458
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
19459
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->user_info, r->level));
19460
NDR_CHECK(ndr_push_spoolss_UserLevel(ndr, NDR_SCALARS, &r->user_info));
19461
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
19463
if (ndr_flags & NDR_BUFFERS) {
19464
NDR_CHECK(ndr_push_spoolss_UserLevel(ndr, NDR_BUFFERS, &r->user_info));
19466
return NDR_ERR_SUCCESS;
19469
static enum ndr_err_code ndr_pull_spoolss_UserLevelCtr(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UserLevelCtr *r)
19471
if (ndr_flags & NDR_SCALARS) {
19472
NDR_CHECK(ndr_pull_align(ndr, 5));
19473
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
19474
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->user_info, r->level));
19475
NDR_CHECK(ndr_pull_spoolss_UserLevel(ndr, NDR_SCALARS, &r->user_info));
19476
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
19478
if (ndr_flags & NDR_BUFFERS) {
19479
NDR_CHECK(ndr_pull_spoolss_UserLevel(ndr, NDR_BUFFERS, &r->user_info));
19481
return NDR_ERR_SUCCESS;
19484
_PUBLIC_ void ndr_print_spoolss_UserLevelCtr(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevelCtr *r)
19486
ndr_print_struct(ndr, name, "spoolss_UserLevelCtr");
19488
ndr_print_uint32(ndr, "level", r->level);
19489
ndr_print_set_switch_value(ndr, &r->user_info, r->level);
19490
ndr_print_spoolss_UserLevel(ndr, "user_info", &r->user_info);
19494
static enum ndr_err_code ndr_push_spoolss_AccessRights(struct ndr_push *ndr, int ndr_flags, uint32_t r)
19496
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
19497
return NDR_ERR_SUCCESS;
19500
static enum ndr_err_code ndr_pull_spoolss_AccessRights(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
19503
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
19505
return NDR_ERR_SUCCESS;
19508
_PUBLIC_ void ndr_print_spoolss_AccessRights(struct ndr_print *ndr, const char *name, uint32_t r)
19510
ndr_print_uint32(ndr, name, r);
19512
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SERVER_ACCESS_ADMINISTER", SERVER_ACCESS_ADMINISTER, r);
19513
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SERVER_ACCESS_ENUMERATE", SERVER_ACCESS_ENUMERATE, r);
19514
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ACCESS_ADMINISTER", PRINTER_ACCESS_ADMINISTER, r);
19515
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ACCESS_USE", PRINTER_ACCESS_USE, r);
19516
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_ACCESS_ADMINISTER", JOB_ACCESS_ADMINISTER, r);
19517
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_ACCESS_READ", JOB_ACCESS_READ, r);
19521
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterEnumValues(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterEnumValues *r)
19523
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
19524
if (ndr_flags & NDR_SCALARS) {
19525
NDR_CHECK(ndr_push_align(ndr, 5));
19526
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
19528
uint32_t _flags_save_string = ndr->flags;
19529
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
19530
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->value_name));
19531
ndr->flags = _flags_save_string;
19533
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2 * strlen_m_term(r->value_name)));
19534
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->type));
19536
uint32_t _flags_save_DATA_BLOB = ndr->flags;
19537
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
19538
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data));
19539
ndr->flags = _flags_save_DATA_BLOB;
19541
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data->length));
19542
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
19544
if (ndr_flags & NDR_BUFFERS) {
19545
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
19547
uint32_t _flags_save_string = ndr->flags;
19548
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
19549
if (r->value_name) {
19550
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value_name));
19551
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->value_name));
19552
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value_name));
19554
ndr->flags = _flags_save_string;
19557
uint32_t _flags_save_DATA_BLOB = ndr->flags;
19558
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
19560
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data));
19562
struct ndr_push *_ndr_data;
19563
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_data, 0, r->data->length));
19564
NDR_CHECK(ndr_push_DATA_BLOB(_ndr_data, NDR_SCALARS, *r->data));
19565
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_data, 0, r->data->length));
19567
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data));
19569
ndr->flags = _flags_save_DATA_BLOB;
19572
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
19573
return NDR_ERR_SUCCESS;
19576
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterEnumValues(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterEnumValues *r)
19578
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
19579
uint32_t _ptr_value_name;
19580
TALLOC_CTX *_mem_save_value_name_0;
19581
uint32_t _ptr_data;
19582
TALLOC_CTX *_mem_save_data_0;
19583
if (ndr_flags & NDR_SCALARS) {
19584
NDR_CHECK(ndr_pull_align(ndr, 5));
19585
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
19587
uint32_t _flags_save_string = ndr->flags;
19588
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
19589
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value_name));
19590
if (_ptr_value_name) {
19591
NDR_PULL_ALLOC(ndr, r->value_name);
19592
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->value_name, _ptr_value_name));
19594
r->value_name = NULL;
19596
ndr->flags = _flags_save_string;
19598
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value_name_len));
19599
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->type));
19601
uint32_t _flags_save_DATA_BLOB = ndr->flags;
19602
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
19603
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
19605
NDR_PULL_ALLOC(ndr, r->data);
19606
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data, _ptr_data));
19610
ndr->flags = _flags_save_DATA_BLOB;
19612
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data_length));
19613
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
19615
if (ndr_flags & NDR_BUFFERS) {
19616
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
19618
uint32_t _flags_save_string = ndr->flags;
19619
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
19620
if (r->value_name) {
19621
uint32_t _relative_save_offset;
19622
_relative_save_offset = ndr->offset;
19623
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->value_name));
19624
_mem_save_value_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
19625
NDR_PULL_SET_MEM_CTX(ndr, r->value_name, 0);
19626
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->value_name));
19627
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_name_0, 0);
19628
ndr->offset = _relative_save_offset;
19630
ndr->flags = _flags_save_string;
19633
uint32_t _flags_save_DATA_BLOB = ndr->flags;
19634
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
19636
uint32_t _relative_save_offset;
19637
_relative_save_offset = ndr->offset;
19638
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data));
19639
_mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
19640
NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
19642
struct ndr_pull *_ndr_data;
19643
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_data, 0, r->data_length));
19644
NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_data, NDR_SCALARS, r->data));
19645
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_data, 0, r->data_length));
19647
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
19648
ndr->offset = _relative_save_offset;
19650
ndr->flags = _flags_save_DATA_BLOB;
19653
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
19654
return NDR_ERR_SUCCESS;
19657
_PUBLIC_ void ndr_print_spoolss_PrinterEnumValues(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterEnumValues *r)
19659
ndr_print_struct(ndr, name, "spoolss_PrinterEnumValues");
19661
ndr_print_ptr(ndr, "value_name", r->value_name);
19663
if (r->value_name) {
19664
ndr_print_string(ndr, "value_name", r->value_name);
19667
ndr_print_uint32(ndr, "value_name_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m_term(r->value_name):r->value_name_len);
19668
ndr_print_winreg_Type(ndr, "type", r->type);
19669
ndr_print_ptr(ndr, "data", r->data);
19672
ndr_print_DATA_BLOB(ndr, "data", *r->data);
19675
ndr_print_uint32(ndr, "data_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->data->length:r->data_length);
19679
_PUBLIC_ size_t ndr_size_spoolss_PrinterEnumValues(const struct spoolss_PrinterEnumValues *r, struct smb_iconv_convenience *ic, int flags)
19681
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterEnumValues, ic);
19684
static enum ndr_err_code ndr_push_spoolss_KeyNames(struct ndr_push *ndr, int ndr_flags, const union spoolss_KeyNames *r)
19686
if (ndr_flags & NDR_SCALARS) {
19687
int level = ndr_push_get_switch_value(ndr, r);
19688
NDR_CHECK(ndr_push_union_align(ndr, 4));
19698
uint32_t _flags_save_string_array = ndr->flags;
19699
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
19700
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string_array));
19701
ndr->flags = _flags_save_string_array;
19707
if (ndr_flags & NDR_BUFFERS) {
19708
int level = ndr_push_get_switch_value(ndr, r);
19721
return NDR_ERR_SUCCESS;
19724
static enum ndr_err_code ndr_pull_spoolss_KeyNames(struct ndr_pull *ndr, int ndr_flags, union spoolss_KeyNames *r)
19727
level = ndr_pull_get_switch_value(ndr, r);
19728
if (ndr_flags & NDR_SCALARS) {
19729
NDR_CHECK(ndr_pull_union_align(ndr, 4));
19739
uint32_t _flags_save_string_array = ndr->flags;
19740
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
19741
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string_array));
19742
ndr->flags = _flags_save_string_array;
19748
if (ndr_flags & NDR_BUFFERS) {
19761
return NDR_ERR_SUCCESS;
19764
_PUBLIC_ void ndr_print_spoolss_KeyNames(struct ndr_print *ndr, const char *name, const union spoolss_KeyNames *r)
19767
level = ndr_print_get_switch_value(ndr, r);
19768
ndr_print_union(ndr, name, level, "spoolss_KeyNames");
19777
ndr_print_string_array(ndr, "string_array", r->string_array);
19783
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DeleteDriverFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
19785
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
19786
return NDR_ERR_SUCCESS;
19789
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DeleteDriverFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
19792
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
19794
return NDR_ERR_SUCCESS;
19797
_PUBLIC_ void ndr_print_spoolss_DeleteDriverFlags(struct ndr_print *ndr, const char *name, uint32_t r)
19799
ndr_print_uint32(ndr, name, r);
19801
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DPD_DELETE_UNUSED_FILES", DPD_DELETE_UNUSED_FILES, r);
19802
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DPD_DELETE_SPECIFIC_VERSION", DPD_DELETE_SPECIFIC_VERSION, r);
19803
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DPD_DELETE_ALL_FILES", DPD_DELETE_ALL_FILES, r);
19807
static enum ndr_err_code ndr_push_spoolss_PortProtocol(struct ndr_push *ndr, int ndr_flags, enum spoolss_PortProtocol r)
19809
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
19810
return NDR_ERR_SUCCESS;
19813
static enum ndr_err_code ndr_pull_spoolss_PortProtocol(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PortProtocol *r)
19816
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
19818
return NDR_ERR_SUCCESS;
19821
_PUBLIC_ void ndr_print_spoolss_PortProtocol(struct ndr_print *ndr, const char *name, enum spoolss_PortProtocol r)
19823
const char *val = NULL;
19826
case PROTOCOL_RAWTCP_TYPE: val = "PROTOCOL_RAWTCP_TYPE"; break;
19827
case PROTOCOL_LPR_TYPE: val = "PROTOCOL_LPR_TYPE"; break;
19829
ndr_print_enum(ndr, name, "ENUM", val, r);
19832
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortData1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortData1 *r)
19834
if (ndr_flags & NDR_SCALARS) {
19835
NDR_CHECK(ndr_push_align(ndr, 4));
19836
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->portname, 64, sizeof(uint16_t), CH_UTF16));
19837
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x00000001));
19838
NDR_CHECK(ndr_push_spoolss_PortProtocol(ndr, NDR_SCALARS, r->protocol));
19839
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, sizeof(r)));
19840
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
19841
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hostaddress, 49, sizeof(uint16_t), CH_UTF16));
19842
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->snmpcommunity, 33, sizeof(uint16_t), CH_UTF16));
19843
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dblspool));
19844
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->queue, 33, sizeof(uint16_t), CH_UTF16));
19845
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ip_address, 16, sizeof(uint16_t), CH_UTF16));
19846
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hardware_address, 13, sizeof(uint16_t), CH_UTF16));
19847
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->device_type, 257, sizeof(uint16_t), CH_UTF16));
19848
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->port_number));
19849
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_enabled));
19850
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_dev_index));
19851
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
19853
if (ndr_flags & NDR_BUFFERS) {
19855
return NDR_ERR_SUCCESS;
19858
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortData1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortData1 *r)
19860
if (ndr_flags & NDR_SCALARS) {
19861
NDR_CHECK(ndr_pull_align(ndr, 4));
19862
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->portname, 64, sizeof(uint16_t), CH_UTF16));
19863
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
19864
NDR_CHECK(ndr_pull_spoolss_PortProtocol(ndr, NDR_SCALARS, &r->protocol));
19865
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
19866
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
19867
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hostaddress, 49, sizeof(uint16_t), CH_UTF16));
19868
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->snmpcommunity, 33, sizeof(uint16_t), CH_UTF16));
19869
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dblspool));
19870
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->queue, 33, sizeof(uint16_t), CH_UTF16));
19871
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ip_address, 16, sizeof(uint16_t), CH_UTF16));
19872
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hardware_address, 13, sizeof(uint16_t), CH_UTF16));
19873
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device_type, 257, sizeof(uint16_t), CH_UTF16));
19874
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->port_number));
19875
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_enabled));
19876
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_dev_index));
19877
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
19879
if (ndr_flags & NDR_BUFFERS) {
19881
return NDR_ERR_SUCCESS;
19884
_PUBLIC_ void ndr_print_spoolss_PortData1(struct ndr_print *ndr, const char *name, const struct spoolss_PortData1 *r)
19886
ndr_print_struct(ndr, name, "spoolss_PortData1");
19888
ndr_print_string(ndr, "portname", r->portname);
19889
ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x00000001:r->version);
19890
ndr_print_spoolss_PortProtocol(ndr, "protocol", r->protocol);
19891
ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?sizeof(r):r->size);
19892
ndr_print_uint32(ndr, "reserved", r->reserved);
19893
ndr_print_string(ndr, "hostaddress", r->hostaddress);
19894
ndr_print_string(ndr, "snmpcommunity", r->snmpcommunity);
19895
ndr_print_uint32(ndr, "dblspool", r->dblspool);
19896
ndr_print_string(ndr, "queue", r->queue);
19897
ndr_print_string(ndr, "ip_address", r->ip_address);
19898
ndr_print_string(ndr, "hardware_address", r->hardware_address);
19899
ndr_print_string(ndr, "device_type", r->device_type);
19900
ndr_print_uint32(ndr, "port_number", r->port_number);
19901
ndr_print_uint32(ndr, "snmp_enabled", r->snmp_enabled);
19902
ndr_print_uint32(ndr, "snmp_dev_index", r->snmp_dev_index);
19906
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortData2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortData2 *r)
19908
if (ndr_flags & NDR_SCALARS) {
19909
NDR_CHECK(ndr_push_align(ndr, 4));
19910
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->portname, 64, sizeof(uint16_t), CH_UTF16));
19911
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x00000002));
19912
NDR_CHECK(ndr_push_spoolss_PortProtocol(ndr, NDR_SCALARS, r->protocol));
19913
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, sizeof(r)));
19914
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
19915
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hostaddress, 128, sizeof(uint16_t), CH_UTF16));
19916
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->snmpcommunity, 33, sizeof(uint16_t), CH_UTF16));
19917
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dblspool));
19918
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->queue, 33, sizeof(uint16_t), CH_UTF16));
19919
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->device_type, 257, sizeof(uint16_t), CH_UTF16));
19920
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->port_number));
19921
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_enabled));
19922
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_dev_index));
19923
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->port_monitor_mib_index));
19924
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
19926
if (ndr_flags & NDR_BUFFERS) {
19928
return NDR_ERR_SUCCESS;
19931
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortData2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortData2 *r)
19933
if (ndr_flags & NDR_SCALARS) {
19934
NDR_CHECK(ndr_pull_align(ndr, 4));
19935
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->portname, 64, sizeof(uint16_t), CH_UTF16));
19936
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
19937
NDR_CHECK(ndr_pull_spoolss_PortProtocol(ndr, NDR_SCALARS, &r->protocol));
19938
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
19939
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
19940
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hostaddress, 128, sizeof(uint16_t), CH_UTF16));
19941
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->snmpcommunity, 33, sizeof(uint16_t), CH_UTF16));
19942
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dblspool));
19943
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->queue, 33, sizeof(uint16_t), CH_UTF16));
19944
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device_type, 257, sizeof(uint16_t), CH_UTF16));
19945
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->port_number));
19946
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_enabled));
19947
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_dev_index));
19948
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->port_monitor_mib_index));
19949
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
19951
if (ndr_flags & NDR_BUFFERS) {
19953
return NDR_ERR_SUCCESS;
19956
_PUBLIC_ void ndr_print_spoolss_PortData2(struct ndr_print *ndr, const char *name, const struct spoolss_PortData2 *r)
19958
ndr_print_struct(ndr, name, "spoolss_PortData2");
19960
ndr_print_string(ndr, "portname", r->portname);
19961
ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x00000002:r->version);
19962
ndr_print_spoolss_PortProtocol(ndr, "protocol", r->protocol);
19963
ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?sizeof(r):r->size);
19964
ndr_print_uint32(ndr, "reserved", r->reserved);
19965
ndr_print_string(ndr, "hostaddress", r->hostaddress);
19966
ndr_print_string(ndr, "snmpcommunity", r->snmpcommunity);
19967
ndr_print_uint32(ndr, "dblspool", r->dblspool);
19968
ndr_print_string(ndr, "queue", r->queue);
19969
ndr_print_string(ndr, "device_type", r->device_type);
19970
ndr_print_uint32(ndr, "port_number", r->port_number);
19971
ndr_print_uint32(ndr, "snmp_enabled", r->snmp_enabled);
19972
ndr_print_uint32(ndr, "snmp_dev_index", r->snmp_dev_index);
19973
ndr_print_uint32(ndr, "port_monitor_mib_index", r->port_monitor_mib_index);
19977
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorUi(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorUi *r)
19979
if (ndr_flags & NDR_SCALARS) {
19980
NDR_CHECK(ndr_push_align(ndr, 4));
19982
uint32_t _flags_save_string = ndr->flags;
19983
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
19984
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dll_name));
19985
ndr->flags = _flags_save_string;
19987
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
19989
if (ndr_flags & NDR_BUFFERS) {
19991
return NDR_ERR_SUCCESS;
19994
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_MonitorUi(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorUi *r)
19996
if (ndr_flags & NDR_SCALARS) {
19997
NDR_CHECK(ndr_pull_align(ndr, 4));
19999
uint32_t _flags_save_string = ndr->flags;
20000
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
20001
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dll_name));
20002
ndr->flags = _flags_save_string;
20004
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
20006
if (ndr_flags & NDR_BUFFERS) {
20008
return NDR_ERR_SUCCESS;
20011
_PUBLIC_ void ndr_print_spoolss_MonitorUi(struct ndr_print *ndr, const char *name, const struct spoolss_MonitorUi *r)
20013
ndr_print_struct(ndr, name, "spoolss_MonitorUi");
20015
ndr_print_string(ndr, "dll_name", r->dll_name);
20019
static enum ndr_err_code ndr_push_spoolss_AddPrinterDriverExFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
20021
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
20022
return NDR_ERR_SUCCESS;
20025
static enum ndr_err_code ndr_pull_spoolss_AddPrinterDriverExFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
20028
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
20030
return NDR_ERR_SUCCESS;
20033
_PUBLIC_ void ndr_print_spoolss_AddPrinterDriverExFlags(struct ndr_print *ndr, const char *name, uint32_t r)
20035
ndr_print_uint32(ndr, name, r);
20037
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_STRICT_UPGRADE", APD_STRICT_UPGRADE, r);
20038
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_STRICT_DOWNGRADE", APD_STRICT_DOWNGRADE, r);
20039
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_COPY_ALL_FILES", APD_COPY_ALL_FILES, r);
20040
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_COPY_NEW_FILES", APD_COPY_NEW_FILES, r);
20041
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_COPY_FROM_DIRECTORY", APD_COPY_FROM_DIRECTORY, r);
20042
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_DONT_COPY_FILES_TO_CLUSTER", APD_DONT_COPY_FILES_TO_CLUSTER, r);
20043
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_COPY_TO_ALL_SPOOLERS", APD_COPY_TO_ALL_SPOOLERS, r);
20044
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_RETURN_BLOCKING_STATUS_CODE", APD_RETURN_BLOCKING_STATUS_CODE, r);
20048
static enum ndr_err_code ndr_push_spoolss_CorePrinterDriver(struct ndr_push *ndr, int ndr_flags, const struct spoolss_CorePrinterDriver *r)
20050
if (ndr_flags & NDR_SCALARS) {
20051
NDR_CHECK(ndr_push_align(ndr, 8));
20052
NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->core_driver_guid));
20053
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date));
20054
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
20055
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->formname, 520, sizeof(uint8_t), CH_UTF8));
20056
NDR_CHECK(ndr_push_trailer_align(ndr, 8));
20058
if (ndr_flags & NDR_BUFFERS) {
20060
return NDR_ERR_SUCCESS;
20063
static enum ndr_err_code ndr_pull_spoolss_CorePrinterDriver(struct ndr_pull *ndr, int ndr_flags, struct spoolss_CorePrinterDriver *r)
20065
if (ndr_flags & NDR_SCALARS) {
20066
NDR_CHECK(ndr_pull_align(ndr, 8));
20067
NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->core_driver_guid));
20068
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date));
20069
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
20070
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->formname, 520, sizeof(uint8_t), CH_UTF8));
20071
NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
20073
if (ndr_flags & NDR_BUFFERS) {
20075
return NDR_ERR_SUCCESS;
20078
_PUBLIC_ void ndr_print_spoolss_CorePrinterDriver(struct ndr_print *ndr, const char *name, const struct spoolss_CorePrinterDriver *r)
20080
ndr_print_struct(ndr, name, "spoolss_CorePrinterDriver");
20082
ndr_print_GUID(ndr, "core_driver_guid", &r->core_driver_guid);
20083
ndr_print_NTTIME(ndr, "driver_date", r->driver_date);
20084
ndr_print_hyper(ndr, "driver_version", r->driver_version);
20085
ndr_print_string(ndr, "formname", r->formname);
20089
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrinters(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrinters *r)
20091
if (flags & NDR_IN) {
20092
NDR_CHECK(ndr_push_spoolss_EnumPrinterFlags(ndr, NDR_SCALARS, r->in.flags));
20093
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
20094
if (r->in.server) {
20095
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
20096
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
20097
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
20098
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
20100
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
20101
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
20102
if (r->in.buffer) {
20103
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
20105
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
20107
if (flags & NDR_OUT) {
20108
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
20110
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
20112
if (r->out.needed == NULL) {
20113
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20115
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
20116
if (r->out.count == NULL) {
20117
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20119
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
20120
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
20122
return NDR_ERR_SUCCESS;
20125
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrinters(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrinters *r)
20127
uint32_t _ptr_server;
20128
uint32_t _ptr_buffer;
20129
uint32_t _ptr_info;
20130
TALLOC_CTX *_mem_save_server_0;
20131
TALLOC_CTX *_mem_save_buffer_0;
20132
TALLOC_CTX *_mem_save_info_0;
20133
TALLOC_CTX *_mem_save_needed_0;
20134
TALLOC_CTX *_mem_save_count_0;
20135
if (flags & NDR_IN) {
20136
ZERO_STRUCT(r->out);
20138
NDR_CHECK(ndr_pull_spoolss_EnumPrinterFlags(ndr, NDR_SCALARS, &r->in.flags));
20139
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
20141
NDR_PULL_ALLOC(ndr, r->in.server);
20143
r->in.server = NULL;
20145
if (r->in.server) {
20146
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
20147
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
20148
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
20149
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
20150
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
20151
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server));
20153
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
20154
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
20155
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
20157
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
20158
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
20160
NDR_PULL_ALLOC(ndr, r->in.buffer);
20162
r->in.buffer = NULL;
20164
if (r->in.buffer) {
20165
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
20166
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
20167
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
20168
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
20170
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
20171
NDR_PULL_ALLOC(ndr, r->out.needed);
20172
ZERO_STRUCTP(r->out.needed);
20173
NDR_PULL_ALLOC(ndr, r->out.count);
20174
ZERO_STRUCTP(r->out.count);
20176
if (flags & NDR_OUT) {
20177
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
20179
NDR_PULL_ALLOC(ndr, r->out.info);
20181
r->out.info = NULL;
20184
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
20185
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
20186
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
20187
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
20189
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20190
NDR_PULL_ALLOC(ndr, r->out.needed);
20192
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
20193
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
20194
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
20195
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
20196
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20197
NDR_PULL_ALLOC(ndr, r->out.count);
20199
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
20200
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
20201
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
20202
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
20203
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
20205
return NDR_ERR_SUCCESS;
20208
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrinters(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrinters *r)
20210
uint32_t cntr_info_0;
20211
if (flags & NDR_IN) {
20212
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
20213
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
20215
if (flags & NDR_OUT) {
20216
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
20217
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
20218
NDR_CHECK(ndr_push_spoolss_PrinterInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
20220
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
20221
NDR_CHECK(ndr_push_spoolss_PrinterInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
20224
return NDR_ERR_SUCCESS;
20227
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrinters(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrinters *r)
20229
uint32_t cntr_info_0;
20230
TALLOC_CTX *_mem_save_info_0;
20231
if (flags & NDR_IN) {
20232
ZERO_STRUCT(r->out);
20234
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
20235
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
20237
if (flags & NDR_OUT) {
20238
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
20239
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
20240
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
20241
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
20242
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
20243
NDR_CHECK(ndr_pull_spoolss_PrinterInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
20245
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
20246
NDR_CHECK(ndr_pull_spoolss_PrinterInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
20248
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
20250
return NDR_ERR_SUCCESS;
20253
_PUBLIC_ void ndr_print_spoolss_EnumPrinters(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinters *r)
20255
uint32_t cntr_info_2;
20256
ndr_print_struct(ndr, name, "spoolss_EnumPrinters");
20258
if (flags & NDR_SET_VALUES) {
20259
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
20261
if (flags & NDR_IN) {
20262
ndr_print_struct(ndr, "in", "spoolss_EnumPrinters");
20264
ndr_print_spoolss_EnumPrinterFlags(ndr, "flags", r->in.flags);
20265
ndr_print_ptr(ndr, "server", r->in.server);
20267
if (r->in.server) {
20268
ndr_print_string(ndr, "server", r->in.server);
20271
ndr_print_uint32(ndr, "level", r->in.level);
20272
ndr_print_ptr(ndr, "buffer", r->in.buffer);
20274
if (r->in.buffer) {
20275
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
20278
ndr_print_uint32(ndr, "offered", r->in.offered);
20281
if (flags & NDR_OUT) {
20282
ndr_print_struct(ndr, "out", "spoolss_EnumPrinters");
20284
ndr_print_ptr(ndr, "count", r->out.count);
20286
ndr_print_uint32(ndr, "count", *r->out.count);
20288
ndr_print_ptr(ndr, "info", r->out.info);
20290
ndr_print_ptr(ndr, "info", *r->out.info);
20292
if (*r->out.info) {
20293
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
20295
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
20297
if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) {
20298
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
20299
ndr_print_spoolss_PrinterInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
20307
ndr_print_ptr(ndr, "needed", r->out.needed);
20309
ndr_print_uint32(ndr, "needed", *r->out.needed);
20311
ndr_print_WERROR(ndr, "result", r->out.result);
20317
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_OpenPrinter(struct ndr_push *ndr, int flags, const struct spoolss_OpenPrinter *r)
20319
if (flags & NDR_IN) {
20320
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.printername));
20321
if (r->in.printername) {
20322
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
20323
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
20324
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
20325
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.printername, ndr_charset_length(r->in.printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
20327
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.datatype));
20328
if (r->in.datatype) {
20329
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16)));
20330
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
20331
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16)));
20332
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.datatype, ndr_charset_length(r->in.datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
20334
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
20335
NDR_CHECK(ndr_push_spoolss_AccessRights(ndr, NDR_SCALARS, r->in.access_mask));
20337
if (flags & NDR_OUT) {
20338
if (r->out.handle == NULL) {
20339
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20341
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
20342
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
20344
return NDR_ERR_SUCCESS;
20347
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OpenPrinter(struct ndr_pull *ndr, int flags, struct spoolss_OpenPrinter *r)
20349
uint32_t _ptr_printername;
20350
uint32_t _ptr_datatype;
20351
TALLOC_CTX *_mem_save_printername_0;
20352
TALLOC_CTX *_mem_save_datatype_0;
20353
TALLOC_CTX *_mem_save_handle_0;
20354
if (flags & NDR_IN) {
20355
ZERO_STRUCT(r->out);
20357
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
20358
if (_ptr_printername) {
20359
NDR_PULL_ALLOC(ndr, r->in.printername);
20361
r->in.printername = NULL;
20363
if (r->in.printername) {
20364
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
20365
NDR_PULL_SET_MEM_CTX(ndr, r->in.printername, 0);
20366
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.printername));
20367
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.printername));
20368
if (ndr_get_array_length(ndr, &r->in.printername) > ndr_get_array_size(ndr, &r->in.printername)) {
20369
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.printername), ndr_get_array_length(ndr, &r->in.printername));
20371
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t)));
20372
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.printername, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t), CH_UTF16));
20373
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
20375
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
20376
if (_ptr_datatype) {
20377
NDR_PULL_ALLOC(ndr, r->in.datatype);
20379
r->in.datatype = NULL;
20381
if (r->in.datatype) {
20382
_mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
20383
NDR_PULL_SET_MEM_CTX(ndr, r->in.datatype, 0);
20384
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.datatype));
20385
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.datatype));
20386
if (ndr_get_array_length(ndr, &r->in.datatype) > ndr_get_array_size(ndr, &r->in.datatype)) {
20387
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.datatype), ndr_get_array_length(ndr, &r->in.datatype));
20389
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t)));
20390
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.datatype, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t), CH_UTF16));
20391
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
20393
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
20394
NDR_CHECK(ndr_pull_spoolss_AccessRights(ndr, NDR_SCALARS, &r->in.access_mask));
20395
NDR_PULL_ALLOC(ndr, r->out.handle);
20396
ZERO_STRUCTP(r->out.handle);
20398
if (flags & NDR_OUT) {
20399
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20400
NDR_PULL_ALLOC(ndr, r->out.handle);
20402
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
20403
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
20404
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
20405
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
20406
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
20408
return NDR_ERR_SUCCESS;
20411
_PUBLIC_ void ndr_print_spoolss_OpenPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_OpenPrinter *r)
20413
ndr_print_struct(ndr, name, "spoolss_OpenPrinter");
20415
if (flags & NDR_SET_VALUES) {
20416
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
20418
if (flags & NDR_IN) {
20419
ndr_print_struct(ndr, "in", "spoolss_OpenPrinter");
20421
ndr_print_ptr(ndr, "printername", r->in.printername);
20423
if (r->in.printername) {
20424
ndr_print_string(ndr, "printername", r->in.printername);
20427
ndr_print_ptr(ndr, "datatype", r->in.datatype);
20429
if (r->in.datatype) {
20430
ndr_print_string(ndr, "datatype", r->in.datatype);
20433
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", &r->in.devmode_ctr);
20434
ndr_print_spoolss_AccessRights(ndr, "access_mask", r->in.access_mask);
20437
if (flags & NDR_OUT) {
20438
ndr_print_struct(ndr, "out", "spoolss_OpenPrinter");
20440
ndr_print_ptr(ndr, "handle", r->out.handle);
20442
ndr_print_policy_handle(ndr, "handle", r->out.handle);
20444
ndr_print_WERROR(ndr, "result", r->out.result);
20450
static enum ndr_err_code ndr_push_spoolss_SetJob(struct ndr_push *ndr, int flags, const struct spoolss_SetJob *r)
20452
if (flags & NDR_IN) {
20453
if (r->in.handle == NULL) {
20454
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20456
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
20457
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.job_id));
20458
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.ctr));
20460
NDR_CHECK(ndr_push_spoolss_JobInfoContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
20462
NDR_CHECK(ndr_push_spoolss_JobControl(ndr, NDR_SCALARS, r->in.command));
20464
if (flags & NDR_OUT) {
20465
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
20467
return NDR_ERR_SUCCESS;
20470
static enum ndr_err_code ndr_pull_spoolss_SetJob(struct ndr_pull *ndr, int flags, struct spoolss_SetJob *r)
20473
TALLOC_CTX *_mem_save_handle_0;
20474
TALLOC_CTX *_mem_save_ctr_0;
20475
if (flags & NDR_IN) {
20476
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20477
NDR_PULL_ALLOC(ndr, r->in.handle);
20479
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
20480
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
20481
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
20482
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
20483
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.job_id));
20484
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
20486
NDR_PULL_ALLOC(ndr, r->in.ctr);
20491
_mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
20492
NDR_PULL_SET_MEM_CTX(ndr, r->in.ctr, 0);
20493
NDR_CHECK(ndr_pull_spoolss_JobInfoContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
20494
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, 0);
20496
NDR_CHECK(ndr_pull_spoolss_JobControl(ndr, NDR_SCALARS, &r->in.command));
20498
if (flags & NDR_OUT) {
20499
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
20501
return NDR_ERR_SUCCESS;
20504
_PUBLIC_ void ndr_print_spoolss_SetJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetJob *r)
20506
ndr_print_struct(ndr, name, "spoolss_SetJob");
20508
if (flags & NDR_SET_VALUES) {
20509
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
20511
if (flags & NDR_IN) {
20512
ndr_print_struct(ndr, "in", "spoolss_SetJob");
20514
ndr_print_ptr(ndr, "handle", r->in.handle);
20516
ndr_print_policy_handle(ndr, "handle", r->in.handle);
20518
ndr_print_uint32(ndr, "job_id", r->in.job_id);
20519
ndr_print_ptr(ndr, "ctr", r->in.ctr);
20522
ndr_print_spoolss_JobInfoContainer(ndr, "ctr", r->in.ctr);
20525
ndr_print_spoolss_JobControl(ndr, "command", r->in.command);
20528
if (flags & NDR_OUT) {
20529
ndr_print_struct(ndr, "out", "spoolss_SetJob");
20531
ndr_print_WERROR(ndr, "result", r->out.result);
20537
static enum ndr_err_code ndr_push_spoolss_GetJob(struct ndr_push *ndr, int flags, const struct spoolss_GetJob *r)
20539
if (flags & NDR_IN) {
20540
if (r->in.handle == NULL) {
20541
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20543
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
20544
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.job_id));
20545
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
20546
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
20547
if (r->in.buffer) {
20548
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
20550
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
20552
if (flags & NDR_OUT) {
20553
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
20556
struct ndr_push *_ndr_info;
20557
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
20558
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
20559
NDR_CHECK(ndr_push_spoolss_JobInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
20560
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
20563
if (r->out.needed == NULL) {
20564
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20566
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
20567
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
20569
return NDR_ERR_SUCCESS;
20572
static enum ndr_err_code ndr_pull_spoolss_GetJob(struct ndr_pull *ndr, int flags, struct spoolss_GetJob *r)
20574
uint32_t _ptr_buffer;
20575
uint32_t _ptr_info;
20576
TALLOC_CTX *_mem_save_handle_0;
20577
TALLOC_CTX *_mem_save_buffer_0;
20578
TALLOC_CTX *_mem_save_info_0;
20579
TALLOC_CTX *_mem_save_needed_0;
20580
if (flags & NDR_IN) {
20581
ZERO_STRUCT(r->out);
20583
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20584
NDR_PULL_ALLOC(ndr, r->in.handle);
20586
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
20587
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
20588
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
20589
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
20590
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.job_id));
20591
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
20592
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
20594
NDR_PULL_ALLOC(ndr, r->in.buffer);
20596
r->in.buffer = NULL;
20598
if (r->in.buffer) {
20599
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
20600
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
20601
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
20602
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
20604
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
20605
NDR_PULL_ALLOC(ndr, r->out.needed);
20606
ZERO_STRUCTP(r->out.needed);
20608
if (flags & NDR_OUT) {
20609
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
20611
NDR_PULL_ALLOC(ndr, r->out.info);
20613
r->out.info = NULL;
20616
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
20617
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
20619
struct ndr_pull *_ndr_info;
20620
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
20621
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
20622
NDR_CHECK(ndr_pull_spoolss_JobInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
20623
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
20625
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
20627
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20628
NDR_PULL_ALLOC(ndr, r->out.needed);
20630
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
20631
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
20632
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
20633
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
20634
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
20636
return NDR_ERR_SUCCESS;
20639
_PUBLIC_ void ndr_print_spoolss_GetJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetJob *r)
20641
ndr_print_struct(ndr, name, "spoolss_GetJob");
20643
if (flags & NDR_SET_VALUES) {
20644
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
20646
if (flags & NDR_IN) {
20647
ndr_print_struct(ndr, "in", "spoolss_GetJob");
20649
ndr_print_ptr(ndr, "handle", r->in.handle);
20651
ndr_print_policy_handle(ndr, "handle", r->in.handle);
20653
ndr_print_uint32(ndr, "job_id", r->in.job_id);
20654
ndr_print_uint32(ndr, "level", r->in.level);
20655
ndr_print_ptr(ndr, "buffer", r->in.buffer);
20657
if (r->in.buffer) {
20658
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
20661
ndr_print_uint32(ndr, "offered", r->in.offered);
20664
if (flags & NDR_OUT) {
20665
ndr_print_struct(ndr, "out", "spoolss_GetJob");
20667
ndr_print_ptr(ndr, "info", r->out.info);
20670
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
20671
ndr_print_spoolss_JobInfo(ndr, "info", r->out.info);
20674
ndr_print_ptr(ndr, "needed", r->out.needed);
20676
ndr_print_uint32(ndr, "needed", *r->out.needed);
20678
ndr_print_WERROR(ndr, "result", r->out.result);
20684
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumJobs(struct ndr_push *ndr, int flags, const struct _spoolss_EnumJobs *r)
20686
if (flags & NDR_IN) {
20687
if (r->in.handle == NULL) {
20688
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20690
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
20691
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.firstjob));
20692
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.numjobs));
20693
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
20694
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
20695
if (r->in.buffer) {
20696
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
20698
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
20700
if (flags & NDR_OUT) {
20701
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
20703
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
20705
if (r->out.needed == NULL) {
20706
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20708
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
20709
if (r->out.count == NULL) {
20710
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20712
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
20713
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
20715
return NDR_ERR_SUCCESS;
20718
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumJobs(struct ndr_pull *ndr, int flags, struct _spoolss_EnumJobs *r)
20720
uint32_t _ptr_buffer;
20721
uint32_t _ptr_info;
20722
TALLOC_CTX *_mem_save_handle_0;
20723
TALLOC_CTX *_mem_save_buffer_0;
20724
TALLOC_CTX *_mem_save_info_0;
20725
TALLOC_CTX *_mem_save_needed_0;
20726
TALLOC_CTX *_mem_save_count_0;
20727
if (flags & NDR_IN) {
20728
ZERO_STRUCT(r->out);
20730
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20731
NDR_PULL_ALLOC(ndr, r->in.handle);
20733
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
20734
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
20735
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
20736
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
20737
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.firstjob));
20738
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.numjobs));
20739
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
20740
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
20742
NDR_PULL_ALLOC(ndr, r->in.buffer);
20744
r->in.buffer = NULL;
20746
if (r->in.buffer) {
20747
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
20748
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
20749
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
20750
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
20752
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
20753
NDR_PULL_ALLOC(ndr, r->out.needed);
20754
ZERO_STRUCTP(r->out.needed);
20755
NDR_PULL_ALLOC(ndr, r->out.count);
20756
ZERO_STRUCTP(r->out.count);
20758
if (flags & NDR_OUT) {
20759
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
20761
NDR_PULL_ALLOC(ndr, r->out.info);
20763
r->out.info = NULL;
20766
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
20767
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
20768
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
20769
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
20771
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20772
NDR_PULL_ALLOC(ndr, r->out.needed);
20774
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
20775
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
20776
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
20777
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
20778
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20779
NDR_PULL_ALLOC(ndr, r->out.count);
20781
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
20782
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
20783
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
20784
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
20785
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
20787
return NDR_ERR_SUCCESS;
20790
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumJobs(struct ndr_push *ndr, int flags, const struct __spoolss_EnumJobs *r)
20792
uint32_t cntr_info_0;
20793
if (flags & NDR_IN) {
20794
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
20795
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
20797
if (flags & NDR_OUT) {
20798
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
20799
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
20800
NDR_CHECK(ndr_push_spoolss_JobInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
20802
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
20803
NDR_CHECK(ndr_push_spoolss_JobInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
20806
return NDR_ERR_SUCCESS;
20809
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumJobs(struct ndr_pull *ndr, int flags, struct __spoolss_EnumJobs *r)
20811
uint32_t cntr_info_0;
20812
TALLOC_CTX *_mem_save_info_0;
20813
if (flags & NDR_IN) {
20814
ZERO_STRUCT(r->out);
20816
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
20817
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
20819
if (flags & NDR_OUT) {
20820
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
20821
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
20822
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
20823
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
20824
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
20825
NDR_CHECK(ndr_pull_spoolss_JobInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
20827
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
20828
NDR_CHECK(ndr_pull_spoolss_JobInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
20830
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
20832
return NDR_ERR_SUCCESS;
20835
_PUBLIC_ void ndr_print_spoolss_EnumJobs(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumJobs *r)
20837
uint32_t cntr_info_2;
20838
ndr_print_struct(ndr, name, "spoolss_EnumJobs");
20840
if (flags & NDR_SET_VALUES) {
20841
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
20843
if (flags & NDR_IN) {
20844
ndr_print_struct(ndr, "in", "spoolss_EnumJobs");
20846
ndr_print_ptr(ndr, "handle", r->in.handle);
20848
ndr_print_policy_handle(ndr, "handle", r->in.handle);
20850
ndr_print_uint32(ndr, "firstjob", r->in.firstjob);
20851
ndr_print_uint32(ndr, "numjobs", r->in.numjobs);
20852
ndr_print_uint32(ndr, "level", r->in.level);
20853
ndr_print_ptr(ndr, "buffer", r->in.buffer);
20855
if (r->in.buffer) {
20856
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
20859
ndr_print_uint32(ndr, "offered", r->in.offered);
20862
if (flags & NDR_OUT) {
20863
ndr_print_struct(ndr, "out", "spoolss_EnumJobs");
20865
ndr_print_ptr(ndr, "count", r->out.count);
20867
ndr_print_uint32(ndr, "count", *r->out.count);
20869
ndr_print_ptr(ndr, "info", r->out.info);
20871
ndr_print_ptr(ndr, "info", *r->out.info);
20873
if (*r->out.info) {
20874
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
20876
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
20878
if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) {
20879
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
20880
ndr_print_spoolss_JobInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
20888
ndr_print_ptr(ndr, "needed", r->out.needed);
20890
ndr_print_uint32(ndr, "needed", *r->out.needed);
20892
ndr_print_WERROR(ndr, "result", r->out.result);
20898
static enum ndr_err_code ndr_push_spoolss_AddPrinter(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinter *r)
20900
if (flags & NDR_IN) {
20901
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
20902
if (r->in.server) {
20903
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
20904
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
20905
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
20906
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
20908
if (r->in.info_ctr == NULL) {
20909
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20911
NDR_CHECK(ndr_push_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
20912
if (r->in.devmode_ctr == NULL) {
20913
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20915
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
20916
if (r->in.secdesc_ctr == NULL) {
20917
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20919
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr));
20921
if (flags & NDR_OUT) {
20922
if (r->out.handle == NULL) {
20923
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20925
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
20926
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
20928
return NDR_ERR_SUCCESS;
20931
static enum ndr_err_code ndr_pull_spoolss_AddPrinter(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinter *r)
20933
uint32_t _ptr_server;
20934
TALLOC_CTX *_mem_save_server_0;
20935
TALLOC_CTX *_mem_save_info_ctr_0;
20936
TALLOC_CTX *_mem_save_devmode_ctr_0;
20937
TALLOC_CTX *_mem_save_secdesc_ctr_0;
20938
TALLOC_CTX *_mem_save_handle_0;
20939
if (flags & NDR_IN) {
20940
ZERO_STRUCT(r->out);
20942
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
20944
NDR_PULL_ALLOC(ndr, r->in.server);
20946
r->in.server = NULL;
20948
if (r->in.server) {
20949
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
20950
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
20951
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
20952
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
20953
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
20954
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server));
20956
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
20957
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
20958
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
20960
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20961
NDR_PULL_ALLOC(ndr, r->in.info_ctr);
20963
_mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
20964
NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC);
20965
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
20966
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
20967
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20968
NDR_PULL_ALLOC(ndr, r->in.devmode_ctr);
20970
_mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
20971
NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC);
20972
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
20973
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC);
20974
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20975
NDR_PULL_ALLOC(ndr, r->in.secdesc_ctr);
20977
_mem_save_secdesc_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
20978
NDR_PULL_SET_MEM_CTX(ndr, r->in.secdesc_ctr, LIBNDR_FLAG_REF_ALLOC);
20979
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr));
20980
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_ctr_0, LIBNDR_FLAG_REF_ALLOC);
20981
NDR_PULL_ALLOC(ndr, r->out.handle);
20982
ZERO_STRUCTP(r->out.handle);
20984
if (flags & NDR_OUT) {
20985
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20986
NDR_PULL_ALLOC(ndr, r->out.handle);
20988
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
20989
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
20990
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
20991
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
20992
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
20994
return NDR_ERR_SUCCESS;
20997
_PUBLIC_ void ndr_print_spoolss_AddPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinter *r)
20999
ndr_print_struct(ndr, name, "spoolss_AddPrinter");
21001
if (flags & NDR_SET_VALUES) {
21002
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
21004
if (flags & NDR_IN) {
21005
ndr_print_struct(ndr, "in", "spoolss_AddPrinter");
21007
ndr_print_ptr(ndr, "server", r->in.server);
21009
if (r->in.server) {
21010
ndr_print_string(ndr, "server", r->in.server);
21013
ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr);
21015
ndr_print_spoolss_SetPrinterInfoCtr(ndr, "info_ctr", r->in.info_ctr);
21017
ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr);
21019
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr);
21021
ndr_print_ptr(ndr, "secdesc_ctr", r->in.secdesc_ctr);
21023
ndr_print_sec_desc_buf(ndr, "secdesc_ctr", r->in.secdesc_ctr);
21027
if (flags & NDR_OUT) {
21028
ndr_print_struct(ndr, "out", "spoolss_AddPrinter");
21030
ndr_print_ptr(ndr, "handle", r->out.handle);
21032
ndr_print_policy_handle(ndr, "handle", r->out.handle);
21034
ndr_print_WERROR(ndr, "result", r->out.result);
21040
static enum ndr_err_code ndr_push_spoolss_DeletePrinter(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinter *r)
21042
if (flags & NDR_IN) {
21043
if (r->in.handle == NULL) {
21044
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21046
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21048
if (flags & NDR_OUT) {
21049
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21051
return NDR_ERR_SUCCESS;
21054
static enum ndr_err_code ndr_pull_spoolss_DeletePrinter(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinter *r)
21056
TALLOC_CTX *_mem_save_handle_0;
21057
if (flags & NDR_IN) {
21058
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21059
NDR_PULL_ALLOC(ndr, r->in.handle);
21061
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
21062
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
21063
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21064
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
21066
if (flags & NDR_OUT) {
21067
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
21069
return NDR_ERR_SUCCESS;
21072
_PUBLIC_ void ndr_print_spoolss_DeletePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinter *r)
21074
ndr_print_struct(ndr, name, "spoolss_DeletePrinter");
21076
if (flags & NDR_SET_VALUES) {
21077
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
21079
if (flags & NDR_IN) {
21080
ndr_print_struct(ndr, "in", "spoolss_DeletePrinter");
21082
ndr_print_ptr(ndr, "handle", r->in.handle);
21084
ndr_print_policy_handle(ndr, "handle", r->in.handle);
21088
if (flags & NDR_OUT) {
21089
ndr_print_struct(ndr, "out", "spoolss_DeletePrinter");
21091
ndr_print_WERROR(ndr, "result", r->out.result);
21097
static enum ndr_err_code ndr_push_spoolss_SetPrinter(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinter *r)
21099
if (flags & NDR_IN) {
21100
if (r->in.handle == NULL) {
21101
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21103
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21104
if (r->in.info_ctr == NULL) {
21105
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21107
NDR_CHECK(ndr_push_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
21108
if (r->in.devmode_ctr == NULL) {
21109
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21111
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
21112
if (r->in.secdesc_ctr == NULL) {
21113
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21115
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr));
21116
NDR_CHECK(ndr_push_spoolss_PrinterControl(ndr, NDR_SCALARS, r->in.command));
21118
if (flags & NDR_OUT) {
21119
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21121
return NDR_ERR_SUCCESS;
21124
static enum ndr_err_code ndr_pull_spoolss_SetPrinter(struct ndr_pull *ndr, int flags, struct spoolss_SetPrinter *r)
21126
TALLOC_CTX *_mem_save_handle_0;
21127
TALLOC_CTX *_mem_save_info_ctr_0;
21128
TALLOC_CTX *_mem_save_devmode_ctr_0;
21129
TALLOC_CTX *_mem_save_secdesc_ctr_0;
21130
if (flags & NDR_IN) {
21131
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21132
NDR_PULL_ALLOC(ndr, r->in.handle);
21134
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
21135
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
21136
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21137
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
21138
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21139
NDR_PULL_ALLOC(ndr, r->in.info_ctr);
21141
_mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
21142
NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC);
21143
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
21144
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
21145
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21146
NDR_PULL_ALLOC(ndr, r->in.devmode_ctr);
21148
_mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
21149
NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC);
21150
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
21151
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC);
21152
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21153
NDR_PULL_ALLOC(ndr, r->in.secdesc_ctr);
21155
_mem_save_secdesc_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
21156
NDR_PULL_SET_MEM_CTX(ndr, r->in.secdesc_ctr, LIBNDR_FLAG_REF_ALLOC);
21157
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr));
21158
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_ctr_0, LIBNDR_FLAG_REF_ALLOC);
21159
NDR_CHECK(ndr_pull_spoolss_PrinterControl(ndr, NDR_SCALARS, &r->in.command));
21161
if (flags & NDR_OUT) {
21162
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
21164
return NDR_ERR_SUCCESS;
21167
_PUBLIC_ void ndr_print_spoolss_SetPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinter *r)
21169
ndr_print_struct(ndr, name, "spoolss_SetPrinter");
21171
if (flags & NDR_SET_VALUES) {
21172
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
21174
if (flags & NDR_IN) {
21175
ndr_print_struct(ndr, "in", "spoolss_SetPrinter");
21177
ndr_print_ptr(ndr, "handle", r->in.handle);
21179
ndr_print_policy_handle(ndr, "handle", r->in.handle);
21181
ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr);
21183
ndr_print_spoolss_SetPrinterInfoCtr(ndr, "info_ctr", r->in.info_ctr);
21185
ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr);
21187
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr);
21189
ndr_print_ptr(ndr, "secdesc_ctr", r->in.secdesc_ctr);
21191
ndr_print_sec_desc_buf(ndr, "secdesc_ctr", r->in.secdesc_ctr);
21193
ndr_print_spoolss_PrinterControl(ndr, "command", r->in.command);
21196
if (flags & NDR_OUT) {
21197
ndr_print_struct(ndr, "out", "spoolss_SetPrinter");
21199
ndr_print_WERROR(ndr, "result", r->out.result);
21205
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_GetPrinter(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinter *r)
21207
if (flags & NDR_IN) {
21208
if (r->in.handle == NULL) {
21209
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21211
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21212
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
21213
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
21214
if (r->in.buffer) {
21215
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
21217
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
21219
if (flags & NDR_OUT) {
21220
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
21223
struct ndr_push *_ndr_info;
21224
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
21225
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
21226
NDR_CHECK(ndr_push_spoolss_PrinterInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
21227
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
21230
if (r->out.needed == NULL) {
21231
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21233
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
21234
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21236
return NDR_ERR_SUCCESS;
21239
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_GetPrinter(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinter *r)
21241
uint32_t _ptr_buffer;
21242
uint32_t _ptr_info;
21243
TALLOC_CTX *_mem_save_handle_0;
21244
TALLOC_CTX *_mem_save_buffer_0;
21245
TALLOC_CTX *_mem_save_info_0;
21246
TALLOC_CTX *_mem_save_needed_0;
21247
if (flags & NDR_IN) {
21248
ZERO_STRUCT(r->out);
21250
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21251
NDR_PULL_ALLOC(ndr, r->in.handle);
21253
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
21254
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
21255
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21256
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
21257
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
21258
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
21260
NDR_PULL_ALLOC(ndr, r->in.buffer);
21262
r->in.buffer = NULL;
21264
if (r->in.buffer) {
21265
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
21266
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
21267
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
21268
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
21270
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
21271
NDR_PULL_ALLOC(ndr, r->out.needed);
21272
ZERO_STRUCTP(r->out.needed);
21274
if (flags & NDR_OUT) {
21275
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
21277
NDR_PULL_ALLOC(ndr, r->out.info);
21279
r->out.info = NULL;
21282
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
21283
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
21285
struct ndr_pull *_ndr_info;
21286
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
21287
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
21288
NDR_CHECK(ndr_pull_spoolss_PrinterInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
21289
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
21291
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
21293
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21294
NDR_PULL_ALLOC(ndr, r->out.needed);
21296
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
21297
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
21298
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
21299
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
21300
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
21302
return NDR_ERR_SUCCESS;
21305
_PUBLIC_ void ndr_print_spoolss_GetPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinter *r)
21307
ndr_print_struct(ndr, name, "spoolss_GetPrinter");
21309
if (flags & NDR_SET_VALUES) {
21310
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
21312
if (flags & NDR_IN) {
21313
ndr_print_struct(ndr, "in", "spoolss_GetPrinter");
21315
ndr_print_ptr(ndr, "handle", r->in.handle);
21317
ndr_print_policy_handle(ndr, "handle", r->in.handle);
21319
ndr_print_uint32(ndr, "level", r->in.level);
21320
ndr_print_ptr(ndr, "buffer", r->in.buffer);
21322
if (r->in.buffer) {
21323
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
21326
ndr_print_uint32(ndr, "offered", r->in.offered);
21329
if (flags & NDR_OUT) {
21330
ndr_print_struct(ndr, "out", "spoolss_GetPrinter");
21332
ndr_print_ptr(ndr, "info", r->out.info);
21335
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
21336
ndr_print_spoolss_PrinterInfo(ndr, "info", r->out.info);
21339
ndr_print_ptr(ndr, "needed", r->out.needed);
21341
ndr_print_uint32(ndr, "needed", *r->out.needed);
21343
ndr_print_WERROR(ndr, "result", r->out.result);
21349
static enum ndr_err_code ndr_push_spoolss_AddPrinterDriver(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterDriver *r)
21351
if (flags & NDR_IN) {
21352
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
21353
if (r->in.servername) {
21354
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
21355
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
21356
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
21357
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
21359
if (r->in.info_ctr == NULL) {
21360
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21362
NDR_CHECK(ndr_push_spoolss_AddDriverInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
21364
if (flags & NDR_OUT) {
21365
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21367
return NDR_ERR_SUCCESS;
21370
static enum ndr_err_code ndr_pull_spoolss_AddPrinterDriver(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterDriver *r)
21372
uint32_t _ptr_servername;
21373
TALLOC_CTX *_mem_save_servername_0;
21374
TALLOC_CTX *_mem_save_info_ctr_0;
21375
if (flags & NDR_IN) {
21376
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
21377
if (_ptr_servername) {
21378
NDR_PULL_ALLOC(ndr, r->in.servername);
21380
r->in.servername = NULL;
21382
if (r->in.servername) {
21383
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
21384
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
21385
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
21386
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
21387
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
21388
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
21390
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
21391
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
21392
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
21394
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21395
NDR_PULL_ALLOC(ndr, r->in.info_ctr);
21397
_mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
21398
NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC);
21399
NDR_CHECK(ndr_pull_spoolss_AddDriverInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
21400
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
21402
if (flags & NDR_OUT) {
21403
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
21405
return NDR_ERR_SUCCESS;
21408
_PUBLIC_ void ndr_print_spoolss_AddPrinterDriver(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterDriver *r)
21410
ndr_print_struct(ndr, name, "spoolss_AddPrinterDriver");
21412
if (flags & NDR_SET_VALUES) {
21413
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
21415
if (flags & NDR_IN) {
21416
ndr_print_struct(ndr, "in", "spoolss_AddPrinterDriver");
21418
ndr_print_ptr(ndr, "servername", r->in.servername);
21420
if (r->in.servername) {
21421
ndr_print_string(ndr, "servername", r->in.servername);
21424
ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr);
21426
ndr_print_spoolss_AddDriverInfoCtr(ndr, "info_ctr", r->in.info_ctr);
21430
if (flags & NDR_OUT) {
21431
ndr_print_struct(ndr, "out", "spoolss_AddPrinterDriver");
21433
ndr_print_WERROR(ndr, "result", r->out.result);
21439
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrinterDrivers(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrinterDrivers *r)
21441
if (flags & NDR_IN) {
21442
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
21443
if (r->in.server) {
21444
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
21445
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
21446
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
21447
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
21449
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment));
21450
if (r->in.environment) {
21451
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
21452
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
21453
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
21454
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
21456
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
21457
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
21458
if (r->in.buffer) {
21459
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
21461
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
21463
if (flags & NDR_OUT) {
21464
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
21466
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
21468
if (r->out.needed == NULL) {
21469
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21471
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
21472
if (r->out.count == NULL) {
21473
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21475
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
21476
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21478
return NDR_ERR_SUCCESS;
21481
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrinterDrivers(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrinterDrivers *r)
21483
uint32_t _ptr_server;
21484
uint32_t _ptr_environment;
21485
uint32_t _ptr_buffer;
21486
uint32_t _ptr_info;
21487
TALLOC_CTX *_mem_save_server_0;
21488
TALLOC_CTX *_mem_save_environment_0;
21489
TALLOC_CTX *_mem_save_buffer_0;
21490
TALLOC_CTX *_mem_save_info_0;
21491
TALLOC_CTX *_mem_save_needed_0;
21492
TALLOC_CTX *_mem_save_count_0;
21493
if (flags & NDR_IN) {
21494
ZERO_STRUCT(r->out);
21496
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
21498
NDR_PULL_ALLOC(ndr, r->in.server);
21500
r->in.server = NULL;
21502
if (r->in.server) {
21503
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
21504
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
21505
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
21506
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
21507
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
21508
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server));
21510
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
21511
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
21512
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
21514
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
21515
if (_ptr_environment) {
21516
NDR_PULL_ALLOC(ndr, r->in.environment);
21518
r->in.environment = NULL;
21520
if (r->in.environment) {
21521
_mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
21522
NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0);
21523
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment));
21524
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment));
21525
if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) {
21526
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.environment), ndr_get_array_length(ndr, &r->in.environment));
21528
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t)));
21529
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16));
21530
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
21532
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
21533
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
21535
NDR_PULL_ALLOC(ndr, r->in.buffer);
21537
r->in.buffer = NULL;
21539
if (r->in.buffer) {
21540
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
21541
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
21542
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
21543
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
21545
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
21546
NDR_PULL_ALLOC(ndr, r->out.needed);
21547
ZERO_STRUCTP(r->out.needed);
21548
NDR_PULL_ALLOC(ndr, r->out.count);
21549
ZERO_STRUCTP(r->out.count);
21551
if (flags & NDR_OUT) {
21552
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
21554
NDR_PULL_ALLOC(ndr, r->out.info);
21556
r->out.info = NULL;
21559
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
21560
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
21561
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
21562
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
21564
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21565
NDR_PULL_ALLOC(ndr, r->out.needed);
21567
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
21568
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
21569
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
21570
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
21571
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21572
NDR_PULL_ALLOC(ndr, r->out.count);
21574
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
21575
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
21576
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
21577
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
21578
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
21580
return NDR_ERR_SUCCESS;
21583
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrinterDrivers(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrinterDrivers *r)
21585
uint32_t cntr_info_0;
21586
if (flags & NDR_IN) {
21587
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
21588
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
21590
if (flags & NDR_OUT) {
21591
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
21592
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
21593
NDR_CHECK(ndr_push_spoolss_DriverInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
21595
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
21596
NDR_CHECK(ndr_push_spoolss_DriverInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
21599
return NDR_ERR_SUCCESS;
21602
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrinterDrivers(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrinterDrivers *r)
21604
uint32_t cntr_info_0;
21605
TALLOC_CTX *_mem_save_info_0;
21606
if (flags & NDR_IN) {
21607
ZERO_STRUCT(r->out);
21609
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
21610
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
21612
if (flags & NDR_OUT) {
21613
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
21614
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
21615
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
21616
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
21617
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
21618
NDR_CHECK(ndr_pull_spoolss_DriverInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
21620
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
21621
NDR_CHECK(ndr_pull_spoolss_DriverInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
21623
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
21625
return NDR_ERR_SUCCESS;
21628
_PUBLIC_ void ndr_print_spoolss_EnumPrinterDrivers(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterDrivers *r)
21630
uint32_t cntr_info_2;
21631
ndr_print_struct(ndr, name, "spoolss_EnumPrinterDrivers");
21633
if (flags & NDR_SET_VALUES) {
21634
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
21636
if (flags & NDR_IN) {
21637
ndr_print_struct(ndr, "in", "spoolss_EnumPrinterDrivers");
21639
ndr_print_ptr(ndr, "server", r->in.server);
21641
if (r->in.server) {
21642
ndr_print_string(ndr, "server", r->in.server);
21645
ndr_print_ptr(ndr, "environment", r->in.environment);
21647
if (r->in.environment) {
21648
ndr_print_string(ndr, "environment", r->in.environment);
21651
ndr_print_uint32(ndr, "level", r->in.level);
21652
ndr_print_ptr(ndr, "buffer", r->in.buffer);
21654
if (r->in.buffer) {
21655
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
21658
ndr_print_uint32(ndr, "offered", r->in.offered);
21661
if (flags & NDR_OUT) {
21662
ndr_print_struct(ndr, "out", "spoolss_EnumPrinterDrivers");
21664
ndr_print_ptr(ndr, "count", r->out.count);
21666
ndr_print_uint32(ndr, "count", *r->out.count);
21668
ndr_print_ptr(ndr, "info", r->out.info);
21670
ndr_print_ptr(ndr, "info", *r->out.info);
21672
if (*r->out.info) {
21673
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
21675
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
21677
if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) {
21678
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
21679
ndr_print_spoolss_DriverInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
21687
ndr_print_ptr(ndr, "needed", r->out.needed);
21689
ndr_print_uint32(ndr, "needed", *r->out.needed);
21691
ndr_print_WERROR(ndr, "result", r->out.result);
21697
static enum ndr_err_code ndr_push_spoolss_GetPrinterDriver(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriver *r)
21699
if (flags & NDR_IN) {
21700
if (r->in.handle == NULL) {
21701
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21703
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21704
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.architecture));
21705
if (r->in.architecture) {
21706
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
21707
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
21708
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
21709
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
21711
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
21712
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
21713
if (r->in.buffer) {
21714
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
21716
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
21718
if (flags & NDR_OUT) {
21719
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
21722
struct ndr_push *_ndr_info;
21723
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
21724
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
21725
NDR_CHECK(ndr_push_spoolss_DriverInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
21726
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
21729
if (r->out.needed == NULL) {
21730
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21732
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
21733
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21735
return NDR_ERR_SUCCESS;
21738
static enum ndr_err_code ndr_pull_spoolss_GetPrinterDriver(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriver *r)
21740
uint32_t _ptr_architecture;
21741
uint32_t _ptr_buffer;
21742
uint32_t _ptr_info;
21743
TALLOC_CTX *_mem_save_handle_0;
21744
TALLOC_CTX *_mem_save_architecture_0;
21745
TALLOC_CTX *_mem_save_buffer_0;
21746
TALLOC_CTX *_mem_save_info_0;
21747
TALLOC_CTX *_mem_save_needed_0;
21748
if (flags & NDR_IN) {
21749
ZERO_STRUCT(r->out);
21751
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21752
NDR_PULL_ALLOC(ndr, r->in.handle);
21754
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
21755
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
21756
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21757
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
21758
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
21759
if (_ptr_architecture) {
21760
NDR_PULL_ALLOC(ndr, r->in.architecture);
21762
r->in.architecture = NULL;
21764
if (r->in.architecture) {
21765
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
21766
NDR_PULL_SET_MEM_CTX(ndr, r->in.architecture, 0);
21767
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
21768
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
21769
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
21770
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.architecture), ndr_get_array_length(ndr, &r->in.architecture));
21772
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
21773
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
21774
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
21776
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
21777
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
21779
NDR_PULL_ALLOC(ndr, r->in.buffer);
21781
r->in.buffer = NULL;
21783
if (r->in.buffer) {
21784
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
21785
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
21786
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
21787
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
21789
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
21790
NDR_PULL_ALLOC(ndr, r->out.needed);
21791
ZERO_STRUCTP(r->out.needed);
21793
if (flags & NDR_OUT) {
21794
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
21796
NDR_PULL_ALLOC(ndr, r->out.info);
21798
r->out.info = NULL;
21801
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
21802
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
21804
struct ndr_pull *_ndr_info;
21805
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
21806
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
21807
NDR_CHECK(ndr_pull_spoolss_DriverInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
21808
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
21810
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
21812
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21813
NDR_PULL_ALLOC(ndr, r->out.needed);
21815
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
21816
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
21817
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
21818
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
21819
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
21821
return NDR_ERR_SUCCESS;
21824
_PUBLIC_ void ndr_print_spoolss_GetPrinterDriver(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriver *r)
21826
ndr_print_struct(ndr, name, "spoolss_GetPrinterDriver");
21828
if (flags & NDR_SET_VALUES) {
21829
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
21831
if (flags & NDR_IN) {
21832
ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriver");
21834
ndr_print_ptr(ndr, "handle", r->in.handle);
21836
ndr_print_policy_handle(ndr, "handle", r->in.handle);
21838
ndr_print_ptr(ndr, "architecture", r->in.architecture);
21840
if (r->in.architecture) {
21841
ndr_print_string(ndr, "architecture", r->in.architecture);
21844
ndr_print_uint32(ndr, "level", r->in.level);
21845
ndr_print_ptr(ndr, "buffer", r->in.buffer);
21847
if (r->in.buffer) {
21848
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
21851
ndr_print_uint32(ndr, "offered", r->in.offered);
21854
if (flags & NDR_OUT) {
21855
ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriver");
21857
ndr_print_ptr(ndr, "info", r->out.info);
21860
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
21861
ndr_print_spoolss_DriverInfo(ndr, "info", r->out.info);
21864
ndr_print_ptr(ndr, "needed", r->out.needed);
21866
ndr_print_uint32(ndr, "needed", *r->out.needed);
21868
ndr_print_WERROR(ndr, "result", r->out.result);
21874
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_GetPrinterDriverDirectory(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriverDirectory *r)
21876
if (flags & NDR_IN) {
21877
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
21878
if (r->in.server) {
21879
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
21880
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
21881
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
21882
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
21884
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment));
21885
if (r->in.environment) {
21886
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
21887
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
21888
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
21889
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
21891
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
21892
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
21893
if (r->in.buffer) {
21894
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
21896
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
21898
if (flags & NDR_OUT) {
21899
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
21902
struct ndr_push *_ndr_info;
21903
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
21904
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
21905
NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo(_ndr_info, NDR_SCALARS, r->out.info));
21906
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
21909
if (r->out.needed == NULL) {
21910
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21912
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
21913
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21915
return NDR_ERR_SUCCESS;
21918
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_GetPrinterDriverDirectory(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriverDirectory *r)
21920
uint32_t _ptr_server;
21921
uint32_t _ptr_environment;
21922
uint32_t _ptr_buffer;
21923
uint32_t _ptr_info;
21924
TALLOC_CTX *_mem_save_server_0;
21925
TALLOC_CTX *_mem_save_environment_0;
21926
TALLOC_CTX *_mem_save_buffer_0;
21927
TALLOC_CTX *_mem_save_info_0;
21928
TALLOC_CTX *_mem_save_needed_0;
21929
if (flags & NDR_IN) {
21930
ZERO_STRUCT(r->out);
21932
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
21934
NDR_PULL_ALLOC(ndr, r->in.server);
21936
r->in.server = NULL;
21938
if (r->in.server) {
21939
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
21940
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
21941
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
21942
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
21943
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
21944
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server));
21946
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
21947
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
21948
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
21950
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
21951
if (_ptr_environment) {
21952
NDR_PULL_ALLOC(ndr, r->in.environment);
21954
r->in.environment = NULL;
21956
if (r->in.environment) {
21957
_mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
21958
NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0);
21959
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment));
21960
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment));
21961
if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) {
21962
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.environment), ndr_get_array_length(ndr, &r->in.environment));
21964
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t)));
21965
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16));
21966
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
21968
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
21969
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
21971
NDR_PULL_ALLOC(ndr, r->in.buffer);
21973
r->in.buffer = NULL;
21975
if (r->in.buffer) {
21976
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
21977
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
21978
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
21979
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
21981
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
21982
NDR_PULL_ALLOC(ndr, r->out.needed);
21983
ZERO_STRUCTP(r->out.needed);
21985
if (flags & NDR_OUT) {
21986
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
21988
NDR_PULL_ALLOC(ndr, r->out.info);
21990
r->out.info = NULL;
21993
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
21994
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
21996
struct ndr_pull *_ndr_info;
21997
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
21998
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
21999
NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo(_ndr_info, NDR_SCALARS, r->out.info));
22000
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
22002
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
22004
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22005
NDR_PULL_ALLOC(ndr, r->out.needed);
22007
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
22008
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
22009
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
22010
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
22011
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22013
return NDR_ERR_SUCCESS;
22016
_PUBLIC_ void ndr_print_spoolss_GetPrinterDriverDirectory(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriverDirectory *r)
22018
ndr_print_struct(ndr, name, "spoolss_GetPrinterDriverDirectory");
22020
if (flags & NDR_SET_VALUES) {
22021
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22023
if (flags & NDR_IN) {
22024
ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriverDirectory");
22026
ndr_print_ptr(ndr, "server", r->in.server);
22028
if (r->in.server) {
22029
ndr_print_string(ndr, "server", r->in.server);
22032
ndr_print_ptr(ndr, "environment", r->in.environment);
22034
if (r->in.environment) {
22035
ndr_print_string(ndr, "environment", r->in.environment);
22038
ndr_print_uint32(ndr, "level", r->in.level);
22039
ndr_print_ptr(ndr, "buffer", r->in.buffer);
22041
if (r->in.buffer) {
22042
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
22045
ndr_print_uint32(ndr, "offered", r->in.offered);
22048
if (flags & NDR_OUT) {
22049
ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriverDirectory");
22051
ndr_print_ptr(ndr, "info", r->out.info);
22054
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
22055
ndr_print_spoolss_DriverDirectoryInfo(ndr, "info", r->out.info);
22058
ndr_print_ptr(ndr, "needed", r->out.needed);
22060
ndr_print_uint32(ndr, "needed", *r->out.needed);
22062
ndr_print_WERROR(ndr, "result", r->out.result);
22068
static enum ndr_err_code ndr_push_spoolss_DeletePrinterDriver(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterDriver *r)
22070
if (flags & NDR_IN) {
22071
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
22072
if (r->in.server) {
22073
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
22074
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22075
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
22076
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22078
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
22079
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22080
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
22081
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22082
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.driver, CH_UTF16)));
22083
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22084
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.driver, CH_UTF16)));
22085
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.driver, ndr_charset_length(r->in.driver, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22087
if (flags & NDR_OUT) {
22088
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22090
return NDR_ERR_SUCCESS;
22093
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterDriver(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterDriver *r)
22095
uint32_t _ptr_server;
22096
TALLOC_CTX *_mem_save_server_0;
22097
if (flags & NDR_IN) {
22098
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
22100
NDR_PULL_ALLOC(ndr, r->in.server);
22102
r->in.server = NULL;
22104
if (r->in.server) {
22105
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
22106
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
22107
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
22108
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
22109
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
22110
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server));
22112
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
22113
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
22114
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
22116
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
22117
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
22118
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
22119
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.architecture), ndr_get_array_length(ndr, &r->in.architecture));
22121
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
22122
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
22123
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.driver));
22124
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.driver));
22125
if (ndr_get_array_length(ndr, &r->in.driver) > ndr_get_array_size(ndr, &r->in.driver)) {
22126
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.driver), ndr_get_array_length(ndr, &r->in.driver));
22128
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.driver), sizeof(uint16_t)));
22129
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.driver, ndr_get_array_length(ndr, &r->in.driver), sizeof(uint16_t), CH_UTF16));
22131
if (flags & NDR_OUT) {
22132
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22134
return NDR_ERR_SUCCESS;
22137
_PUBLIC_ void ndr_print_spoolss_DeletePrinterDriver(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterDriver *r)
22139
ndr_print_struct(ndr, name, "spoolss_DeletePrinterDriver");
22141
if (flags & NDR_SET_VALUES) {
22142
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22144
if (flags & NDR_IN) {
22145
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterDriver");
22147
ndr_print_ptr(ndr, "server", r->in.server);
22149
if (r->in.server) {
22150
ndr_print_string(ndr, "server", r->in.server);
22153
ndr_print_string(ndr, "architecture", r->in.architecture);
22154
ndr_print_string(ndr, "driver", r->in.driver);
22157
if (flags & NDR_OUT) {
22158
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterDriver");
22160
ndr_print_WERROR(ndr, "result", r->out.result);
22166
static enum ndr_err_code ndr_push_spoolss_AddPrintProcessor(struct ndr_push *ndr, int flags, const struct spoolss_AddPrintProcessor *r)
22168
if (flags & NDR_IN) {
22169
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
22170
if (r->in.server) {
22171
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
22172
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22173
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
22174
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22176
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
22177
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22178
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
22179
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22180
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path_name, CH_UTF16)));
22181
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22182
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path_name, CH_UTF16)));
22183
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.path_name, ndr_charset_length(r->in.path_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22184
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.print_processor_name, CH_UTF16)));
22185
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22186
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.print_processor_name, CH_UTF16)));
22187
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.print_processor_name, ndr_charset_length(r->in.print_processor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22189
if (flags & NDR_OUT) {
22190
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22192
return NDR_ERR_SUCCESS;
22195
static enum ndr_err_code ndr_pull_spoolss_AddPrintProcessor(struct ndr_pull *ndr, int flags, struct spoolss_AddPrintProcessor *r)
22197
uint32_t _ptr_server;
22198
TALLOC_CTX *_mem_save_server_0;
22199
if (flags & NDR_IN) {
22200
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
22202
NDR_PULL_ALLOC(ndr, r->in.server);
22204
r->in.server = NULL;
22206
if (r->in.server) {
22207
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
22208
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
22209
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
22210
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
22211
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
22212
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server));
22214
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
22215
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
22216
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
22218
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
22219
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
22220
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
22221
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.architecture), ndr_get_array_length(ndr, &r->in.architecture));
22223
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
22224
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
22225
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path_name));
22226
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path_name));
22227
if (ndr_get_array_length(ndr, &r->in.path_name) > ndr_get_array_size(ndr, &r->in.path_name)) {
22228
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.path_name), ndr_get_array_length(ndr, &r->in.path_name));
22230
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path_name), sizeof(uint16_t)));
22231
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path_name, ndr_get_array_length(ndr, &r->in.path_name), sizeof(uint16_t), CH_UTF16));
22232
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.print_processor_name));
22233
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.print_processor_name));
22234
if (ndr_get_array_length(ndr, &r->in.print_processor_name) > ndr_get_array_size(ndr, &r->in.print_processor_name)) {
22235
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.print_processor_name), ndr_get_array_length(ndr, &r->in.print_processor_name));
22237
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.print_processor_name), sizeof(uint16_t)));
22238
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.print_processor_name, ndr_get_array_length(ndr, &r->in.print_processor_name), sizeof(uint16_t), CH_UTF16));
22240
if (flags & NDR_OUT) {
22241
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22243
return NDR_ERR_SUCCESS;
22246
_PUBLIC_ void ndr_print_spoolss_AddPrintProcessor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrintProcessor *r)
22248
ndr_print_struct(ndr, name, "spoolss_AddPrintProcessor");
22250
if (flags & NDR_SET_VALUES) {
22251
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22253
if (flags & NDR_IN) {
22254
ndr_print_struct(ndr, "in", "spoolss_AddPrintProcessor");
22256
ndr_print_ptr(ndr, "server", r->in.server);
22258
if (r->in.server) {
22259
ndr_print_string(ndr, "server", r->in.server);
22262
ndr_print_string(ndr, "architecture", r->in.architecture);
22263
ndr_print_string(ndr, "path_name", r->in.path_name);
22264
ndr_print_string(ndr, "print_processor_name", r->in.print_processor_name);
22267
if (flags & NDR_OUT) {
22268
ndr_print_struct(ndr, "out", "spoolss_AddPrintProcessor");
22270
ndr_print_WERROR(ndr, "result", r->out.result);
22276
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrintProcessors(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrintProcessors *r)
22278
if (flags & NDR_IN) {
22279
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
22280
if (r->in.servername) {
22281
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
22282
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22283
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
22284
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22286
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment));
22287
if (r->in.environment) {
22288
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
22289
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22290
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
22291
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22293
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
22294
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
22295
if (r->in.buffer) {
22296
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
22298
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
22300
if (flags & NDR_OUT) {
22301
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
22303
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
22305
if (r->out.needed == NULL) {
22306
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22308
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
22309
if (r->out.count == NULL) {
22310
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22312
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
22313
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22315
return NDR_ERR_SUCCESS;
22318
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrintProcessors(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrintProcessors *r)
22320
uint32_t _ptr_servername;
22321
uint32_t _ptr_environment;
22322
uint32_t _ptr_buffer;
22323
uint32_t _ptr_info;
22324
TALLOC_CTX *_mem_save_servername_0;
22325
TALLOC_CTX *_mem_save_environment_0;
22326
TALLOC_CTX *_mem_save_buffer_0;
22327
TALLOC_CTX *_mem_save_info_0;
22328
TALLOC_CTX *_mem_save_needed_0;
22329
TALLOC_CTX *_mem_save_count_0;
22330
if (flags & NDR_IN) {
22331
ZERO_STRUCT(r->out);
22333
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
22334
if (_ptr_servername) {
22335
NDR_PULL_ALLOC(ndr, r->in.servername);
22337
r->in.servername = NULL;
22339
if (r->in.servername) {
22340
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
22341
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
22342
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
22343
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
22344
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
22345
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
22347
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
22348
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
22349
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
22351
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
22352
if (_ptr_environment) {
22353
NDR_PULL_ALLOC(ndr, r->in.environment);
22355
r->in.environment = NULL;
22357
if (r->in.environment) {
22358
_mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
22359
NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0);
22360
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment));
22361
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment));
22362
if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) {
22363
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.environment), ndr_get_array_length(ndr, &r->in.environment));
22365
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t)));
22366
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16));
22367
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
22369
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
22370
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
22372
NDR_PULL_ALLOC(ndr, r->in.buffer);
22374
r->in.buffer = NULL;
22376
if (r->in.buffer) {
22377
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
22378
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
22379
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
22380
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
22382
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
22383
NDR_PULL_ALLOC(ndr, r->out.needed);
22384
ZERO_STRUCTP(r->out.needed);
22385
NDR_PULL_ALLOC(ndr, r->out.count);
22386
ZERO_STRUCTP(r->out.count);
22388
if (flags & NDR_OUT) {
22389
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
22391
NDR_PULL_ALLOC(ndr, r->out.info);
22393
r->out.info = NULL;
22396
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
22397
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
22398
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
22399
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
22401
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22402
NDR_PULL_ALLOC(ndr, r->out.needed);
22404
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
22405
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
22406
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
22407
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
22408
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22409
NDR_PULL_ALLOC(ndr, r->out.count);
22411
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
22412
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
22413
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
22414
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
22415
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22417
return NDR_ERR_SUCCESS;
22420
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrintProcessors(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrintProcessors *r)
22422
uint32_t cntr_info_0;
22423
if (flags & NDR_IN) {
22424
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
22425
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
22427
if (flags & NDR_OUT) {
22428
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
22429
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
22430
NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
22432
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
22433
NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
22436
return NDR_ERR_SUCCESS;
22439
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrintProcessors(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrintProcessors *r)
22441
uint32_t cntr_info_0;
22442
TALLOC_CTX *_mem_save_info_0;
22443
if (flags & NDR_IN) {
22444
ZERO_STRUCT(r->out);
22446
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
22447
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
22449
if (flags & NDR_OUT) {
22450
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
22451
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
22452
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
22453
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
22454
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
22455
NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
22457
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
22458
NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
22460
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
22462
return NDR_ERR_SUCCESS;
22465
_PUBLIC_ void ndr_print_spoolss_EnumPrintProcessors(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrintProcessors *r)
22467
uint32_t cntr_info_2;
22468
ndr_print_struct(ndr, name, "spoolss_EnumPrintProcessors");
22470
if (flags & NDR_SET_VALUES) {
22471
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22473
if (flags & NDR_IN) {
22474
ndr_print_struct(ndr, "in", "spoolss_EnumPrintProcessors");
22476
ndr_print_ptr(ndr, "servername", r->in.servername);
22478
if (r->in.servername) {
22479
ndr_print_string(ndr, "servername", r->in.servername);
22482
ndr_print_ptr(ndr, "environment", r->in.environment);
22484
if (r->in.environment) {
22485
ndr_print_string(ndr, "environment", r->in.environment);
22488
ndr_print_uint32(ndr, "level", r->in.level);
22489
ndr_print_ptr(ndr, "buffer", r->in.buffer);
22491
if (r->in.buffer) {
22492
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
22495
ndr_print_uint32(ndr, "offered", r->in.offered);
22498
if (flags & NDR_OUT) {
22499
ndr_print_struct(ndr, "out", "spoolss_EnumPrintProcessors");
22501
ndr_print_ptr(ndr, "count", r->out.count);
22503
ndr_print_uint32(ndr, "count", *r->out.count);
22505
ndr_print_ptr(ndr, "info", r->out.info);
22507
ndr_print_ptr(ndr, "info", *r->out.info);
22509
if (*r->out.info) {
22510
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
22512
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
22514
if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) {
22515
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
22516
ndr_print_spoolss_PrintProcessorInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
22524
ndr_print_ptr(ndr, "needed", r->out.needed);
22526
ndr_print_uint32(ndr, "needed", *r->out.needed);
22528
ndr_print_WERROR(ndr, "result", r->out.result);
22534
static enum ndr_err_code ndr_push_spoolss_GetPrintProcessorDirectory(struct ndr_push *ndr, int flags, const struct spoolss_GetPrintProcessorDirectory *r)
22536
if (flags & NDR_IN) {
22537
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
22538
if (r->in.server) {
22539
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
22540
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22541
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
22542
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22544
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment));
22545
if (r->in.environment) {
22546
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
22547
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22548
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
22549
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22551
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
22552
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
22553
if (r->in.buffer) {
22554
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
22556
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
22558
if (flags & NDR_OUT) {
22559
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
22562
struct ndr_push *_ndr_info;
22563
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
22564
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
22565
NDR_CHECK(ndr_push_spoolss_PrintProcessorDirectoryInfo(_ndr_info, NDR_SCALARS, r->out.info));
22566
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
22569
if (r->out.needed == NULL) {
22570
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22572
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
22573
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22575
return NDR_ERR_SUCCESS;
22578
static enum ndr_err_code ndr_pull_spoolss_GetPrintProcessorDirectory(struct ndr_pull *ndr, int flags, struct spoolss_GetPrintProcessorDirectory *r)
22580
uint32_t _ptr_server;
22581
uint32_t _ptr_environment;
22582
uint32_t _ptr_buffer;
22583
uint32_t _ptr_info;
22584
TALLOC_CTX *_mem_save_server_0;
22585
TALLOC_CTX *_mem_save_environment_0;
22586
TALLOC_CTX *_mem_save_buffer_0;
22587
TALLOC_CTX *_mem_save_info_0;
22588
TALLOC_CTX *_mem_save_needed_0;
22589
if (flags & NDR_IN) {
22590
ZERO_STRUCT(r->out);
22592
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
22594
NDR_PULL_ALLOC(ndr, r->in.server);
22596
r->in.server = NULL;
22598
if (r->in.server) {
22599
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
22600
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
22601
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
22602
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
22603
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
22604
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server));
22606
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
22607
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
22608
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
22610
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
22611
if (_ptr_environment) {
22612
NDR_PULL_ALLOC(ndr, r->in.environment);
22614
r->in.environment = NULL;
22616
if (r->in.environment) {
22617
_mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
22618
NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0);
22619
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment));
22620
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment));
22621
if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) {
22622
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.environment), ndr_get_array_length(ndr, &r->in.environment));
22624
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t)));
22625
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16));
22626
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
22628
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
22629
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
22631
NDR_PULL_ALLOC(ndr, r->in.buffer);
22633
r->in.buffer = NULL;
22635
if (r->in.buffer) {
22636
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
22637
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
22638
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
22639
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
22641
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
22642
NDR_PULL_ALLOC(ndr, r->out.needed);
22643
ZERO_STRUCTP(r->out.needed);
22645
if (flags & NDR_OUT) {
22646
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
22648
NDR_PULL_ALLOC(ndr, r->out.info);
22650
r->out.info = NULL;
22653
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
22654
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
22656
struct ndr_pull *_ndr_info;
22657
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
22658
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
22659
NDR_CHECK(ndr_pull_spoolss_PrintProcessorDirectoryInfo(_ndr_info, NDR_SCALARS, r->out.info));
22660
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
22662
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
22664
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22665
NDR_PULL_ALLOC(ndr, r->out.needed);
22667
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
22668
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
22669
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
22670
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
22671
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22673
return NDR_ERR_SUCCESS;
22676
_PUBLIC_ void ndr_print_spoolss_GetPrintProcessorDirectory(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrintProcessorDirectory *r)
22678
ndr_print_struct(ndr, name, "spoolss_GetPrintProcessorDirectory");
22680
if (flags & NDR_SET_VALUES) {
22681
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22683
if (flags & NDR_IN) {
22684
ndr_print_struct(ndr, "in", "spoolss_GetPrintProcessorDirectory");
22686
ndr_print_ptr(ndr, "server", r->in.server);
22688
if (r->in.server) {
22689
ndr_print_string(ndr, "server", r->in.server);
22692
ndr_print_ptr(ndr, "environment", r->in.environment);
22694
if (r->in.environment) {
22695
ndr_print_string(ndr, "environment", r->in.environment);
22698
ndr_print_uint32(ndr, "level", r->in.level);
22699
ndr_print_ptr(ndr, "buffer", r->in.buffer);
22701
if (r->in.buffer) {
22702
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
22705
ndr_print_uint32(ndr, "offered", r->in.offered);
22708
if (flags & NDR_OUT) {
22709
ndr_print_struct(ndr, "out", "spoolss_GetPrintProcessorDirectory");
22711
ndr_print_ptr(ndr, "info", r->out.info);
22714
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
22715
ndr_print_spoolss_PrintProcessorDirectoryInfo(ndr, "info", r->out.info);
22718
ndr_print_ptr(ndr, "needed", r->out.needed);
22720
ndr_print_uint32(ndr, "needed", *r->out.needed);
22722
ndr_print_WERROR(ndr, "result", r->out.result);
22728
static enum ndr_err_code ndr_push_spoolss_StartDocPrinter(struct ndr_push *ndr, int flags, const struct spoolss_StartDocPrinter *r)
22730
if (flags & NDR_IN) {
22731
if (r->in.handle == NULL) {
22732
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22734
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22735
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
22736
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level));
22737
NDR_CHECK(ndr_push_spoolss_DocumentInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
22739
if (flags & NDR_OUT) {
22740
if (r->out.job_id == NULL) {
22741
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22743
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.job_id));
22744
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22746
return NDR_ERR_SUCCESS;
22749
static enum ndr_err_code ndr_pull_spoolss_StartDocPrinter(struct ndr_pull *ndr, int flags, struct spoolss_StartDocPrinter *r)
22751
TALLOC_CTX *_mem_save_handle_0;
22752
TALLOC_CTX *_mem_save_job_id_0;
22753
if (flags & NDR_IN) {
22754
ZERO_STRUCT(r->out);
22756
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22757
NDR_PULL_ALLOC(ndr, r->in.handle);
22759
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
22760
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
22761
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22762
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
22763
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
22764
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level));
22765
NDR_CHECK(ndr_pull_spoolss_DocumentInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
22766
NDR_PULL_ALLOC(ndr, r->out.job_id);
22767
ZERO_STRUCTP(r->out.job_id);
22769
if (flags & NDR_OUT) {
22770
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22771
NDR_PULL_ALLOC(ndr, r->out.job_id);
22773
_mem_save_job_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
22774
NDR_PULL_SET_MEM_CTX(ndr, r->out.job_id, LIBNDR_FLAG_REF_ALLOC);
22775
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.job_id));
22776
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_job_id_0, LIBNDR_FLAG_REF_ALLOC);
22777
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22779
return NDR_ERR_SUCCESS;
22782
_PUBLIC_ void ndr_print_spoolss_StartDocPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_StartDocPrinter *r)
22784
ndr_print_struct(ndr, name, "spoolss_StartDocPrinter");
22786
if (flags & NDR_SET_VALUES) {
22787
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22789
if (flags & NDR_IN) {
22790
ndr_print_struct(ndr, "in", "spoolss_StartDocPrinter");
22792
ndr_print_ptr(ndr, "handle", r->in.handle);
22794
ndr_print_policy_handle(ndr, "handle", r->in.handle);
22796
ndr_print_uint32(ndr, "level", r->in.level);
22797
ndr_print_set_switch_value(ndr, &r->in.info, r->in.level);
22798
ndr_print_spoolss_DocumentInfo(ndr, "info", &r->in.info);
22801
if (flags & NDR_OUT) {
22802
ndr_print_struct(ndr, "out", "spoolss_StartDocPrinter");
22804
ndr_print_ptr(ndr, "job_id", r->out.job_id);
22806
ndr_print_uint32(ndr, "job_id", *r->out.job_id);
22808
ndr_print_WERROR(ndr, "result", r->out.result);
22814
static enum ndr_err_code ndr_push_spoolss_StartPagePrinter(struct ndr_push *ndr, int flags, const struct spoolss_StartPagePrinter *r)
22816
if (flags & NDR_IN) {
22817
if (r->in.handle == NULL) {
22818
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22820
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22822
if (flags & NDR_OUT) {
22823
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22825
return NDR_ERR_SUCCESS;
22828
static enum ndr_err_code ndr_pull_spoolss_StartPagePrinter(struct ndr_pull *ndr, int flags, struct spoolss_StartPagePrinter *r)
22830
TALLOC_CTX *_mem_save_handle_0;
22831
if (flags & NDR_IN) {
22832
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22833
NDR_PULL_ALLOC(ndr, r->in.handle);
22835
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
22836
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
22837
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22838
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
22840
if (flags & NDR_OUT) {
22841
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22843
return NDR_ERR_SUCCESS;
22846
_PUBLIC_ void ndr_print_spoolss_StartPagePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_StartPagePrinter *r)
22848
ndr_print_struct(ndr, name, "spoolss_StartPagePrinter");
22850
if (flags & NDR_SET_VALUES) {
22851
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22853
if (flags & NDR_IN) {
22854
ndr_print_struct(ndr, "in", "spoolss_StartPagePrinter");
22856
ndr_print_ptr(ndr, "handle", r->in.handle);
22858
ndr_print_policy_handle(ndr, "handle", r->in.handle);
22862
if (flags & NDR_OUT) {
22863
ndr_print_struct(ndr, "out", "spoolss_StartPagePrinter");
22865
ndr_print_WERROR(ndr, "result", r->out.result);
22871
static enum ndr_err_code ndr_push_spoolss_WritePrinter(struct ndr_push *ndr, int flags, const struct spoolss_WritePrinter *r)
22873
if (flags & NDR_IN) {
22874
if (r->in.handle == NULL) {
22875
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22877
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22878
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.data));
22879
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.data.length));
22881
if (flags & NDR_OUT) {
22882
if (r->out.num_written == NULL) {
22883
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22885
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_written));
22886
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22888
return NDR_ERR_SUCCESS;
22891
static enum ndr_err_code ndr_pull_spoolss_WritePrinter(struct ndr_pull *ndr, int flags, struct spoolss_WritePrinter *r)
22893
TALLOC_CTX *_mem_save_handle_0;
22894
TALLOC_CTX *_mem_save_num_written_0;
22895
if (flags & NDR_IN) {
22896
ZERO_STRUCT(r->out);
22898
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22899
NDR_PULL_ALLOC(ndr, r->in.handle);
22901
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
22902
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
22903
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22904
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
22905
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.data));
22906
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in._data_size));
22907
NDR_PULL_ALLOC(ndr, r->out.num_written);
22908
ZERO_STRUCTP(r->out.num_written);
22910
if (flags & NDR_OUT) {
22911
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22912
NDR_PULL_ALLOC(ndr, r->out.num_written);
22914
_mem_save_num_written_0 = NDR_PULL_GET_MEM_CTX(ndr);
22915
NDR_PULL_SET_MEM_CTX(ndr, r->out.num_written, LIBNDR_FLAG_REF_ALLOC);
22916
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_written));
22917
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_written_0, LIBNDR_FLAG_REF_ALLOC);
22918
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22920
return NDR_ERR_SUCCESS;
22923
_PUBLIC_ void ndr_print_spoolss_WritePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_WritePrinter *r)
22925
ndr_print_struct(ndr, name, "spoolss_WritePrinter");
22927
if (flags & NDR_SET_VALUES) {
22928
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22930
if (flags & NDR_IN) {
22931
ndr_print_struct(ndr, "in", "spoolss_WritePrinter");
22933
ndr_print_ptr(ndr, "handle", r->in.handle);
22935
ndr_print_policy_handle(ndr, "handle", r->in.handle);
22937
ndr_print_DATA_BLOB(ndr, "data", r->in.data);
22938
ndr_print_uint32(ndr, "_data_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->in.data.length:r->in._data_size);
22941
if (flags & NDR_OUT) {
22942
ndr_print_struct(ndr, "out", "spoolss_WritePrinter");
22944
ndr_print_ptr(ndr, "num_written", r->out.num_written);
22946
ndr_print_uint32(ndr, "num_written", *r->out.num_written);
22948
ndr_print_WERROR(ndr, "result", r->out.result);
22954
static enum ndr_err_code ndr_push_spoolss_EndPagePrinter(struct ndr_push *ndr, int flags, const struct spoolss_EndPagePrinter *r)
22956
if (flags & NDR_IN) {
22957
if (r->in.handle == NULL) {
22958
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22960
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22962
if (flags & NDR_OUT) {
22963
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22965
return NDR_ERR_SUCCESS;
22968
static enum ndr_err_code ndr_pull_spoolss_EndPagePrinter(struct ndr_pull *ndr, int flags, struct spoolss_EndPagePrinter *r)
22970
TALLOC_CTX *_mem_save_handle_0;
22971
if (flags & NDR_IN) {
22972
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22973
NDR_PULL_ALLOC(ndr, r->in.handle);
22975
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
22976
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
22977
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22978
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
22980
if (flags & NDR_OUT) {
22981
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22983
return NDR_ERR_SUCCESS;
22986
_PUBLIC_ void ndr_print_spoolss_EndPagePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EndPagePrinter *r)
22988
ndr_print_struct(ndr, name, "spoolss_EndPagePrinter");
22990
if (flags & NDR_SET_VALUES) {
22991
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22993
if (flags & NDR_IN) {
22994
ndr_print_struct(ndr, "in", "spoolss_EndPagePrinter");
22996
ndr_print_ptr(ndr, "handle", r->in.handle);
22998
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23002
if (flags & NDR_OUT) {
23003
ndr_print_struct(ndr, "out", "spoolss_EndPagePrinter");
23005
ndr_print_WERROR(ndr, "result", r->out.result);
23011
static enum ndr_err_code ndr_push_spoolss_AbortPrinter(struct ndr_push *ndr, int flags, const struct spoolss_AbortPrinter *r)
23013
if (flags & NDR_IN) {
23014
if (r->in.handle == NULL) {
23015
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23017
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23019
if (flags & NDR_OUT) {
23020
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23022
return NDR_ERR_SUCCESS;
23025
static enum ndr_err_code ndr_pull_spoolss_AbortPrinter(struct ndr_pull *ndr, int flags, struct spoolss_AbortPrinter *r)
23027
TALLOC_CTX *_mem_save_handle_0;
23028
if (flags & NDR_IN) {
23029
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23030
NDR_PULL_ALLOC(ndr, r->in.handle);
23032
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23033
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23034
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23035
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23037
if (flags & NDR_OUT) {
23038
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23040
return NDR_ERR_SUCCESS;
23043
_PUBLIC_ void ndr_print_spoolss_AbortPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AbortPrinter *r)
23045
ndr_print_struct(ndr, name, "spoolss_AbortPrinter");
23047
if (flags & NDR_SET_VALUES) {
23048
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23050
if (flags & NDR_IN) {
23051
ndr_print_struct(ndr, "in", "spoolss_AbortPrinter");
23053
ndr_print_ptr(ndr, "handle", r->in.handle);
23055
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23059
if (flags & NDR_OUT) {
23060
ndr_print_struct(ndr, "out", "spoolss_AbortPrinter");
23062
ndr_print_WERROR(ndr, "result", r->out.result);
23068
static enum ndr_err_code ndr_push_spoolss_ReadPrinter(struct ndr_push *ndr, int flags, const struct spoolss_ReadPrinter *r)
23070
if (flags & NDR_IN) {
23071
if (r->in.handle == NULL) {
23072
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23074
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23075
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.data_size));
23077
if (flags & NDR_OUT) {
23078
if (r->out.data == NULL) {
23079
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23081
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.data_size));
23082
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.data_size));
23083
if (r->out._data_size == NULL) {
23084
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23086
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out._data_size));
23087
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23089
return NDR_ERR_SUCCESS;
23092
static enum ndr_err_code ndr_pull_spoolss_ReadPrinter(struct ndr_pull *ndr, int flags, struct spoolss_ReadPrinter *r)
23094
TALLOC_CTX *_mem_save_handle_0;
23095
TALLOC_CTX *_mem_save__data_size_0;
23096
if (flags & NDR_IN) {
23097
ZERO_STRUCT(r->out);
23099
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23100
NDR_PULL_ALLOC(ndr, r->in.handle);
23102
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23103
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23104
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23105
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23106
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.data_size));
23107
NDR_PULL_ALLOC_N(ndr, r->out.data, r->in.data_size);
23108
memset(r->out.data, 0, (r->in.data_size) * sizeof(*r->out.data));
23109
NDR_PULL_ALLOC(ndr, r->out._data_size);
23110
ZERO_STRUCTP(r->out._data_size);
23112
if (flags & NDR_OUT) {
23113
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data));
23114
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23115
NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data));
23117
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data)));
23118
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23119
NDR_PULL_ALLOC(ndr, r->out._data_size);
23121
_mem_save__data_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
23122
NDR_PULL_SET_MEM_CTX(ndr, r->out._data_size, LIBNDR_FLAG_REF_ALLOC);
23123
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out._data_size));
23124
NDR_PULL_SET_MEM_CTX(ndr, _mem_save__data_size_0, LIBNDR_FLAG_REF_ALLOC);
23125
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23127
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.data_size));
23130
return NDR_ERR_SUCCESS;
23133
_PUBLIC_ void ndr_print_spoolss_ReadPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ReadPrinter *r)
23135
ndr_print_struct(ndr, name, "spoolss_ReadPrinter");
23137
if (flags & NDR_SET_VALUES) {
23138
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23140
if (flags & NDR_IN) {
23141
ndr_print_struct(ndr, "in", "spoolss_ReadPrinter");
23143
ndr_print_ptr(ndr, "handle", r->in.handle);
23145
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23147
ndr_print_uint32(ndr, "data_size", r->in.data_size);
23150
if (flags & NDR_OUT) {
23151
ndr_print_struct(ndr, "out", "spoolss_ReadPrinter");
23153
ndr_print_ptr(ndr, "data", r->out.data);
23155
ndr_print_array_uint8(ndr, "data", r->out.data, r->in.data_size);
23157
ndr_print_ptr(ndr, "_data_size", r->out._data_size);
23159
ndr_print_uint32(ndr, "_data_size", *r->out._data_size);
23161
ndr_print_WERROR(ndr, "result", r->out.result);
23167
static enum ndr_err_code ndr_push_spoolss_EndDocPrinter(struct ndr_push *ndr, int flags, const struct spoolss_EndDocPrinter *r)
23169
if (flags & NDR_IN) {
23170
if (r->in.handle == NULL) {
23171
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23173
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23175
if (flags & NDR_OUT) {
23176
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23178
return NDR_ERR_SUCCESS;
23181
static enum ndr_err_code ndr_pull_spoolss_EndDocPrinter(struct ndr_pull *ndr, int flags, struct spoolss_EndDocPrinter *r)
23183
TALLOC_CTX *_mem_save_handle_0;
23184
if (flags & NDR_IN) {
23185
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23186
NDR_PULL_ALLOC(ndr, r->in.handle);
23188
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23189
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23190
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23191
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23193
if (flags & NDR_OUT) {
23194
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23196
return NDR_ERR_SUCCESS;
23199
_PUBLIC_ void ndr_print_spoolss_EndDocPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EndDocPrinter *r)
23201
ndr_print_struct(ndr, name, "spoolss_EndDocPrinter");
23203
if (flags & NDR_SET_VALUES) {
23204
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23206
if (flags & NDR_IN) {
23207
ndr_print_struct(ndr, "in", "spoolss_EndDocPrinter");
23209
ndr_print_ptr(ndr, "handle", r->in.handle);
23211
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23215
if (flags & NDR_OUT) {
23216
ndr_print_struct(ndr, "out", "spoolss_EndDocPrinter");
23218
ndr_print_WERROR(ndr, "result", r->out.result);
23224
static enum ndr_err_code ndr_push_spoolss_AddJob(struct ndr_push *ndr, int flags, const struct spoolss_AddJob *r)
23226
if (flags & NDR_IN) {
23227
if (r->in.handle == NULL) {
23228
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23230
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23231
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
23232
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
23233
if (r->in.buffer) {
23234
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
23235
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.buffer, r->in.offered));
23237
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
23239
if (flags & NDR_OUT) {
23240
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.buffer));
23241
if (r->out.buffer) {
23242
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
23243
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.buffer, r->in.offered));
23245
if (r->out.needed == NULL) {
23246
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23248
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
23249
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23251
return NDR_ERR_SUCCESS;
23254
static enum ndr_err_code ndr_pull_spoolss_AddJob(struct ndr_pull *ndr, int flags, struct spoolss_AddJob *r)
23256
uint32_t _ptr_buffer;
23257
TALLOC_CTX *_mem_save_handle_0;
23258
TALLOC_CTX *_mem_save_buffer_0;
23259
TALLOC_CTX *_mem_save_needed_0;
23260
if (flags & NDR_IN) {
23261
ZERO_STRUCT(r->out);
23263
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23264
NDR_PULL_ALLOC(ndr, r->in.handle);
23266
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23267
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23268
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23269
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23270
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
23271
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
23273
NDR_PULL_ALLOC(ndr, r->in.buffer);
23275
r->in.buffer = NULL;
23277
if (r->in.buffer) {
23278
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
23279
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
23280
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer));
23281
NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer));
23282
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer)));
23283
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
23285
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
23286
NDR_PULL_ALLOC(ndr, r->out.needed);
23287
ZERO_STRUCTP(r->out.needed);
23288
if (r->in.buffer) {
23289
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, r->in.offered));
23292
if (flags & NDR_OUT) {
23293
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
23295
NDR_PULL_ALLOC(ndr, r->out.buffer);
23297
r->out.buffer = NULL;
23299
if (r->out.buffer) {
23300
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
23301
NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, 0);
23302
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.buffer));
23303
NDR_PULL_ALLOC_N(ndr, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer));
23304
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer)));
23305
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
23307
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23308
NDR_PULL_ALLOC(ndr, r->out.needed);
23310
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
23311
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
23312
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
23313
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
23314
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23315
if (r->out.buffer) {
23316
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.buffer, r->in.offered));
23319
return NDR_ERR_SUCCESS;
23322
_PUBLIC_ void ndr_print_spoolss_AddJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddJob *r)
23324
ndr_print_struct(ndr, name, "spoolss_AddJob");
23326
if (flags & NDR_SET_VALUES) {
23327
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23329
if (flags & NDR_IN) {
23330
ndr_print_struct(ndr, "in", "spoolss_AddJob");
23332
ndr_print_ptr(ndr, "handle", r->in.handle);
23334
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23336
ndr_print_uint32(ndr, "level", r->in.level);
23337
ndr_print_ptr(ndr, "buffer", r->in.buffer);
23339
if (r->in.buffer) {
23340
ndr_print_array_uint8(ndr, "buffer", r->in.buffer, r->in.offered);
23343
ndr_print_uint32(ndr, "offered", r->in.offered);
23346
if (flags & NDR_OUT) {
23347
ndr_print_struct(ndr, "out", "spoolss_AddJob");
23349
ndr_print_ptr(ndr, "buffer", r->out.buffer);
23351
if (r->out.buffer) {
23352
ndr_print_array_uint8(ndr, "buffer", r->out.buffer, r->in.offered);
23355
ndr_print_ptr(ndr, "needed", r->out.needed);
23357
ndr_print_uint32(ndr, "needed", *r->out.needed);
23359
ndr_print_WERROR(ndr, "result", r->out.result);
23365
static enum ndr_err_code ndr_push_spoolss_ScheduleJob(struct ndr_push *ndr, int flags, const struct spoolss_ScheduleJob *r)
23367
if (flags & NDR_IN) {
23368
if (r->in.handle == NULL) {
23369
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23371
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23372
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.jobid));
23374
if (flags & NDR_OUT) {
23375
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23377
return NDR_ERR_SUCCESS;
23380
static enum ndr_err_code ndr_pull_spoolss_ScheduleJob(struct ndr_pull *ndr, int flags, struct spoolss_ScheduleJob *r)
23382
TALLOC_CTX *_mem_save_handle_0;
23383
if (flags & NDR_IN) {
23384
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23385
NDR_PULL_ALLOC(ndr, r->in.handle);
23387
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23388
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23389
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23390
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23391
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.jobid));
23393
if (flags & NDR_OUT) {
23394
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23396
return NDR_ERR_SUCCESS;
23399
_PUBLIC_ void ndr_print_spoolss_ScheduleJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ScheduleJob *r)
23401
ndr_print_struct(ndr, name, "spoolss_ScheduleJob");
23403
if (flags & NDR_SET_VALUES) {
23404
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23406
if (flags & NDR_IN) {
23407
ndr_print_struct(ndr, "in", "spoolss_ScheduleJob");
23409
ndr_print_ptr(ndr, "handle", r->in.handle);
23411
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23413
ndr_print_uint32(ndr, "jobid", r->in.jobid);
23416
if (flags & NDR_OUT) {
23417
ndr_print_struct(ndr, "out", "spoolss_ScheduleJob");
23419
ndr_print_WERROR(ndr, "result", r->out.result);
23425
static enum ndr_err_code ndr_push_spoolss_GetPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterData *r)
23427
if (flags & NDR_IN) {
23428
if (r->in.handle == NULL) {
23429
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23431
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23432
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
23433
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23434
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
23435
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.value_name, ndr_charset_length(r->in.value_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
23436
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
23438
if (flags & NDR_OUT) {
23439
if (r->out.type == NULL) {
23440
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23442
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type));
23443
if (r->out.data == NULL) {
23444
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23446
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
23447
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.offered));
23448
if (r->out.needed == NULL) {
23449
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23451
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
23452
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23454
return NDR_ERR_SUCCESS;
23457
static enum ndr_err_code ndr_pull_spoolss_GetPrinterData(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterData *r)
23459
TALLOC_CTX *_mem_save_handle_0;
23460
TALLOC_CTX *_mem_save_type_0;
23461
TALLOC_CTX *_mem_save_needed_0;
23462
if (flags & NDR_IN) {
23463
ZERO_STRUCT(r->out);
23465
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23466
NDR_PULL_ALLOC(ndr, r->in.handle);
23468
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23469
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23470
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23471
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23472
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
23473
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
23474
if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
23475
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.value_name), ndr_get_array_length(ndr, &r->in.value_name));
23477
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
23478
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.value_name, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t), CH_UTF16));
23479
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
23480
NDR_PULL_ALLOC(ndr, r->out.type);
23481
ZERO_STRUCTP(r->out.type);
23482
NDR_PULL_ALLOC_N(ndr, r->out.data, r->in.offered);
23483
memset(r->out.data, 0, (r->in.offered) * sizeof(*r->out.data));
23484
NDR_PULL_ALLOC(ndr, r->out.needed);
23485
ZERO_STRUCTP(r->out.needed);
23487
if (flags & NDR_OUT) {
23488
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23489
NDR_PULL_ALLOC(ndr, r->out.type);
23491
_mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
23492
NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC);
23493
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type));
23494
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC);
23495
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data));
23496
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23497
NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data));
23499
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data)));
23500
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23501
NDR_PULL_ALLOC(ndr, r->out.needed);
23503
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
23504
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
23505
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
23506
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
23507
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23509
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.offered));
23512
return NDR_ERR_SUCCESS;
23515
_PUBLIC_ void ndr_print_spoolss_GetPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterData *r)
23517
ndr_print_struct(ndr, name, "spoolss_GetPrinterData");
23519
if (flags & NDR_SET_VALUES) {
23520
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23522
if (flags & NDR_IN) {
23523
ndr_print_struct(ndr, "in", "spoolss_GetPrinterData");
23525
ndr_print_ptr(ndr, "handle", r->in.handle);
23527
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23529
ndr_print_string(ndr, "value_name", r->in.value_name);
23530
ndr_print_uint32(ndr, "offered", r->in.offered);
23533
if (flags & NDR_OUT) {
23534
ndr_print_struct(ndr, "out", "spoolss_GetPrinterData");
23536
ndr_print_ptr(ndr, "type", r->out.type);
23538
ndr_print_winreg_Type(ndr, "type", *r->out.type);
23540
ndr_print_ptr(ndr, "data", r->out.data);
23542
ndr_print_array_uint8(ndr, "data", r->out.data, r->in.offered);
23544
ndr_print_ptr(ndr, "needed", r->out.needed);
23546
ndr_print_uint32(ndr, "needed", *r->out.needed);
23548
ndr_print_WERROR(ndr, "result", r->out.result);
23554
static enum ndr_err_code ndr_push_spoolss_SetPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinterData *r)
23556
if (flags & NDR_IN) {
23557
if (r->in.handle == NULL) {
23558
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23560
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23561
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
23562
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23563
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
23564
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.value_name, ndr_charset_length(r->in.value_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
23565
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type));
23566
if (r->in.data == NULL) {
23567
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23569
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
23570
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.offered));
23571
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
23573
if (flags & NDR_OUT) {
23574
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23576
return NDR_ERR_SUCCESS;
23579
static enum ndr_err_code ndr_pull_spoolss_SetPrinterData(struct ndr_pull *ndr, int flags, struct spoolss_SetPrinterData *r)
23581
TALLOC_CTX *_mem_save_handle_0;
23582
if (flags & NDR_IN) {
23583
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23584
NDR_PULL_ALLOC(ndr, r->in.handle);
23586
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23587
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23588
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23589
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23590
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
23591
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
23592
if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
23593
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.value_name), ndr_get_array_length(ndr, &r->in.value_name));
23595
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
23596
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.value_name, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t), CH_UTF16));
23597
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type));
23598
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data));
23599
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23600
NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data));
23602
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_size(ndr, &r->in.data)));
23603
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
23605
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.offered));
23608
if (flags & NDR_OUT) {
23609
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23611
return NDR_ERR_SUCCESS;
23614
_PUBLIC_ void ndr_print_spoolss_SetPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinterData *r)
23616
ndr_print_struct(ndr, name, "spoolss_SetPrinterData");
23618
if (flags & NDR_SET_VALUES) {
23619
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23621
if (flags & NDR_IN) {
23622
ndr_print_struct(ndr, "in", "spoolss_SetPrinterData");
23624
ndr_print_ptr(ndr, "handle", r->in.handle);
23626
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23628
ndr_print_string(ndr, "value_name", r->in.value_name);
23629
ndr_print_winreg_Type(ndr, "type", r->in.type);
23630
ndr_print_ptr(ndr, "data", r->in.data);
23632
ndr_print_array_uint8(ndr, "data", r->in.data, r->in.offered);
23634
ndr_print_uint32(ndr, "offered", r->in.offered);
23637
if (flags & NDR_OUT) {
23638
ndr_print_struct(ndr, "out", "spoolss_SetPrinterData");
23640
ndr_print_WERROR(ndr, "result", r->out.result);
23646
static enum ndr_err_code ndr_push_spoolss_WaitForPrinterChange(struct ndr_push *ndr, int flags, const struct spoolss_WaitForPrinterChange *r)
23648
if (flags & NDR_IN) {
23650
if (flags & NDR_OUT) {
23651
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23653
return NDR_ERR_SUCCESS;
23656
static enum ndr_err_code ndr_pull_spoolss_WaitForPrinterChange(struct ndr_pull *ndr, int flags, struct spoolss_WaitForPrinterChange *r)
23658
if (flags & NDR_IN) {
23660
if (flags & NDR_OUT) {
23661
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23663
return NDR_ERR_SUCCESS;
23666
_PUBLIC_ void ndr_print_spoolss_WaitForPrinterChange(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_WaitForPrinterChange *r)
23668
ndr_print_struct(ndr, name, "spoolss_WaitForPrinterChange");
23670
if (flags & NDR_SET_VALUES) {
23671
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23673
if (flags & NDR_IN) {
23674
ndr_print_struct(ndr, "in", "spoolss_WaitForPrinterChange");
23678
if (flags & NDR_OUT) {
23679
ndr_print_struct(ndr, "out", "spoolss_WaitForPrinterChange");
23681
ndr_print_WERROR(ndr, "result", r->out.result);
23687
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_ClosePrinter(struct ndr_push *ndr, int flags, const struct spoolss_ClosePrinter *r)
23689
if (flags & NDR_IN) {
23690
if (r->in.handle == NULL) {
23691
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23693
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23695
if (flags & NDR_OUT) {
23696
if (r->out.handle == NULL) {
23697
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23699
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
23700
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23702
return NDR_ERR_SUCCESS;
23705
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_ClosePrinter(struct ndr_pull *ndr, int flags, struct spoolss_ClosePrinter *r)
23707
TALLOC_CTX *_mem_save_handle_0;
23708
if (flags & NDR_IN) {
23709
ZERO_STRUCT(r->out);
23711
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23712
NDR_PULL_ALLOC(ndr, r->in.handle);
23714
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23715
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23716
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23717
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23718
NDR_PULL_ALLOC(ndr, r->out.handle);
23719
*r->out.handle = *r->in.handle;
23721
if (flags & NDR_OUT) {
23722
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23723
NDR_PULL_ALLOC(ndr, r->out.handle);
23725
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23726
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
23727
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
23728
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23729
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23731
return NDR_ERR_SUCCESS;
23734
_PUBLIC_ void ndr_print_spoolss_ClosePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ClosePrinter *r)
23736
ndr_print_struct(ndr, name, "spoolss_ClosePrinter");
23738
if (flags & NDR_SET_VALUES) {
23739
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23741
if (flags & NDR_IN) {
23742
ndr_print_struct(ndr, "in", "spoolss_ClosePrinter");
23744
ndr_print_ptr(ndr, "handle", r->in.handle);
23746
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23750
if (flags & NDR_OUT) {
23751
ndr_print_struct(ndr, "out", "spoolss_ClosePrinter");
23753
ndr_print_ptr(ndr, "handle", r->out.handle);
23755
ndr_print_policy_handle(ndr, "handle", r->out.handle);
23757
ndr_print_WERROR(ndr, "result", r->out.result);
23763
static enum ndr_err_code ndr_push_spoolss_AddForm(struct ndr_push *ndr, int flags, const struct spoolss_AddForm *r)
23765
if (flags & NDR_IN) {
23766
if (r->in.handle == NULL) {
23767
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23769
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23770
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
23771
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level));
23772
NDR_CHECK(ndr_push_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
23774
if (flags & NDR_OUT) {
23775
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23777
return NDR_ERR_SUCCESS;
23780
static enum ndr_err_code ndr_pull_spoolss_AddForm(struct ndr_pull *ndr, int flags, struct spoolss_AddForm *r)
23782
TALLOC_CTX *_mem_save_handle_0;
23783
if (flags & NDR_IN) {
23784
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23785
NDR_PULL_ALLOC(ndr, r->in.handle);
23787
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23788
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23789
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23790
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23791
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
23792
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level));
23793
NDR_CHECK(ndr_pull_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
23795
if (flags & NDR_OUT) {
23796
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23798
return NDR_ERR_SUCCESS;
23801
_PUBLIC_ void ndr_print_spoolss_AddForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddForm *r)
23803
ndr_print_struct(ndr, name, "spoolss_AddForm");
23805
if (flags & NDR_SET_VALUES) {
23806
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23808
if (flags & NDR_IN) {
23809
ndr_print_struct(ndr, "in", "spoolss_AddForm");
23811
ndr_print_ptr(ndr, "handle", r->in.handle);
23813
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23815
ndr_print_uint32(ndr, "level", r->in.level);
23816
ndr_print_set_switch_value(ndr, &r->in.info, r->in.level);
23817
ndr_print_spoolss_AddFormInfo(ndr, "info", &r->in.info);
23820
if (flags & NDR_OUT) {
23821
ndr_print_struct(ndr, "out", "spoolss_AddForm");
23823
ndr_print_WERROR(ndr, "result", r->out.result);
23829
static enum ndr_err_code ndr_push_spoolss_DeleteForm(struct ndr_push *ndr, int flags, const struct spoolss_DeleteForm *r)
23831
if (flags & NDR_IN) {
23832
if (r->in.handle == NULL) {
23833
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23835
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23836
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
23837
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23838
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
23839
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.form_name, ndr_charset_length(r->in.form_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
23841
if (flags & NDR_OUT) {
23842
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23844
return NDR_ERR_SUCCESS;
23847
static enum ndr_err_code ndr_pull_spoolss_DeleteForm(struct ndr_pull *ndr, int flags, struct spoolss_DeleteForm *r)
23849
TALLOC_CTX *_mem_save_handle_0;
23850
if (flags & NDR_IN) {
23851
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23852
NDR_PULL_ALLOC(ndr, r->in.handle);
23854
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23855
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23856
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23857
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23858
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.form_name));
23859
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.form_name));
23860
if (ndr_get_array_length(ndr, &r->in.form_name) > ndr_get_array_size(ndr, &r->in.form_name)) {
23861
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.form_name), ndr_get_array_length(ndr, &r->in.form_name));
23863
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t)));
23864
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.form_name, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t), CH_UTF16));
23866
if (flags & NDR_OUT) {
23867
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23869
return NDR_ERR_SUCCESS;
23872
_PUBLIC_ void ndr_print_spoolss_DeleteForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeleteForm *r)
23874
ndr_print_struct(ndr, name, "spoolss_DeleteForm");
23876
if (flags & NDR_SET_VALUES) {
23877
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23879
if (flags & NDR_IN) {
23880
ndr_print_struct(ndr, "in", "spoolss_DeleteForm");
23882
ndr_print_ptr(ndr, "handle", r->in.handle);
23884
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23886
ndr_print_string(ndr, "form_name", r->in.form_name);
23889
if (flags & NDR_OUT) {
23890
ndr_print_struct(ndr, "out", "spoolss_DeleteForm");
23892
ndr_print_WERROR(ndr, "result", r->out.result);
23898
static enum ndr_err_code ndr_push_spoolss_GetForm(struct ndr_push *ndr, int flags, const struct spoolss_GetForm *r)
23900
if (flags & NDR_IN) {
23901
if (r->in.handle == NULL) {
23902
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23904
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23905
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
23906
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23907
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
23908
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.form_name, ndr_charset_length(r->in.form_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
23909
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
23910
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
23911
if (r->in.buffer) {
23912
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
23914
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
23916
if (flags & NDR_OUT) {
23917
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
23920
struct ndr_push *_ndr_info;
23921
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
23922
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
23923
NDR_CHECK(ndr_push_spoolss_FormInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
23924
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
23927
if (r->out.needed == NULL) {
23928
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23930
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
23931
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23933
return NDR_ERR_SUCCESS;
23936
static enum ndr_err_code ndr_pull_spoolss_GetForm(struct ndr_pull *ndr, int flags, struct spoolss_GetForm *r)
23938
uint32_t _ptr_buffer;
23939
uint32_t _ptr_info;
23940
TALLOC_CTX *_mem_save_handle_0;
23941
TALLOC_CTX *_mem_save_buffer_0;
23942
TALLOC_CTX *_mem_save_info_0;
23943
TALLOC_CTX *_mem_save_needed_0;
23944
if (flags & NDR_IN) {
23945
ZERO_STRUCT(r->out);
23947
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23948
NDR_PULL_ALLOC(ndr, r->in.handle);
23950
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23951
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23952
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23953
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23954
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.form_name));
23955
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.form_name));
23956
if (ndr_get_array_length(ndr, &r->in.form_name) > ndr_get_array_size(ndr, &r->in.form_name)) {
23957
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.form_name), ndr_get_array_length(ndr, &r->in.form_name));
23959
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t)));
23960
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.form_name, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t), CH_UTF16));
23961
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
23962
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
23964
NDR_PULL_ALLOC(ndr, r->in.buffer);
23966
r->in.buffer = NULL;
23968
if (r->in.buffer) {
23969
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
23970
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
23971
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
23972
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
23974
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
23975
NDR_PULL_ALLOC(ndr, r->out.needed);
23976
ZERO_STRUCTP(r->out.needed);
23978
if (flags & NDR_OUT) {
23979
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
23981
NDR_PULL_ALLOC(ndr, r->out.info);
23983
r->out.info = NULL;
23986
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
23987
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
23989
struct ndr_pull *_ndr_info;
23990
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
23991
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
23992
NDR_CHECK(ndr_pull_spoolss_FormInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
23993
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
23995
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
23997
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23998
NDR_PULL_ALLOC(ndr, r->out.needed);
24000
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
24001
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
24002
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
24003
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
24004
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24006
return NDR_ERR_SUCCESS;
24009
_PUBLIC_ void ndr_print_spoolss_GetForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetForm *r)
24011
ndr_print_struct(ndr, name, "spoolss_GetForm");
24013
if (flags & NDR_SET_VALUES) {
24014
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24016
if (flags & NDR_IN) {
24017
ndr_print_struct(ndr, "in", "spoolss_GetForm");
24019
ndr_print_ptr(ndr, "handle", r->in.handle);
24021
ndr_print_policy_handle(ndr, "handle", r->in.handle);
24023
ndr_print_string(ndr, "form_name", r->in.form_name);
24024
ndr_print_uint32(ndr, "level", r->in.level);
24025
ndr_print_ptr(ndr, "buffer", r->in.buffer);
24027
if (r->in.buffer) {
24028
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
24031
ndr_print_uint32(ndr, "offered", r->in.offered);
24034
if (flags & NDR_OUT) {
24035
ndr_print_struct(ndr, "out", "spoolss_GetForm");
24037
ndr_print_ptr(ndr, "info", r->out.info);
24040
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
24041
ndr_print_spoolss_FormInfo(ndr, "info", r->out.info);
24044
ndr_print_ptr(ndr, "needed", r->out.needed);
24046
ndr_print_uint32(ndr, "needed", *r->out.needed);
24048
ndr_print_WERROR(ndr, "result", r->out.result);
24054
static enum ndr_err_code ndr_push_spoolss_SetForm(struct ndr_push *ndr, int flags, const struct spoolss_SetForm *r)
24056
if (flags & NDR_IN) {
24057
if (r->in.handle == NULL) {
24058
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24060
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24061
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
24062
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
24063
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
24064
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.form_name, ndr_charset_length(r->in.form_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
24065
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
24066
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level));
24067
NDR_CHECK(ndr_push_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
24069
if (flags & NDR_OUT) {
24070
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24072
return NDR_ERR_SUCCESS;
24075
static enum ndr_err_code ndr_pull_spoolss_SetForm(struct ndr_pull *ndr, int flags, struct spoolss_SetForm *r)
24077
TALLOC_CTX *_mem_save_handle_0;
24078
if (flags & NDR_IN) {
24079
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24080
NDR_PULL_ALLOC(ndr, r->in.handle);
24082
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24083
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
24084
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24085
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
24086
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.form_name));
24087
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.form_name));
24088
if (ndr_get_array_length(ndr, &r->in.form_name) > ndr_get_array_size(ndr, &r->in.form_name)) {
24089
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.form_name), ndr_get_array_length(ndr, &r->in.form_name));
24091
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t)));
24092
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.form_name, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t), CH_UTF16));
24093
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
24094
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level));
24095
NDR_CHECK(ndr_pull_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
24097
if (flags & NDR_OUT) {
24098
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24100
return NDR_ERR_SUCCESS;
24103
_PUBLIC_ void ndr_print_spoolss_SetForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetForm *r)
24105
ndr_print_struct(ndr, name, "spoolss_SetForm");
24107
if (flags & NDR_SET_VALUES) {
24108
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24110
if (flags & NDR_IN) {
24111
ndr_print_struct(ndr, "in", "spoolss_SetForm");
24113
ndr_print_ptr(ndr, "handle", r->in.handle);
24115
ndr_print_policy_handle(ndr, "handle", r->in.handle);
24117
ndr_print_string(ndr, "form_name", r->in.form_name);
24118
ndr_print_uint32(ndr, "level", r->in.level);
24119
ndr_print_set_switch_value(ndr, &r->in.info, r->in.level);
24120
ndr_print_spoolss_AddFormInfo(ndr, "info", &r->in.info);
24123
if (flags & NDR_OUT) {
24124
ndr_print_struct(ndr, "out", "spoolss_SetForm");
24126
ndr_print_WERROR(ndr, "result", r->out.result);
24132
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumForms(struct ndr_push *ndr, int flags, const struct _spoolss_EnumForms *r)
24134
if (flags & NDR_IN) {
24135
if (r->in.handle == NULL) {
24136
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24138
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24139
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
24140
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
24141
if (r->in.buffer) {
24142
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
24144
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
24146
if (flags & NDR_OUT) {
24147
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
24149
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
24151
if (r->out.needed == NULL) {
24152
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24154
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
24155
if (r->out.count == NULL) {
24156
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24158
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
24159
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24161
return NDR_ERR_SUCCESS;
24164
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumForms(struct ndr_pull *ndr, int flags, struct _spoolss_EnumForms *r)
24166
uint32_t _ptr_buffer;
24167
uint32_t _ptr_info;
24168
TALLOC_CTX *_mem_save_handle_0;
24169
TALLOC_CTX *_mem_save_buffer_0;
24170
TALLOC_CTX *_mem_save_info_0;
24171
TALLOC_CTX *_mem_save_needed_0;
24172
TALLOC_CTX *_mem_save_count_0;
24173
if (flags & NDR_IN) {
24174
ZERO_STRUCT(r->out);
24176
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24177
NDR_PULL_ALLOC(ndr, r->in.handle);
24179
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24180
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
24181
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24182
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
24183
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
24184
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
24186
NDR_PULL_ALLOC(ndr, r->in.buffer);
24188
r->in.buffer = NULL;
24190
if (r->in.buffer) {
24191
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
24192
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
24193
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
24194
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
24196
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
24197
NDR_PULL_ALLOC(ndr, r->out.needed);
24198
ZERO_STRUCTP(r->out.needed);
24199
NDR_PULL_ALLOC(ndr, r->out.count);
24200
ZERO_STRUCTP(r->out.count);
24202
if (flags & NDR_OUT) {
24203
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
24205
NDR_PULL_ALLOC(ndr, r->out.info);
24207
r->out.info = NULL;
24210
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
24211
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
24212
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
24213
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
24215
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24216
NDR_PULL_ALLOC(ndr, r->out.needed);
24218
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
24219
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
24220
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
24221
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
24222
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24223
NDR_PULL_ALLOC(ndr, r->out.count);
24225
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
24226
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
24227
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
24228
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
24229
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24231
return NDR_ERR_SUCCESS;
24234
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumForms(struct ndr_push *ndr, int flags, const struct __spoolss_EnumForms *r)
24236
uint32_t cntr_info_0;
24237
if (flags & NDR_IN) {
24238
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
24239
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
24241
if (flags & NDR_OUT) {
24242
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24243
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
24244
NDR_CHECK(ndr_push_spoolss_FormInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
24246
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24247
NDR_CHECK(ndr_push_spoolss_FormInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
24250
return NDR_ERR_SUCCESS;
24253
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumForms(struct ndr_pull *ndr, int flags, struct __spoolss_EnumForms *r)
24255
uint32_t cntr_info_0;
24256
TALLOC_CTX *_mem_save_info_0;
24257
if (flags & NDR_IN) {
24258
ZERO_STRUCT(r->out);
24260
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
24261
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
24263
if (flags & NDR_OUT) {
24264
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
24265
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
24266
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
24267
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24268
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
24269
NDR_CHECK(ndr_pull_spoolss_FormInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
24271
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24272
NDR_CHECK(ndr_pull_spoolss_FormInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
24274
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
24276
return NDR_ERR_SUCCESS;
24279
_PUBLIC_ void ndr_print_spoolss_EnumForms(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumForms *r)
24281
uint32_t cntr_info_2;
24282
ndr_print_struct(ndr, name, "spoolss_EnumForms");
24284
if (flags & NDR_SET_VALUES) {
24285
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24287
if (flags & NDR_IN) {
24288
ndr_print_struct(ndr, "in", "spoolss_EnumForms");
24290
ndr_print_ptr(ndr, "handle", r->in.handle);
24292
ndr_print_policy_handle(ndr, "handle", r->in.handle);
24294
ndr_print_uint32(ndr, "level", r->in.level);
24295
ndr_print_ptr(ndr, "buffer", r->in.buffer);
24297
if (r->in.buffer) {
24298
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
24301
ndr_print_uint32(ndr, "offered", r->in.offered);
24304
if (flags & NDR_OUT) {
24305
ndr_print_struct(ndr, "out", "spoolss_EnumForms");
24307
ndr_print_ptr(ndr, "count", r->out.count);
24309
ndr_print_uint32(ndr, "count", *r->out.count);
24311
ndr_print_ptr(ndr, "info", r->out.info);
24313
ndr_print_ptr(ndr, "info", *r->out.info);
24315
if (*r->out.info) {
24316
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
24318
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
24320
if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) {
24321
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
24322
ndr_print_spoolss_FormInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
24330
ndr_print_ptr(ndr, "needed", r->out.needed);
24332
ndr_print_uint32(ndr, "needed", *r->out.needed);
24334
ndr_print_WERROR(ndr, "result", r->out.result);
24340
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPorts(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPorts *r)
24342
if (flags & NDR_IN) {
24343
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
24344
if (r->in.servername) {
24345
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
24346
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
24347
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
24348
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
24350
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
24351
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
24352
if (r->in.buffer) {
24353
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
24355
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
24357
if (flags & NDR_OUT) {
24358
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
24360
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
24362
if (r->out.needed == NULL) {
24363
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24365
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
24366
if (r->out.count == NULL) {
24367
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24369
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
24370
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24372
return NDR_ERR_SUCCESS;
24375
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPorts(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPorts *r)
24377
uint32_t _ptr_servername;
24378
uint32_t _ptr_buffer;
24379
uint32_t _ptr_info;
24380
TALLOC_CTX *_mem_save_servername_0;
24381
TALLOC_CTX *_mem_save_buffer_0;
24382
TALLOC_CTX *_mem_save_info_0;
24383
TALLOC_CTX *_mem_save_needed_0;
24384
TALLOC_CTX *_mem_save_count_0;
24385
if (flags & NDR_IN) {
24386
ZERO_STRUCT(r->out);
24388
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
24389
if (_ptr_servername) {
24390
NDR_PULL_ALLOC(ndr, r->in.servername);
24392
r->in.servername = NULL;
24394
if (r->in.servername) {
24395
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
24396
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
24397
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
24398
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
24399
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
24400
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
24402
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
24403
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
24404
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
24406
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
24407
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
24409
NDR_PULL_ALLOC(ndr, r->in.buffer);
24411
r->in.buffer = NULL;
24413
if (r->in.buffer) {
24414
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
24415
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
24416
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
24417
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
24419
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
24420
NDR_PULL_ALLOC(ndr, r->out.needed);
24421
ZERO_STRUCTP(r->out.needed);
24422
NDR_PULL_ALLOC(ndr, r->out.count);
24423
ZERO_STRUCTP(r->out.count);
24425
if (flags & NDR_OUT) {
24426
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
24428
NDR_PULL_ALLOC(ndr, r->out.info);
24430
r->out.info = NULL;
24433
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
24434
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
24435
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
24436
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
24438
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24439
NDR_PULL_ALLOC(ndr, r->out.needed);
24441
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
24442
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
24443
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
24444
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
24445
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24446
NDR_PULL_ALLOC(ndr, r->out.count);
24448
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
24449
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
24450
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
24451
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
24452
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24454
return NDR_ERR_SUCCESS;
24457
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPorts(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPorts *r)
24459
uint32_t cntr_info_0;
24460
if (flags & NDR_IN) {
24461
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
24462
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
24464
if (flags & NDR_OUT) {
24465
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24466
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
24467
NDR_CHECK(ndr_push_spoolss_PortInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
24469
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24470
NDR_CHECK(ndr_push_spoolss_PortInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
24473
return NDR_ERR_SUCCESS;
24476
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPorts(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPorts *r)
24478
uint32_t cntr_info_0;
24479
TALLOC_CTX *_mem_save_info_0;
24480
if (flags & NDR_IN) {
24481
ZERO_STRUCT(r->out);
24483
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
24484
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
24486
if (flags & NDR_OUT) {
24487
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
24488
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
24489
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
24490
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24491
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
24492
NDR_CHECK(ndr_pull_spoolss_PortInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
24494
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24495
NDR_CHECK(ndr_pull_spoolss_PortInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
24497
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
24499
return NDR_ERR_SUCCESS;
24502
_PUBLIC_ void ndr_print_spoolss_EnumPorts(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPorts *r)
24504
uint32_t cntr_info_2;
24505
ndr_print_struct(ndr, name, "spoolss_EnumPorts");
24507
if (flags & NDR_SET_VALUES) {
24508
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24510
if (flags & NDR_IN) {
24511
ndr_print_struct(ndr, "in", "spoolss_EnumPorts");
24513
ndr_print_ptr(ndr, "servername", r->in.servername);
24515
if (r->in.servername) {
24516
ndr_print_string(ndr, "servername", r->in.servername);
24519
ndr_print_uint32(ndr, "level", r->in.level);
24520
ndr_print_ptr(ndr, "buffer", r->in.buffer);
24522
if (r->in.buffer) {
24523
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
24526
ndr_print_uint32(ndr, "offered", r->in.offered);
24529
if (flags & NDR_OUT) {
24530
ndr_print_struct(ndr, "out", "spoolss_EnumPorts");
24532
ndr_print_ptr(ndr, "count", r->out.count);
24534
ndr_print_uint32(ndr, "count", *r->out.count);
24536
ndr_print_ptr(ndr, "info", r->out.info);
24538
ndr_print_ptr(ndr, "info", *r->out.info);
24540
if (*r->out.info) {
24541
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
24543
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
24545
if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) {
24546
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
24547
ndr_print_spoolss_PortInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
24555
ndr_print_ptr(ndr, "needed", r->out.needed);
24557
ndr_print_uint32(ndr, "needed", *r->out.needed);
24559
ndr_print_WERROR(ndr, "result", r->out.result);
24565
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumMonitors(struct ndr_push *ndr, int flags, const struct _spoolss_EnumMonitors *r)
24567
if (flags & NDR_IN) {
24568
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
24569
if (r->in.servername) {
24570
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
24571
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
24572
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
24573
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
24575
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
24576
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
24577
if (r->in.buffer) {
24578
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
24580
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
24582
if (flags & NDR_OUT) {
24583
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
24585
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
24587
if (r->out.needed == NULL) {
24588
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24590
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
24591
if (r->out.count == NULL) {
24592
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24594
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
24595
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24597
return NDR_ERR_SUCCESS;
24600
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumMonitors(struct ndr_pull *ndr, int flags, struct _spoolss_EnumMonitors *r)
24602
uint32_t _ptr_servername;
24603
uint32_t _ptr_buffer;
24604
uint32_t _ptr_info;
24605
TALLOC_CTX *_mem_save_servername_0;
24606
TALLOC_CTX *_mem_save_buffer_0;
24607
TALLOC_CTX *_mem_save_info_0;
24608
TALLOC_CTX *_mem_save_needed_0;
24609
TALLOC_CTX *_mem_save_count_0;
24610
if (flags & NDR_IN) {
24611
ZERO_STRUCT(r->out);
24613
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
24614
if (_ptr_servername) {
24615
NDR_PULL_ALLOC(ndr, r->in.servername);
24617
r->in.servername = NULL;
24619
if (r->in.servername) {
24620
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
24621
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
24622
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
24623
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
24624
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
24625
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
24627
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
24628
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
24629
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
24631
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
24632
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
24634
NDR_PULL_ALLOC(ndr, r->in.buffer);
24636
r->in.buffer = NULL;
24638
if (r->in.buffer) {
24639
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
24640
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
24641
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
24642
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
24644
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
24645
NDR_PULL_ALLOC(ndr, r->out.needed);
24646
ZERO_STRUCTP(r->out.needed);
24647
NDR_PULL_ALLOC(ndr, r->out.count);
24648
ZERO_STRUCTP(r->out.count);
24650
if (flags & NDR_OUT) {
24651
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
24653
NDR_PULL_ALLOC(ndr, r->out.info);
24655
r->out.info = NULL;
24658
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
24659
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
24660
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
24661
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
24663
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24664
NDR_PULL_ALLOC(ndr, r->out.needed);
24666
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
24667
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
24668
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
24669
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
24670
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24671
NDR_PULL_ALLOC(ndr, r->out.count);
24673
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
24674
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
24675
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
24676
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
24677
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24679
return NDR_ERR_SUCCESS;
24682
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumMonitors(struct ndr_push *ndr, int flags, const struct __spoolss_EnumMonitors *r)
24684
uint32_t cntr_info_0;
24685
if (flags & NDR_IN) {
24686
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
24687
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
24689
if (flags & NDR_OUT) {
24690
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24691
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
24692
NDR_CHECK(ndr_push_spoolss_MonitorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
24694
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24695
NDR_CHECK(ndr_push_spoolss_MonitorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
24698
return NDR_ERR_SUCCESS;
24701
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumMonitors(struct ndr_pull *ndr, int flags, struct __spoolss_EnumMonitors *r)
24703
uint32_t cntr_info_0;
24704
TALLOC_CTX *_mem_save_info_0;
24705
if (flags & NDR_IN) {
24706
ZERO_STRUCT(r->out);
24708
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
24709
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
24711
if (flags & NDR_OUT) {
24712
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
24713
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
24714
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
24715
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24716
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
24717
NDR_CHECK(ndr_pull_spoolss_MonitorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
24719
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24720
NDR_CHECK(ndr_pull_spoolss_MonitorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
24722
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
24724
return NDR_ERR_SUCCESS;
24727
_PUBLIC_ void ndr_print_spoolss_EnumMonitors(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumMonitors *r)
24729
uint32_t cntr_info_2;
24730
ndr_print_struct(ndr, name, "spoolss_EnumMonitors");
24732
if (flags & NDR_SET_VALUES) {
24733
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24735
if (flags & NDR_IN) {
24736
ndr_print_struct(ndr, "in", "spoolss_EnumMonitors");
24738
ndr_print_ptr(ndr, "servername", r->in.servername);
24740
if (r->in.servername) {
24741
ndr_print_string(ndr, "servername", r->in.servername);
24744
ndr_print_uint32(ndr, "level", r->in.level);
24745
ndr_print_ptr(ndr, "buffer", r->in.buffer);
24747
if (r->in.buffer) {
24748
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
24751
ndr_print_uint32(ndr, "offered", r->in.offered);
24754
if (flags & NDR_OUT) {
24755
ndr_print_struct(ndr, "out", "spoolss_EnumMonitors");
24757
ndr_print_ptr(ndr, "count", r->out.count);
24759
ndr_print_uint32(ndr, "count", *r->out.count);
24761
ndr_print_ptr(ndr, "info", r->out.info);
24763
ndr_print_ptr(ndr, "info", *r->out.info);
24765
if (*r->out.info) {
24766
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
24768
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
24770
if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) {
24771
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
24772
ndr_print_spoolss_MonitorInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
24780
ndr_print_ptr(ndr, "needed", r->out.needed);
24782
ndr_print_uint32(ndr, "needed", *r->out.needed);
24784
ndr_print_WERROR(ndr, "result", r->out.result);
24790
static enum ndr_err_code ndr_push_spoolss_AddPort(struct ndr_push *ndr, int flags, const struct spoolss_AddPort *r)
24792
if (flags & NDR_IN) {
24793
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
24794
if (r->in.server_name) {
24795
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
24796
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
24797
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
24798
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
24800
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
24801
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.monitor_name, CH_UTF16)));
24802
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
24803
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.monitor_name, CH_UTF16)));
24804
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.monitor_name, ndr_charset_length(r->in.monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
24806
if (flags & NDR_OUT) {
24807
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24809
return NDR_ERR_SUCCESS;
24812
static enum ndr_err_code ndr_pull_spoolss_AddPort(struct ndr_pull *ndr, int flags, struct spoolss_AddPort *r)
24814
uint32_t _ptr_server_name;
24815
TALLOC_CTX *_mem_save_server_name_0;
24816
if (flags & NDR_IN) {
24817
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
24818
if (_ptr_server_name) {
24819
NDR_PULL_ALLOC(ndr, r->in.server_name);
24821
r->in.server_name = NULL;
24823
if (r->in.server_name) {
24824
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
24825
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
24826
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
24827
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
24828
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
24829
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
24831
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
24832
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
24833
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
24835
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
24836
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.monitor_name));
24837
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.monitor_name));
24838
if (ndr_get_array_length(ndr, &r->in.monitor_name) > ndr_get_array_size(ndr, &r->in.monitor_name)) {
24839
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.monitor_name), ndr_get_array_length(ndr, &r->in.monitor_name));
24841
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.monitor_name), sizeof(uint16_t)));
24842
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.monitor_name, ndr_get_array_length(ndr, &r->in.monitor_name), sizeof(uint16_t), CH_UTF16));
24844
if (flags & NDR_OUT) {
24845
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24847
return NDR_ERR_SUCCESS;
24850
_PUBLIC_ void ndr_print_spoolss_AddPort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPort *r)
24852
ndr_print_struct(ndr, name, "spoolss_AddPort");
24854
if (flags & NDR_SET_VALUES) {
24855
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24857
if (flags & NDR_IN) {
24858
ndr_print_struct(ndr, "in", "spoolss_AddPort");
24860
ndr_print_ptr(ndr, "server_name", r->in.server_name);
24862
if (r->in.server_name) {
24863
ndr_print_string(ndr, "server_name", r->in.server_name);
24866
ndr_print_uint32(ndr, "unknown", r->in.unknown);
24867
ndr_print_string(ndr, "monitor_name", r->in.monitor_name);
24870
if (flags & NDR_OUT) {
24871
ndr_print_struct(ndr, "out", "spoolss_AddPort");
24873
ndr_print_WERROR(ndr, "result", r->out.result);
24879
static enum ndr_err_code ndr_push_spoolss_ConfigurePort(struct ndr_push *ndr, int flags, const struct spoolss_ConfigurePort *r)
24881
if (flags & NDR_IN) {
24883
if (flags & NDR_OUT) {
24884
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24886
return NDR_ERR_SUCCESS;
24889
static enum ndr_err_code ndr_pull_spoolss_ConfigurePort(struct ndr_pull *ndr, int flags, struct spoolss_ConfigurePort *r)
24891
if (flags & NDR_IN) {
24893
if (flags & NDR_OUT) {
24894
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24896
return NDR_ERR_SUCCESS;
24899
_PUBLIC_ void ndr_print_spoolss_ConfigurePort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ConfigurePort *r)
24901
ndr_print_struct(ndr, name, "spoolss_ConfigurePort");
24903
if (flags & NDR_SET_VALUES) {
24904
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24906
if (flags & NDR_IN) {
24907
ndr_print_struct(ndr, "in", "spoolss_ConfigurePort");
24911
if (flags & NDR_OUT) {
24912
ndr_print_struct(ndr, "out", "spoolss_ConfigurePort");
24914
ndr_print_WERROR(ndr, "result", r->out.result);
24920
static enum ndr_err_code ndr_push_spoolss_DeletePort(struct ndr_push *ndr, int flags, const struct spoolss_DeletePort *r)
24922
if (flags & NDR_IN) {
24924
if (flags & NDR_OUT) {
24925
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24927
return NDR_ERR_SUCCESS;
24930
static enum ndr_err_code ndr_pull_spoolss_DeletePort(struct ndr_pull *ndr, int flags, struct spoolss_DeletePort *r)
24932
if (flags & NDR_IN) {
24934
if (flags & NDR_OUT) {
24935
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24937
return NDR_ERR_SUCCESS;
24940
_PUBLIC_ void ndr_print_spoolss_DeletePort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePort *r)
24942
ndr_print_struct(ndr, name, "spoolss_DeletePort");
24944
if (flags & NDR_SET_VALUES) {
24945
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24947
if (flags & NDR_IN) {
24948
ndr_print_struct(ndr, "in", "spoolss_DeletePort");
24952
if (flags & NDR_OUT) {
24953
ndr_print_struct(ndr, "out", "spoolss_DeletePort");
24955
ndr_print_WERROR(ndr, "result", r->out.result);
24961
static enum ndr_err_code ndr_push_spoolss_CreatePrinterIC(struct ndr_push *ndr, int flags, const struct spoolss_CreatePrinterIC *r)
24963
if (flags & NDR_IN) {
24964
if (r->in.handle == NULL) {
24965
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24967
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24968
if (r->in.devmode_ctr == NULL) {
24969
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24971
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
24973
if (flags & NDR_OUT) {
24974
if (r->out.gdi_handle == NULL) {
24975
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24977
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.gdi_handle));
24978
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24980
return NDR_ERR_SUCCESS;
24983
static enum ndr_err_code ndr_pull_spoolss_CreatePrinterIC(struct ndr_pull *ndr, int flags, struct spoolss_CreatePrinterIC *r)
24985
TALLOC_CTX *_mem_save_handle_0;
24986
TALLOC_CTX *_mem_save_gdi_handle_0;
24987
TALLOC_CTX *_mem_save_devmode_ctr_0;
24988
if (flags & NDR_IN) {
24989
ZERO_STRUCT(r->out);
24991
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24992
NDR_PULL_ALLOC(ndr, r->in.handle);
24994
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24995
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
24996
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24997
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
24998
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24999
NDR_PULL_ALLOC(ndr, r->in.devmode_ctr);
25001
_mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
25002
NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC);
25003
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
25004
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC);
25005
NDR_PULL_ALLOC(ndr, r->out.gdi_handle);
25006
ZERO_STRUCTP(r->out.gdi_handle);
25008
if (flags & NDR_OUT) {
25009
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25010
NDR_PULL_ALLOC(ndr, r->out.gdi_handle);
25012
_mem_save_gdi_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
25013
NDR_PULL_SET_MEM_CTX(ndr, r->out.gdi_handle, LIBNDR_FLAG_REF_ALLOC);
25014
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.gdi_handle));
25015
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gdi_handle_0, LIBNDR_FLAG_REF_ALLOC);
25016
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25018
return NDR_ERR_SUCCESS;
25021
_PUBLIC_ void ndr_print_spoolss_CreatePrinterIC(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_CreatePrinterIC *r)
25023
ndr_print_struct(ndr, name, "spoolss_CreatePrinterIC");
25025
if (flags & NDR_SET_VALUES) {
25026
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25028
if (flags & NDR_IN) {
25029
ndr_print_struct(ndr, "in", "spoolss_CreatePrinterIC");
25031
ndr_print_ptr(ndr, "handle", r->in.handle);
25033
ndr_print_policy_handle(ndr, "handle", r->in.handle);
25035
ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr);
25037
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr);
25041
if (flags & NDR_OUT) {
25042
ndr_print_struct(ndr, "out", "spoolss_CreatePrinterIC");
25044
ndr_print_ptr(ndr, "gdi_handle", r->out.gdi_handle);
25046
ndr_print_policy_handle(ndr, "gdi_handle", r->out.gdi_handle);
25048
ndr_print_WERROR(ndr, "result", r->out.result);
25054
static enum ndr_err_code ndr_push_spoolss_PlayGDIScriptOnPrinterIC(struct ndr_push *ndr, int flags, const struct spoolss_PlayGDIScriptOnPrinterIC *r)
25056
if (flags & NDR_IN) {
25058
if (flags & NDR_OUT) {
25059
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25061
return NDR_ERR_SUCCESS;
25064
static enum ndr_err_code ndr_pull_spoolss_PlayGDIScriptOnPrinterIC(struct ndr_pull *ndr, int flags, struct spoolss_PlayGDIScriptOnPrinterIC *r)
25066
if (flags & NDR_IN) {
25068
if (flags & NDR_OUT) {
25069
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25071
return NDR_ERR_SUCCESS;
25074
_PUBLIC_ void ndr_print_spoolss_PlayGDIScriptOnPrinterIC(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_PlayGDIScriptOnPrinterIC *r)
25076
ndr_print_struct(ndr, name, "spoolss_PlayGDIScriptOnPrinterIC");
25078
if (flags & NDR_SET_VALUES) {
25079
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25081
if (flags & NDR_IN) {
25082
ndr_print_struct(ndr, "in", "spoolss_PlayGDIScriptOnPrinterIC");
25086
if (flags & NDR_OUT) {
25087
ndr_print_struct(ndr, "out", "spoolss_PlayGDIScriptOnPrinterIC");
25089
ndr_print_WERROR(ndr, "result", r->out.result);
25095
static enum ndr_err_code ndr_push_spoolss_DeletePrinterIC(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterIC *r)
25097
if (flags & NDR_IN) {
25098
if (r->in.gdi_handle == NULL) {
25099
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25101
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.gdi_handle));
25103
if (flags & NDR_OUT) {
25104
if (r->out.gdi_handle == NULL) {
25105
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25107
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.gdi_handle));
25108
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25110
return NDR_ERR_SUCCESS;
25113
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterIC(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterIC *r)
25115
TALLOC_CTX *_mem_save_gdi_handle_0;
25116
if (flags & NDR_IN) {
25117
ZERO_STRUCT(r->out);
25119
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25120
NDR_PULL_ALLOC(ndr, r->in.gdi_handle);
25122
_mem_save_gdi_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
25123
NDR_PULL_SET_MEM_CTX(ndr, r->in.gdi_handle, LIBNDR_FLAG_REF_ALLOC);
25124
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.gdi_handle));
25125
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gdi_handle_0, LIBNDR_FLAG_REF_ALLOC);
25126
NDR_PULL_ALLOC(ndr, r->out.gdi_handle);
25127
*r->out.gdi_handle = *r->in.gdi_handle;
25129
if (flags & NDR_OUT) {
25130
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25131
NDR_PULL_ALLOC(ndr, r->out.gdi_handle);
25133
_mem_save_gdi_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
25134
NDR_PULL_SET_MEM_CTX(ndr, r->out.gdi_handle, LIBNDR_FLAG_REF_ALLOC);
25135
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.gdi_handle));
25136
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gdi_handle_0, LIBNDR_FLAG_REF_ALLOC);
25137
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25139
return NDR_ERR_SUCCESS;
25142
_PUBLIC_ void ndr_print_spoolss_DeletePrinterIC(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterIC *r)
25144
ndr_print_struct(ndr, name, "spoolss_DeletePrinterIC");
25146
if (flags & NDR_SET_VALUES) {
25147
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25149
if (flags & NDR_IN) {
25150
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterIC");
25152
ndr_print_ptr(ndr, "gdi_handle", r->in.gdi_handle);
25154
ndr_print_policy_handle(ndr, "gdi_handle", r->in.gdi_handle);
25158
if (flags & NDR_OUT) {
25159
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterIC");
25161
ndr_print_ptr(ndr, "gdi_handle", r->out.gdi_handle);
25163
ndr_print_policy_handle(ndr, "gdi_handle", r->out.gdi_handle);
25165
ndr_print_WERROR(ndr, "result", r->out.result);
25171
static enum ndr_err_code ndr_push_spoolss_AddPrinterConnection(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterConnection *r)
25173
if (flags & NDR_IN) {
25175
if (flags & NDR_OUT) {
25176
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25178
return NDR_ERR_SUCCESS;
25181
static enum ndr_err_code ndr_pull_spoolss_AddPrinterConnection(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterConnection *r)
25183
if (flags & NDR_IN) {
25185
if (flags & NDR_OUT) {
25186
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25188
return NDR_ERR_SUCCESS;
25191
_PUBLIC_ void ndr_print_spoolss_AddPrinterConnection(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterConnection *r)
25193
ndr_print_struct(ndr, name, "spoolss_AddPrinterConnection");
25195
if (flags & NDR_SET_VALUES) {
25196
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25198
if (flags & NDR_IN) {
25199
ndr_print_struct(ndr, "in", "spoolss_AddPrinterConnection");
25203
if (flags & NDR_OUT) {
25204
ndr_print_struct(ndr, "out", "spoolss_AddPrinterConnection");
25206
ndr_print_WERROR(ndr, "result", r->out.result);
25212
static enum ndr_err_code ndr_push_spoolss_DeletePrinterConnection(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterConnection *r)
25214
if (flags & NDR_IN) {
25216
if (flags & NDR_OUT) {
25217
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25219
return NDR_ERR_SUCCESS;
25222
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterConnection(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterConnection *r)
25224
if (flags & NDR_IN) {
25226
if (flags & NDR_OUT) {
25227
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25229
return NDR_ERR_SUCCESS;
25232
_PUBLIC_ void ndr_print_spoolss_DeletePrinterConnection(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterConnection *r)
25234
ndr_print_struct(ndr, name, "spoolss_DeletePrinterConnection");
25236
if (flags & NDR_SET_VALUES) {
25237
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25239
if (flags & NDR_IN) {
25240
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterConnection");
25244
if (flags & NDR_OUT) {
25245
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterConnection");
25247
ndr_print_WERROR(ndr, "result", r->out.result);
25253
static enum ndr_err_code ndr_push_spoolss_PrinterMessageBox(struct ndr_push *ndr, int flags, const struct spoolss_PrinterMessageBox *r)
25255
if (flags & NDR_IN) {
25257
if (flags & NDR_OUT) {
25258
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25260
return NDR_ERR_SUCCESS;
25263
static enum ndr_err_code ndr_pull_spoolss_PrinterMessageBox(struct ndr_pull *ndr, int flags, struct spoolss_PrinterMessageBox *r)
25265
if (flags & NDR_IN) {
25267
if (flags & NDR_OUT) {
25268
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25270
return NDR_ERR_SUCCESS;
25273
_PUBLIC_ void ndr_print_spoolss_PrinterMessageBox(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_PrinterMessageBox *r)
25275
ndr_print_struct(ndr, name, "spoolss_PrinterMessageBox");
25277
if (flags & NDR_SET_VALUES) {
25278
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25280
if (flags & NDR_IN) {
25281
ndr_print_struct(ndr, "in", "spoolss_PrinterMessageBox");
25285
if (flags & NDR_OUT) {
25286
ndr_print_struct(ndr, "out", "spoolss_PrinterMessageBox");
25288
ndr_print_WERROR(ndr, "result", r->out.result);
25294
static enum ndr_err_code ndr_push_spoolss_AddMonitor(struct ndr_push *ndr, int flags, const struct spoolss_AddMonitor *r)
25296
if (flags & NDR_IN) {
25298
if (flags & NDR_OUT) {
25299
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25301
return NDR_ERR_SUCCESS;
25304
static enum ndr_err_code ndr_pull_spoolss_AddMonitor(struct ndr_pull *ndr, int flags, struct spoolss_AddMonitor *r)
25306
if (flags & NDR_IN) {
25308
if (flags & NDR_OUT) {
25309
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25311
return NDR_ERR_SUCCESS;
25314
_PUBLIC_ void ndr_print_spoolss_AddMonitor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddMonitor *r)
25316
ndr_print_struct(ndr, name, "spoolss_AddMonitor");
25318
if (flags & NDR_SET_VALUES) {
25319
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25321
if (flags & NDR_IN) {
25322
ndr_print_struct(ndr, "in", "spoolss_AddMonitor");
25326
if (flags & NDR_OUT) {
25327
ndr_print_struct(ndr, "out", "spoolss_AddMonitor");
25329
ndr_print_WERROR(ndr, "result", r->out.result);
25335
static enum ndr_err_code ndr_push_spoolss_DeleteMonitor(struct ndr_push *ndr, int flags, const struct spoolss_DeleteMonitor *r)
25337
if (flags & NDR_IN) {
25339
if (flags & NDR_OUT) {
25340
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25342
return NDR_ERR_SUCCESS;
25345
static enum ndr_err_code ndr_pull_spoolss_DeleteMonitor(struct ndr_pull *ndr, int flags, struct spoolss_DeleteMonitor *r)
25347
if (flags & NDR_IN) {
25349
if (flags & NDR_OUT) {
25350
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25352
return NDR_ERR_SUCCESS;
25355
_PUBLIC_ void ndr_print_spoolss_DeleteMonitor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeleteMonitor *r)
25357
ndr_print_struct(ndr, name, "spoolss_DeleteMonitor");
25359
if (flags & NDR_SET_VALUES) {
25360
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25362
if (flags & NDR_IN) {
25363
ndr_print_struct(ndr, "in", "spoolss_DeleteMonitor");
25367
if (flags & NDR_OUT) {
25368
ndr_print_struct(ndr, "out", "spoolss_DeleteMonitor");
25370
ndr_print_WERROR(ndr, "result", r->out.result);
25376
static enum ndr_err_code ndr_push_spoolss_DeletePrintProcessor(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrintProcessor *r)
25378
if (flags & NDR_IN) {
25380
if (flags & NDR_OUT) {
25381
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25383
return NDR_ERR_SUCCESS;
25386
static enum ndr_err_code ndr_pull_spoolss_DeletePrintProcessor(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrintProcessor *r)
25388
if (flags & NDR_IN) {
25390
if (flags & NDR_OUT) {
25391
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25393
return NDR_ERR_SUCCESS;
25396
_PUBLIC_ void ndr_print_spoolss_DeletePrintProcessor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrintProcessor *r)
25398
ndr_print_struct(ndr, name, "spoolss_DeletePrintProcessor");
25400
if (flags & NDR_SET_VALUES) {
25401
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25403
if (flags & NDR_IN) {
25404
ndr_print_struct(ndr, "in", "spoolss_DeletePrintProcessor");
25408
if (flags & NDR_OUT) {
25409
ndr_print_struct(ndr, "out", "spoolss_DeletePrintProcessor");
25411
ndr_print_WERROR(ndr, "result", r->out.result);
25417
static enum ndr_err_code ndr_push_spoolss_AddPrintProvidor(struct ndr_push *ndr, int flags, const struct spoolss_AddPrintProvidor *r)
25419
if (flags & NDR_IN) {
25421
if (flags & NDR_OUT) {
25422
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25424
return NDR_ERR_SUCCESS;
25427
static enum ndr_err_code ndr_pull_spoolss_AddPrintProvidor(struct ndr_pull *ndr, int flags, struct spoolss_AddPrintProvidor *r)
25429
if (flags & NDR_IN) {
25431
if (flags & NDR_OUT) {
25432
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25434
return NDR_ERR_SUCCESS;
25437
_PUBLIC_ void ndr_print_spoolss_AddPrintProvidor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrintProvidor *r)
25439
ndr_print_struct(ndr, name, "spoolss_AddPrintProvidor");
25441
if (flags & NDR_SET_VALUES) {
25442
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25444
if (flags & NDR_IN) {
25445
ndr_print_struct(ndr, "in", "spoolss_AddPrintProvidor");
25449
if (flags & NDR_OUT) {
25450
ndr_print_struct(ndr, "out", "spoolss_AddPrintProvidor");
25452
ndr_print_WERROR(ndr, "result", r->out.result);
25458
static enum ndr_err_code ndr_push_spoolss_DeletePrintProvidor(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrintProvidor *r)
25460
if (flags & NDR_IN) {
25462
if (flags & NDR_OUT) {
25463
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25465
return NDR_ERR_SUCCESS;
25468
static enum ndr_err_code ndr_pull_spoolss_DeletePrintProvidor(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrintProvidor *r)
25470
if (flags & NDR_IN) {
25472
if (flags & NDR_OUT) {
25473
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25475
return NDR_ERR_SUCCESS;
25478
_PUBLIC_ void ndr_print_spoolss_DeletePrintProvidor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrintProvidor *r)
25480
ndr_print_struct(ndr, name, "spoolss_DeletePrintProvidor");
25482
if (flags & NDR_SET_VALUES) {
25483
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25485
if (flags & NDR_IN) {
25486
ndr_print_struct(ndr, "in", "spoolss_DeletePrintProvidor");
25490
if (flags & NDR_OUT) {
25491
ndr_print_struct(ndr, "out", "spoolss_DeletePrintProvidor");
25493
ndr_print_WERROR(ndr, "result", r->out.result);
25499
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrintProcDataTypes(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrintProcDataTypes *r)
25501
if (flags & NDR_IN) {
25502
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
25503
if (r->in.servername) {
25504
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
25505
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
25506
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
25507
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
25509
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.print_processor_name));
25510
if (r->in.print_processor_name) {
25511
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.print_processor_name, CH_UTF16)));
25512
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
25513
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.print_processor_name, CH_UTF16)));
25514
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.print_processor_name, ndr_charset_length(r->in.print_processor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
25516
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
25517
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
25518
if (r->in.buffer) {
25519
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
25521
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
25523
if (flags & NDR_OUT) {
25524
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
25526
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
25528
if (r->out.needed == NULL) {
25529
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25531
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
25532
if (r->out.count == NULL) {
25533
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25535
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
25536
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25538
return NDR_ERR_SUCCESS;
25541
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrintProcDataTypes(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrintProcDataTypes *r)
25543
uint32_t _ptr_servername;
25544
uint32_t _ptr_print_processor_name;
25545
uint32_t _ptr_buffer;
25546
uint32_t _ptr_info;
25547
TALLOC_CTX *_mem_save_servername_0;
25548
TALLOC_CTX *_mem_save_print_processor_name_0;
25549
TALLOC_CTX *_mem_save_buffer_0;
25550
TALLOC_CTX *_mem_save_info_0;
25551
TALLOC_CTX *_mem_save_needed_0;
25552
TALLOC_CTX *_mem_save_count_0;
25553
if (flags & NDR_IN) {
25554
ZERO_STRUCT(r->out);
25556
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
25557
if (_ptr_servername) {
25558
NDR_PULL_ALLOC(ndr, r->in.servername);
25560
r->in.servername = NULL;
25562
if (r->in.servername) {
25563
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
25564
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
25565
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
25566
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
25567
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
25568
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
25570
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
25571
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
25572
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
25574
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor_name));
25575
if (_ptr_print_processor_name) {
25576
NDR_PULL_ALLOC(ndr, r->in.print_processor_name);
25578
r->in.print_processor_name = NULL;
25580
if (r->in.print_processor_name) {
25581
_mem_save_print_processor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
25582
NDR_PULL_SET_MEM_CTX(ndr, r->in.print_processor_name, 0);
25583
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.print_processor_name));
25584
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.print_processor_name));
25585
if (ndr_get_array_length(ndr, &r->in.print_processor_name) > ndr_get_array_size(ndr, &r->in.print_processor_name)) {
25586
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.print_processor_name), ndr_get_array_length(ndr, &r->in.print_processor_name));
25588
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.print_processor_name), sizeof(uint16_t)));
25589
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.print_processor_name, ndr_get_array_length(ndr, &r->in.print_processor_name), sizeof(uint16_t), CH_UTF16));
25590
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_name_0, 0);
25592
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
25593
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
25595
NDR_PULL_ALLOC(ndr, r->in.buffer);
25597
r->in.buffer = NULL;
25599
if (r->in.buffer) {
25600
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
25601
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
25602
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
25603
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
25605
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
25606
NDR_PULL_ALLOC(ndr, r->out.needed);
25607
ZERO_STRUCTP(r->out.needed);
25608
NDR_PULL_ALLOC(ndr, r->out.count);
25609
ZERO_STRUCTP(r->out.count);
25611
if (flags & NDR_OUT) {
25612
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
25614
NDR_PULL_ALLOC(ndr, r->out.info);
25616
r->out.info = NULL;
25619
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
25620
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
25621
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
25622
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
25624
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25625
NDR_PULL_ALLOC(ndr, r->out.needed);
25627
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
25628
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
25629
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
25630
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
25631
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25632
NDR_PULL_ALLOC(ndr, r->out.count);
25634
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
25635
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
25636
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
25637
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
25638
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25640
return NDR_ERR_SUCCESS;
25643
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrintProcDataTypes(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrintProcDataTypes *r)
25645
uint32_t cntr_info_0;
25646
if (flags & NDR_IN) {
25647
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
25648
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
25650
if (flags & NDR_OUT) {
25651
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25652
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
25653
NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
25655
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25656
NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
25659
return NDR_ERR_SUCCESS;
25662
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrintProcDataTypes(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrintProcDataTypes *r)
25664
uint32_t cntr_info_0;
25665
TALLOC_CTX *_mem_save_info_0;
25666
if (flags & NDR_IN) {
25667
ZERO_STRUCT(r->out);
25669
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
25670
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
25672
if (flags & NDR_OUT) {
25673
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
25674
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
25675
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
25676
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25677
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
25678
NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
25680
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25681
NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
25683
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
25685
return NDR_ERR_SUCCESS;
25688
_PUBLIC_ void ndr_print_spoolss_EnumPrintProcDataTypes(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrintProcDataTypes *r)
25690
uint32_t cntr_info_2;
25691
ndr_print_struct(ndr, name, "spoolss_EnumPrintProcDataTypes");
25693
if (flags & NDR_SET_VALUES) {
25694
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25696
if (flags & NDR_IN) {
25697
ndr_print_struct(ndr, "in", "spoolss_EnumPrintProcDataTypes");
25699
ndr_print_ptr(ndr, "servername", r->in.servername);
25701
if (r->in.servername) {
25702
ndr_print_string(ndr, "servername", r->in.servername);
25705
ndr_print_ptr(ndr, "print_processor_name", r->in.print_processor_name);
25707
if (r->in.print_processor_name) {
25708
ndr_print_string(ndr, "print_processor_name", r->in.print_processor_name);
25711
ndr_print_uint32(ndr, "level", r->in.level);
25712
ndr_print_ptr(ndr, "buffer", r->in.buffer);
25714
if (r->in.buffer) {
25715
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
25718
ndr_print_uint32(ndr, "offered", r->in.offered);
25721
if (flags & NDR_OUT) {
25722
ndr_print_struct(ndr, "out", "spoolss_EnumPrintProcDataTypes");
25724
ndr_print_ptr(ndr, "count", r->out.count);
25726
ndr_print_uint32(ndr, "count", *r->out.count);
25728
ndr_print_ptr(ndr, "info", r->out.info);
25730
ndr_print_ptr(ndr, "info", *r->out.info);
25732
if (*r->out.info) {
25733
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
25735
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
25737
if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) {
25738
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
25739
ndr_print_spoolss_PrintProcDataTypesInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
25747
ndr_print_ptr(ndr, "needed", r->out.needed);
25749
ndr_print_uint32(ndr, "needed", *r->out.needed);
25751
ndr_print_WERROR(ndr, "result", r->out.result);
25757
static enum ndr_err_code ndr_push_spoolss_ResetPrinter(struct ndr_push *ndr, int flags, const struct spoolss_ResetPrinter *r)
25759
if (flags & NDR_IN) {
25760
if (r->in.handle == NULL) {
25761
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25763
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
25764
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.data_type));
25765
if (r->in.data_type) {
25766
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.data_type, CH_UTF16)));
25767
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
25768
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.data_type, CH_UTF16)));
25769
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.data_type, ndr_charset_length(r->in.data_type, CH_UTF16), sizeof(uint16_t), CH_UTF16));
25771
if (r->in.devmode_ctr == NULL) {
25772
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25774
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
25776
if (flags & NDR_OUT) {
25777
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25779
return NDR_ERR_SUCCESS;
25782
static enum ndr_err_code ndr_pull_spoolss_ResetPrinter(struct ndr_pull *ndr, int flags, struct spoolss_ResetPrinter *r)
25784
uint32_t _ptr_data_type;
25785
TALLOC_CTX *_mem_save_handle_0;
25786
TALLOC_CTX *_mem_save_data_type_0;
25787
TALLOC_CTX *_mem_save_devmode_ctr_0;
25788
if (flags & NDR_IN) {
25789
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25790
NDR_PULL_ALLOC(ndr, r->in.handle);
25792
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
25793
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
25794
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
25795
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
25796
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
25797
if (_ptr_data_type) {
25798
NDR_PULL_ALLOC(ndr, r->in.data_type);
25800
r->in.data_type = NULL;
25802
if (r->in.data_type) {
25803
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
25804
NDR_PULL_SET_MEM_CTX(ndr, r->in.data_type, 0);
25805
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data_type));
25806
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.data_type));
25807
if (ndr_get_array_length(ndr, &r->in.data_type) > ndr_get_array_size(ndr, &r->in.data_type)) {
25808
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.data_type), ndr_get_array_length(ndr, &r->in.data_type));
25810
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.data_type), sizeof(uint16_t)));
25811
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.data_type, ndr_get_array_length(ndr, &r->in.data_type), sizeof(uint16_t), CH_UTF16));
25812
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
25814
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25815
NDR_PULL_ALLOC(ndr, r->in.devmode_ctr);
25817
_mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
25818
NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC);
25819
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
25820
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC);
25822
if (flags & NDR_OUT) {
25823
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25825
return NDR_ERR_SUCCESS;
25828
_PUBLIC_ void ndr_print_spoolss_ResetPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ResetPrinter *r)
25830
ndr_print_struct(ndr, name, "spoolss_ResetPrinter");
25832
if (flags & NDR_SET_VALUES) {
25833
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25835
if (flags & NDR_IN) {
25836
ndr_print_struct(ndr, "in", "spoolss_ResetPrinter");
25838
ndr_print_ptr(ndr, "handle", r->in.handle);
25840
ndr_print_policy_handle(ndr, "handle", r->in.handle);
25842
ndr_print_ptr(ndr, "data_type", r->in.data_type);
25844
if (r->in.data_type) {
25845
ndr_print_string(ndr, "data_type", r->in.data_type);
25848
ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr);
25850
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr);
25854
if (flags & NDR_OUT) {
25855
ndr_print_struct(ndr, "out", "spoolss_ResetPrinter");
25857
ndr_print_WERROR(ndr, "result", r->out.result);
25863
static enum ndr_err_code ndr_push_spoolss_GetPrinterDriver2(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriver2 *r)
25865
if (flags & NDR_IN) {
25866
if (r->in.handle == NULL) {
25867
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25869
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
25870
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.architecture));
25871
if (r->in.architecture) {
25872
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
25873
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
25874
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
25875
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
25877
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
25878
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
25879
if (r->in.buffer) {
25880
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
25882
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
25883
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.client_major_version));
25884
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.client_minor_version));
25886
if (flags & NDR_OUT) {
25887
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
25890
struct ndr_push *_ndr_info;
25891
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
25892
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
25893
NDR_CHECK(ndr_push_spoolss_DriverInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
25894
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
25897
if (r->out.needed == NULL) {
25898
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25900
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
25901
if (r->out.server_major_version == NULL) {
25902
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25904
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.server_major_version));
25905
if (r->out.server_minor_version == NULL) {
25906
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25908
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.server_minor_version));
25909
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25911
return NDR_ERR_SUCCESS;
25914
static enum ndr_err_code ndr_pull_spoolss_GetPrinterDriver2(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriver2 *r)
25916
uint32_t _ptr_architecture;
25917
uint32_t _ptr_buffer;
25918
uint32_t _ptr_info;
25919
TALLOC_CTX *_mem_save_handle_0;
25920
TALLOC_CTX *_mem_save_architecture_0;
25921
TALLOC_CTX *_mem_save_buffer_0;
25922
TALLOC_CTX *_mem_save_info_0;
25923
TALLOC_CTX *_mem_save_needed_0;
25924
TALLOC_CTX *_mem_save_server_major_version_0;
25925
TALLOC_CTX *_mem_save_server_minor_version_0;
25926
if (flags & NDR_IN) {
25927
ZERO_STRUCT(r->out);
25929
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25930
NDR_PULL_ALLOC(ndr, r->in.handle);
25932
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
25933
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
25934
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
25935
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
25936
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
25937
if (_ptr_architecture) {
25938
NDR_PULL_ALLOC(ndr, r->in.architecture);
25940
r->in.architecture = NULL;
25942
if (r->in.architecture) {
25943
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
25944
NDR_PULL_SET_MEM_CTX(ndr, r->in.architecture, 0);
25945
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
25946
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
25947
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
25948
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.architecture), ndr_get_array_length(ndr, &r->in.architecture));
25950
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
25951
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
25952
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
25954
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
25955
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
25957
NDR_PULL_ALLOC(ndr, r->in.buffer);
25959
r->in.buffer = NULL;
25961
if (r->in.buffer) {
25962
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
25963
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
25964
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
25965
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
25967
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
25968
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.client_major_version));
25969
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.client_minor_version));
25970
NDR_PULL_ALLOC(ndr, r->out.needed);
25971
ZERO_STRUCTP(r->out.needed);
25972
NDR_PULL_ALLOC(ndr, r->out.server_major_version);
25973
ZERO_STRUCTP(r->out.server_major_version);
25974
NDR_PULL_ALLOC(ndr, r->out.server_minor_version);
25975
ZERO_STRUCTP(r->out.server_minor_version);
25977
if (flags & NDR_OUT) {
25978
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
25980
NDR_PULL_ALLOC(ndr, r->out.info);
25982
r->out.info = NULL;
25985
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
25986
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
25988
struct ndr_pull *_ndr_info;
25989
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
25990
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
25991
NDR_CHECK(ndr_pull_spoolss_DriverInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
25992
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
25994
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
25996
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25997
NDR_PULL_ALLOC(ndr, r->out.needed);
25999
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
26000
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
26001
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
26002
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
26003
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26004
NDR_PULL_ALLOC(ndr, r->out.server_major_version);
26006
_mem_save_server_major_version_0 = NDR_PULL_GET_MEM_CTX(ndr);
26007
NDR_PULL_SET_MEM_CTX(ndr, r->out.server_major_version, LIBNDR_FLAG_REF_ALLOC);
26008
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.server_major_version));
26009
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_major_version_0, LIBNDR_FLAG_REF_ALLOC);
26010
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26011
NDR_PULL_ALLOC(ndr, r->out.server_minor_version);
26013
_mem_save_server_minor_version_0 = NDR_PULL_GET_MEM_CTX(ndr);
26014
NDR_PULL_SET_MEM_CTX(ndr, r->out.server_minor_version, LIBNDR_FLAG_REF_ALLOC);
26015
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.server_minor_version));
26016
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_minor_version_0, LIBNDR_FLAG_REF_ALLOC);
26017
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26019
return NDR_ERR_SUCCESS;
26022
_PUBLIC_ void ndr_print_spoolss_GetPrinterDriver2(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriver2 *r)
26024
ndr_print_struct(ndr, name, "spoolss_GetPrinterDriver2");
26026
if (flags & NDR_SET_VALUES) {
26027
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26029
if (flags & NDR_IN) {
26030
ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriver2");
26032
ndr_print_ptr(ndr, "handle", r->in.handle);
26034
ndr_print_policy_handle(ndr, "handle", r->in.handle);
26036
ndr_print_ptr(ndr, "architecture", r->in.architecture);
26038
if (r->in.architecture) {
26039
ndr_print_string(ndr, "architecture", r->in.architecture);
26042
ndr_print_uint32(ndr, "level", r->in.level);
26043
ndr_print_ptr(ndr, "buffer", r->in.buffer);
26045
if (r->in.buffer) {
26046
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
26049
ndr_print_uint32(ndr, "offered", r->in.offered);
26050
ndr_print_uint32(ndr, "client_major_version", r->in.client_major_version);
26051
ndr_print_uint32(ndr, "client_minor_version", r->in.client_minor_version);
26054
if (flags & NDR_OUT) {
26055
ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriver2");
26057
ndr_print_ptr(ndr, "info", r->out.info);
26060
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
26061
ndr_print_spoolss_DriverInfo(ndr, "info", r->out.info);
26064
ndr_print_ptr(ndr, "needed", r->out.needed);
26066
ndr_print_uint32(ndr, "needed", *r->out.needed);
26068
ndr_print_ptr(ndr, "server_major_version", r->out.server_major_version);
26070
ndr_print_uint32(ndr, "server_major_version", *r->out.server_major_version);
26072
ndr_print_ptr(ndr, "server_minor_version", r->out.server_minor_version);
26074
ndr_print_uint32(ndr, "server_minor_version", *r->out.server_minor_version);
26076
ndr_print_WERROR(ndr, "result", r->out.result);
26082
static enum ndr_err_code ndr_push_spoolss_FindFirstPrinterChangeNotification(struct ndr_push *ndr, int flags, const struct spoolss_FindFirstPrinterChangeNotification *r)
26084
if (flags & NDR_IN) {
26086
if (flags & NDR_OUT) {
26087
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26089
return NDR_ERR_SUCCESS;
26092
static enum ndr_err_code ndr_pull_spoolss_FindFirstPrinterChangeNotification(struct ndr_pull *ndr, int flags, struct spoolss_FindFirstPrinterChangeNotification *r)
26094
if (flags & NDR_IN) {
26096
if (flags & NDR_OUT) {
26097
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26099
return NDR_ERR_SUCCESS;
26102
_PUBLIC_ void ndr_print_spoolss_FindFirstPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_FindFirstPrinterChangeNotification *r)
26104
ndr_print_struct(ndr, name, "spoolss_FindFirstPrinterChangeNotification");
26106
if (flags & NDR_SET_VALUES) {
26107
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26109
if (flags & NDR_IN) {
26110
ndr_print_struct(ndr, "in", "spoolss_FindFirstPrinterChangeNotification");
26114
if (flags & NDR_OUT) {
26115
ndr_print_struct(ndr, "out", "spoolss_FindFirstPrinterChangeNotification");
26117
ndr_print_WERROR(ndr, "result", r->out.result);
26123
static enum ndr_err_code ndr_push_spoolss_FindNextPrinterChangeNotification(struct ndr_push *ndr, int flags, const struct spoolss_FindNextPrinterChangeNotification *r)
26125
if (flags & NDR_IN) {
26127
if (flags & NDR_OUT) {
26128
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26130
return NDR_ERR_SUCCESS;
26133
static enum ndr_err_code ndr_pull_spoolss_FindNextPrinterChangeNotification(struct ndr_pull *ndr, int flags, struct spoolss_FindNextPrinterChangeNotification *r)
26135
if (flags & NDR_IN) {
26137
if (flags & NDR_OUT) {
26138
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26140
return NDR_ERR_SUCCESS;
26143
_PUBLIC_ void ndr_print_spoolss_FindNextPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_FindNextPrinterChangeNotification *r)
26145
ndr_print_struct(ndr, name, "spoolss_FindNextPrinterChangeNotification");
26147
if (flags & NDR_SET_VALUES) {
26148
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26150
if (flags & NDR_IN) {
26151
ndr_print_struct(ndr, "in", "spoolss_FindNextPrinterChangeNotification");
26155
if (flags & NDR_OUT) {
26156
ndr_print_struct(ndr, "out", "spoolss_FindNextPrinterChangeNotification");
26158
ndr_print_WERROR(ndr, "result", r->out.result);
26164
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_FindClosePrinterNotify(struct ndr_push *ndr, int flags, const struct spoolss_FindClosePrinterNotify *r)
26166
if (flags & NDR_IN) {
26167
if (r->in.handle == NULL) {
26168
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26170
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26172
if (flags & NDR_OUT) {
26173
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26175
return NDR_ERR_SUCCESS;
26178
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FindClosePrinterNotify(struct ndr_pull *ndr, int flags, struct spoolss_FindClosePrinterNotify *r)
26180
TALLOC_CTX *_mem_save_handle_0;
26181
if (flags & NDR_IN) {
26182
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26183
NDR_PULL_ALLOC(ndr, r->in.handle);
26185
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26186
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
26187
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26188
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
26190
if (flags & NDR_OUT) {
26191
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26193
return NDR_ERR_SUCCESS;
26196
_PUBLIC_ void ndr_print_spoolss_FindClosePrinterNotify(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_FindClosePrinterNotify *r)
26198
ndr_print_struct(ndr, name, "spoolss_FindClosePrinterNotify");
26200
if (flags & NDR_SET_VALUES) {
26201
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26203
if (flags & NDR_IN) {
26204
ndr_print_struct(ndr, "in", "spoolss_FindClosePrinterNotify");
26206
ndr_print_ptr(ndr, "handle", r->in.handle);
26208
ndr_print_policy_handle(ndr, "handle", r->in.handle);
26212
if (flags & NDR_OUT) {
26213
ndr_print_struct(ndr, "out", "spoolss_FindClosePrinterNotify");
26215
ndr_print_WERROR(ndr, "result", r->out.result);
26221
static enum ndr_err_code ndr_push_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct ndr_push *ndr, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r)
26223
if (flags & NDR_IN) {
26225
if (flags & NDR_OUT) {
26226
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26228
return NDR_ERR_SUCCESS;
26231
static enum ndr_err_code ndr_pull_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct ndr_pull *ndr, int flags, struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r)
26233
if (flags & NDR_IN) {
26235
if (flags & NDR_OUT) {
26236
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26238
return NDR_ERR_SUCCESS;
26241
_PUBLIC_ void ndr_print_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r)
26243
ndr_print_struct(ndr, name, "spoolss_RouterFindFirstPrinterChangeNotificationOld");
26245
if (flags & NDR_SET_VALUES) {
26246
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26248
if (flags & NDR_IN) {
26249
ndr_print_struct(ndr, "in", "spoolss_RouterFindFirstPrinterChangeNotificationOld");
26253
if (flags & NDR_OUT) {
26254
ndr_print_struct(ndr, "out", "spoolss_RouterFindFirstPrinterChangeNotificationOld");
26256
ndr_print_WERROR(ndr, "result", r->out.result);
26262
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_ReplyOpenPrinter(struct ndr_push *ndr, int flags, const struct spoolss_ReplyOpenPrinter *r)
26264
if (flags & NDR_IN) {
26265
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
26266
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
26267
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
26268
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
26269
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.printer_local));
26270
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type));
26271
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.bufsize));
26272
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
26273
if (r->in.buffer) {
26274
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.bufsize));
26275
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.buffer, r->in.bufsize));
26278
if (flags & NDR_OUT) {
26279
if (r->out.handle == NULL) {
26280
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26282
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
26283
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26285
return NDR_ERR_SUCCESS;
26288
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_ReplyOpenPrinter(struct ndr_pull *ndr, int flags, struct spoolss_ReplyOpenPrinter *r)
26290
uint32_t _ptr_buffer;
26291
TALLOC_CTX *_mem_save_buffer_0;
26292
TALLOC_CTX *_mem_save_handle_0;
26293
if (flags & NDR_IN) {
26294
ZERO_STRUCT(r->out);
26296
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
26297
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
26298
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
26299
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
26301
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
26302
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
26303
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.printer_local));
26304
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type));
26305
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bufsize));
26306
if (r->in.bufsize > 512) {
26307
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
26309
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
26311
NDR_PULL_ALLOC(ndr, r->in.buffer);
26313
r->in.buffer = NULL;
26315
if (r->in.buffer) {
26316
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
26317
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
26318
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer));
26319
NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer));
26320
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer)));
26321
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
26323
NDR_PULL_ALLOC(ndr, r->out.handle);
26324
ZERO_STRUCTP(r->out.handle);
26325
if (r->in.buffer) {
26326
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, r->in.bufsize));
26329
if (flags & NDR_OUT) {
26330
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26331
NDR_PULL_ALLOC(ndr, r->out.handle);
26333
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26334
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
26335
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
26336
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
26337
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26339
return NDR_ERR_SUCCESS;
26342
_PUBLIC_ void ndr_print_spoolss_ReplyOpenPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ReplyOpenPrinter *r)
26344
ndr_print_struct(ndr, name, "spoolss_ReplyOpenPrinter");
26346
if (flags & NDR_SET_VALUES) {
26347
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26349
if (flags & NDR_IN) {
26350
ndr_print_struct(ndr, "in", "spoolss_ReplyOpenPrinter");
26352
ndr_print_string(ndr, "server_name", r->in.server_name);
26353
ndr_print_uint32(ndr, "printer_local", r->in.printer_local);
26354
ndr_print_winreg_Type(ndr, "type", r->in.type);
26355
ndr_print_uint32(ndr, "bufsize", r->in.bufsize);
26356
ndr_print_ptr(ndr, "buffer", r->in.buffer);
26358
if (r->in.buffer) {
26359
ndr_print_array_uint8(ndr, "buffer", r->in.buffer, r->in.bufsize);
26364
if (flags & NDR_OUT) {
26365
ndr_print_struct(ndr, "out", "spoolss_ReplyOpenPrinter");
26367
ndr_print_ptr(ndr, "handle", r->out.handle);
26369
ndr_print_policy_handle(ndr, "handle", r->out.handle);
26371
ndr_print_WERROR(ndr, "result", r->out.result);
26377
static enum ndr_err_code ndr_push_spoolss_RouterReplyPrinter(struct ndr_push *ndr, int flags, const struct spoolss_RouterReplyPrinter *r)
26379
if (flags & NDR_IN) {
26380
if (r->in.handle == NULL) {
26381
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26383
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26384
NDR_CHECK(ndr_push_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, r->in.flags));
26385
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.bufsize));
26386
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
26387
if (r->in.buffer) {
26388
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.bufsize));
26389
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.buffer, r->in.bufsize));
26392
if (flags & NDR_OUT) {
26393
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26395
return NDR_ERR_SUCCESS;
26398
static enum ndr_err_code ndr_pull_spoolss_RouterReplyPrinter(struct ndr_pull *ndr, int flags, struct spoolss_RouterReplyPrinter *r)
26400
uint32_t _ptr_buffer;
26401
TALLOC_CTX *_mem_save_handle_0;
26402
TALLOC_CTX *_mem_save_buffer_0;
26403
if (flags & NDR_IN) {
26404
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26405
NDR_PULL_ALLOC(ndr, r->in.handle);
26407
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26408
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
26409
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26410
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
26411
NDR_CHECK(ndr_pull_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, &r->in.flags));
26412
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bufsize));
26413
if (r->in.bufsize > 512) {
26414
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
26416
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
26418
NDR_PULL_ALLOC(ndr, r->in.buffer);
26420
r->in.buffer = NULL;
26422
if (r->in.buffer) {
26423
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
26424
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
26425
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer));
26426
NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer));
26427
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer)));
26428
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
26430
if (r->in.buffer) {
26431
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, r->in.bufsize));
26434
if (flags & NDR_OUT) {
26435
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26437
return NDR_ERR_SUCCESS;
26440
_PUBLIC_ void ndr_print_spoolss_RouterReplyPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterReplyPrinter *r)
26442
ndr_print_struct(ndr, name, "spoolss_RouterReplyPrinter");
26444
if (flags & NDR_SET_VALUES) {
26445
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26447
if (flags & NDR_IN) {
26448
ndr_print_struct(ndr, "in", "spoolss_RouterReplyPrinter");
26450
ndr_print_ptr(ndr, "handle", r->in.handle);
26452
ndr_print_policy_handle(ndr, "handle", r->in.handle);
26454
ndr_print_spoolss_PrinterChangeFlags(ndr, "flags", r->in.flags);
26455
ndr_print_uint32(ndr, "bufsize", r->in.bufsize);
26456
ndr_print_ptr(ndr, "buffer", r->in.buffer);
26458
if (r->in.buffer) {
26459
ndr_print_array_uint8(ndr, "buffer", r->in.buffer, r->in.bufsize);
26464
if (flags & NDR_OUT) {
26465
ndr_print_struct(ndr, "out", "spoolss_RouterReplyPrinter");
26467
ndr_print_WERROR(ndr, "result", r->out.result);
26473
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_ReplyClosePrinter(struct ndr_push *ndr, int flags, const struct spoolss_ReplyClosePrinter *r)
26475
if (flags & NDR_IN) {
26476
if (r->in.handle == NULL) {
26477
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26479
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26481
if (flags & NDR_OUT) {
26482
if (r->out.handle == NULL) {
26483
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26485
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
26486
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26488
return NDR_ERR_SUCCESS;
26491
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_ReplyClosePrinter(struct ndr_pull *ndr, int flags, struct spoolss_ReplyClosePrinter *r)
26493
TALLOC_CTX *_mem_save_handle_0;
26494
if (flags & NDR_IN) {
26495
ZERO_STRUCT(r->out);
26497
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26498
NDR_PULL_ALLOC(ndr, r->in.handle);
26500
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26501
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
26502
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26503
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
26504
NDR_PULL_ALLOC(ndr, r->out.handle);
26505
*r->out.handle = *r->in.handle;
26507
if (flags & NDR_OUT) {
26508
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26509
NDR_PULL_ALLOC(ndr, r->out.handle);
26511
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26512
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
26513
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
26514
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
26515
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26517
return NDR_ERR_SUCCESS;
26520
_PUBLIC_ void ndr_print_spoolss_ReplyClosePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ReplyClosePrinter *r)
26522
ndr_print_struct(ndr, name, "spoolss_ReplyClosePrinter");
26524
if (flags & NDR_SET_VALUES) {
26525
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26527
if (flags & NDR_IN) {
26528
ndr_print_struct(ndr, "in", "spoolss_ReplyClosePrinter");
26530
ndr_print_ptr(ndr, "handle", r->in.handle);
26532
ndr_print_policy_handle(ndr, "handle", r->in.handle);
26536
if (flags & NDR_OUT) {
26537
ndr_print_struct(ndr, "out", "spoolss_ReplyClosePrinter");
26539
ndr_print_ptr(ndr, "handle", r->out.handle);
26541
ndr_print_policy_handle(ndr, "handle", r->out.handle);
26543
ndr_print_WERROR(ndr, "result", r->out.result);
26549
static enum ndr_err_code ndr_push_spoolss_AddPortEx(struct ndr_push *ndr, int flags, const struct spoolss_AddPortEx *r)
26551
if (flags & NDR_IN) {
26553
if (flags & NDR_OUT) {
26554
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26556
return NDR_ERR_SUCCESS;
26559
static enum ndr_err_code ndr_pull_spoolss_AddPortEx(struct ndr_pull *ndr, int flags, struct spoolss_AddPortEx *r)
26561
if (flags & NDR_IN) {
26563
if (flags & NDR_OUT) {
26564
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26566
return NDR_ERR_SUCCESS;
26569
_PUBLIC_ void ndr_print_spoolss_AddPortEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPortEx *r)
26571
ndr_print_struct(ndr, name, "spoolss_AddPortEx");
26573
if (flags & NDR_SET_VALUES) {
26574
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26576
if (flags & NDR_IN) {
26577
ndr_print_struct(ndr, "in", "spoolss_AddPortEx");
26581
if (flags & NDR_OUT) {
26582
ndr_print_struct(ndr, "out", "spoolss_AddPortEx");
26584
ndr_print_WERROR(ndr, "result", r->out.result);
26590
static enum ndr_err_code ndr_push_spoolss_RouterFindFirstPrinterChangeNotification(struct ndr_push *ndr, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotification *r)
26592
if (flags & NDR_IN) {
26594
if (flags & NDR_OUT) {
26595
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26597
return NDR_ERR_SUCCESS;
26600
static enum ndr_err_code ndr_pull_spoolss_RouterFindFirstPrinterChangeNotification(struct ndr_pull *ndr, int flags, struct spoolss_RouterFindFirstPrinterChangeNotification *r)
26602
if (flags & NDR_IN) {
26604
if (flags & NDR_OUT) {
26605
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26607
return NDR_ERR_SUCCESS;
26610
_PUBLIC_ void ndr_print_spoolss_RouterFindFirstPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotification *r)
26612
ndr_print_struct(ndr, name, "spoolss_RouterFindFirstPrinterChangeNotification");
26614
if (flags & NDR_SET_VALUES) {
26615
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26617
if (flags & NDR_IN) {
26618
ndr_print_struct(ndr, "in", "spoolss_RouterFindFirstPrinterChangeNotification");
26622
if (flags & NDR_OUT) {
26623
ndr_print_struct(ndr, "out", "spoolss_RouterFindFirstPrinterChangeNotification");
26625
ndr_print_WERROR(ndr, "result", r->out.result);
26631
static enum ndr_err_code ndr_push_spoolss_SpoolerInit(struct ndr_push *ndr, int flags, const struct spoolss_SpoolerInit *r)
26633
if (flags & NDR_IN) {
26635
if (flags & NDR_OUT) {
26636
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26638
return NDR_ERR_SUCCESS;
26641
static enum ndr_err_code ndr_pull_spoolss_SpoolerInit(struct ndr_pull *ndr, int flags, struct spoolss_SpoolerInit *r)
26643
if (flags & NDR_IN) {
26645
if (flags & NDR_OUT) {
26646
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26648
return NDR_ERR_SUCCESS;
26651
_PUBLIC_ void ndr_print_spoolss_SpoolerInit(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SpoolerInit *r)
26653
ndr_print_struct(ndr, name, "spoolss_SpoolerInit");
26655
if (flags & NDR_SET_VALUES) {
26656
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26658
if (flags & NDR_IN) {
26659
ndr_print_struct(ndr, "in", "spoolss_SpoolerInit");
26663
if (flags & NDR_OUT) {
26664
ndr_print_struct(ndr, "out", "spoolss_SpoolerInit");
26666
ndr_print_WERROR(ndr, "result", r->out.result);
26672
static enum ndr_err_code ndr_push_spoolss_ResetPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_ResetPrinterEx *r)
26674
if (flags & NDR_IN) {
26676
if (flags & NDR_OUT) {
26677
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26679
return NDR_ERR_SUCCESS;
26682
static enum ndr_err_code ndr_pull_spoolss_ResetPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_ResetPrinterEx *r)
26684
if (flags & NDR_IN) {
26686
if (flags & NDR_OUT) {
26687
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26689
return NDR_ERR_SUCCESS;
26692
_PUBLIC_ void ndr_print_spoolss_ResetPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ResetPrinterEx *r)
26694
ndr_print_struct(ndr, name, "spoolss_ResetPrinterEx");
26696
if (flags & NDR_SET_VALUES) {
26697
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26699
if (flags & NDR_IN) {
26700
ndr_print_struct(ndr, "in", "spoolss_ResetPrinterEx");
26704
if (flags & NDR_OUT) {
26705
ndr_print_struct(ndr, "out", "spoolss_ResetPrinterEx");
26707
ndr_print_WERROR(ndr, "result", r->out.result);
26713
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct ndr_push *ndr, int flags, const struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r)
26715
if (flags & NDR_IN) {
26716
if (r->in.handle == NULL) {
26717
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26719
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26720
NDR_CHECK(ndr_push_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, r->in.flags));
26721
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.options));
26722
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.local_machine));
26723
if (r->in.local_machine) {
26724
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.local_machine, CH_UTF16)));
26725
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
26726
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.local_machine, CH_UTF16)));
26727
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.local_machine, ndr_charset_length(r->in.local_machine, CH_UTF16), sizeof(uint16_t), CH_UTF16));
26729
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.printer_local));
26730
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.notify_options));
26731
if (r->in.notify_options) {
26732
NDR_CHECK(ndr_push_spoolss_NotifyOption(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.notify_options));
26735
if (flags & NDR_OUT) {
26736
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26738
return NDR_ERR_SUCCESS;
26741
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct ndr_pull *ndr, int flags, struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r)
26743
uint32_t _ptr_local_machine;
26744
uint32_t _ptr_notify_options;
26745
TALLOC_CTX *_mem_save_handle_0;
26746
TALLOC_CTX *_mem_save_local_machine_0;
26747
TALLOC_CTX *_mem_save_notify_options_0;
26748
if (flags & NDR_IN) {
26749
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26750
NDR_PULL_ALLOC(ndr, r->in.handle);
26752
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26753
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
26754
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26755
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
26756
NDR_CHECK(ndr_pull_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, &r->in.flags));
26757
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.options));
26758
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_local_machine));
26759
if (_ptr_local_machine) {
26760
NDR_PULL_ALLOC(ndr, r->in.local_machine);
26762
r->in.local_machine = NULL;
26764
if (r->in.local_machine) {
26765
_mem_save_local_machine_0 = NDR_PULL_GET_MEM_CTX(ndr);
26766
NDR_PULL_SET_MEM_CTX(ndr, r->in.local_machine, 0);
26767
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.local_machine));
26768
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.local_machine));
26769
if (ndr_get_array_length(ndr, &r->in.local_machine) > ndr_get_array_size(ndr, &r->in.local_machine)) {
26770
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.local_machine), ndr_get_array_length(ndr, &r->in.local_machine));
26772
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.local_machine), sizeof(uint16_t)));
26773
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.local_machine, ndr_get_array_length(ndr, &r->in.local_machine), sizeof(uint16_t), CH_UTF16));
26774
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_local_machine_0, 0);
26776
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.printer_local));
26777
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_options));
26778
if (_ptr_notify_options) {
26779
NDR_PULL_ALLOC(ndr, r->in.notify_options);
26781
r->in.notify_options = NULL;
26783
if (r->in.notify_options) {
26784
_mem_save_notify_options_0 = NDR_PULL_GET_MEM_CTX(ndr);
26785
NDR_PULL_SET_MEM_CTX(ndr, r->in.notify_options, 0);
26786
NDR_CHECK(ndr_pull_spoolss_NotifyOption(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.notify_options));
26787
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_options_0, 0);
26790
if (flags & NDR_OUT) {
26791
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26793
return NDR_ERR_SUCCESS;
26796
_PUBLIC_ void ndr_print_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r)
26798
ndr_print_struct(ndr, name, "spoolss_RemoteFindFirstPrinterChangeNotifyEx");
26800
if (flags & NDR_SET_VALUES) {
26801
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26803
if (flags & NDR_IN) {
26804
ndr_print_struct(ndr, "in", "spoolss_RemoteFindFirstPrinterChangeNotifyEx");
26806
ndr_print_ptr(ndr, "handle", r->in.handle);
26808
ndr_print_policy_handle(ndr, "handle", r->in.handle);
26810
ndr_print_spoolss_PrinterChangeFlags(ndr, "flags", r->in.flags);
26811
ndr_print_uint32(ndr, "options", r->in.options);
26812
ndr_print_ptr(ndr, "local_machine", r->in.local_machine);
26814
if (r->in.local_machine) {
26815
ndr_print_string(ndr, "local_machine", r->in.local_machine);
26818
ndr_print_uint32(ndr, "printer_local", r->in.printer_local);
26819
ndr_print_ptr(ndr, "notify_options", r->in.notify_options);
26821
if (r->in.notify_options) {
26822
ndr_print_spoolss_NotifyOption(ndr, "notify_options", r->in.notify_options);
26827
if (flags & NDR_OUT) {
26828
ndr_print_struct(ndr, "out", "spoolss_RemoteFindFirstPrinterChangeNotifyEx");
26830
ndr_print_WERROR(ndr, "result", r->out.result);
26836
static enum ndr_err_code ndr_push_spoolss_RouterReplyPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_RouterReplyPrinterEx *r)
26838
if (flags & NDR_IN) {
26839
if (r->in.handle == NULL) {
26840
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26842
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26843
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.color));
26844
NDR_CHECK(ndr_push_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, r->in.flags));
26845
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reply_type));
26846
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.reply_type));
26847
NDR_CHECK(ndr_push_spoolss_ReplyPrinterInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
26849
if (flags & NDR_OUT) {
26850
if (r->out.reply_result == NULL) {
26851
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26853
NDR_CHECK(ndr_push_spoolss_PrinterNotifyFlags(ndr, NDR_SCALARS, *r->out.reply_result));
26854
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26856
return NDR_ERR_SUCCESS;
26859
static enum ndr_err_code ndr_pull_spoolss_RouterReplyPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_RouterReplyPrinterEx *r)
26861
TALLOC_CTX *_mem_save_handle_0;
26862
TALLOC_CTX *_mem_save_reply_result_0;
26863
if (flags & NDR_IN) {
26864
ZERO_STRUCT(r->out);
26866
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26867
NDR_PULL_ALLOC(ndr, r->in.handle);
26869
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26870
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
26871
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26872
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
26873
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.color));
26874
NDR_CHECK(ndr_pull_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, &r->in.flags));
26875
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reply_type));
26876
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.reply_type));
26877
NDR_CHECK(ndr_pull_spoolss_ReplyPrinterInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
26878
NDR_PULL_ALLOC(ndr, r->out.reply_result);
26879
ZERO_STRUCTP(r->out.reply_result);
26881
if (flags & NDR_OUT) {
26882
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26883
NDR_PULL_ALLOC(ndr, r->out.reply_result);
26885
_mem_save_reply_result_0 = NDR_PULL_GET_MEM_CTX(ndr);
26886
NDR_PULL_SET_MEM_CTX(ndr, r->out.reply_result, LIBNDR_FLAG_REF_ALLOC);
26887
NDR_CHECK(ndr_pull_spoolss_PrinterNotifyFlags(ndr, NDR_SCALARS, r->out.reply_result));
26888
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reply_result_0, LIBNDR_FLAG_REF_ALLOC);
26889
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26891
return NDR_ERR_SUCCESS;
26894
_PUBLIC_ void ndr_print_spoolss_RouterReplyPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterReplyPrinterEx *r)
26896
ndr_print_struct(ndr, name, "spoolss_RouterReplyPrinterEx");
26898
if (flags & NDR_SET_VALUES) {
26899
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26901
if (flags & NDR_IN) {
26902
ndr_print_struct(ndr, "in", "spoolss_RouterReplyPrinterEx");
26904
ndr_print_ptr(ndr, "handle", r->in.handle);
26906
ndr_print_policy_handle(ndr, "handle", r->in.handle);
26908
ndr_print_uint32(ndr, "color", r->in.color);
26909
ndr_print_spoolss_PrinterChangeFlags(ndr, "flags", r->in.flags);
26910
ndr_print_uint32(ndr, "reply_type", r->in.reply_type);
26911
ndr_print_set_switch_value(ndr, &r->in.info, r->in.reply_type);
26912
ndr_print_spoolss_ReplyPrinterInfo(ndr, "info", &r->in.info);
26915
if (flags & NDR_OUT) {
26916
ndr_print_struct(ndr, "out", "spoolss_RouterReplyPrinterEx");
26918
ndr_print_ptr(ndr, "reply_result", r->out.reply_result);
26920
ndr_print_spoolss_PrinterNotifyFlags(ndr, "reply_result", *r->out.reply_result);
26922
ndr_print_WERROR(ndr, "result", r->out.result);
26928
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_RouterRefreshPrinterChangeNotify(struct ndr_push *ndr, int flags, const struct spoolss_RouterRefreshPrinterChangeNotify *r)
26930
if (flags & NDR_IN) {
26931
if (r->in.handle == NULL) {
26932
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26934
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26935
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.change_low));
26936
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.options));
26937
if (r->in.options) {
26938
NDR_CHECK(ndr_push_spoolss_NotifyOption(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.options));
26941
if (flags & NDR_OUT) {
26942
if (r->out.info == NULL) {
26943
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26945
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
26946
if (*r->out.info) {
26947
NDR_CHECK(ndr_push_spoolss_NotifyInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
26949
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26951
return NDR_ERR_SUCCESS;
26954
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_RouterRefreshPrinterChangeNotify(struct ndr_pull *ndr, int flags, struct spoolss_RouterRefreshPrinterChangeNotify *r)
26956
uint32_t _ptr_options;
26957
uint32_t _ptr_info;
26958
TALLOC_CTX *_mem_save_handle_0;
26959
TALLOC_CTX *_mem_save_options_0;
26960
TALLOC_CTX *_mem_save_info_0;
26961
TALLOC_CTX *_mem_save_info_1;
26962
if (flags & NDR_IN) {
26963
ZERO_STRUCT(r->out);
26965
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26966
NDR_PULL_ALLOC(ndr, r->in.handle);
26968
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26969
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
26970
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26971
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
26972
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_low));
26973
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_options));
26974
if (_ptr_options) {
26975
NDR_PULL_ALLOC(ndr, r->in.options);
26977
r->in.options = NULL;
26979
if (r->in.options) {
26980
_mem_save_options_0 = NDR_PULL_GET_MEM_CTX(ndr);
26981
NDR_PULL_SET_MEM_CTX(ndr, r->in.options, 0);
26982
NDR_CHECK(ndr_pull_spoolss_NotifyOption(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.options));
26983
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_options_0, 0);
26985
NDR_PULL_ALLOC(ndr, r->out.info);
26986
ZERO_STRUCTP(r->out.info);
26988
if (flags & NDR_OUT) {
26989
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26990
NDR_PULL_ALLOC(ndr, r->out.info);
26992
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
26993
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
26994
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
26996
NDR_PULL_ALLOC(ndr, *r->out.info);
26998
*r->out.info = NULL;
27000
if (*r->out.info) {
27001
_mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
27002
NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
27003
NDR_CHECK(ndr_pull_spoolss_NotifyInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
27004
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
27006
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
27007
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27009
return NDR_ERR_SUCCESS;
27012
_PUBLIC_ void ndr_print_spoolss_RouterRefreshPrinterChangeNotify(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterRefreshPrinterChangeNotify *r)
27014
ndr_print_struct(ndr, name, "spoolss_RouterRefreshPrinterChangeNotify");
27016
if (flags & NDR_SET_VALUES) {
27017
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27019
if (flags & NDR_IN) {
27020
ndr_print_struct(ndr, "in", "spoolss_RouterRefreshPrinterChangeNotify");
27022
ndr_print_ptr(ndr, "handle", r->in.handle);
27024
ndr_print_policy_handle(ndr, "handle", r->in.handle);
27026
ndr_print_uint32(ndr, "change_low", r->in.change_low);
27027
ndr_print_ptr(ndr, "options", r->in.options);
27029
if (r->in.options) {
27030
ndr_print_spoolss_NotifyOption(ndr, "options", r->in.options);
27035
if (flags & NDR_OUT) {
27036
ndr_print_struct(ndr, "out", "spoolss_RouterRefreshPrinterChangeNotify");
27038
ndr_print_ptr(ndr, "info", r->out.info);
27040
ndr_print_ptr(ndr, "info", *r->out.info);
27042
if (*r->out.info) {
27043
ndr_print_spoolss_NotifyInfo(ndr, "info", *r->out.info);
27047
ndr_print_WERROR(ndr, "result", r->out.result);
27053
static enum ndr_err_code ndr_push_spoolss_44(struct ndr_push *ndr, int flags, const struct spoolss_44 *r)
27055
if (flags & NDR_IN) {
27057
if (flags & NDR_OUT) {
27058
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27060
return NDR_ERR_SUCCESS;
27063
static enum ndr_err_code ndr_pull_spoolss_44(struct ndr_pull *ndr, int flags, struct spoolss_44 *r)
27065
if (flags & NDR_IN) {
27067
if (flags & NDR_OUT) {
27068
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27070
return NDR_ERR_SUCCESS;
27073
_PUBLIC_ void ndr_print_spoolss_44(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_44 *r)
27075
ndr_print_struct(ndr, name, "spoolss_44");
27077
if (flags & NDR_SET_VALUES) {
27078
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27080
if (flags & NDR_IN) {
27081
ndr_print_struct(ndr, "in", "spoolss_44");
27085
if (flags & NDR_OUT) {
27086
ndr_print_struct(ndr, "out", "spoolss_44");
27088
ndr_print_WERROR(ndr, "result", r->out.result);
27094
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_OpenPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_OpenPrinterEx *r)
27096
if (flags & NDR_IN) {
27097
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.printername));
27098
if (r->in.printername) {
27099
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
27100
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27101
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
27102
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.printername, ndr_charset_length(r->in.printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
27104
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.datatype));
27105
if (r->in.datatype) {
27106
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16)));
27107
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27108
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16)));
27109
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.datatype, ndr_charset_length(r->in.datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
27111
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
27112
NDR_CHECK(ndr_push_spoolss_AccessRights(ndr, NDR_SCALARS, r->in.access_mask));
27113
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
27114
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.userlevel, r->in.level));
27115
NDR_CHECK(ndr_push_spoolss_UserLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.userlevel));
27117
if (flags & NDR_OUT) {
27118
if (r->out.handle == NULL) {
27119
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27121
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
27122
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27124
return NDR_ERR_SUCCESS;
27127
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OpenPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_OpenPrinterEx *r)
27129
uint32_t _ptr_printername;
27130
uint32_t _ptr_datatype;
27131
TALLOC_CTX *_mem_save_printername_0;
27132
TALLOC_CTX *_mem_save_datatype_0;
27133
TALLOC_CTX *_mem_save_handle_0;
27134
if (flags & NDR_IN) {
27135
ZERO_STRUCT(r->out);
27137
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
27138
if (_ptr_printername) {
27139
NDR_PULL_ALLOC(ndr, r->in.printername);
27141
r->in.printername = NULL;
27143
if (r->in.printername) {
27144
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
27145
NDR_PULL_SET_MEM_CTX(ndr, r->in.printername, 0);
27146
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.printername));
27147
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.printername));
27148
if (ndr_get_array_length(ndr, &r->in.printername) > ndr_get_array_size(ndr, &r->in.printername)) {
27149
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.printername), ndr_get_array_length(ndr, &r->in.printername));
27151
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t)));
27152
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.printername, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t), CH_UTF16));
27153
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
27155
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
27156
if (_ptr_datatype) {
27157
NDR_PULL_ALLOC(ndr, r->in.datatype);
27159
r->in.datatype = NULL;
27161
if (r->in.datatype) {
27162
_mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
27163
NDR_PULL_SET_MEM_CTX(ndr, r->in.datatype, 0);
27164
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.datatype));
27165
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.datatype));
27166
if (ndr_get_array_length(ndr, &r->in.datatype) > ndr_get_array_size(ndr, &r->in.datatype)) {
27167
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.datatype), ndr_get_array_length(ndr, &r->in.datatype));
27169
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t)));
27170
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.datatype, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t), CH_UTF16));
27171
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
27173
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
27174
NDR_CHECK(ndr_pull_spoolss_AccessRights(ndr, NDR_SCALARS, &r->in.access_mask));
27175
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
27176
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.userlevel, r->in.level));
27177
NDR_CHECK(ndr_pull_spoolss_UserLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.userlevel));
27178
NDR_PULL_ALLOC(ndr, r->out.handle);
27179
ZERO_STRUCTP(r->out.handle);
27181
if (flags & NDR_OUT) {
27182
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27183
NDR_PULL_ALLOC(ndr, r->out.handle);
27185
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27186
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
27187
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
27188
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27189
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27191
return NDR_ERR_SUCCESS;
27194
_PUBLIC_ void ndr_print_spoolss_OpenPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_OpenPrinterEx *r)
27196
ndr_print_struct(ndr, name, "spoolss_OpenPrinterEx");
27198
if (flags & NDR_SET_VALUES) {
27199
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27201
if (flags & NDR_IN) {
27202
ndr_print_struct(ndr, "in", "spoolss_OpenPrinterEx");
27204
ndr_print_ptr(ndr, "printername", r->in.printername);
27206
if (r->in.printername) {
27207
ndr_print_string(ndr, "printername", r->in.printername);
27210
ndr_print_ptr(ndr, "datatype", r->in.datatype);
27212
if (r->in.datatype) {
27213
ndr_print_string(ndr, "datatype", r->in.datatype);
27216
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", &r->in.devmode_ctr);
27217
ndr_print_spoolss_AccessRights(ndr, "access_mask", r->in.access_mask);
27218
ndr_print_uint32(ndr, "level", r->in.level);
27219
ndr_print_set_switch_value(ndr, &r->in.userlevel, r->in.level);
27220
ndr_print_spoolss_UserLevel(ndr, "userlevel", &r->in.userlevel);
27223
if (flags & NDR_OUT) {
27224
ndr_print_struct(ndr, "out", "spoolss_OpenPrinterEx");
27226
ndr_print_ptr(ndr, "handle", r->out.handle);
27228
ndr_print_policy_handle(ndr, "handle", r->out.handle);
27230
ndr_print_WERROR(ndr, "result", r->out.result);
27236
static enum ndr_err_code ndr_push_spoolss_AddPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterEx *r)
27238
if (flags & NDR_IN) {
27239
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
27240
if (r->in.server) {
27241
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
27242
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27243
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
27244
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
27246
if (r->in.info_ctr == NULL) {
27247
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27249
NDR_CHECK(ndr_push_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
27250
if (r->in.devmode_ctr == NULL) {
27251
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27253
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
27254
if (r->in.secdesc_ctr == NULL) {
27255
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27257
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr));
27258
if (r->in.userlevel_ctr == NULL) {
27259
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27261
NDR_CHECK(ndr_push_spoolss_UserLevelCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.userlevel_ctr));
27263
if (flags & NDR_OUT) {
27264
if (r->out.handle == NULL) {
27265
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27267
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
27268
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27270
return NDR_ERR_SUCCESS;
27273
static enum ndr_err_code ndr_pull_spoolss_AddPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterEx *r)
27275
uint32_t _ptr_server;
27276
TALLOC_CTX *_mem_save_server_0;
27277
TALLOC_CTX *_mem_save_info_ctr_0;
27278
TALLOC_CTX *_mem_save_devmode_ctr_0;
27279
TALLOC_CTX *_mem_save_secdesc_ctr_0;
27280
TALLOC_CTX *_mem_save_userlevel_ctr_0;
27281
TALLOC_CTX *_mem_save_handle_0;
27282
if (flags & NDR_IN) {
27283
ZERO_STRUCT(r->out);
27285
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
27287
NDR_PULL_ALLOC(ndr, r->in.server);
27289
r->in.server = NULL;
27291
if (r->in.server) {
27292
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
27293
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
27294
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
27295
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
27296
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
27297
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server));
27299
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
27300
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
27301
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
27303
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27304
NDR_PULL_ALLOC(ndr, r->in.info_ctr);
27306
_mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
27307
NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC);
27308
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
27309
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
27310
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27311
NDR_PULL_ALLOC(ndr, r->in.devmode_ctr);
27313
_mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
27314
NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC);
27315
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
27316
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC);
27317
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27318
NDR_PULL_ALLOC(ndr, r->in.secdesc_ctr);
27320
_mem_save_secdesc_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
27321
NDR_PULL_SET_MEM_CTX(ndr, r->in.secdesc_ctr, LIBNDR_FLAG_REF_ALLOC);
27322
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr));
27323
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_ctr_0, LIBNDR_FLAG_REF_ALLOC);
27324
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27325
NDR_PULL_ALLOC(ndr, r->in.userlevel_ctr);
27327
_mem_save_userlevel_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
27328
NDR_PULL_SET_MEM_CTX(ndr, r->in.userlevel_ctr, LIBNDR_FLAG_REF_ALLOC);
27329
NDR_CHECK(ndr_pull_spoolss_UserLevelCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.userlevel_ctr));
27330
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_userlevel_ctr_0, LIBNDR_FLAG_REF_ALLOC);
27331
NDR_PULL_ALLOC(ndr, r->out.handle);
27332
ZERO_STRUCTP(r->out.handle);
27334
if (flags & NDR_OUT) {
27335
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27336
NDR_PULL_ALLOC(ndr, r->out.handle);
27338
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27339
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
27340
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
27341
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27342
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27344
return NDR_ERR_SUCCESS;
27347
_PUBLIC_ void ndr_print_spoolss_AddPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterEx *r)
27349
ndr_print_struct(ndr, name, "spoolss_AddPrinterEx");
27351
if (flags & NDR_SET_VALUES) {
27352
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27354
if (flags & NDR_IN) {
27355
ndr_print_struct(ndr, "in", "spoolss_AddPrinterEx");
27357
ndr_print_ptr(ndr, "server", r->in.server);
27359
if (r->in.server) {
27360
ndr_print_string(ndr, "server", r->in.server);
27363
ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr);
27365
ndr_print_spoolss_SetPrinterInfoCtr(ndr, "info_ctr", r->in.info_ctr);
27367
ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr);
27369
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr);
27371
ndr_print_ptr(ndr, "secdesc_ctr", r->in.secdesc_ctr);
27373
ndr_print_sec_desc_buf(ndr, "secdesc_ctr", r->in.secdesc_ctr);
27375
ndr_print_ptr(ndr, "userlevel_ctr", r->in.userlevel_ctr);
27377
ndr_print_spoolss_UserLevelCtr(ndr, "userlevel_ctr", r->in.userlevel_ctr);
27381
if (flags & NDR_OUT) {
27382
ndr_print_struct(ndr, "out", "spoolss_AddPrinterEx");
27384
ndr_print_ptr(ndr, "handle", r->out.handle);
27386
ndr_print_policy_handle(ndr, "handle", r->out.handle);
27388
ndr_print_WERROR(ndr, "result", r->out.result);
27394
static enum ndr_err_code ndr_push_spoolss_47(struct ndr_push *ndr, int flags, const struct spoolss_47 *r)
27396
if (flags & NDR_IN) {
27398
if (flags & NDR_OUT) {
27399
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27401
return NDR_ERR_SUCCESS;
27404
static enum ndr_err_code ndr_pull_spoolss_47(struct ndr_pull *ndr, int flags, struct spoolss_47 *r)
27406
if (flags & NDR_IN) {
27408
if (flags & NDR_OUT) {
27409
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27411
return NDR_ERR_SUCCESS;
27414
_PUBLIC_ void ndr_print_spoolss_47(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_47 *r)
27416
ndr_print_struct(ndr, name, "spoolss_47");
27418
if (flags & NDR_SET_VALUES) {
27419
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27421
if (flags & NDR_IN) {
27422
ndr_print_struct(ndr, "in", "spoolss_47");
27426
if (flags & NDR_OUT) {
27427
ndr_print_struct(ndr, "out", "spoolss_47");
27429
ndr_print_WERROR(ndr, "result", r->out.result);
27435
static enum ndr_err_code ndr_push_spoolss_EnumPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrinterData *r)
27437
if (flags & NDR_IN) {
27438
if (r->in.handle == NULL) {
27439
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27441
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27442
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.enum_index));
27443
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.value_offered));
27444
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.data_offered));
27446
if (flags & NDR_OUT) {
27447
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.value_offered / 2));
27448
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->out.value_name, r->in.value_offered / 2, sizeof(uint16_t), CH_UTF16));
27449
if (r->out.value_needed == NULL) {
27450
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27452
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.value_needed));
27453
if (r->out.type == NULL) {
27454
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27456
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type));
27458
uint32_t _flags_save_uint8 = ndr->flags;
27459
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
27460
if (r->out.data == NULL) {
27461
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27463
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.data_offered));
27464
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.data_offered));
27465
ndr->flags = _flags_save_uint8;
27467
if (r->out.data_needed == NULL) {
27468
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27470
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.data_needed));
27471
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27473
return NDR_ERR_SUCCESS;
27476
static enum ndr_err_code ndr_pull_spoolss_EnumPrinterData(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinterData *r)
27478
TALLOC_CTX *_mem_save_handle_0;
27479
TALLOC_CTX *_mem_save_value_needed_0;
27480
TALLOC_CTX *_mem_save_type_0;
27481
TALLOC_CTX *_mem_save_data_needed_0;
27482
if (flags & NDR_IN) {
27483
ZERO_STRUCT(r->out);
27485
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27486
NDR_PULL_ALLOC(ndr, r->in.handle);
27488
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27489
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
27490
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27491
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27492
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.enum_index));
27493
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.value_offered));
27494
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.data_offered));
27495
NDR_PULL_ALLOC(ndr, r->out.value_needed);
27496
ZERO_STRUCTP(r->out.value_needed);
27497
NDR_PULL_ALLOC(ndr, r->out.type);
27498
ZERO_STRUCTP(r->out.type);
27499
NDR_PULL_ALLOC_N(ndr, r->out.data, r->in.data_offered);
27500
memset(r->out.data, 0, (r->in.data_offered) * sizeof(*r->out.data));
27501
NDR_PULL_ALLOC(ndr, r->out.data_needed);
27502
ZERO_STRUCTP(r->out.data_needed);
27504
if (flags & NDR_OUT) {
27505
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.value_name));
27506
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->out.value_name, ndr_get_array_size(ndr, &r->out.value_name), sizeof(uint16_t), CH_UTF16));
27507
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27508
NDR_PULL_ALLOC(ndr, r->out.value_needed);
27510
_mem_save_value_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
27511
NDR_PULL_SET_MEM_CTX(ndr, r->out.value_needed, LIBNDR_FLAG_REF_ALLOC);
27512
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.value_needed));
27513
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_needed_0, LIBNDR_FLAG_REF_ALLOC);
27514
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27515
NDR_PULL_ALLOC(ndr, r->out.type);
27517
_mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
27518
NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC);
27519
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type));
27520
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC);
27522
uint32_t _flags_save_uint8 = ndr->flags;
27523
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
27524
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data));
27525
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27526
NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data));
27528
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data)));
27529
ndr->flags = _flags_save_uint8;
27531
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27532
NDR_PULL_ALLOC(ndr, r->out.data_needed);
27534
_mem_save_data_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
27535
NDR_PULL_SET_MEM_CTX(ndr, r->out.data_needed, LIBNDR_FLAG_REF_ALLOC);
27536
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.data_needed));
27537
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_needed_0, LIBNDR_FLAG_REF_ALLOC);
27538
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27539
if (r->out.value_name) {
27540
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.value_name, r->in.value_offered / 2));
27543
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.data_offered));
27546
return NDR_ERR_SUCCESS;
27549
_PUBLIC_ void ndr_print_spoolss_EnumPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterData *r)
27551
ndr_print_struct(ndr, name, "spoolss_EnumPrinterData");
27553
if (flags & NDR_SET_VALUES) {
27554
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27556
if (flags & NDR_IN) {
27557
ndr_print_struct(ndr, "in", "spoolss_EnumPrinterData");
27559
ndr_print_ptr(ndr, "handle", r->in.handle);
27561
ndr_print_policy_handle(ndr, "handle", r->in.handle);
27563
ndr_print_uint32(ndr, "enum_index", r->in.enum_index);
27564
ndr_print_uint32(ndr, "value_offered", r->in.value_offered);
27565
ndr_print_uint32(ndr, "data_offered", r->in.data_offered);
27568
if (flags & NDR_OUT) {
27569
ndr_print_struct(ndr, "out", "spoolss_EnumPrinterData");
27571
ndr_print_string(ndr, "value_name", r->out.value_name);
27572
ndr_print_ptr(ndr, "value_needed", r->out.value_needed);
27574
ndr_print_uint32(ndr, "value_needed", *r->out.value_needed);
27576
ndr_print_ptr(ndr, "type", r->out.type);
27578
ndr_print_winreg_Type(ndr, "type", *r->out.type);
27580
ndr_print_ptr(ndr, "data", r->out.data);
27582
ndr_print_array_uint8(ndr, "data", r->out.data, r->in.data_offered);
27584
ndr_print_ptr(ndr, "data_needed", r->out.data_needed);
27586
ndr_print_uint32(ndr, "data_needed", *r->out.data_needed);
27588
ndr_print_WERROR(ndr, "result", r->out.result);
27594
static enum ndr_err_code ndr_push_spoolss_DeletePrinterData(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterData *r)
27596
if (flags & NDR_IN) {
27597
if (r->in.handle == NULL) {
27598
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27600
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27601
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
27602
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27603
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
27604
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.value_name, ndr_charset_length(r->in.value_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
27606
if (flags & NDR_OUT) {
27607
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27609
return NDR_ERR_SUCCESS;
27612
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterData(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterData *r)
27614
TALLOC_CTX *_mem_save_handle_0;
27615
if (flags & NDR_IN) {
27616
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27617
NDR_PULL_ALLOC(ndr, r->in.handle);
27619
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27620
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
27621
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27622
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27623
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
27624
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
27625
if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
27626
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.value_name), ndr_get_array_length(ndr, &r->in.value_name));
27628
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
27629
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.value_name, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t), CH_UTF16));
27631
if (flags & NDR_OUT) {
27632
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27634
return NDR_ERR_SUCCESS;
27637
_PUBLIC_ void ndr_print_spoolss_DeletePrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterData *r)
27639
ndr_print_struct(ndr, name, "spoolss_DeletePrinterData");
27641
if (flags & NDR_SET_VALUES) {
27642
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27644
if (flags & NDR_IN) {
27645
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterData");
27647
ndr_print_ptr(ndr, "handle", r->in.handle);
27649
ndr_print_policy_handle(ndr, "handle", r->in.handle);
27651
ndr_print_string(ndr, "value_name", r->in.value_name);
27654
if (flags & NDR_OUT) {
27655
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterData");
27657
ndr_print_WERROR(ndr, "result", r->out.result);
27663
static enum ndr_err_code ndr_push_spoolss_4a(struct ndr_push *ndr, int flags, const struct spoolss_4a *r)
27665
if (flags & NDR_IN) {
27667
if (flags & NDR_OUT) {
27668
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27670
return NDR_ERR_SUCCESS;
27673
static enum ndr_err_code ndr_pull_spoolss_4a(struct ndr_pull *ndr, int flags, struct spoolss_4a *r)
27675
if (flags & NDR_IN) {
27677
if (flags & NDR_OUT) {
27678
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27680
return NDR_ERR_SUCCESS;
27683
_PUBLIC_ void ndr_print_spoolss_4a(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4a *r)
27685
ndr_print_struct(ndr, name, "spoolss_4a");
27687
if (flags & NDR_SET_VALUES) {
27688
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27690
if (flags & NDR_IN) {
27691
ndr_print_struct(ndr, "in", "spoolss_4a");
27695
if (flags & NDR_OUT) {
27696
ndr_print_struct(ndr, "out", "spoolss_4a");
27698
ndr_print_WERROR(ndr, "result", r->out.result);
27704
static enum ndr_err_code ndr_push_spoolss_4b(struct ndr_push *ndr, int flags, const struct spoolss_4b *r)
27706
if (flags & NDR_IN) {
27708
if (flags & NDR_OUT) {
27709
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27711
return NDR_ERR_SUCCESS;
27714
static enum ndr_err_code ndr_pull_spoolss_4b(struct ndr_pull *ndr, int flags, struct spoolss_4b *r)
27716
if (flags & NDR_IN) {
27718
if (flags & NDR_OUT) {
27719
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27721
return NDR_ERR_SUCCESS;
27724
_PUBLIC_ void ndr_print_spoolss_4b(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4b *r)
27726
ndr_print_struct(ndr, name, "spoolss_4b");
27728
if (flags & NDR_SET_VALUES) {
27729
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27731
if (flags & NDR_IN) {
27732
ndr_print_struct(ndr, "in", "spoolss_4b");
27736
if (flags & NDR_OUT) {
27737
ndr_print_struct(ndr, "out", "spoolss_4b");
27739
ndr_print_WERROR(ndr, "result", r->out.result);
27745
static enum ndr_err_code ndr_push_spoolss_4c(struct ndr_push *ndr, int flags, const struct spoolss_4c *r)
27747
if (flags & NDR_IN) {
27749
if (flags & NDR_OUT) {
27750
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27752
return NDR_ERR_SUCCESS;
27755
static enum ndr_err_code ndr_pull_spoolss_4c(struct ndr_pull *ndr, int flags, struct spoolss_4c *r)
27757
if (flags & NDR_IN) {
27759
if (flags & NDR_OUT) {
27760
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27762
return NDR_ERR_SUCCESS;
27765
_PUBLIC_ void ndr_print_spoolss_4c(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4c *r)
27767
ndr_print_struct(ndr, name, "spoolss_4c");
27769
if (flags & NDR_SET_VALUES) {
27770
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27772
if (flags & NDR_IN) {
27773
ndr_print_struct(ndr, "in", "spoolss_4c");
27777
if (flags & NDR_OUT) {
27778
ndr_print_struct(ndr, "out", "spoolss_4c");
27780
ndr_print_WERROR(ndr, "result", r->out.result);
27786
static enum ndr_err_code ndr_push_spoolss_SetPrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinterDataEx *r)
27788
if (flags & NDR_IN) {
27789
if (r->in.handle == NULL) {
27790
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27792
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27793
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
27794
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27795
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
27796
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.key_name, ndr_charset_length(r->in.key_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
27797
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
27798
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27799
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
27800
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.value_name, ndr_charset_length(r->in.value_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
27801
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type));
27802
if (r->in.data == NULL) {
27803
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27805
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
27806
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.offered));
27807
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
27809
if (flags & NDR_OUT) {
27810
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27812
return NDR_ERR_SUCCESS;
27815
static enum ndr_err_code ndr_pull_spoolss_SetPrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_SetPrinterDataEx *r)
27817
TALLOC_CTX *_mem_save_handle_0;
27818
if (flags & NDR_IN) {
27819
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27820
NDR_PULL_ALLOC(ndr, r->in.handle);
27822
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27823
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
27824
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27825
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27826
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
27827
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
27828
if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
27829
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.key_name), ndr_get_array_length(ndr, &r->in.key_name));
27831
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
27832
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.key_name, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t), CH_UTF16));
27833
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
27834
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
27835
if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
27836
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.value_name), ndr_get_array_length(ndr, &r->in.value_name));
27838
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
27839
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.value_name, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t), CH_UTF16));
27840
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type));
27841
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data));
27842
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27843
NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data));
27845
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_size(ndr, &r->in.data)));
27846
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
27848
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.offered));
27851
if (flags & NDR_OUT) {
27852
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27854
return NDR_ERR_SUCCESS;
27857
_PUBLIC_ void ndr_print_spoolss_SetPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinterDataEx *r)
27859
ndr_print_struct(ndr, name, "spoolss_SetPrinterDataEx");
27861
if (flags & NDR_SET_VALUES) {
27862
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27864
if (flags & NDR_IN) {
27865
ndr_print_struct(ndr, "in", "spoolss_SetPrinterDataEx");
27867
ndr_print_ptr(ndr, "handle", r->in.handle);
27869
ndr_print_policy_handle(ndr, "handle", r->in.handle);
27871
ndr_print_string(ndr, "key_name", r->in.key_name);
27872
ndr_print_string(ndr, "value_name", r->in.value_name);
27873
ndr_print_winreg_Type(ndr, "type", r->in.type);
27874
ndr_print_ptr(ndr, "data", r->in.data);
27876
ndr_print_array_uint8(ndr, "data", r->in.data, r->in.offered);
27878
ndr_print_uint32(ndr, "offered", r->in.offered);
27881
if (flags & NDR_OUT) {
27882
ndr_print_struct(ndr, "out", "spoolss_SetPrinterDataEx");
27884
ndr_print_WERROR(ndr, "result", r->out.result);
27890
static enum ndr_err_code ndr_push_spoolss_GetPrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDataEx *r)
27892
if (flags & NDR_IN) {
27893
if (r->in.handle == NULL) {
27894
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27896
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27897
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
27898
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27899
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
27900
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.key_name, ndr_charset_length(r->in.key_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
27901
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
27902
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27903
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
27904
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.value_name, ndr_charset_length(r->in.value_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
27905
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
27907
if (flags & NDR_OUT) {
27908
if (r->out.type == NULL) {
27909
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27911
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type));
27912
if (r->out.data == NULL) {
27913
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27915
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
27916
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.offered));
27917
if (r->out.needed == NULL) {
27918
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27920
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
27921
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27923
return NDR_ERR_SUCCESS;
27926
static enum ndr_err_code ndr_pull_spoolss_GetPrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDataEx *r)
27928
TALLOC_CTX *_mem_save_handle_0;
27929
TALLOC_CTX *_mem_save_type_0;
27930
TALLOC_CTX *_mem_save_needed_0;
27931
if (flags & NDR_IN) {
27932
ZERO_STRUCT(r->out);
27934
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27935
NDR_PULL_ALLOC(ndr, r->in.handle);
27937
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27938
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
27939
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27940
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27941
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
27942
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
27943
if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
27944
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.key_name), ndr_get_array_length(ndr, &r->in.key_name));
27946
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
27947
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.key_name, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t), CH_UTF16));
27948
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
27949
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
27950
if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
27951
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.value_name), ndr_get_array_length(ndr, &r->in.value_name));
27953
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
27954
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.value_name, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t), CH_UTF16));
27955
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
27956
NDR_PULL_ALLOC(ndr, r->out.type);
27957
ZERO_STRUCTP(r->out.type);
27958
NDR_PULL_ALLOC_N(ndr, r->out.data, r->in.offered);
27959
memset(r->out.data, 0, (r->in.offered) * sizeof(*r->out.data));
27960
NDR_PULL_ALLOC(ndr, r->out.needed);
27961
ZERO_STRUCTP(r->out.needed);
27963
if (flags & NDR_OUT) {
27964
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27965
NDR_PULL_ALLOC(ndr, r->out.type);
27967
_mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
27968
NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC);
27969
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type));
27970
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC);
27971
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data));
27972
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27973
NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data));
27975
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data)));
27976
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27977
NDR_PULL_ALLOC(ndr, r->out.needed);
27979
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
27980
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
27981
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
27982
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
27983
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27985
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.offered));
27988
return NDR_ERR_SUCCESS;
27991
_PUBLIC_ void ndr_print_spoolss_GetPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDataEx *r)
27993
ndr_print_struct(ndr, name, "spoolss_GetPrinterDataEx");
27995
if (flags & NDR_SET_VALUES) {
27996
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27998
if (flags & NDR_IN) {
27999
ndr_print_struct(ndr, "in", "spoolss_GetPrinterDataEx");
28001
ndr_print_ptr(ndr, "handle", r->in.handle);
28003
ndr_print_policy_handle(ndr, "handle", r->in.handle);
28005
ndr_print_string(ndr, "key_name", r->in.key_name);
28006
ndr_print_string(ndr, "value_name", r->in.value_name);
28007
ndr_print_uint32(ndr, "offered", r->in.offered);
28010
if (flags & NDR_OUT) {
28011
ndr_print_struct(ndr, "out", "spoolss_GetPrinterDataEx");
28013
ndr_print_ptr(ndr, "type", r->out.type);
28015
ndr_print_winreg_Type(ndr, "type", *r->out.type);
28017
ndr_print_ptr(ndr, "data", r->out.data);
28019
ndr_print_array_uint8(ndr, "data", r->out.data, r->in.offered);
28021
ndr_print_ptr(ndr, "needed", r->out.needed);
28023
ndr_print_uint32(ndr, "needed", *r->out.needed);
28025
ndr_print_WERROR(ndr, "result", r->out.result);
28031
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrinterDataEx(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrinterDataEx *r)
28033
if (flags & NDR_IN) {
28034
if (r->in.handle == NULL) {
28035
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28037
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28038
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
28039
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28040
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
28041
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.key_name, ndr_charset_length(r->in.key_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28042
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
28044
if (flags & NDR_OUT) {
28045
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
28046
if (r->out.needed == NULL) {
28047
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28049
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
28050
if (r->out.count == NULL) {
28051
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28053
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
28054
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28056
return NDR_ERR_SUCCESS;
28059
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrinterDataEx(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrinterDataEx *r)
28061
TALLOC_CTX *_mem_save_handle_0;
28062
TALLOC_CTX *_mem_save_needed_0;
28063
TALLOC_CTX *_mem_save_count_0;
28064
if (flags & NDR_IN) {
28065
ZERO_STRUCT(r->out);
28067
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28068
NDR_PULL_ALLOC(ndr, r->in.handle);
28070
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
28071
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
28072
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28073
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
28074
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
28075
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
28076
if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
28077
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.key_name), ndr_get_array_length(ndr, &r->in.key_name));
28079
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
28080
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.key_name, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t), CH_UTF16));
28081
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
28082
NDR_PULL_ALLOC(ndr, r->out.needed);
28083
ZERO_STRUCTP(r->out.needed);
28084
NDR_PULL_ALLOC(ndr, r->out.count);
28085
ZERO_STRUCTP(r->out.count);
28087
if (flags & NDR_OUT) {
28088
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->out.info));
28089
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28090
NDR_PULL_ALLOC(ndr, r->out.needed);
28092
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
28093
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
28094
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
28095
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
28096
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28097
NDR_PULL_ALLOC(ndr, r->out.count);
28099
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
28100
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
28101
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
28102
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
28103
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28105
return NDR_ERR_SUCCESS;
28108
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrinterDataEx(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrinterDataEx *r)
28110
uint32_t cntr_info_0;
28111
if (flags & NDR_IN) {
28112
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
28114
if (flags & NDR_OUT) {
28115
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
28116
NDR_CHECK(ndr_push_spoolss_PrinterEnumValues(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
28118
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
28119
NDR_CHECK(ndr_push_spoolss_PrinterEnumValues(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
28122
return NDR_ERR_SUCCESS;
28125
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrinterDataEx(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrinterDataEx *r)
28127
uint32_t cntr_info_0;
28128
TALLOC_CTX *_mem_save_info_0;
28129
if (flags & NDR_IN) {
28130
ZERO_STRUCT(r->out);
28132
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
28134
if (flags & NDR_OUT) {
28135
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
28136
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
28137
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
28138
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
28139
NDR_CHECK(ndr_pull_spoolss_PrinterEnumValues(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
28141
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
28142
NDR_CHECK(ndr_pull_spoolss_PrinterEnumValues(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
28144
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
28146
return NDR_ERR_SUCCESS;
28149
_PUBLIC_ void ndr_print_spoolss_EnumPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterDataEx *r)
28151
uint32_t cntr_info_2;
28152
ndr_print_struct(ndr, name, "spoolss_EnumPrinterDataEx");
28154
if (flags & NDR_SET_VALUES) {
28155
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28157
if (flags & NDR_IN) {
28158
ndr_print_struct(ndr, "in", "spoolss_EnumPrinterDataEx");
28160
ndr_print_ptr(ndr, "handle", r->in.handle);
28162
ndr_print_policy_handle(ndr, "handle", r->in.handle);
28164
ndr_print_string(ndr, "key_name", r->in.key_name);
28165
ndr_print_uint32(ndr, "offered", r->in.offered);
28168
if (flags & NDR_OUT) {
28169
ndr_print_struct(ndr, "out", "spoolss_EnumPrinterDataEx");
28171
ndr_print_ptr(ndr, "count", r->out.count);
28173
ndr_print_uint32(ndr, "count", *r->out.count);
28175
ndr_print_ptr(ndr, "info", r->out.info);
28177
ndr_print_ptr(ndr, "info", *r->out.info);
28179
if (*r->out.info) {
28180
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
28182
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
28184
if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) {
28185
ndr_print_spoolss_PrinterEnumValues(ndr, "info", &(*r->out.info)[cntr_info_2]);
28193
ndr_print_ptr(ndr, "needed", r->out.needed);
28195
ndr_print_uint32(ndr, "needed", *r->out.needed);
28197
ndr_print_WERROR(ndr, "result", r->out.result);
28203
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_EnumPrinterKey(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrinterKey *r)
28205
if (flags & NDR_IN) {
28206
if (r->in.handle == NULL) {
28207
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28209
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28210
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
28211
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28212
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
28213
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.key_name, ndr_charset_length(r->in.key_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28214
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
28216
if (flags & NDR_OUT) {
28217
if (r->out._ndr_size == NULL) {
28218
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28220
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out._ndr_size));
28221
if (r->out.key_buffer == NULL) {
28222
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28225
struct ndr_push *_ndr_key_buffer;
28226
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_key_buffer, 0, *r->out._ndr_size * 2));
28227
NDR_CHECK(ndr_push_set_switch_value(_ndr_key_buffer, r->out.key_buffer, *r->out._ndr_size));
28228
NDR_CHECK(ndr_push_spoolss_KeyNames(_ndr_key_buffer, NDR_SCALARS|NDR_BUFFERS, r->out.key_buffer));
28229
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_key_buffer, 0, *r->out._ndr_size * 2));
28231
if (r->out.needed == NULL) {
28232
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28234
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
28235
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28237
return NDR_ERR_SUCCESS;
28240
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_EnumPrinterKey(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinterKey *r)
28242
TALLOC_CTX *_mem_save_handle_0;
28243
TALLOC_CTX *_mem_save__ndr_size_0;
28244
TALLOC_CTX *_mem_save_key_buffer_0;
28245
TALLOC_CTX *_mem_save_needed_0;
28246
if (flags & NDR_IN) {
28247
ZERO_STRUCT(r->out);
28249
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28250
NDR_PULL_ALLOC(ndr, r->in.handle);
28252
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
28253
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
28254
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28255
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
28256
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
28257
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
28258
if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
28259
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.key_name), ndr_get_array_length(ndr, &r->in.key_name));
28261
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
28262
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.key_name, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t), CH_UTF16));
28263
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
28264
NDR_PULL_ALLOC(ndr, r->out._ndr_size);
28265
ZERO_STRUCTP(r->out._ndr_size);
28266
NDR_PULL_ALLOC(ndr, r->out.key_buffer);
28267
ZERO_STRUCTP(r->out.key_buffer);
28268
NDR_PULL_ALLOC(ndr, r->out.needed);
28269
ZERO_STRUCTP(r->out.needed);
28271
if (flags & NDR_OUT) {
28272
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28273
NDR_PULL_ALLOC(ndr, r->out._ndr_size);
28275
_mem_save__ndr_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
28276
NDR_PULL_SET_MEM_CTX(ndr, r->out._ndr_size, LIBNDR_FLAG_REF_ALLOC);
28277
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out._ndr_size));
28278
NDR_PULL_SET_MEM_CTX(ndr, _mem_save__ndr_size_0, LIBNDR_FLAG_REF_ALLOC);
28279
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28280
NDR_PULL_ALLOC(ndr, r->out.key_buffer);
28282
_mem_save_key_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
28283
NDR_PULL_SET_MEM_CTX(ndr, r->out.key_buffer, LIBNDR_FLAG_REF_ALLOC);
28285
struct ndr_pull *_ndr_key_buffer;
28286
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_key_buffer, 0, *r->out._ndr_size * 2));
28287
NDR_CHECK(ndr_pull_set_switch_value(_ndr_key_buffer, r->out.key_buffer, *r->out._ndr_size));
28288
NDR_CHECK(ndr_pull_spoolss_KeyNames(_ndr_key_buffer, NDR_SCALARS|NDR_BUFFERS, r->out.key_buffer));
28289
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_key_buffer, 0, *r->out._ndr_size * 2));
28291
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_buffer_0, LIBNDR_FLAG_REF_ALLOC);
28292
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28293
NDR_PULL_ALLOC(ndr, r->out.needed);
28295
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
28296
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
28297
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
28298
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
28299
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28301
return NDR_ERR_SUCCESS;
28304
_PUBLIC_ void ndr_print_spoolss_EnumPrinterKey(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterKey *r)
28306
ndr_print_struct(ndr, name, "spoolss_EnumPrinterKey");
28308
if (flags & NDR_SET_VALUES) {
28309
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28311
if (flags & NDR_IN) {
28312
ndr_print_struct(ndr, "in", "spoolss_EnumPrinterKey");
28314
ndr_print_ptr(ndr, "handle", r->in.handle);
28316
ndr_print_policy_handle(ndr, "handle", r->in.handle);
28318
ndr_print_string(ndr, "key_name", r->in.key_name);
28319
ndr_print_uint32(ndr, "offered", r->in.offered);
28322
if (flags & NDR_OUT) {
28323
ndr_print_struct(ndr, "out", "spoolss_EnumPrinterKey");
28325
ndr_print_ptr(ndr, "_ndr_size", r->out._ndr_size);
28327
ndr_print_uint32(ndr, "_ndr_size", *r->out._ndr_size);
28329
ndr_print_ptr(ndr, "key_buffer", r->out.key_buffer);
28331
ndr_print_set_switch_value(ndr, r->out.key_buffer, *r->out._ndr_size);
28332
ndr_print_spoolss_KeyNames(ndr, "key_buffer", r->out.key_buffer);
28334
ndr_print_ptr(ndr, "needed", r->out.needed);
28336
ndr_print_uint32(ndr, "needed", *r->out.needed);
28338
ndr_print_WERROR(ndr, "result", r->out.result);
28344
static enum ndr_err_code ndr_push_spoolss_DeletePrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterDataEx *r)
28346
if (flags & NDR_IN) {
28347
if (r->in.handle == NULL) {
28348
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28350
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28351
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
28352
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28353
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
28354
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.key_name, ndr_charset_length(r->in.key_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28355
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
28356
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28357
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
28358
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.value_name, ndr_charset_length(r->in.value_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28360
if (flags & NDR_OUT) {
28361
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28363
return NDR_ERR_SUCCESS;
28366
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterDataEx *r)
28368
TALLOC_CTX *_mem_save_handle_0;
28369
if (flags & NDR_IN) {
28370
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28371
NDR_PULL_ALLOC(ndr, r->in.handle);
28373
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
28374
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
28375
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28376
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
28377
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
28378
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
28379
if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
28380
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.key_name), ndr_get_array_length(ndr, &r->in.key_name));
28382
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
28383
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.key_name, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t), CH_UTF16));
28384
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
28385
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
28386
if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
28387
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.value_name), ndr_get_array_length(ndr, &r->in.value_name));
28389
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
28390
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.value_name, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t), CH_UTF16));
28392
if (flags & NDR_OUT) {
28393
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28395
return NDR_ERR_SUCCESS;
28398
_PUBLIC_ void ndr_print_spoolss_DeletePrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterDataEx *r)
28400
ndr_print_struct(ndr, name, "spoolss_DeletePrinterDataEx");
28402
if (flags & NDR_SET_VALUES) {
28403
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28405
if (flags & NDR_IN) {
28406
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterDataEx");
28408
ndr_print_ptr(ndr, "handle", r->in.handle);
28410
ndr_print_policy_handle(ndr, "handle", r->in.handle);
28412
ndr_print_string(ndr, "key_name", r->in.key_name);
28413
ndr_print_string(ndr, "value_name", r->in.value_name);
28416
if (flags & NDR_OUT) {
28417
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterDataEx");
28419
ndr_print_WERROR(ndr, "result", r->out.result);
28425
static enum ndr_err_code ndr_push_spoolss_DeletePrinterKey(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterKey *r)
28427
if (flags & NDR_IN) {
28428
if (r->in.handle == NULL) {
28429
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28431
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28432
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
28433
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28434
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
28435
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.key_name, ndr_charset_length(r->in.key_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28437
if (flags & NDR_OUT) {
28438
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28440
return NDR_ERR_SUCCESS;
28443
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterKey(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterKey *r)
28445
TALLOC_CTX *_mem_save_handle_0;
28446
if (flags & NDR_IN) {
28447
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28448
NDR_PULL_ALLOC(ndr, r->in.handle);
28450
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
28451
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
28452
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28453
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
28454
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
28455
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
28456
if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
28457
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.key_name), ndr_get_array_length(ndr, &r->in.key_name));
28459
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
28460
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.key_name, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t), CH_UTF16));
28462
if (flags & NDR_OUT) {
28463
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28465
return NDR_ERR_SUCCESS;
28468
_PUBLIC_ void ndr_print_spoolss_DeletePrinterKey(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterKey *r)
28470
ndr_print_struct(ndr, name, "spoolss_DeletePrinterKey");
28472
if (flags & NDR_SET_VALUES) {
28473
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28475
if (flags & NDR_IN) {
28476
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterKey");
28478
ndr_print_ptr(ndr, "handle", r->in.handle);
28480
ndr_print_policy_handle(ndr, "handle", r->in.handle);
28482
ndr_print_string(ndr, "key_name", r->in.key_name);
28485
if (flags & NDR_OUT) {
28486
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterKey");
28488
ndr_print_WERROR(ndr, "result", r->out.result);
28494
static enum ndr_err_code ndr_push_spoolss_53(struct ndr_push *ndr, int flags, const struct spoolss_53 *r)
28496
if (flags & NDR_IN) {
28498
if (flags & NDR_OUT) {
28499
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28501
return NDR_ERR_SUCCESS;
28504
static enum ndr_err_code ndr_pull_spoolss_53(struct ndr_pull *ndr, int flags, struct spoolss_53 *r)
28506
if (flags & NDR_IN) {
28508
if (flags & NDR_OUT) {
28509
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28511
return NDR_ERR_SUCCESS;
28514
_PUBLIC_ void ndr_print_spoolss_53(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_53 *r)
28516
ndr_print_struct(ndr, name, "spoolss_53");
28518
if (flags & NDR_SET_VALUES) {
28519
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28521
if (flags & NDR_IN) {
28522
ndr_print_struct(ndr, "in", "spoolss_53");
28526
if (flags & NDR_OUT) {
28527
ndr_print_struct(ndr, "out", "spoolss_53");
28529
ndr_print_WERROR(ndr, "result", r->out.result);
28535
static enum ndr_err_code ndr_push_spoolss_DeletePrinterDriverEx(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterDriverEx *r)
28537
if (flags & NDR_IN) {
28538
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
28539
if (r->in.server) {
28540
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
28541
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28542
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
28543
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28545
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
28546
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28547
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
28548
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28549
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.driver, CH_UTF16)));
28550
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28551
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.driver, CH_UTF16)));
28552
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.driver, ndr_charset_length(r->in.driver, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28553
NDR_CHECK(ndr_push_spoolss_DeleteDriverFlags(ndr, NDR_SCALARS, r->in.delete_flags));
28554
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.version));
28556
if (flags & NDR_OUT) {
28557
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28559
return NDR_ERR_SUCCESS;
28562
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterDriverEx(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterDriverEx *r)
28564
uint32_t _ptr_server;
28565
TALLOC_CTX *_mem_save_server_0;
28566
if (flags & NDR_IN) {
28567
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
28569
NDR_PULL_ALLOC(ndr, r->in.server);
28571
r->in.server = NULL;
28573
if (r->in.server) {
28574
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
28575
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
28576
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
28577
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
28578
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
28579
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server));
28581
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
28582
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
28583
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
28585
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
28586
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
28587
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
28588
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.architecture), ndr_get_array_length(ndr, &r->in.architecture));
28590
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
28591
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
28592
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.driver));
28593
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.driver));
28594
if (ndr_get_array_length(ndr, &r->in.driver) > ndr_get_array_size(ndr, &r->in.driver)) {
28595
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.driver), ndr_get_array_length(ndr, &r->in.driver));
28597
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.driver), sizeof(uint16_t)));
28598
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.driver, ndr_get_array_length(ndr, &r->in.driver), sizeof(uint16_t), CH_UTF16));
28599
NDR_CHECK(ndr_pull_spoolss_DeleteDriverFlags(ndr, NDR_SCALARS, &r->in.delete_flags));
28600
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.version));
28602
if (flags & NDR_OUT) {
28603
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28605
return NDR_ERR_SUCCESS;
28608
_PUBLIC_ void ndr_print_spoolss_DeletePrinterDriverEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterDriverEx *r)
28610
ndr_print_struct(ndr, name, "spoolss_DeletePrinterDriverEx");
28612
if (flags & NDR_SET_VALUES) {
28613
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28615
if (flags & NDR_IN) {
28616
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterDriverEx");
28618
ndr_print_ptr(ndr, "server", r->in.server);
28620
if (r->in.server) {
28621
ndr_print_string(ndr, "server", r->in.server);
28624
ndr_print_string(ndr, "architecture", r->in.architecture);
28625
ndr_print_string(ndr, "driver", r->in.driver);
28626
ndr_print_spoolss_DeleteDriverFlags(ndr, "delete_flags", r->in.delete_flags);
28627
ndr_print_uint32(ndr, "version", r->in.version);
28630
if (flags & NDR_OUT) {
28631
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterDriverEx");
28633
ndr_print_WERROR(ndr, "result", r->out.result);
28639
static enum ndr_err_code ndr_push_spoolss_55(struct ndr_push *ndr, int flags, const struct spoolss_55 *r)
28641
if (flags & NDR_IN) {
28643
if (flags & NDR_OUT) {
28644
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28646
return NDR_ERR_SUCCESS;
28649
static enum ndr_err_code ndr_pull_spoolss_55(struct ndr_pull *ndr, int flags, struct spoolss_55 *r)
28651
if (flags & NDR_IN) {
28653
if (flags & NDR_OUT) {
28654
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28656
return NDR_ERR_SUCCESS;
28659
_PUBLIC_ void ndr_print_spoolss_55(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_55 *r)
28661
ndr_print_struct(ndr, name, "spoolss_55");
28663
if (flags & NDR_SET_VALUES) {
28664
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28666
if (flags & NDR_IN) {
28667
ndr_print_struct(ndr, "in", "spoolss_55");
28671
if (flags & NDR_OUT) {
28672
ndr_print_struct(ndr, "out", "spoolss_55");
28674
ndr_print_WERROR(ndr, "result", r->out.result);
28680
static enum ndr_err_code ndr_push_spoolss_56(struct ndr_push *ndr, int flags, const struct spoolss_56 *r)
28682
if (flags & NDR_IN) {
28684
if (flags & NDR_OUT) {
28685
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28687
return NDR_ERR_SUCCESS;
28690
static enum ndr_err_code ndr_pull_spoolss_56(struct ndr_pull *ndr, int flags, struct spoolss_56 *r)
28692
if (flags & NDR_IN) {
28694
if (flags & NDR_OUT) {
28695
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28697
return NDR_ERR_SUCCESS;
28700
_PUBLIC_ void ndr_print_spoolss_56(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_56 *r)
28702
ndr_print_struct(ndr, name, "spoolss_56");
28704
if (flags & NDR_SET_VALUES) {
28705
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28707
if (flags & NDR_IN) {
28708
ndr_print_struct(ndr, "in", "spoolss_56");
28712
if (flags & NDR_OUT) {
28713
ndr_print_struct(ndr, "out", "spoolss_56");
28715
ndr_print_WERROR(ndr, "result", r->out.result);
28721
static enum ndr_err_code ndr_push_spoolss_57(struct ndr_push *ndr, int flags, const struct spoolss_57 *r)
28723
if (flags & NDR_IN) {
28725
if (flags & NDR_OUT) {
28726
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28728
return NDR_ERR_SUCCESS;
28731
static enum ndr_err_code ndr_pull_spoolss_57(struct ndr_pull *ndr, int flags, struct spoolss_57 *r)
28733
if (flags & NDR_IN) {
28735
if (flags & NDR_OUT) {
28736
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28738
return NDR_ERR_SUCCESS;
28741
_PUBLIC_ void ndr_print_spoolss_57(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_57 *r)
28743
ndr_print_struct(ndr, name, "spoolss_57");
28745
if (flags & NDR_SET_VALUES) {
28746
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28748
if (flags & NDR_IN) {
28749
ndr_print_struct(ndr, "in", "spoolss_57");
28753
if (flags & NDR_OUT) {
28754
ndr_print_struct(ndr, "out", "spoolss_57");
28756
ndr_print_WERROR(ndr, "result", r->out.result);
28762
static enum ndr_err_code ndr_push_spoolss_XcvData(struct ndr_push *ndr, int flags, const struct spoolss_XcvData *r)
28764
if (flags & NDR_IN) {
28765
if (r->in.handle == NULL) {
28766
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28768
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28769
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.function_name, CH_UTF16)));
28770
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28771
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.function_name, CH_UTF16)));
28772
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.function_name, ndr_charset_length(r->in.function_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28773
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.in_data));
28774
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.in_data.length));
28775
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.out_data_size));
28776
if (r->in.status_code == NULL) {
28777
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28779
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.status_code));
28781
if (flags & NDR_OUT) {
28782
if (r->out.out_data == NULL) {
28783
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28785
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.out_data_size));
28786
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.out_data, r->in.out_data_size));
28787
if (r->out.needed == NULL) {
28788
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28790
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
28791
if (r->out.status_code == NULL) {
28792
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28794
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.status_code));
28795
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28797
return NDR_ERR_SUCCESS;
28800
static enum ndr_err_code ndr_pull_spoolss_XcvData(struct ndr_pull *ndr, int flags, struct spoolss_XcvData *r)
28802
TALLOC_CTX *_mem_save_handle_0;
28803
TALLOC_CTX *_mem_save_needed_0;
28804
TALLOC_CTX *_mem_save_status_code_0;
28805
if (flags & NDR_IN) {
28806
ZERO_STRUCT(r->out);
28808
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28809
NDR_PULL_ALLOC(ndr, r->in.handle);
28811
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
28812
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
28813
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28814
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
28815
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.function_name));
28816
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.function_name));
28817
if (ndr_get_array_length(ndr, &r->in.function_name) > ndr_get_array_size(ndr, &r->in.function_name)) {
28818
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.function_name), ndr_get_array_length(ndr, &r->in.function_name));
28820
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.function_name), sizeof(uint16_t)));
28821
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.function_name, ndr_get_array_length(ndr, &r->in.function_name), sizeof(uint16_t), CH_UTF16));
28822
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.in_data));
28823
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in._in_data_length));
28824
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.out_data_size));
28825
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28826
NDR_PULL_ALLOC(ndr, r->in.status_code);
28828
_mem_save_status_code_0 = NDR_PULL_GET_MEM_CTX(ndr);
28829
NDR_PULL_SET_MEM_CTX(ndr, r->in.status_code, LIBNDR_FLAG_REF_ALLOC);
28830
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.status_code));
28831
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_status_code_0, LIBNDR_FLAG_REF_ALLOC);
28832
NDR_PULL_ALLOC_N(ndr, r->out.out_data, r->in.out_data_size);
28833
memset(r->out.out_data, 0, (r->in.out_data_size) * sizeof(*r->out.out_data));
28834
NDR_PULL_ALLOC(ndr, r->out.needed);
28835
ZERO_STRUCTP(r->out.needed);
28836
NDR_PULL_ALLOC(ndr, r->out.status_code);
28837
*r->out.status_code = *r->in.status_code;
28839
if (flags & NDR_OUT) {
28840
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.out_data));
28841
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28842
NDR_PULL_ALLOC_N(ndr, r->out.out_data, ndr_get_array_size(ndr, &r->out.out_data));
28844
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.out_data, ndr_get_array_size(ndr, &r->out.out_data)));
28845
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28846
NDR_PULL_ALLOC(ndr, r->out.needed);
28848
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
28849
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
28850
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
28851
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
28852
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28853
NDR_PULL_ALLOC(ndr, r->out.status_code);
28855
_mem_save_status_code_0 = NDR_PULL_GET_MEM_CTX(ndr);
28856
NDR_PULL_SET_MEM_CTX(ndr, r->out.status_code, LIBNDR_FLAG_REF_ALLOC);
28857
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.status_code));
28858
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_status_code_0, LIBNDR_FLAG_REF_ALLOC);
28859
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28860
if (r->out.out_data) {
28861
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.out_data, r->in.out_data_size));
28864
return NDR_ERR_SUCCESS;
28867
_PUBLIC_ void ndr_print_spoolss_XcvData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_XcvData *r)
28869
ndr_print_struct(ndr, name, "spoolss_XcvData");
28871
if (flags & NDR_SET_VALUES) {
28872
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28874
if (flags & NDR_IN) {
28875
ndr_print_struct(ndr, "in", "spoolss_XcvData");
28877
ndr_print_ptr(ndr, "handle", r->in.handle);
28879
ndr_print_policy_handle(ndr, "handle", r->in.handle);
28881
ndr_print_string(ndr, "function_name", r->in.function_name);
28882
ndr_print_DATA_BLOB(ndr, "in_data", r->in.in_data);
28883
ndr_print_uint32(ndr, "_in_data_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->in.in_data.length:r->in._in_data_length);
28884
ndr_print_uint32(ndr, "out_data_size", r->in.out_data_size);
28885
ndr_print_ptr(ndr, "status_code", r->in.status_code);
28887
ndr_print_uint32(ndr, "status_code", *r->in.status_code);
28891
if (flags & NDR_OUT) {
28892
ndr_print_struct(ndr, "out", "spoolss_XcvData");
28894
ndr_print_ptr(ndr, "out_data", r->out.out_data);
28896
ndr_print_array_uint8(ndr, "out_data", r->out.out_data, r->in.out_data_size);
28898
ndr_print_ptr(ndr, "needed", r->out.needed);
28900
ndr_print_uint32(ndr, "needed", *r->out.needed);
28902
ndr_print_ptr(ndr, "status_code", r->out.status_code);
28904
ndr_print_uint32(ndr, "status_code", *r->out.status_code);
28906
ndr_print_WERROR(ndr, "result", r->out.result);
28912
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_AddPrinterDriverEx(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterDriverEx *r)
28914
if (flags & NDR_IN) {
28915
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
28916
if (r->in.servername) {
28917
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
28918
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28919
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
28920
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28922
if (r->in.info_ctr == NULL) {
28923
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28925
NDR_CHECK(ndr_push_spoolss_AddDriverInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
28926
NDR_CHECK(ndr_push_spoolss_AddPrinterDriverExFlags(ndr, NDR_SCALARS, r->in.flags));
28928
if (flags & NDR_OUT) {
28929
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28931
return NDR_ERR_SUCCESS;
28934
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_AddPrinterDriverEx(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterDriverEx *r)
28936
uint32_t _ptr_servername;
28937
TALLOC_CTX *_mem_save_servername_0;
28938
TALLOC_CTX *_mem_save_info_ctr_0;
28939
if (flags & NDR_IN) {
28940
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
28941
if (_ptr_servername) {
28942
NDR_PULL_ALLOC(ndr, r->in.servername);
28944
r->in.servername = NULL;
28946
if (r->in.servername) {
28947
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
28948
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
28949
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
28950
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
28951
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
28952
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
28954
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
28955
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
28956
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
28958
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28959
NDR_PULL_ALLOC(ndr, r->in.info_ctr);
28961
_mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
28962
NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC);
28963
NDR_CHECK(ndr_pull_spoolss_AddDriverInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
28964
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
28965
NDR_CHECK(ndr_pull_spoolss_AddPrinterDriverExFlags(ndr, NDR_SCALARS, &r->in.flags));
28967
if (flags & NDR_OUT) {
28968
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28970
return NDR_ERR_SUCCESS;
28973
_PUBLIC_ void ndr_print_spoolss_AddPrinterDriverEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterDriverEx *r)
28975
ndr_print_struct(ndr, name, "spoolss_AddPrinterDriverEx");
28977
if (flags & NDR_SET_VALUES) {
28978
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28980
if (flags & NDR_IN) {
28981
ndr_print_struct(ndr, "in", "spoolss_AddPrinterDriverEx");
28983
ndr_print_ptr(ndr, "servername", r->in.servername);
28985
if (r->in.servername) {
28986
ndr_print_string(ndr, "servername", r->in.servername);
28989
ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr);
28991
ndr_print_spoolss_AddDriverInfoCtr(ndr, "info_ctr", r->in.info_ctr);
28993
ndr_print_spoolss_AddPrinterDriverExFlags(ndr, "flags", r->in.flags);
28996
if (flags & NDR_OUT) {
28997
ndr_print_struct(ndr, "out", "spoolss_AddPrinterDriverEx");
28999
ndr_print_WERROR(ndr, "result", r->out.result);
29005
static enum ndr_err_code ndr_push_spoolss_5a(struct ndr_push *ndr, int flags, const struct spoolss_5a *r)
29007
if (flags & NDR_IN) {
29009
if (flags & NDR_OUT) {
29010
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29012
return NDR_ERR_SUCCESS;
29015
static enum ndr_err_code ndr_pull_spoolss_5a(struct ndr_pull *ndr, int flags, struct spoolss_5a *r)
29017
if (flags & NDR_IN) {
29019
if (flags & NDR_OUT) {
29020
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29022
return NDR_ERR_SUCCESS;
29025
_PUBLIC_ void ndr_print_spoolss_5a(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5a *r)
29027
ndr_print_struct(ndr, name, "spoolss_5a");
29029
if (flags & NDR_SET_VALUES) {
29030
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29032
if (flags & NDR_IN) {
29033
ndr_print_struct(ndr, "in", "spoolss_5a");
29037
if (flags & NDR_OUT) {
29038
ndr_print_struct(ndr, "out", "spoolss_5a");
29040
ndr_print_WERROR(ndr, "result", r->out.result);
29046
static enum ndr_err_code ndr_push_spoolss_5b(struct ndr_push *ndr, int flags, const struct spoolss_5b *r)
29048
if (flags & NDR_IN) {
29050
if (flags & NDR_OUT) {
29051
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29053
return NDR_ERR_SUCCESS;
29056
static enum ndr_err_code ndr_pull_spoolss_5b(struct ndr_pull *ndr, int flags, struct spoolss_5b *r)
29058
if (flags & NDR_IN) {
29060
if (flags & NDR_OUT) {
29061
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29063
return NDR_ERR_SUCCESS;
29066
_PUBLIC_ void ndr_print_spoolss_5b(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5b *r)
29068
ndr_print_struct(ndr, name, "spoolss_5b");
29070
if (flags & NDR_SET_VALUES) {
29071
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29073
if (flags & NDR_IN) {
29074
ndr_print_struct(ndr, "in", "spoolss_5b");
29078
if (flags & NDR_OUT) {
29079
ndr_print_struct(ndr, "out", "spoolss_5b");
29081
ndr_print_WERROR(ndr, "result", r->out.result);
29087
static enum ndr_err_code ndr_push_spoolss_5c(struct ndr_push *ndr, int flags, const struct spoolss_5c *r)
29089
if (flags & NDR_IN) {
29091
if (flags & NDR_OUT) {
29092
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29094
return NDR_ERR_SUCCESS;
29097
static enum ndr_err_code ndr_pull_spoolss_5c(struct ndr_pull *ndr, int flags, struct spoolss_5c *r)
29099
if (flags & NDR_IN) {
29101
if (flags & NDR_OUT) {
29102
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29104
return NDR_ERR_SUCCESS;
29107
_PUBLIC_ void ndr_print_spoolss_5c(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5c *r)
29109
ndr_print_struct(ndr, name, "spoolss_5c");
29111
if (flags & NDR_SET_VALUES) {
29112
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29114
if (flags & NDR_IN) {
29115
ndr_print_struct(ndr, "in", "spoolss_5c");
29119
if (flags & NDR_OUT) {
29120
ndr_print_struct(ndr, "out", "spoolss_5c");
29122
ndr_print_WERROR(ndr, "result", r->out.result);
29128
static enum ndr_err_code ndr_push_spoolss_5d(struct ndr_push *ndr, int flags, const struct spoolss_5d *r)
29130
if (flags & NDR_IN) {
29132
if (flags & NDR_OUT) {
29133
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29135
return NDR_ERR_SUCCESS;
29138
static enum ndr_err_code ndr_pull_spoolss_5d(struct ndr_pull *ndr, int flags, struct spoolss_5d *r)
29140
if (flags & NDR_IN) {
29142
if (flags & NDR_OUT) {
29143
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29145
return NDR_ERR_SUCCESS;
29148
_PUBLIC_ void ndr_print_spoolss_5d(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5d *r)
29150
ndr_print_struct(ndr, name, "spoolss_5d");
29152
if (flags & NDR_SET_VALUES) {
29153
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29155
if (flags & NDR_IN) {
29156
ndr_print_struct(ndr, "in", "spoolss_5d");
29160
if (flags & NDR_OUT) {
29161
ndr_print_struct(ndr, "out", "spoolss_5d");
29163
ndr_print_WERROR(ndr, "result", r->out.result);
29169
static enum ndr_err_code ndr_push_spoolss_5e(struct ndr_push *ndr, int flags, const struct spoolss_5e *r)
29171
if (flags & NDR_IN) {
29173
if (flags & NDR_OUT) {
29174
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29176
return NDR_ERR_SUCCESS;
29179
static enum ndr_err_code ndr_pull_spoolss_5e(struct ndr_pull *ndr, int flags, struct spoolss_5e *r)
29181
if (flags & NDR_IN) {
29183
if (flags & NDR_OUT) {
29184
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29186
return NDR_ERR_SUCCESS;
29189
_PUBLIC_ void ndr_print_spoolss_5e(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5e *r)
29191
ndr_print_struct(ndr, name, "spoolss_5e");
29193
if (flags & NDR_SET_VALUES) {
29194
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29196
if (flags & NDR_IN) {
29197
ndr_print_struct(ndr, "in", "spoolss_5e");
29201
if (flags & NDR_OUT) {
29202
ndr_print_struct(ndr, "out", "spoolss_5e");
29204
ndr_print_WERROR(ndr, "result", r->out.result);
29210
static enum ndr_err_code ndr_push_spoolss_5f(struct ndr_push *ndr, int flags, const struct spoolss_5f *r)
29212
if (flags & NDR_IN) {
29214
if (flags & NDR_OUT) {
29215
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29217
return NDR_ERR_SUCCESS;
29220
static enum ndr_err_code ndr_pull_spoolss_5f(struct ndr_pull *ndr, int flags, struct spoolss_5f *r)
29222
if (flags & NDR_IN) {
29224
if (flags & NDR_OUT) {
29225
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29227
return NDR_ERR_SUCCESS;
29230
_PUBLIC_ void ndr_print_spoolss_5f(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5f *r)
29232
ndr_print_struct(ndr, name, "spoolss_5f");
29234
if (flags & NDR_SET_VALUES) {
29235
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29237
if (flags & NDR_IN) {
29238
ndr_print_struct(ndr, "in", "spoolss_5f");
29242
if (flags & NDR_OUT) {
29243
ndr_print_struct(ndr, "out", "spoolss_5f");
29245
ndr_print_WERROR(ndr, "result", r->out.result);
29251
static enum ndr_err_code ndr_push_spoolss_60(struct ndr_push *ndr, int flags, const struct spoolss_60 *r)
29253
if (flags & NDR_IN) {
29255
if (flags & NDR_OUT) {
29256
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29258
return NDR_ERR_SUCCESS;
29261
static enum ndr_err_code ndr_pull_spoolss_60(struct ndr_pull *ndr, int flags, struct spoolss_60 *r)
29263
if (flags & NDR_IN) {
29265
if (flags & NDR_OUT) {
29266
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29268
return NDR_ERR_SUCCESS;
29271
_PUBLIC_ void ndr_print_spoolss_60(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_60 *r)
29273
ndr_print_struct(ndr, name, "spoolss_60");
29275
if (flags & NDR_SET_VALUES) {
29276
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29278
if (flags & NDR_IN) {
29279
ndr_print_struct(ndr, "in", "spoolss_60");
29283
if (flags & NDR_OUT) {
29284
ndr_print_struct(ndr, "out", "spoolss_60");
29286
ndr_print_WERROR(ndr, "result", r->out.result);
29292
static enum ndr_err_code ndr_push_spoolss_61(struct ndr_push *ndr, int flags, const struct spoolss_61 *r)
29294
if (flags & NDR_IN) {
29296
if (flags & NDR_OUT) {
29297
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29299
return NDR_ERR_SUCCESS;
29302
static enum ndr_err_code ndr_pull_spoolss_61(struct ndr_pull *ndr, int flags, struct spoolss_61 *r)
29304
if (flags & NDR_IN) {
29306
if (flags & NDR_OUT) {
29307
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29309
return NDR_ERR_SUCCESS;
29312
_PUBLIC_ void ndr_print_spoolss_61(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_61 *r)
29314
ndr_print_struct(ndr, name, "spoolss_61");
29316
if (flags & NDR_SET_VALUES) {
29317
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29319
if (flags & NDR_IN) {
29320
ndr_print_struct(ndr, "in", "spoolss_61");
29324
if (flags & NDR_OUT) {
29325
ndr_print_struct(ndr, "out", "spoolss_61");
29327
ndr_print_WERROR(ndr, "result", r->out.result);
29333
static enum ndr_err_code ndr_push_spoolss_62(struct ndr_push *ndr, int flags, const struct spoolss_62 *r)
29335
if (flags & NDR_IN) {
29337
if (flags & NDR_OUT) {
29338
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29340
return NDR_ERR_SUCCESS;
29343
static enum ndr_err_code ndr_pull_spoolss_62(struct ndr_pull *ndr, int flags, struct spoolss_62 *r)
29345
if (flags & NDR_IN) {
29347
if (flags & NDR_OUT) {
29348
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29350
return NDR_ERR_SUCCESS;
29353
_PUBLIC_ void ndr_print_spoolss_62(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_62 *r)
29355
ndr_print_struct(ndr, name, "spoolss_62");
29357
if (flags & NDR_SET_VALUES) {
29358
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29360
if (flags & NDR_IN) {
29361
ndr_print_struct(ndr, "in", "spoolss_62");
29365
if (flags & NDR_OUT) {
29366
ndr_print_struct(ndr, "out", "spoolss_62");
29368
ndr_print_WERROR(ndr, "result", r->out.result);
29374
static enum ndr_err_code ndr_push_spoolss_63(struct ndr_push *ndr, int flags, const struct spoolss_63 *r)
29376
if (flags & NDR_IN) {
29378
if (flags & NDR_OUT) {
29379
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29381
return NDR_ERR_SUCCESS;
29384
static enum ndr_err_code ndr_pull_spoolss_63(struct ndr_pull *ndr, int flags, struct spoolss_63 *r)
29386
if (flags & NDR_IN) {
29388
if (flags & NDR_OUT) {
29389
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29391
return NDR_ERR_SUCCESS;
29394
_PUBLIC_ void ndr_print_spoolss_63(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_63 *r)
29396
ndr_print_struct(ndr, name, "spoolss_63");
29398
if (flags & NDR_SET_VALUES) {
29399
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29401
if (flags & NDR_IN) {
29402
ndr_print_struct(ndr, "in", "spoolss_63");
29406
if (flags & NDR_OUT) {
29407
ndr_print_struct(ndr, "out", "spoolss_63");
29409
ndr_print_WERROR(ndr, "result", r->out.result);
29415
static enum ndr_err_code ndr_push_spoolss_64(struct ndr_push *ndr, int flags, const struct spoolss_64 *r)
29417
if (flags & NDR_IN) {
29419
if (flags & NDR_OUT) {
29420
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29422
return NDR_ERR_SUCCESS;
29425
static enum ndr_err_code ndr_pull_spoolss_64(struct ndr_pull *ndr, int flags, struct spoolss_64 *r)
29427
if (flags & NDR_IN) {
29429
if (flags & NDR_OUT) {
29430
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29432
return NDR_ERR_SUCCESS;
29435
_PUBLIC_ void ndr_print_spoolss_64(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_64 *r)
29437
ndr_print_struct(ndr, name, "spoolss_64");
29439
if (flags & NDR_SET_VALUES) {
29440
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29442
if (flags & NDR_IN) {
29443
ndr_print_struct(ndr, "in", "spoolss_64");
29447
if (flags & NDR_OUT) {
29448
ndr_print_struct(ndr, "out", "spoolss_64");
29450
ndr_print_WERROR(ndr, "result", r->out.result);
29456
static enum ndr_err_code ndr_push_spoolss_65(struct ndr_push *ndr, int flags, const struct spoolss_65 *r)
29458
if (flags & NDR_IN) {
29460
if (flags & NDR_OUT) {
29461
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29463
return NDR_ERR_SUCCESS;
29466
static enum ndr_err_code ndr_pull_spoolss_65(struct ndr_pull *ndr, int flags, struct spoolss_65 *r)
29468
if (flags & NDR_IN) {
29470
if (flags & NDR_OUT) {
29471
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29473
return NDR_ERR_SUCCESS;
29476
_PUBLIC_ void ndr_print_spoolss_65(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_65 *r)
29478
ndr_print_struct(ndr, name, "spoolss_65");
29480
if (flags & NDR_SET_VALUES) {
29481
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29483
if (flags & NDR_IN) {
29484
ndr_print_struct(ndr, "in", "spoolss_65");
29488
if (flags & NDR_OUT) {
29489
ndr_print_struct(ndr, "out", "spoolss_65");
29491
ndr_print_WERROR(ndr, "result", r->out.result);
29497
static enum ndr_err_code ndr_push_spoolss_GetCorePrinterDrivers(struct ndr_push *ndr, int flags, const struct spoolss_GetCorePrinterDrivers *r)
29499
uint32_t cntr_core_printer_drivers_1;
29500
if (flags & NDR_IN) {
29501
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
29502
if (r->in.servername) {
29503
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
29504
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29505
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
29506
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
29508
if (r->in.architecture == NULL) {
29509
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29511
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
29512
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29513
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
29514
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
29515
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.core_driver_size));
29516
if (r->in.core_driver_dependencies == NULL) {
29517
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29519
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.core_driver_size));
29520
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.core_driver_dependencies, r->in.core_driver_size, sizeof(uint16_t), CH_UTF16));
29521
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.core_printer_driver_count));
29523
if (flags & NDR_OUT) {
29524
if (r->out.core_printer_drivers == NULL) {
29525
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29527
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.core_printer_driver_count));
29528
for (cntr_core_printer_drivers_1 = 0; cntr_core_printer_drivers_1 < r->in.core_printer_driver_count; cntr_core_printer_drivers_1++) {
29529
NDR_CHECK(ndr_push_spoolss_CorePrinterDriver(ndr, NDR_SCALARS, &r->out.core_printer_drivers[cntr_core_printer_drivers_1]));
29531
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29533
return NDR_ERR_SUCCESS;
29536
static enum ndr_err_code ndr_pull_spoolss_GetCorePrinterDrivers(struct ndr_pull *ndr, int flags, struct spoolss_GetCorePrinterDrivers *r)
29538
uint32_t _ptr_servername;
29539
uint32_t cntr_core_printer_drivers_1;
29540
TALLOC_CTX *_mem_save_servername_0;
29541
TALLOC_CTX *_mem_save_core_printer_drivers_1;
29542
if (flags & NDR_IN) {
29543
ZERO_STRUCT(r->out);
29545
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
29546
if (_ptr_servername) {
29547
NDR_PULL_ALLOC(ndr, r->in.servername);
29549
r->in.servername = NULL;
29551
if (r->in.servername) {
29552
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
29553
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
29554
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
29555
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
29556
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
29557
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
29559
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
29560
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
29561
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
29563
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
29564
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
29565
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
29566
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.architecture), ndr_get_array_length(ndr, &r->in.architecture));
29568
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
29569
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
29570
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.core_driver_size));
29571
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.core_driver_dependencies));
29572
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.core_driver_dependencies, ndr_get_array_size(ndr, &r->in.core_driver_dependencies), sizeof(uint16_t), CH_UTF16));
29573
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.core_printer_driver_count));
29574
NDR_PULL_ALLOC_N(ndr, r->out.core_printer_drivers, r->in.core_printer_driver_count);
29575
memset(r->out.core_printer_drivers, 0, (r->in.core_printer_driver_count) * sizeof(*r->out.core_printer_drivers));
29576
if (r->in.core_driver_dependencies) {
29577
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.core_driver_dependencies, r->in.core_driver_size));
29580
if (flags & NDR_OUT) {
29581
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.core_printer_drivers));
29582
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29583
NDR_PULL_ALLOC_N(ndr, r->out.core_printer_drivers, ndr_get_array_size(ndr, &r->out.core_printer_drivers));
29585
_mem_save_core_printer_drivers_1 = NDR_PULL_GET_MEM_CTX(ndr);
29586
NDR_PULL_SET_MEM_CTX(ndr, r->out.core_printer_drivers, 0);
29587
for (cntr_core_printer_drivers_1 = 0; cntr_core_printer_drivers_1 < r->in.core_printer_driver_count; cntr_core_printer_drivers_1++) {
29588
NDR_CHECK(ndr_pull_spoolss_CorePrinterDriver(ndr, NDR_SCALARS, &r->out.core_printer_drivers[cntr_core_printer_drivers_1]));
29590
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_core_printer_drivers_1, 0);
29591
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29592
if (r->out.core_printer_drivers) {
29593
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.core_printer_drivers, r->in.core_printer_driver_count));
29596
return NDR_ERR_SUCCESS;
29599
_PUBLIC_ void ndr_print_spoolss_GetCorePrinterDrivers(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetCorePrinterDrivers *r)
29601
uint32_t cntr_core_printer_drivers_1;
29602
ndr_print_struct(ndr, name, "spoolss_GetCorePrinterDrivers");
29604
if (flags & NDR_SET_VALUES) {
29605
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29607
if (flags & NDR_IN) {
29608
ndr_print_struct(ndr, "in", "spoolss_GetCorePrinterDrivers");
29610
ndr_print_ptr(ndr, "servername", r->in.servername);
29612
if (r->in.servername) {
29613
ndr_print_string(ndr, "servername", r->in.servername);
29616
ndr_print_ptr(ndr, "architecture", r->in.architecture);
29618
ndr_print_string(ndr, "architecture", r->in.architecture);
29620
ndr_print_uint32(ndr, "core_driver_size", r->in.core_driver_size);
29621
ndr_print_ptr(ndr, "core_driver_dependencies", r->in.core_driver_dependencies);
29623
ndr_print_string(ndr, "core_driver_dependencies", r->in.core_driver_dependencies);
29625
ndr_print_uint32(ndr, "core_printer_driver_count", r->in.core_printer_driver_count);
29628
if (flags & NDR_OUT) {
29629
ndr_print_struct(ndr, "out", "spoolss_GetCorePrinterDrivers");
29631
ndr_print_ptr(ndr, "core_printer_drivers", r->out.core_printer_drivers);
29633
ndr->print(ndr, "%s: ARRAY(%d)", "core_printer_drivers", (int)r->in.core_printer_driver_count);
29635
for (cntr_core_printer_drivers_1=0;cntr_core_printer_drivers_1<r->in.core_printer_driver_count;cntr_core_printer_drivers_1++) {
29637
if (asprintf(&idx_1, "[%d]", cntr_core_printer_drivers_1) != -1) {
29638
ndr_print_spoolss_CorePrinterDriver(ndr, "core_printer_drivers", &r->out.core_printer_drivers[cntr_core_printer_drivers_1]);
29644
ndr_print_WERROR(ndr, "result", r->out.result);
29650
static enum ndr_err_code ndr_push_spoolss_67(struct ndr_push *ndr, int flags, const struct spoolss_67 *r)
29652
if (flags & NDR_IN) {
29654
if (flags & NDR_OUT) {
29655
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29657
return NDR_ERR_SUCCESS;
29660
static enum ndr_err_code ndr_pull_spoolss_67(struct ndr_pull *ndr, int flags, struct spoolss_67 *r)
29662
if (flags & NDR_IN) {
29664
if (flags & NDR_OUT) {
29665
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29667
return NDR_ERR_SUCCESS;
29670
_PUBLIC_ void ndr_print_spoolss_67(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_67 *r)
29672
ndr_print_struct(ndr, name, "spoolss_67");
29674
if (flags & NDR_SET_VALUES) {
29675
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29677
if (flags & NDR_IN) {
29678
ndr_print_struct(ndr, "in", "spoolss_67");
29682
if (flags & NDR_OUT) {
29683
ndr_print_struct(ndr, "out", "spoolss_67");
29685
ndr_print_WERROR(ndr, "result", r->out.result);
29691
static enum ndr_err_code ndr_push_spoolss_GetPrinterDriverPackagePath(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriverPackagePath *r)
29693
if (flags & NDR_IN) {
29694
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
29695
if (r->in.servername) {
29696
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
29697
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29698
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
29699
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
29701
if (r->in.architecture == NULL) {
29702
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29704
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
29705
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29706
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
29707
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
29708
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.language));
29709
if (r->in.language) {
29710
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.language, CH_UTF16)));
29711
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29712
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.language, CH_UTF16)));
29713
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.language, ndr_charset_length(r->in.language, CH_UTF16), sizeof(uint16_t), CH_UTF16));
29715
if (r->in.package_id == NULL) {
29716
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29718
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.package_id, CH_UTF16)));
29719
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29720
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.package_id, CH_UTF16)));
29721
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.package_id, ndr_charset_length(r->in.package_id, CH_UTF16), sizeof(uint16_t), CH_UTF16));
29722
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.driver_package_cab));
29723
if (r->in.driver_package_cab) {
29724
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.driver_package_cab_size));
29725
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.driver_package_cab, r->in.driver_package_cab_size, sizeof(uint16_t), CH_UTF16));
29727
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.driver_package_cab_size));
29729
if (flags & NDR_OUT) {
29730
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.driver_package_cab));
29731
if (r->out.driver_package_cab) {
29732
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.driver_package_cab_size));
29733
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->out.driver_package_cab, r->in.driver_package_cab_size, sizeof(uint16_t), CH_UTF16));
29735
if (r->out.required == NULL) {
29736
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29738
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.required));
29739
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29741
return NDR_ERR_SUCCESS;
29744
static enum ndr_err_code ndr_pull_spoolss_GetPrinterDriverPackagePath(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriverPackagePath *r)
29746
uint32_t _ptr_servername;
29747
uint32_t _ptr_language;
29748
uint32_t _ptr_driver_package_cab;
29749
TALLOC_CTX *_mem_save_servername_0;
29750
TALLOC_CTX *_mem_save_language_0;
29751
TALLOC_CTX *_mem_save_driver_package_cab_0;
29752
TALLOC_CTX *_mem_save_required_0;
29753
if (flags & NDR_IN) {
29754
ZERO_STRUCT(r->out);
29756
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
29757
if (_ptr_servername) {
29758
NDR_PULL_ALLOC(ndr, r->in.servername);
29760
r->in.servername = NULL;
29762
if (r->in.servername) {
29763
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
29764
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
29765
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
29766
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
29767
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
29768
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
29770
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
29771
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
29772
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
29774
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
29775
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
29776
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
29777
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.architecture), ndr_get_array_length(ndr, &r->in.architecture));
29779
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
29780
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
29781
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_language));
29782
if (_ptr_language) {
29783
NDR_PULL_ALLOC(ndr, r->in.language);
29785
r->in.language = NULL;
29787
if (r->in.language) {
29788
_mem_save_language_0 = NDR_PULL_GET_MEM_CTX(ndr);
29789
NDR_PULL_SET_MEM_CTX(ndr, r->in.language, 0);
29790
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.language));
29791
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.language));
29792
if (ndr_get_array_length(ndr, &r->in.language) > ndr_get_array_size(ndr, &r->in.language)) {
29793
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.language), ndr_get_array_length(ndr, &r->in.language));
29795
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.language), sizeof(uint16_t)));
29796
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.language, ndr_get_array_length(ndr, &r->in.language), sizeof(uint16_t), CH_UTF16));
29797
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_language_0, 0);
29799
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.package_id));
29800
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.package_id));
29801
if (ndr_get_array_length(ndr, &r->in.package_id) > ndr_get_array_size(ndr, &r->in.package_id)) {
29802
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.package_id), ndr_get_array_length(ndr, &r->in.package_id));
29804
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.package_id), sizeof(uint16_t)));
29805
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.package_id, ndr_get_array_length(ndr, &r->in.package_id), sizeof(uint16_t), CH_UTF16));
29806
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_package_cab));
29807
if (_ptr_driver_package_cab) {
29808
NDR_PULL_ALLOC(ndr, r->in.driver_package_cab);
29810
r->in.driver_package_cab = NULL;
29812
if (r->in.driver_package_cab) {
29813
_mem_save_driver_package_cab_0 = NDR_PULL_GET_MEM_CTX(ndr);
29814
NDR_PULL_SET_MEM_CTX(ndr, r->in.driver_package_cab, 0);
29815
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.driver_package_cab));
29816
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.driver_package_cab, ndr_get_array_size(ndr, &r->in.driver_package_cab), sizeof(uint16_t), CH_UTF16));
29817
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_package_cab_0, 0);
29819
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.driver_package_cab_size));
29820
NDR_PULL_ALLOC(ndr, r->out.required);
29821
ZERO_STRUCTP(r->out.required);
29822
if (r->in.driver_package_cab) {
29823
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.driver_package_cab, r->in.driver_package_cab_size));
29826
if (flags & NDR_OUT) {
29827
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_package_cab));
29828
if (_ptr_driver_package_cab) {
29829
NDR_PULL_ALLOC(ndr, r->out.driver_package_cab);
29831
r->out.driver_package_cab = NULL;
29833
if (r->out.driver_package_cab) {
29834
_mem_save_driver_package_cab_0 = NDR_PULL_GET_MEM_CTX(ndr);
29835
NDR_PULL_SET_MEM_CTX(ndr, r->out.driver_package_cab, 0);
29836
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.driver_package_cab));
29837
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->out.driver_package_cab, ndr_get_array_size(ndr, &r->out.driver_package_cab), sizeof(uint16_t), CH_UTF16));
29838
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_package_cab_0, 0);
29840
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29841
NDR_PULL_ALLOC(ndr, r->out.required);
29843
_mem_save_required_0 = NDR_PULL_GET_MEM_CTX(ndr);
29844
NDR_PULL_SET_MEM_CTX(ndr, r->out.required, LIBNDR_FLAG_REF_ALLOC);
29845
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.required));
29846
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_required_0, LIBNDR_FLAG_REF_ALLOC);
29847
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29848
if (r->out.driver_package_cab) {
29849
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.driver_package_cab, r->in.driver_package_cab_size));
29852
return NDR_ERR_SUCCESS;
29855
_PUBLIC_ void ndr_print_spoolss_GetPrinterDriverPackagePath(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriverPackagePath *r)
29857
ndr_print_struct(ndr, name, "spoolss_GetPrinterDriverPackagePath");
29859
if (flags & NDR_SET_VALUES) {
29860
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29862
if (flags & NDR_IN) {
29863
ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriverPackagePath");
29865
ndr_print_ptr(ndr, "servername", r->in.servername);
29867
if (r->in.servername) {
29868
ndr_print_string(ndr, "servername", r->in.servername);
29871
ndr_print_ptr(ndr, "architecture", r->in.architecture);
29873
ndr_print_string(ndr, "architecture", r->in.architecture);
29875
ndr_print_ptr(ndr, "language", r->in.language);
29877
if (r->in.language) {
29878
ndr_print_string(ndr, "language", r->in.language);
29881
ndr_print_ptr(ndr, "package_id", r->in.package_id);
29883
ndr_print_string(ndr, "package_id", r->in.package_id);
29885
ndr_print_ptr(ndr, "driver_package_cab", r->in.driver_package_cab);
29887
if (r->in.driver_package_cab) {
29888
ndr_print_string(ndr, "driver_package_cab", r->in.driver_package_cab);
29891
ndr_print_uint32(ndr, "driver_package_cab_size", r->in.driver_package_cab_size);
29894
if (flags & NDR_OUT) {
29895
ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriverPackagePath");
29897
ndr_print_ptr(ndr, "driver_package_cab", r->out.driver_package_cab);
29899
if (r->out.driver_package_cab) {
29900
ndr_print_string(ndr, "driver_package_cab", r->out.driver_package_cab);
29903
ndr_print_ptr(ndr, "required", r->out.required);
29905
ndr_print_uint32(ndr, "required", *r->out.required);
29907
ndr_print_WERROR(ndr, "result", r->out.result);
29913
static enum ndr_err_code ndr_push_spoolss_69(struct ndr_push *ndr, int flags, const struct spoolss_69 *r)
29915
if (flags & NDR_IN) {
29917
if (flags & NDR_OUT) {
29918
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29920
return NDR_ERR_SUCCESS;
29923
static enum ndr_err_code ndr_pull_spoolss_69(struct ndr_pull *ndr, int flags, struct spoolss_69 *r)
29925
if (flags & NDR_IN) {
29927
if (flags & NDR_OUT) {
29928
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29930
return NDR_ERR_SUCCESS;
29933
_PUBLIC_ void ndr_print_spoolss_69(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_69 *r)
29935
ndr_print_struct(ndr, name, "spoolss_69");
29937
if (flags & NDR_SET_VALUES) {
29938
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29940
if (flags & NDR_IN) {
29941
ndr_print_struct(ndr, "in", "spoolss_69");
29945
if (flags & NDR_OUT) {
29946
ndr_print_struct(ndr, "out", "spoolss_69");
29948
ndr_print_WERROR(ndr, "result", r->out.result);
29954
static enum ndr_err_code ndr_push_spoolss_6a(struct ndr_push *ndr, int flags, const struct spoolss_6a *r)
29956
if (flags & NDR_IN) {
29958
if (flags & NDR_OUT) {
29959
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29961
return NDR_ERR_SUCCESS;
29964
static enum ndr_err_code ndr_pull_spoolss_6a(struct ndr_pull *ndr, int flags, struct spoolss_6a *r)
29966
if (flags & NDR_IN) {
29968
if (flags & NDR_OUT) {
29969
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29971
return NDR_ERR_SUCCESS;
29974
_PUBLIC_ void ndr_print_spoolss_6a(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6a *r)
29976
ndr_print_struct(ndr, name, "spoolss_6a");
29978
if (flags & NDR_SET_VALUES) {
29979
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29981
if (flags & NDR_IN) {
29982
ndr_print_struct(ndr, "in", "spoolss_6a");
29986
if (flags & NDR_OUT) {
29987
ndr_print_struct(ndr, "out", "spoolss_6a");
29989
ndr_print_WERROR(ndr, "result", r->out.result);
29995
static enum ndr_err_code ndr_push_spoolss_6b(struct ndr_push *ndr, int flags, const struct spoolss_6b *r)
29997
if (flags & NDR_IN) {
29999
if (flags & NDR_OUT) {
30000
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30002
return NDR_ERR_SUCCESS;
30005
static enum ndr_err_code ndr_pull_spoolss_6b(struct ndr_pull *ndr, int flags, struct spoolss_6b *r)
30007
if (flags & NDR_IN) {
30009
if (flags & NDR_OUT) {
30010
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30012
return NDR_ERR_SUCCESS;
30015
_PUBLIC_ void ndr_print_spoolss_6b(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6b *r)
30017
ndr_print_struct(ndr, name, "spoolss_6b");
30019
if (flags & NDR_SET_VALUES) {
30020
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30022
if (flags & NDR_IN) {
30023
ndr_print_struct(ndr, "in", "spoolss_6b");
30027
if (flags & NDR_OUT) {
30028
ndr_print_struct(ndr, "out", "spoolss_6b");
30030
ndr_print_WERROR(ndr, "result", r->out.result);
30036
static enum ndr_err_code ndr_push_spoolss_6c(struct ndr_push *ndr, int flags, const struct spoolss_6c *r)
30038
if (flags & NDR_IN) {
30040
if (flags & NDR_OUT) {
30041
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30043
return NDR_ERR_SUCCESS;
30046
static enum ndr_err_code ndr_pull_spoolss_6c(struct ndr_pull *ndr, int flags, struct spoolss_6c *r)
30048
if (flags & NDR_IN) {
30050
if (flags & NDR_OUT) {
30051
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30053
return NDR_ERR_SUCCESS;
30056
_PUBLIC_ void ndr_print_spoolss_6c(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6c *r)
30058
ndr_print_struct(ndr, name, "spoolss_6c");
30060
if (flags & NDR_SET_VALUES) {
30061
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30063
if (flags & NDR_IN) {
30064
ndr_print_struct(ndr, "in", "spoolss_6c");
30068
if (flags & NDR_OUT) {
30069
ndr_print_struct(ndr, "out", "spoolss_6c");
30071
ndr_print_WERROR(ndr, "result", r->out.result);
30077
static enum ndr_err_code ndr_push_spoolss_6d(struct ndr_push *ndr, int flags, const struct spoolss_6d *r)
30079
if (flags & NDR_IN) {
30081
if (flags & NDR_OUT) {
30082
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30084
return NDR_ERR_SUCCESS;
30087
static enum ndr_err_code ndr_pull_spoolss_6d(struct ndr_pull *ndr, int flags, struct spoolss_6d *r)
30089
if (flags & NDR_IN) {
30091
if (flags & NDR_OUT) {
30092
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30094
return NDR_ERR_SUCCESS;
30097
_PUBLIC_ void ndr_print_spoolss_6d(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6d *r)
30099
ndr_print_struct(ndr, name, "spoolss_6d");
30101
if (flags & NDR_SET_VALUES) {
30102
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30104
if (flags & NDR_IN) {
30105
ndr_print_struct(ndr, "in", "spoolss_6d");
30109
if (flags & NDR_OUT) {
30110
ndr_print_struct(ndr, "out", "spoolss_6d");
30112
ndr_print_WERROR(ndr, "result", r->out.result);
30118
static const struct ndr_interface_call spoolss_calls[] = {
30120
"spoolss_EnumPrinters",
30121
sizeof(struct spoolss_EnumPrinters),
30122
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinters,
30123
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinters,
30124
(ndr_print_function_t) ndr_print_spoolss_EnumPrinters,
30128
"spoolss_OpenPrinter",
30129
sizeof(struct spoolss_OpenPrinter),
30130
(ndr_push_flags_fn_t) ndr_push_spoolss_OpenPrinter,
30131
(ndr_pull_flags_fn_t) ndr_pull_spoolss_OpenPrinter,
30132
(ndr_print_function_t) ndr_print_spoolss_OpenPrinter,
30137
sizeof(struct spoolss_SetJob),
30138
(ndr_push_flags_fn_t) ndr_push_spoolss_SetJob,
30139
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SetJob,
30140
(ndr_print_function_t) ndr_print_spoolss_SetJob,
30145
sizeof(struct spoolss_GetJob),
30146
(ndr_push_flags_fn_t) ndr_push_spoolss_GetJob,
30147
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetJob,
30148
(ndr_print_function_t) ndr_print_spoolss_GetJob,
30152
"spoolss_EnumJobs",
30153
sizeof(struct spoolss_EnumJobs),
30154
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumJobs,
30155
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumJobs,
30156
(ndr_print_function_t) ndr_print_spoolss_EnumJobs,
30160
"spoolss_AddPrinter",
30161
sizeof(struct spoolss_AddPrinter),
30162
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinter,
30163
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinter,
30164
(ndr_print_function_t) ndr_print_spoolss_AddPrinter,
30168
"spoolss_DeletePrinter",
30169
sizeof(struct spoolss_DeletePrinter),
30170
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinter,
30171
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinter,
30172
(ndr_print_function_t) ndr_print_spoolss_DeletePrinter,
30176
"spoolss_SetPrinter",
30177
sizeof(struct spoolss_SetPrinter),
30178
(ndr_push_flags_fn_t) ndr_push_spoolss_SetPrinter,
30179
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SetPrinter,
30180
(ndr_print_function_t) ndr_print_spoolss_SetPrinter,
30184
"spoolss_GetPrinter",
30185
sizeof(struct spoolss_GetPrinter),
30186
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinter,
30187
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinter,
30188
(ndr_print_function_t) ndr_print_spoolss_GetPrinter,
30192
"spoolss_AddPrinterDriver",
30193
sizeof(struct spoolss_AddPrinterDriver),
30194
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterDriver,
30195
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterDriver,
30196
(ndr_print_function_t) ndr_print_spoolss_AddPrinterDriver,
30200
"spoolss_EnumPrinterDrivers",
30201
sizeof(struct spoolss_EnumPrinterDrivers),
30202
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterDrivers,
30203
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterDrivers,
30204
(ndr_print_function_t) ndr_print_spoolss_EnumPrinterDrivers,
30208
"spoolss_GetPrinterDriver",
30209
sizeof(struct spoolss_GetPrinterDriver),
30210
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriver,
30211
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriver,
30212
(ndr_print_function_t) ndr_print_spoolss_GetPrinterDriver,
30216
"spoolss_GetPrinterDriverDirectory",
30217
sizeof(struct spoolss_GetPrinterDriverDirectory),
30218
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriverDirectory,
30219
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriverDirectory,
30220
(ndr_print_function_t) ndr_print_spoolss_GetPrinterDriverDirectory,
30224
"spoolss_DeletePrinterDriver",
30225
sizeof(struct spoolss_DeletePrinterDriver),
30226
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterDriver,
30227
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterDriver,
30228
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterDriver,
30232
"spoolss_AddPrintProcessor",
30233
sizeof(struct spoolss_AddPrintProcessor),
30234
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrintProcessor,
30235
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrintProcessor,
30236
(ndr_print_function_t) ndr_print_spoolss_AddPrintProcessor,
30240
"spoolss_EnumPrintProcessors",
30241
sizeof(struct spoolss_EnumPrintProcessors),
30242
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrintProcessors,
30243
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrintProcessors,
30244
(ndr_print_function_t) ndr_print_spoolss_EnumPrintProcessors,
30248
"spoolss_GetPrintProcessorDirectory",
30249
sizeof(struct spoolss_GetPrintProcessorDirectory),
30250
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrintProcessorDirectory,
30251
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrintProcessorDirectory,
30252
(ndr_print_function_t) ndr_print_spoolss_GetPrintProcessorDirectory,
30256
"spoolss_StartDocPrinter",
30257
sizeof(struct spoolss_StartDocPrinter),
30258
(ndr_push_flags_fn_t) ndr_push_spoolss_StartDocPrinter,
30259
(ndr_pull_flags_fn_t) ndr_pull_spoolss_StartDocPrinter,
30260
(ndr_print_function_t) ndr_print_spoolss_StartDocPrinter,
30264
"spoolss_StartPagePrinter",
30265
sizeof(struct spoolss_StartPagePrinter),
30266
(ndr_push_flags_fn_t) ndr_push_spoolss_StartPagePrinter,
30267
(ndr_pull_flags_fn_t) ndr_pull_spoolss_StartPagePrinter,
30268
(ndr_print_function_t) ndr_print_spoolss_StartPagePrinter,
30272
"spoolss_WritePrinter",
30273
sizeof(struct spoolss_WritePrinter),
30274
(ndr_push_flags_fn_t) ndr_push_spoolss_WritePrinter,
30275
(ndr_pull_flags_fn_t) ndr_pull_spoolss_WritePrinter,
30276
(ndr_print_function_t) ndr_print_spoolss_WritePrinter,
30280
"spoolss_EndPagePrinter",
30281
sizeof(struct spoolss_EndPagePrinter),
30282
(ndr_push_flags_fn_t) ndr_push_spoolss_EndPagePrinter,
30283
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EndPagePrinter,
30284
(ndr_print_function_t) ndr_print_spoolss_EndPagePrinter,
30288
"spoolss_AbortPrinter",
30289
sizeof(struct spoolss_AbortPrinter),
30290
(ndr_push_flags_fn_t) ndr_push_spoolss_AbortPrinter,
30291
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AbortPrinter,
30292
(ndr_print_function_t) ndr_print_spoolss_AbortPrinter,
30296
"spoolss_ReadPrinter",
30297
sizeof(struct spoolss_ReadPrinter),
30298
(ndr_push_flags_fn_t) ndr_push_spoolss_ReadPrinter,
30299
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ReadPrinter,
30300
(ndr_print_function_t) ndr_print_spoolss_ReadPrinter,
30304
"spoolss_EndDocPrinter",
30305
sizeof(struct spoolss_EndDocPrinter),
30306
(ndr_push_flags_fn_t) ndr_push_spoolss_EndDocPrinter,
30307
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EndDocPrinter,
30308
(ndr_print_function_t) ndr_print_spoolss_EndDocPrinter,
30313
sizeof(struct spoolss_AddJob),
30314
(ndr_push_flags_fn_t) ndr_push_spoolss_AddJob,
30315
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddJob,
30316
(ndr_print_function_t) ndr_print_spoolss_AddJob,
30320
"spoolss_ScheduleJob",
30321
sizeof(struct spoolss_ScheduleJob),
30322
(ndr_push_flags_fn_t) ndr_push_spoolss_ScheduleJob,
30323
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ScheduleJob,
30324
(ndr_print_function_t) ndr_print_spoolss_ScheduleJob,
30328
"spoolss_GetPrinterData",
30329
sizeof(struct spoolss_GetPrinterData),
30330
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterData,
30331
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterData,
30332
(ndr_print_function_t) ndr_print_spoolss_GetPrinterData,
30336
"spoolss_SetPrinterData",
30337
sizeof(struct spoolss_SetPrinterData),
30338
(ndr_push_flags_fn_t) ndr_push_spoolss_SetPrinterData,
30339
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SetPrinterData,
30340
(ndr_print_function_t) ndr_print_spoolss_SetPrinterData,
30344
"spoolss_WaitForPrinterChange",
30345
sizeof(struct spoolss_WaitForPrinterChange),
30346
(ndr_push_flags_fn_t) ndr_push_spoolss_WaitForPrinterChange,
30347
(ndr_pull_flags_fn_t) ndr_pull_spoolss_WaitForPrinterChange,
30348
(ndr_print_function_t) ndr_print_spoolss_WaitForPrinterChange,
30352
"spoolss_ClosePrinter",
30353
sizeof(struct spoolss_ClosePrinter),
30354
(ndr_push_flags_fn_t) ndr_push_spoolss_ClosePrinter,
30355
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ClosePrinter,
30356
(ndr_print_function_t) ndr_print_spoolss_ClosePrinter,
30361
sizeof(struct spoolss_AddForm),
30362
(ndr_push_flags_fn_t) ndr_push_spoolss_AddForm,
30363
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddForm,
30364
(ndr_print_function_t) ndr_print_spoolss_AddForm,
30368
"spoolss_DeleteForm",
30369
sizeof(struct spoolss_DeleteForm),
30370
(ndr_push_flags_fn_t) ndr_push_spoolss_DeleteForm,
30371
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeleteForm,
30372
(ndr_print_function_t) ndr_print_spoolss_DeleteForm,
30377
sizeof(struct spoolss_GetForm),
30378
(ndr_push_flags_fn_t) ndr_push_spoolss_GetForm,
30379
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetForm,
30380
(ndr_print_function_t) ndr_print_spoolss_GetForm,
30385
sizeof(struct spoolss_SetForm),
30386
(ndr_push_flags_fn_t) ndr_push_spoolss_SetForm,
30387
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SetForm,
30388
(ndr_print_function_t) ndr_print_spoolss_SetForm,
30392
"spoolss_EnumForms",
30393
sizeof(struct spoolss_EnumForms),
30394
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumForms,
30395
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumForms,
30396
(ndr_print_function_t) ndr_print_spoolss_EnumForms,
30400
"spoolss_EnumPorts",
30401
sizeof(struct spoolss_EnumPorts),
30402
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPorts,
30403
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPorts,
30404
(ndr_print_function_t) ndr_print_spoolss_EnumPorts,
30408
"spoolss_EnumMonitors",
30409
sizeof(struct spoolss_EnumMonitors),
30410
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumMonitors,
30411
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumMonitors,
30412
(ndr_print_function_t) ndr_print_spoolss_EnumMonitors,
30417
sizeof(struct spoolss_AddPort),
30418
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPort,
30419
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPort,
30420
(ndr_print_function_t) ndr_print_spoolss_AddPort,
30424
"spoolss_ConfigurePort",
30425
sizeof(struct spoolss_ConfigurePort),
30426
(ndr_push_flags_fn_t) ndr_push_spoolss_ConfigurePort,
30427
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ConfigurePort,
30428
(ndr_print_function_t) ndr_print_spoolss_ConfigurePort,
30432
"spoolss_DeletePort",
30433
sizeof(struct spoolss_DeletePort),
30434
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePort,
30435
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePort,
30436
(ndr_print_function_t) ndr_print_spoolss_DeletePort,
30440
"spoolss_CreatePrinterIC",
30441
sizeof(struct spoolss_CreatePrinterIC),
30442
(ndr_push_flags_fn_t) ndr_push_spoolss_CreatePrinterIC,
30443
(ndr_pull_flags_fn_t) ndr_pull_spoolss_CreatePrinterIC,
30444
(ndr_print_function_t) ndr_print_spoolss_CreatePrinterIC,
30448
"spoolss_PlayGDIScriptOnPrinterIC",
30449
sizeof(struct spoolss_PlayGDIScriptOnPrinterIC),
30450
(ndr_push_flags_fn_t) ndr_push_spoolss_PlayGDIScriptOnPrinterIC,
30451
(ndr_pull_flags_fn_t) ndr_pull_spoolss_PlayGDIScriptOnPrinterIC,
30452
(ndr_print_function_t) ndr_print_spoolss_PlayGDIScriptOnPrinterIC,
30456
"spoolss_DeletePrinterIC",
30457
sizeof(struct spoolss_DeletePrinterIC),
30458
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterIC,
30459
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterIC,
30460
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterIC,
30464
"spoolss_AddPrinterConnection",
30465
sizeof(struct spoolss_AddPrinterConnection),
30466
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterConnection,
30467
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterConnection,
30468
(ndr_print_function_t) ndr_print_spoolss_AddPrinterConnection,
30472
"spoolss_DeletePrinterConnection",
30473
sizeof(struct spoolss_DeletePrinterConnection),
30474
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterConnection,
30475
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterConnection,
30476
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterConnection,
30480
"spoolss_PrinterMessageBox",
30481
sizeof(struct spoolss_PrinterMessageBox),
30482
(ndr_push_flags_fn_t) ndr_push_spoolss_PrinterMessageBox,
30483
(ndr_pull_flags_fn_t) ndr_pull_spoolss_PrinterMessageBox,
30484
(ndr_print_function_t) ndr_print_spoolss_PrinterMessageBox,
30488
"spoolss_AddMonitor",
30489
sizeof(struct spoolss_AddMonitor),
30490
(ndr_push_flags_fn_t) ndr_push_spoolss_AddMonitor,
30491
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddMonitor,
30492
(ndr_print_function_t) ndr_print_spoolss_AddMonitor,
30496
"spoolss_DeleteMonitor",
30497
sizeof(struct spoolss_DeleteMonitor),
30498
(ndr_push_flags_fn_t) ndr_push_spoolss_DeleteMonitor,
30499
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeleteMonitor,
30500
(ndr_print_function_t) ndr_print_spoolss_DeleteMonitor,
30504
"spoolss_DeletePrintProcessor",
30505
sizeof(struct spoolss_DeletePrintProcessor),
30506
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrintProcessor,
30507
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrintProcessor,
30508
(ndr_print_function_t) ndr_print_spoolss_DeletePrintProcessor,
30512
"spoolss_AddPrintProvidor",
30513
sizeof(struct spoolss_AddPrintProvidor),
30514
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrintProvidor,
30515
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrintProvidor,
30516
(ndr_print_function_t) ndr_print_spoolss_AddPrintProvidor,
30520
"spoolss_DeletePrintProvidor",
30521
sizeof(struct spoolss_DeletePrintProvidor),
30522
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrintProvidor,
30523
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrintProvidor,
30524
(ndr_print_function_t) ndr_print_spoolss_DeletePrintProvidor,
30528
"spoolss_EnumPrintProcDataTypes",
30529
sizeof(struct spoolss_EnumPrintProcDataTypes),
30530
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrintProcDataTypes,
30531
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrintProcDataTypes,
30532
(ndr_print_function_t) ndr_print_spoolss_EnumPrintProcDataTypes,
30536
"spoolss_ResetPrinter",
30537
sizeof(struct spoolss_ResetPrinter),
30538
(ndr_push_flags_fn_t) ndr_push_spoolss_ResetPrinter,
30539
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ResetPrinter,
30540
(ndr_print_function_t) ndr_print_spoolss_ResetPrinter,
30544
"spoolss_GetPrinterDriver2",
30545
sizeof(struct spoolss_GetPrinterDriver2),
30546
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriver2,
30547
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriver2,
30548
(ndr_print_function_t) ndr_print_spoolss_GetPrinterDriver2,
30552
"spoolss_FindFirstPrinterChangeNotification",
30553
sizeof(struct spoolss_FindFirstPrinterChangeNotification),
30554
(ndr_push_flags_fn_t) ndr_push_spoolss_FindFirstPrinterChangeNotification,
30555
(ndr_pull_flags_fn_t) ndr_pull_spoolss_FindFirstPrinterChangeNotification,
30556
(ndr_print_function_t) ndr_print_spoolss_FindFirstPrinterChangeNotification,
30560
"spoolss_FindNextPrinterChangeNotification",
30561
sizeof(struct spoolss_FindNextPrinterChangeNotification),
30562
(ndr_push_flags_fn_t) ndr_push_spoolss_FindNextPrinterChangeNotification,
30563
(ndr_pull_flags_fn_t) ndr_pull_spoolss_FindNextPrinterChangeNotification,
30564
(ndr_print_function_t) ndr_print_spoolss_FindNextPrinterChangeNotification,
30568
"spoolss_FindClosePrinterNotify",
30569
sizeof(struct spoolss_FindClosePrinterNotify),
30570
(ndr_push_flags_fn_t) ndr_push_spoolss_FindClosePrinterNotify,
30571
(ndr_pull_flags_fn_t) ndr_pull_spoolss_FindClosePrinterNotify,
30572
(ndr_print_function_t) ndr_print_spoolss_FindClosePrinterNotify,
30576
"spoolss_RouterFindFirstPrinterChangeNotificationOld",
30577
sizeof(struct spoolss_RouterFindFirstPrinterChangeNotificationOld),
30578
(ndr_push_flags_fn_t) ndr_push_spoolss_RouterFindFirstPrinterChangeNotificationOld,
30579
(ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterFindFirstPrinterChangeNotificationOld,
30580
(ndr_print_function_t) ndr_print_spoolss_RouterFindFirstPrinterChangeNotificationOld,
30584
"spoolss_ReplyOpenPrinter",
30585
sizeof(struct spoolss_ReplyOpenPrinter),
30586
(ndr_push_flags_fn_t) ndr_push_spoolss_ReplyOpenPrinter,
30587
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ReplyOpenPrinter,
30588
(ndr_print_function_t) ndr_print_spoolss_ReplyOpenPrinter,
30592
"spoolss_RouterReplyPrinter",
30593
sizeof(struct spoolss_RouterReplyPrinter),
30594
(ndr_push_flags_fn_t) ndr_push_spoolss_RouterReplyPrinter,
30595
(ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterReplyPrinter,
30596
(ndr_print_function_t) ndr_print_spoolss_RouterReplyPrinter,
30600
"spoolss_ReplyClosePrinter",
30601
sizeof(struct spoolss_ReplyClosePrinter),
30602
(ndr_push_flags_fn_t) ndr_push_spoolss_ReplyClosePrinter,
30603
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ReplyClosePrinter,
30604
(ndr_print_function_t) ndr_print_spoolss_ReplyClosePrinter,
30608
"spoolss_AddPortEx",
30609
sizeof(struct spoolss_AddPortEx),
30610
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPortEx,
30611
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPortEx,
30612
(ndr_print_function_t) ndr_print_spoolss_AddPortEx,
30616
"spoolss_RouterFindFirstPrinterChangeNotification",
30617
sizeof(struct spoolss_RouterFindFirstPrinterChangeNotification),
30618
(ndr_push_flags_fn_t) ndr_push_spoolss_RouterFindFirstPrinterChangeNotification,
30619
(ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterFindFirstPrinterChangeNotification,
30620
(ndr_print_function_t) ndr_print_spoolss_RouterFindFirstPrinterChangeNotification,
30624
"spoolss_SpoolerInit",
30625
sizeof(struct spoolss_SpoolerInit),
30626
(ndr_push_flags_fn_t) ndr_push_spoolss_SpoolerInit,
30627
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SpoolerInit,
30628
(ndr_print_function_t) ndr_print_spoolss_SpoolerInit,
30632
"spoolss_ResetPrinterEx",
30633
sizeof(struct spoolss_ResetPrinterEx),
30634
(ndr_push_flags_fn_t) ndr_push_spoolss_ResetPrinterEx,
30635
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ResetPrinterEx,
30636
(ndr_print_function_t) ndr_print_spoolss_ResetPrinterEx,
30640
"spoolss_RemoteFindFirstPrinterChangeNotifyEx",
30641
sizeof(struct spoolss_RemoteFindFirstPrinterChangeNotifyEx),
30642
(ndr_push_flags_fn_t) ndr_push_spoolss_RemoteFindFirstPrinterChangeNotifyEx,
30643
(ndr_pull_flags_fn_t) ndr_pull_spoolss_RemoteFindFirstPrinterChangeNotifyEx,
30644
(ndr_print_function_t) ndr_print_spoolss_RemoteFindFirstPrinterChangeNotifyEx,
30648
"spoolss_RouterReplyPrinterEx",
30649
sizeof(struct spoolss_RouterReplyPrinterEx),
30650
(ndr_push_flags_fn_t) ndr_push_spoolss_RouterReplyPrinterEx,
30651
(ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterReplyPrinterEx,
30652
(ndr_print_function_t) ndr_print_spoolss_RouterReplyPrinterEx,
30656
"spoolss_RouterRefreshPrinterChangeNotify",
30657
sizeof(struct spoolss_RouterRefreshPrinterChangeNotify),
30658
(ndr_push_flags_fn_t) ndr_push_spoolss_RouterRefreshPrinterChangeNotify,
30659
(ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterRefreshPrinterChangeNotify,
30660
(ndr_print_function_t) ndr_print_spoolss_RouterRefreshPrinterChangeNotify,
30665
sizeof(struct spoolss_44),
30666
(ndr_push_flags_fn_t) ndr_push_spoolss_44,
30667
(ndr_pull_flags_fn_t) ndr_pull_spoolss_44,
30668
(ndr_print_function_t) ndr_print_spoolss_44,
30672
"spoolss_OpenPrinterEx",
30673
sizeof(struct spoolss_OpenPrinterEx),
30674
(ndr_push_flags_fn_t) ndr_push_spoolss_OpenPrinterEx,
30675
(ndr_pull_flags_fn_t) ndr_pull_spoolss_OpenPrinterEx,
30676
(ndr_print_function_t) ndr_print_spoolss_OpenPrinterEx,
30680
"spoolss_AddPrinterEx",
30681
sizeof(struct spoolss_AddPrinterEx),
30682
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterEx,
30683
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterEx,
30684
(ndr_print_function_t) ndr_print_spoolss_AddPrinterEx,
30689
sizeof(struct spoolss_47),
30690
(ndr_push_flags_fn_t) ndr_push_spoolss_47,
30691
(ndr_pull_flags_fn_t) ndr_pull_spoolss_47,
30692
(ndr_print_function_t) ndr_print_spoolss_47,
30696
"spoolss_EnumPrinterData",
30697
sizeof(struct spoolss_EnumPrinterData),
30698
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterData,
30699
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterData,
30700
(ndr_print_function_t) ndr_print_spoolss_EnumPrinterData,
30704
"spoolss_DeletePrinterData",
30705
sizeof(struct spoolss_DeletePrinterData),
30706
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterData,
30707
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterData,
30708
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterData,
30713
sizeof(struct spoolss_4a),
30714
(ndr_push_flags_fn_t) ndr_push_spoolss_4a,
30715
(ndr_pull_flags_fn_t) ndr_pull_spoolss_4a,
30716
(ndr_print_function_t) ndr_print_spoolss_4a,
30721
sizeof(struct spoolss_4b),
30722
(ndr_push_flags_fn_t) ndr_push_spoolss_4b,
30723
(ndr_pull_flags_fn_t) ndr_pull_spoolss_4b,
30724
(ndr_print_function_t) ndr_print_spoolss_4b,
30729
sizeof(struct spoolss_4c),
30730
(ndr_push_flags_fn_t) ndr_push_spoolss_4c,
30731
(ndr_pull_flags_fn_t) ndr_pull_spoolss_4c,
30732
(ndr_print_function_t) ndr_print_spoolss_4c,
30736
"spoolss_SetPrinterDataEx",
30737
sizeof(struct spoolss_SetPrinterDataEx),
30738
(ndr_push_flags_fn_t) ndr_push_spoolss_SetPrinterDataEx,
30739
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SetPrinterDataEx,
30740
(ndr_print_function_t) ndr_print_spoolss_SetPrinterDataEx,
30744
"spoolss_GetPrinterDataEx",
30745
sizeof(struct spoolss_GetPrinterDataEx),
30746
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDataEx,
30747
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDataEx,
30748
(ndr_print_function_t) ndr_print_spoolss_GetPrinterDataEx,
30752
"spoolss_EnumPrinterDataEx",
30753
sizeof(struct spoolss_EnumPrinterDataEx),
30754
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterDataEx,
30755
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterDataEx,
30756
(ndr_print_function_t) ndr_print_spoolss_EnumPrinterDataEx,
30760
"spoolss_EnumPrinterKey",
30761
sizeof(struct spoolss_EnumPrinterKey),
30762
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterKey,
30763
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterKey,
30764
(ndr_print_function_t) ndr_print_spoolss_EnumPrinterKey,
30768
"spoolss_DeletePrinterDataEx",
30769
sizeof(struct spoolss_DeletePrinterDataEx),
30770
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterDataEx,
30771
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterDataEx,
30772
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterDataEx,
30776
"spoolss_DeletePrinterKey",
30777
sizeof(struct spoolss_DeletePrinterKey),
30778
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterKey,
30779
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterKey,
30780
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterKey,
30785
sizeof(struct spoolss_53),
30786
(ndr_push_flags_fn_t) ndr_push_spoolss_53,
30787
(ndr_pull_flags_fn_t) ndr_pull_spoolss_53,
30788
(ndr_print_function_t) ndr_print_spoolss_53,
30792
"spoolss_DeletePrinterDriverEx",
30793
sizeof(struct spoolss_DeletePrinterDriverEx),
30794
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterDriverEx,
30795
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterDriverEx,
30796
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterDriverEx,
30801
sizeof(struct spoolss_55),
30802
(ndr_push_flags_fn_t) ndr_push_spoolss_55,
30803
(ndr_pull_flags_fn_t) ndr_pull_spoolss_55,
30804
(ndr_print_function_t) ndr_print_spoolss_55,
30809
sizeof(struct spoolss_56),
30810
(ndr_push_flags_fn_t) ndr_push_spoolss_56,
30811
(ndr_pull_flags_fn_t) ndr_pull_spoolss_56,
30812
(ndr_print_function_t) ndr_print_spoolss_56,
30817
sizeof(struct spoolss_57),
30818
(ndr_push_flags_fn_t) ndr_push_spoolss_57,
30819
(ndr_pull_flags_fn_t) ndr_pull_spoolss_57,
30820
(ndr_print_function_t) ndr_print_spoolss_57,
30825
sizeof(struct spoolss_XcvData),
30826
(ndr_push_flags_fn_t) ndr_push_spoolss_XcvData,
30827
(ndr_pull_flags_fn_t) ndr_pull_spoolss_XcvData,
30828
(ndr_print_function_t) ndr_print_spoolss_XcvData,
30832
"spoolss_AddPrinterDriverEx",
30833
sizeof(struct spoolss_AddPrinterDriverEx),
30834
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterDriverEx,
30835
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterDriverEx,
30836
(ndr_print_function_t) ndr_print_spoolss_AddPrinterDriverEx,
30841
sizeof(struct spoolss_5a),
30842
(ndr_push_flags_fn_t) ndr_push_spoolss_5a,
30843
(ndr_pull_flags_fn_t) ndr_pull_spoolss_5a,
30844
(ndr_print_function_t) ndr_print_spoolss_5a,
30849
sizeof(struct spoolss_5b),
30850
(ndr_push_flags_fn_t) ndr_push_spoolss_5b,
30851
(ndr_pull_flags_fn_t) ndr_pull_spoolss_5b,
30852
(ndr_print_function_t) ndr_print_spoolss_5b,
30857
sizeof(struct spoolss_5c),
30858
(ndr_push_flags_fn_t) ndr_push_spoolss_5c,
30859
(ndr_pull_flags_fn_t) ndr_pull_spoolss_5c,
30860
(ndr_print_function_t) ndr_print_spoolss_5c,
30865
sizeof(struct spoolss_5d),
30866
(ndr_push_flags_fn_t) ndr_push_spoolss_5d,
30867
(ndr_pull_flags_fn_t) ndr_pull_spoolss_5d,
30868
(ndr_print_function_t) ndr_print_spoolss_5d,
30873
sizeof(struct spoolss_5e),
30874
(ndr_push_flags_fn_t) ndr_push_spoolss_5e,
30875
(ndr_pull_flags_fn_t) ndr_pull_spoolss_5e,
30876
(ndr_print_function_t) ndr_print_spoolss_5e,
30881
sizeof(struct spoolss_5f),
30882
(ndr_push_flags_fn_t) ndr_push_spoolss_5f,
30883
(ndr_pull_flags_fn_t) ndr_pull_spoolss_5f,
30884
(ndr_print_function_t) ndr_print_spoolss_5f,
30889
sizeof(struct spoolss_60),
30890
(ndr_push_flags_fn_t) ndr_push_spoolss_60,
30891
(ndr_pull_flags_fn_t) ndr_pull_spoolss_60,
30892
(ndr_print_function_t) ndr_print_spoolss_60,
30897
sizeof(struct spoolss_61),
30898
(ndr_push_flags_fn_t) ndr_push_spoolss_61,
30899
(ndr_pull_flags_fn_t) ndr_pull_spoolss_61,
30900
(ndr_print_function_t) ndr_print_spoolss_61,
30905
sizeof(struct spoolss_62),
30906
(ndr_push_flags_fn_t) ndr_push_spoolss_62,
30907
(ndr_pull_flags_fn_t) ndr_pull_spoolss_62,
30908
(ndr_print_function_t) ndr_print_spoolss_62,
30913
sizeof(struct spoolss_63),
30914
(ndr_push_flags_fn_t) ndr_push_spoolss_63,
30915
(ndr_pull_flags_fn_t) ndr_pull_spoolss_63,
30916
(ndr_print_function_t) ndr_print_spoolss_63,
30921
sizeof(struct spoolss_64),
30922
(ndr_push_flags_fn_t) ndr_push_spoolss_64,
30923
(ndr_pull_flags_fn_t) ndr_pull_spoolss_64,
30924
(ndr_print_function_t) ndr_print_spoolss_64,
30929
sizeof(struct spoolss_65),
30930
(ndr_push_flags_fn_t) ndr_push_spoolss_65,
30931
(ndr_pull_flags_fn_t) ndr_pull_spoolss_65,
30932
(ndr_print_function_t) ndr_print_spoolss_65,
30936
"spoolss_GetCorePrinterDrivers",
30937
sizeof(struct spoolss_GetCorePrinterDrivers),
30938
(ndr_push_flags_fn_t) ndr_push_spoolss_GetCorePrinterDrivers,
30939
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetCorePrinterDrivers,
30940
(ndr_print_function_t) ndr_print_spoolss_GetCorePrinterDrivers,
30945
sizeof(struct spoolss_67),
30946
(ndr_push_flags_fn_t) ndr_push_spoolss_67,
30947
(ndr_pull_flags_fn_t) ndr_pull_spoolss_67,
30948
(ndr_print_function_t) ndr_print_spoolss_67,
30952
"spoolss_GetPrinterDriverPackagePath",
30953
sizeof(struct spoolss_GetPrinterDriverPackagePath),
30954
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriverPackagePath,
30955
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriverPackagePath,
30956
(ndr_print_function_t) ndr_print_spoolss_GetPrinterDriverPackagePath,
30961
sizeof(struct spoolss_69),
30962
(ndr_push_flags_fn_t) ndr_push_spoolss_69,
30963
(ndr_pull_flags_fn_t) ndr_pull_spoolss_69,
30964
(ndr_print_function_t) ndr_print_spoolss_69,
30969
sizeof(struct spoolss_6a),
30970
(ndr_push_flags_fn_t) ndr_push_spoolss_6a,
30971
(ndr_pull_flags_fn_t) ndr_pull_spoolss_6a,
30972
(ndr_print_function_t) ndr_print_spoolss_6a,
30977
sizeof(struct spoolss_6b),
30978
(ndr_push_flags_fn_t) ndr_push_spoolss_6b,
30979
(ndr_pull_flags_fn_t) ndr_pull_spoolss_6b,
30980
(ndr_print_function_t) ndr_print_spoolss_6b,
30985
sizeof(struct spoolss_6c),
30986
(ndr_push_flags_fn_t) ndr_push_spoolss_6c,
30987
(ndr_pull_flags_fn_t) ndr_pull_spoolss_6c,
30988
(ndr_print_function_t) ndr_print_spoolss_6c,
30993
sizeof(struct spoolss_6d),
30994
(ndr_push_flags_fn_t) ndr_push_spoolss_6d,
30995
(ndr_pull_flags_fn_t) ndr_pull_spoolss_6d,
30996
(ndr_print_function_t) ndr_print_spoolss_6d,
30999
{ NULL, 0, NULL, NULL, NULL, false }
31002
static const char * const spoolss_endpoint_strings[] = {
31003
"ncacn_np:[\\pipe\\spoolss]",
31006
static const struct ndr_interface_string_array spoolss_endpoints = {
31008
.names = spoolss_endpoint_strings
31011
static const char * const spoolss_authservice_strings[] = {
31015
static const struct ndr_interface_string_array spoolss_authservices = {
31017
.names = spoolss_authservice_strings
31021
const struct ndr_interface_table ndr_table_spoolss = {
31024
{0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xab}},
31025
NDR_SPOOLSS_VERSION
31027
.helpstring = NDR_SPOOLSS_HELPSTRING,
31029
.calls = spoolss_calls,
31030
.endpoints = &spoolss_endpoints,
31031
.authservices = &spoolss_authservices