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
static size_t ndr_size_spoolss_Time(const struct spoolss_Time *r, int flags)
49
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_Time);
52
static enum ndr_err_code ndr_push_spoolss_TimeCtr(struct ndr_push *ndr, int ndr_flags, const struct spoolss_TimeCtr *r)
54
if (ndr_flags & NDR_SCALARS) {
55
NDR_CHECK(ndr_push_align(ndr, 5));
56
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_spoolss_Time(r->time, ndr->flags)));
57
NDR_CHECK(ndr_push_unique_ptr(ndr, r->time));
58
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
60
if (ndr_flags & NDR_BUFFERS) {
62
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, r->time));
65
return NDR_ERR_SUCCESS;
68
static enum ndr_err_code ndr_pull_spoolss_TimeCtr(struct ndr_pull *ndr, int ndr_flags, struct spoolss_TimeCtr *r)
71
TALLOC_CTX *_mem_save_time_0;
72
if (ndr_flags & NDR_SCALARS) {
73
NDR_CHECK(ndr_pull_align(ndr, 5));
74
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
75
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_time));
77
NDR_PULL_ALLOC(ndr, r->time);
81
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
83
if (ndr_flags & NDR_BUFFERS) {
85
_mem_save_time_0 = NDR_PULL_GET_MEM_CTX(ndr);
86
NDR_PULL_SET_MEM_CTX(ndr, r->time, 0);
87
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, r->time));
88
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_time_0, 0);
91
return NDR_ERR_SUCCESS;
94
_PUBLIC_ void ndr_print_spoolss_TimeCtr(struct ndr_print *ndr, const char *name, const struct spoolss_TimeCtr *r)
96
ndr_print_struct(ndr, name, "spoolss_TimeCtr");
97
if (r == NULL) { ndr_print_null(ndr); return; }
99
ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_spoolss_Time(r->time, ndr->flags):r->size);
100
ndr_print_ptr(ndr, "time", r->time);
103
ndr_print_spoolss_Time(ndr, "time", r->time);
109
static enum ndr_err_code ndr_push_spoolss_ProcessorArchitecture(struct ndr_push *ndr, int ndr_flags, enum spoolss_ProcessorArchitecture r)
111
NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
112
return NDR_ERR_SUCCESS;
115
static enum ndr_err_code ndr_pull_spoolss_ProcessorArchitecture(struct ndr_pull *ndr, int ndr_flags, enum spoolss_ProcessorArchitecture *r)
118
NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
120
return NDR_ERR_SUCCESS;
123
_PUBLIC_ void ndr_print_spoolss_ProcessorArchitecture(struct ndr_print *ndr, const char *name, enum spoolss_ProcessorArchitecture r)
125
const char *val = NULL;
128
case PROCESSOR_ARCHITECTURE_INTEL: val = "PROCESSOR_ARCHITECTURE_INTEL"; break;
129
case PROCESSOR_ARCHITECTURE_IA64: val = "PROCESSOR_ARCHITECTURE_IA64"; break;
130
case PROCESSOR_ARCHITECTURE_AMD64: val = "PROCESSOR_ARCHITECTURE_AMD64"; break;
132
ndr_print_enum(ndr, name, "ENUM", val, r);
135
static enum ndr_err_code ndr_push_spoolss_ProcessorType(struct ndr_push *ndr, int ndr_flags, enum spoolss_ProcessorType r)
137
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
138
return NDR_ERR_SUCCESS;
141
static enum ndr_err_code ndr_pull_spoolss_ProcessorType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_ProcessorType *r)
144
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
146
return NDR_ERR_SUCCESS;
149
_PUBLIC_ void ndr_print_spoolss_ProcessorType(struct ndr_print *ndr, const char *name, enum spoolss_ProcessorType r)
151
const char *val = NULL;
154
case PROCESSOR_INTEL_386: val = "PROCESSOR_INTEL_386"; break;
155
case PROCESSOR_INTEL_486: val = "PROCESSOR_INTEL_486"; break;
156
case PROCESSOR_INTEL_PENTIUM: val = "PROCESSOR_INTEL_PENTIUM"; break;
157
case PROCESSOR_INTEL_IA64: val = "PROCESSOR_INTEL_IA64"; break;
158
case PROCESSOR_AMD_X8664: val = "PROCESSOR_AMD_X8664"; break;
160
ndr_print_enum(ndr, name, "ENUM", val, r);
163
static enum ndr_err_code ndr_push_spoolss_MajorVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_MajorVersion r)
165
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
166
return NDR_ERR_SUCCESS;
169
static enum ndr_err_code ndr_pull_spoolss_MajorVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_MajorVersion *r)
172
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
174
return NDR_ERR_SUCCESS;
177
_PUBLIC_ void ndr_print_spoolss_MajorVersion(struct ndr_print *ndr, const char *name, enum spoolss_MajorVersion r)
179
const char *val = NULL;
182
case SPOOLSS_MAJOR_VERSION_NT4_95_98_ME: val = "SPOOLSS_MAJOR_VERSION_NT4_95_98_ME"; break;
183
case SPOOLSS_MAJOR_VERSION_2000_2003_XP: val = "SPOOLSS_MAJOR_VERSION_2000_2003_XP"; break;
184
case SPOOLSS_MAJOR_VERSION_2008_VISTA: val = "SPOOLSS_MAJOR_VERSION_2008_VISTA"; break;
186
ndr_print_enum(ndr, name, "ENUM", val, r);
189
static enum ndr_err_code ndr_push_spoolss_MinorVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_MinorVersion r)
191
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
192
return NDR_ERR_SUCCESS;
195
static enum ndr_err_code ndr_pull_spoolss_MinorVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_MinorVersion *r)
198
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
200
return NDR_ERR_SUCCESS;
203
_PUBLIC_ void ndr_print_spoolss_MinorVersion(struct ndr_print *ndr, const char *name, enum spoolss_MinorVersion r)
205
const char *val = NULL;
208
case SPOOLSS_MINOR_VERSION_0: val = "SPOOLSS_MINOR_VERSION_0"; break;
209
case SPOOLSS_MINOR_VERSION_XP: val = "SPOOLSS_MINOR_VERSION_XP"; break;
210
case SPOOLSS_MINOR_VERSION_2003_XP64: val = "SPOOLSS_MINOR_VERSION_2003_XP64"; break;
211
case SPOOLSS_MINOR_VERSION_98: val = "SPOOLSS_MINOR_VERSION_98"; break;
212
case SPOOLSS_MINOR_VERSION_ME: val = "SPOOLSS_MINOR_VERSION_ME"; break;
214
ndr_print_enum(ndr, name, "ENUM", val, r);
217
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterStatus(struct ndr_push *ndr, int ndr_flags, uint32_t r)
219
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
220
return NDR_ERR_SUCCESS;
223
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterStatus(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
226
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
228
return NDR_ERR_SUCCESS;
231
_PUBLIC_ void ndr_print_spoolss_PrinterStatus(struct ndr_print *ndr, const char *name, uint32_t r)
233
ndr_print_uint32(ndr, name, r);
235
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAUSED", PRINTER_STATUS_PAUSED, r);
236
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_ERROR", PRINTER_STATUS_ERROR, r);
237
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PENDING_DELETION", PRINTER_STATUS_PENDING_DELETION, r);
238
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAPER_JAM", PRINTER_STATUS_PAPER_JAM, r);
239
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAPER_OUT", PRINTER_STATUS_PAPER_OUT, r);
240
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_MANUAL_FEED", PRINTER_STATUS_MANUAL_FEED, r);
241
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAPER_PROBLEM", PRINTER_STATUS_PAPER_PROBLEM, r);
242
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_OFFLINE", PRINTER_STATUS_OFFLINE, r);
243
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_IO_ACTIVE", PRINTER_STATUS_IO_ACTIVE, r);
244
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_BUSY", PRINTER_STATUS_BUSY, r);
245
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PRINTING", PRINTER_STATUS_PRINTING, r);
246
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_OUTPUT_BIN_FULL", PRINTER_STATUS_OUTPUT_BIN_FULL, r);
247
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_NOT_AVAILABLE", PRINTER_STATUS_NOT_AVAILABLE, r);
248
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_WAITING", PRINTER_STATUS_WAITING, r);
249
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PROCESSING", PRINTER_STATUS_PROCESSING, r);
250
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_INITIALIZING", PRINTER_STATUS_INITIALIZING, r);
251
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_WARMING_UP", PRINTER_STATUS_WARMING_UP, r);
252
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_TONER_LOW", PRINTER_STATUS_TONER_LOW, r);
253
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_NO_TONER", PRINTER_STATUS_NO_TONER, r);
254
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAGE_PUNT", PRINTER_STATUS_PAGE_PUNT, r);
255
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_USER_INTERVENTION", PRINTER_STATUS_USER_INTERVENTION, r);
256
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_OUT_OF_MEMORY", PRINTER_STATUS_OUT_OF_MEMORY, r);
257
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_DOOR_OPEN", PRINTER_STATUS_DOOR_OPEN, r);
258
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_SERVER_UNKNOWN", PRINTER_STATUS_SERVER_UNKNOWN, r);
259
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_POWER_SAVE", PRINTER_STATUS_POWER_SAVE, r);
263
static enum ndr_err_code ndr_push_spoolss_JobStatus(struct ndr_push *ndr, int ndr_flags, uint32_t r)
265
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
266
return NDR_ERR_SUCCESS;
269
static enum ndr_err_code ndr_pull_spoolss_JobStatus(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
272
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
274
return NDR_ERR_SUCCESS;
277
_PUBLIC_ void ndr_print_spoolss_JobStatus(struct ndr_print *ndr, const char *name, uint32_t r)
279
ndr_print_uint32(ndr, name, r);
281
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_PAUSED", JOB_STATUS_PAUSED, r);
282
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_ERROR", JOB_STATUS_ERROR, r);
283
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_DELETING", JOB_STATUS_DELETING, r);
284
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_SPOOLING", JOB_STATUS_SPOOLING, r);
285
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_PRINTING", JOB_STATUS_PRINTING, r);
286
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_OFFLINE", JOB_STATUS_OFFLINE, r);
287
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_PAPEROUT", JOB_STATUS_PAPEROUT, r);
288
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_PRINTED", JOB_STATUS_PRINTED, r);
289
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_DELETED", JOB_STATUS_DELETED, r);
290
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_BLOCKED_DEVQ", JOB_STATUS_BLOCKED_DEVQ, r);
291
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_USER_INTERVENTION", JOB_STATUS_USER_INTERVENTION, r);
292
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_RESTART", JOB_STATUS_RESTART, r);
293
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_COMPLETE", JOB_STATUS_COMPLETE, r);
297
static enum ndr_err_code ndr_push_spoolss_Build(struct ndr_push *ndr, int ndr_flags, enum spoolss_Build r)
299
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
300
return NDR_ERR_SUCCESS;
303
static enum ndr_err_code ndr_pull_spoolss_Build(struct ndr_pull *ndr, int ndr_flags, enum spoolss_Build *r)
306
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
308
return NDR_ERR_SUCCESS;
311
_PUBLIC_ void ndr_print_spoolss_Build(struct ndr_print *ndr, const char *name, enum spoolss_Build r)
313
const char *val = NULL;
316
case SPOOLSS_DEBUGGING_BUILD: val = "SPOOLSS_DEBUGGING_BUILD"; break;
317
case SPOOLSS_RELEASE_BUILD: val = "SPOOLSS_RELEASE_BUILD"; break;
319
ndr_print_enum(ndr, name, "ENUM", val, r);
322
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo0(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo0 *r)
324
if (ndr_flags & NDR_SCALARS) {
325
NDR_CHECK(ndr_push_align(ndr, 5));
327
uint32_t _flags_save_string = ndr->flags;
328
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
329
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername));
330
ndr->flags = _flags_save_string;
333
uint32_t _flags_save_string = ndr->flags;
334
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
335
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->servername));
336
ndr->flags = _flags_save_string;
338
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cjobs));
339
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_jobs));
340
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_bytes));
341
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->time));
342
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->global_counter));
343
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
344
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
345
NDR_CHECK(ndr_push_spoolss_Build(ndr, NDR_SCALARS, r->free_build));
346
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->spooling));
347
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_spooling));
348
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_counter));
349
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_error_out_of_paper));
350
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_error_not_ready));
351
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->job_error));
352
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->number_of_processors));
353
NDR_CHECK(ndr_push_spoolss_ProcessorType(ndr, NDR_SCALARS, r->processor_type));
354
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->high_part_total_bytes));
355
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->change_id));
356
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_error));
357
NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
358
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumerate_network_printers));
359
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->c_setprinter));
360
NDR_CHECK(ndr_push_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, r->processor_architecture));
361
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->processor_level));
362
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ref_ic));
363
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved2));
364
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved3));
365
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
367
if (ndr_flags & NDR_BUFFERS) {
369
uint32_t _flags_save_string = ndr->flags;
370
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
371
if (r->printername) {
372
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername));
373
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
374
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername));
376
ndr->flags = _flags_save_string;
379
uint32_t _flags_save_string = ndr->flags;
380
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
382
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->servername));
383
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername));
384
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->servername));
386
ndr->flags = _flags_save_string;
389
return NDR_ERR_SUCCESS;
392
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo0(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo0 *r)
394
uint32_t _ptr_printername;
395
TALLOC_CTX *_mem_save_printername_0;
396
uint32_t _ptr_servername;
397
TALLOC_CTX *_mem_save_servername_0;
398
if (ndr_flags & NDR_SCALARS) {
399
NDR_CHECK(ndr_pull_align(ndr, 5));
401
uint32_t _flags_save_string = ndr->flags;
402
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
403
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
404
if (_ptr_printername) {
405
NDR_PULL_ALLOC(ndr, r->printername);
406
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername));
408
r->printername = NULL;
410
ndr->flags = _flags_save_string;
413
uint32_t _flags_save_string = ndr->flags;
414
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
415
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
416
if (_ptr_servername) {
417
NDR_PULL_ALLOC(ndr, r->servername);
418
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->servername, _ptr_servername));
420
r->servername = NULL;
422
ndr->flags = _flags_save_string;
424
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs));
425
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_jobs));
426
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_bytes));
427
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->time));
428
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->global_counter));
429
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
430
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
431
NDR_CHECK(ndr_pull_spoolss_Build(ndr, NDR_SCALARS, &r->free_build));
432
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->spooling));
433
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_spooling));
434
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_counter));
435
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_error_out_of_paper));
436
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_error_not_ready));
437
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->job_error));
438
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->number_of_processors));
439
NDR_CHECK(ndr_pull_spoolss_ProcessorType(ndr, NDR_SCALARS, &r->processor_type));
440
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->high_part_total_bytes));
441
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->change_id));
442
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_error));
443
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
444
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumerate_network_printers));
445
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->c_setprinter));
446
NDR_CHECK(ndr_pull_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, &r->processor_architecture));
447
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->processor_level));
448
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ref_ic));
449
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
450
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3));
451
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
453
if (ndr_flags & NDR_BUFFERS) {
455
uint32_t _flags_save_string = ndr->flags;
456
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
457
if (r->printername) {
458
uint32_t _relative_save_offset;
459
_relative_save_offset = ndr->offset;
460
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername));
461
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
462
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
463
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
464
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
465
if (ndr->offset > ndr->relative_highest_offset) {
466
ndr->relative_highest_offset = ndr->offset;
468
ndr->offset = _relative_save_offset;
470
ndr->flags = _flags_save_string;
473
uint32_t _flags_save_string = ndr->flags;
474
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
476
uint32_t _relative_save_offset;
477
_relative_save_offset = ndr->offset;
478
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->servername));
479
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
480
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
481
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername));
482
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
483
if (ndr->offset > ndr->relative_highest_offset) {
484
ndr->relative_highest_offset = ndr->offset;
486
ndr->offset = _relative_save_offset;
488
ndr->flags = _flags_save_string;
491
return NDR_ERR_SUCCESS;
494
_PUBLIC_ void ndr_print_spoolss_PrinterInfo0(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo0 *r)
496
ndr_print_struct(ndr, name, "spoolss_PrinterInfo0");
497
if (r == NULL) { ndr_print_null(ndr); return; }
499
ndr_print_ptr(ndr, "printername", r->printername);
501
if (r->printername) {
502
ndr_print_string(ndr, "printername", r->printername);
505
ndr_print_ptr(ndr, "servername", r->servername);
508
ndr_print_string(ndr, "servername", r->servername);
511
ndr_print_uint32(ndr, "cjobs", r->cjobs);
512
ndr_print_uint32(ndr, "total_jobs", r->total_jobs);
513
ndr_print_uint32(ndr, "total_bytes", r->total_bytes);
514
ndr_print_spoolss_Time(ndr, "time", &r->time);
515
ndr_print_uint32(ndr, "global_counter", r->global_counter);
516
ndr_print_uint32(ndr, "total_pages", r->total_pages);
517
ndr_print_uint32(ndr, "version", r->version);
518
ndr_print_spoolss_Build(ndr, "free_build", r->free_build);
519
ndr_print_uint32(ndr, "spooling", r->spooling);
520
ndr_print_uint32(ndr, "max_spooling", r->max_spooling);
521
ndr_print_uint32(ndr, "session_counter", r->session_counter);
522
ndr_print_uint32(ndr, "num_error_out_of_paper", r->num_error_out_of_paper);
523
ndr_print_uint32(ndr, "num_error_not_ready", r->num_error_not_ready);
524
ndr_print_spoolss_JobStatus(ndr, "job_error", r->job_error);
525
ndr_print_uint32(ndr, "number_of_processors", r->number_of_processors);
526
ndr_print_spoolss_ProcessorType(ndr, "processor_type", r->processor_type);
527
ndr_print_uint32(ndr, "high_part_total_bytes", r->high_part_total_bytes);
528
ndr_print_uint32(ndr, "change_id", r->change_id);
529
ndr_print_WERROR(ndr, "last_error", r->last_error);
530
ndr_print_spoolss_PrinterStatus(ndr, "status", r->status);
531
ndr_print_uint32(ndr, "enumerate_network_printers", r->enumerate_network_printers);
532
ndr_print_uint32(ndr, "c_setprinter", r->c_setprinter);
533
ndr_print_spoolss_ProcessorArchitecture(ndr, "processor_architecture", r->processor_architecture);
534
ndr_print_uint16(ndr, "processor_level", r->processor_level);
535
ndr_print_uint32(ndr, "ref_ic", r->ref_ic);
536
ndr_print_uint32(ndr, "reserved2", r->reserved2);
537
ndr_print_uint32(ndr, "reserved3", r->reserved3);
541
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo0(const struct spoolss_PrinterInfo0 *r, int flags)
543
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo0);
546
static enum ndr_err_code ndr_push_spoolss_DM_Signature(struct ndr_push *ndr, int ndr_flags, enum spoolss_DM_Signature r)
548
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
549
return NDR_ERR_SUCCESS;
552
static enum ndr_err_code ndr_pull_spoolss_DM_Signature(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DM_Signature *r)
555
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
557
return NDR_ERR_SUCCESS;
560
_PUBLIC_ void ndr_print_spoolss_DM_Signature(struct ndr_print *ndr, const char *name, enum spoolss_DM_Signature r)
562
const char *val = NULL;
565
case SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA: val = "SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA"; break;
566
case SPOOLSS_DM_SIGNATURE_JTEXP: val = "SPOOLSS_DM_SIGNATURE_JTEXP"; break;
567
case SPOOLSS_DM_SIGNATURE_PSEXTRA: val = "SPOOLSS_DM_SIGNATURE_PSEXTRA"; break;
569
ndr_print_enum(ndr, name, "ENUM", val, r);
572
static enum ndr_err_code ndr_push_spoolss_DM_Layout(struct ndr_push *ndr, int ndr_flags, enum spoolss_DM_Layout r)
574
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
575
return NDR_ERR_SUCCESS;
578
static enum ndr_err_code ndr_pull_spoolss_DM_Layout(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DM_Layout *r)
581
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
583
return NDR_ERR_SUCCESS;
586
_PUBLIC_ void ndr_print_spoolss_DM_Layout(struct ndr_print *ndr, const char *name, enum spoolss_DM_Layout r)
588
const char *val = NULL;
591
case SPOOLSS_DM_LAYOUT_NUP_DISABLED: val = "SPOOLSS_DM_LAYOUT_NUP_DISABLED"; break;
592
case SPOOLSS_DM_LAYOUT_NUP_2: val = "SPOOLSS_DM_LAYOUT_NUP_2"; break;
593
case SPOOLSS_DM_LAYOUT_NUP_4: val = "SPOOLSS_DM_LAYOUT_NUP_4"; break;
594
case SPOOLSS_DM_LAYOUT_NUP_6: val = "SPOOLSS_DM_LAYOUT_NUP_6"; break;
595
case SPOOLSS_DM_LAYOUT_NUP_9: val = "SPOOLSS_DM_LAYOUT_NUP_9"; break;
596
case SPOOLSS_DM_LAYOUT_NUP_16: val = "SPOOLSS_DM_LAYOUT_NUP_16"; break;
597
case SPOOLSS_DM_LAYOUT_BOOKLET: val = "SPOOLSS_DM_LAYOUT_BOOKLET"; break;
599
ndr_print_enum(ndr, name, "ENUM", val, r);
602
static enum ndr_err_code ndr_push_spoolss_DM_NupDirection(struct ndr_push *ndr, int ndr_flags, enum spoolss_DM_NupDirection r)
604
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
605
return NDR_ERR_SUCCESS;
608
static enum ndr_err_code ndr_pull_spoolss_DM_NupDirection(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DM_NupDirection *r)
611
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
613
return NDR_ERR_SUCCESS;
616
_PUBLIC_ void ndr_print_spoolss_DM_NupDirection(struct ndr_print *ndr, const char *name, enum spoolss_DM_NupDirection r)
618
const char *val = NULL;
621
case SPOOLSS_DM_NUP_DIRECTION_L2R_T2B: val = "SPOOLSS_DM_NUP_DIRECTION_L2R_T2B"; break;
622
case SPOOLSS_DM_NUP_DIRECTION_T2B_L2R: val = "SPOOLSS_DM_NUP_DIRECTION_T2B_L2R"; break;
623
case SPOOLSS_DM_NUP_DIRECTION_R2L_T2B: val = "SPOOLSS_DM_NUP_DIRECTION_R2L_T2B"; break;
624
case SPOOLSS_DM_NUP_DIRECTION_T2B_R2L: val = "SPOOLSS_DM_NUP_DIRECTION_T2B_R2L"; break;
626
ndr_print_enum(ndr, name, "ENUM", val, r);
629
static enum ndr_err_code ndr_push_spoolss_DM_NupBorderFlags(struct ndr_push *ndr, int ndr_flags, enum spoolss_DM_NupBorderFlags r)
631
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
632
return NDR_ERR_SUCCESS;
635
static enum ndr_err_code ndr_pull_spoolss_DM_NupBorderFlags(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DM_NupBorderFlags *r)
638
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
640
return NDR_ERR_SUCCESS;
643
_PUBLIC_ void ndr_print_spoolss_DM_NupBorderFlags(struct ndr_print *ndr, const char *name, enum spoolss_DM_NupBorderFlags r)
645
const char *val = NULL;
648
case SPOOLSS_DM_NUP_BORDER_PRINT: val = "SPOOLSS_DM_NUP_BORDER_PRINT"; break;
649
case SPOOLSS_DM_NUP_BORDER_NONE: val = "SPOOLSS_DM_NUP_BORDER_NONE"; break;
651
ndr_print_enum(ndr, name, "ENUM", val, r);
654
static enum ndr_err_code ndr_push_spoolss_DM_BookletFlags(struct ndr_push *ndr, int ndr_flags, enum spoolss_DM_BookletFlags r)
656
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
657
return NDR_ERR_SUCCESS;
660
static enum ndr_err_code ndr_pull_spoolss_DM_BookletFlags(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DM_BookletFlags *r)
663
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
665
return NDR_ERR_SUCCESS;
668
_PUBLIC_ void ndr_print_spoolss_DM_BookletFlags(struct ndr_print *ndr, const char *name, enum spoolss_DM_BookletFlags r)
670
const char *val = NULL;
673
case SPOOLSS_DM_BOOKLET_LEFT_FLIP: val = "SPOOLSS_DM_BOOKLET_LEFT_FLIP"; break;
674
case SPOOLSS_DM_BOOKLET_RIGHT_FLIP: val = "SPOOLSS_DM_BOOKLET_RIGHT_FLIP"; break;
676
ndr_print_enum(ndr, name, "ENUM", val, r);
679
static enum ndr_err_code ndr_push_spoolss_DMUNI_Quality(struct ndr_push *ndr, int ndr_flags, enum spoolss_DMUNI_Quality r)
681
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
682
return NDR_ERR_SUCCESS;
685
static enum ndr_err_code ndr_pull_spoolss_DMUNI_Quality(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DMUNI_Quality *r)
688
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
690
return NDR_ERR_SUCCESS;
693
_PUBLIC_ void ndr_print_spoolss_DMUNI_Quality(struct ndr_print *ndr, const char *name, enum spoolss_DMUNI_Quality r)
695
const char *val = NULL;
698
case SPOOLSS_DM_UNI_QUALITY_BEST: val = "SPOOLSS_DM_UNI_QUALITY_BEST"; break;
699
case SPOOLSS_DM_UNI_QUALITY_MEDIUM: val = "SPOOLSS_DM_UNI_QUALITY_MEDIUM"; break;
700
case SPOOLSS_DM_UNI_QUALITY_DRAFT: val = "SPOOLSS_DM_UNI_QUALITY_DRAFT"; break;
702
ndr_print_enum(ndr, name, "ENUM", val, r);
705
static enum ndr_err_code ndr_push_spoolss_DMUNI_Flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
707
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
708
return NDR_ERR_SUCCESS;
711
static enum ndr_err_code ndr_pull_spoolss_DMUNI_Flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
714
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
716
return NDR_ERR_SUCCESS;
719
_PUBLIC_ void ndr_print_spoolss_DMUNI_Flags(struct ndr_print *ndr, const char *name, uint32_t r)
721
ndr_print_uint32(ndr, name, r);
723
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_DM_UNI_FLAGS_PRINT_TEXT_AS_GRAPHICS", SPOOLSS_DM_UNI_FLAGS_PRINT_TEXT_AS_GRAPHICS, r);
724
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_DM_UNI_FLAGS_AVOID_EMFSPOOL", SPOOLSS_DM_UNI_FLAGS_AVOID_EMFSPOOL, r);
725
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_DM_UNI_FLAGS_CUSTOM_HALFTONING", SPOOLSS_DM_UNI_FLAGS_CUSTOM_HALFTONING, r);
729
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_UNIDRVEXTRA(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UNIDRVEXTRA *r)
731
uint32_t cntr_wReserved_0;
732
uint32_t cntr_aOptions_0;
733
if (ndr_flags & NDR_SCALARS) {
734
NDR_CHECK(ndr_push_align(ndr, 4));
735
NDR_CHECK(ndr_push_spoolss_DM_Signature(ndr, NDR_SCALARS, SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA));
736
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0x0022));
737
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->wCoreJTExpSize));
738
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_spoolss_UNIDRVEXTRA(r, ndr->flags) + r->wCoreJTExpSize));
739
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->wOEMExtra));
740
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dwChecksum32));
741
NDR_CHECK(ndr_push_spoolss_DMUNI_Flags(ndr, NDR_SCALARS, r->dwFlags));
742
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bReversePrint));
743
NDR_CHECK(ndr_push_spoolss_DM_Layout(ndr, NDR_SCALARS, r->iLayout));
744
NDR_CHECK(ndr_push_spoolss_DMUNI_Quality(ndr, NDR_SCALARS, r->iQuality));
745
for (cntr_wReserved_0 = 0; cntr_wReserved_0 < 6; cntr_wReserved_0++) {
746
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->wReserved[cntr_wReserved_0]));
748
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dwOptions));
749
for (cntr_aOptions_0 = 0; cntr_aOptions_0 < 128; cntr_aOptions_0++) {
750
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->aOptions[cntr_aOptions_0]));
752
NDR_CHECK(ndr_push_spoolss_DM_NupDirection(ndr, NDR_SCALARS, r->dwNupDirection));
753
NDR_CHECK(ndr_push_spoolss_DM_NupBorderFlags(ndr, NDR_SCALARS, r->dwNupBorderFlags));
754
NDR_CHECK(ndr_push_spoolss_DM_BookletFlags(ndr, NDR_SCALARS, r->dwBookletFlags));
755
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
757
if (ndr_flags & NDR_BUFFERS) {
759
return NDR_ERR_SUCCESS;
762
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_UNIDRVEXTRA(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UNIDRVEXTRA *r)
764
uint32_t cntr_wReserved_0;
765
uint32_t cntr_aOptions_0;
766
if (ndr_flags & NDR_SCALARS) {
767
NDR_CHECK(ndr_pull_align(ndr, 4));
768
NDR_CHECK(ndr_pull_spoolss_DM_Signature(ndr, NDR_SCALARS, &r->dwSignature));
769
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->wVer));
770
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->wCoreJTExpSize));
771
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->wCoreFullSize));
772
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->wOEMExtra));
773
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dwChecksum32));
774
NDR_CHECK(ndr_pull_spoolss_DMUNI_Flags(ndr, NDR_SCALARS, &r->dwFlags));
775
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bReversePrint));
776
NDR_CHECK(ndr_pull_spoolss_DM_Layout(ndr, NDR_SCALARS, &r->iLayout));
777
NDR_CHECK(ndr_pull_spoolss_DMUNI_Quality(ndr, NDR_SCALARS, &r->iQuality));
778
for (cntr_wReserved_0 = 0; cntr_wReserved_0 < 6; cntr_wReserved_0++) {
779
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->wReserved[cntr_wReserved_0]));
781
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dwOptions));
782
for (cntr_aOptions_0 = 0; cntr_aOptions_0 < 128; cntr_aOptions_0++) {
783
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->aOptions[cntr_aOptions_0]));
785
NDR_CHECK(ndr_pull_spoolss_DM_NupDirection(ndr, NDR_SCALARS, &r->dwNupDirection));
786
NDR_CHECK(ndr_pull_spoolss_DM_NupBorderFlags(ndr, NDR_SCALARS, &r->dwNupBorderFlags));
787
NDR_CHECK(ndr_pull_spoolss_DM_BookletFlags(ndr, NDR_SCALARS, &r->dwBookletFlags));
788
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
790
if (ndr_flags & NDR_BUFFERS) {
792
return NDR_ERR_SUCCESS;
795
_PUBLIC_ void ndr_print_spoolss_UNIDRVEXTRA(struct ndr_print *ndr, const char *name, const struct spoolss_UNIDRVEXTRA *r)
797
uint32_t cntr_wReserved_0;
798
uint32_t cntr_aOptions_0;
799
ndr_print_struct(ndr, name, "spoolss_UNIDRVEXTRA");
800
if (r == NULL) { ndr_print_null(ndr); return; }
802
ndr_print_spoolss_DM_Signature(ndr, "dwSignature", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA:r->dwSignature);
803
ndr_print_uint16(ndr, "wVer", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x0022:r->wVer);
804
ndr_print_uint16(ndr, "wCoreJTExpSize", r->wCoreJTExpSize);
805
ndr_print_uint16(ndr, "wCoreFullSize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_spoolss_UNIDRVEXTRA(r, ndr->flags) + r->wCoreJTExpSize:r->wCoreFullSize);
806
ndr_print_uint16(ndr, "wOEMExtra", r->wOEMExtra);
807
ndr_print_uint32(ndr, "dwChecksum32", r->dwChecksum32);
808
ndr_print_spoolss_DMUNI_Flags(ndr, "dwFlags", r->dwFlags);
809
ndr_print_uint32(ndr, "bReversePrint", r->bReversePrint);
810
ndr_print_spoolss_DM_Layout(ndr, "iLayout", r->iLayout);
811
ndr_print_spoolss_DMUNI_Quality(ndr, "iQuality", r->iQuality);
812
ndr->print(ndr, "%s: ARRAY(%d)", "wReserved", (int)6);
814
for (cntr_wReserved_0=0;cntr_wReserved_0<6;cntr_wReserved_0++) {
815
ndr_print_uint16(ndr, "wReserved", r->wReserved[cntr_wReserved_0]);
818
ndr_print_uint32(ndr, "dwOptions", r->dwOptions);
819
ndr->print(ndr, "%s: ARRAY(%d)", "aOptions", (int)128);
821
for (cntr_aOptions_0=0;cntr_aOptions_0<128;cntr_aOptions_0++) {
822
ndr_print_uint32(ndr, "aOptions", r->aOptions[cntr_aOptions_0]);
825
ndr_print_spoolss_DM_NupDirection(ndr, "dwNupDirection", r->dwNupDirection);
826
ndr_print_spoolss_DM_NupBorderFlags(ndr, "dwNupBorderFlags", r->dwNupBorderFlags);
827
ndr_print_spoolss_DM_BookletFlags(ndr, "dwBookletFlags", r->dwBookletFlags);
831
_PUBLIC_ size_t ndr_size_spoolss_UNIDRVEXTRA(const struct spoolss_UNIDRVEXTRA *r, int flags)
833
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_UNIDRVEXTRA);
836
static enum ndr_err_code ndr_push_spoolss_DeviceModeFields(struct ndr_push *ndr, int ndr_flags, uint32_t r)
838
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
839
return NDR_ERR_SUCCESS;
842
static enum ndr_err_code ndr_pull_spoolss_DeviceModeFields(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
845
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
847
return NDR_ERR_SUCCESS;
850
_PUBLIC_ void ndr_print_spoolss_DeviceModeFields(struct ndr_print *ndr, const char *name, uint32_t r)
852
ndr_print_uint32(ndr, name, r);
854
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_ORIENTATION", DEVMODE_ORIENTATION, r);
855
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PAPERSIZE", DEVMODE_PAPERSIZE, r);
856
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PAPERLENGTH", DEVMODE_PAPERLENGTH, r);
857
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PAPERWIDTH", DEVMODE_PAPERWIDTH, r);
858
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_SCALE", DEVMODE_SCALE, r);
859
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_POSITION", DEVMODE_POSITION, r);
860
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_NUP", DEVMODE_NUP, r);
861
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_COPIES", DEVMODE_COPIES, r);
862
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DEFAULTSOURCE", DEVMODE_DEFAULTSOURCE, r);
863
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PRINTQUALITY", DEVMODE_PRINTQUALITY, r);
864
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_COLOR", DEVMODE_COLOR, r);
865
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DUPLEX", DEVMODE_DUPLEX, r);
866
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_YRESOLUTION", DEVMODE_YRESOLUTION, r);
867
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_TTOPTION", DEVMODE_TTOPTION, r);
868
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_COLLATE", DEVMODE_COLLATE, r);
869
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_FORMNAME", DEVMODE_FORMNAME, r);
870
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_LOGPIXELS", DEVMODE_LOGPIXELS, r);
871
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_BITSPERPEL", DEVMODE_BITSPERPEL, r);
872
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PELSWIDTH", DEVMODE_PELSWIDTH, r);
873
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PELSHEIGHT", DEVMODE_PELSHEIGHT, r);
874
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DISPLAYFLAGS", DEVMODE_DISPLAYFLAGS, r);
875
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DISPLAYFREQUENCY", DEVMODE_DISPLAYFREQUENCY, r);
876
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_ICMMETHOD", DEVMODE_ICMMETHOD, r);
877
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_ICMINTENT", DEVMODE_ICMINTENT, r);
878
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_MEDIATYPE", DEVMODE_MEDIATYPE, r);
879
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DITHERTYPE", DEVMODE_DITHERTYPE, r);
880
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PANNINGWIDTH", DEVMODE_PANNINGWIDTH, r);
881
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PANNINGHEIGHT", DEVMODE_PANNINGHEIGHT, r);
885
static enum ndr_err_code ndr_push_spoolss_DeviceModeSpecVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeSpecVersion r)
887
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
888
return NDR_ERR_SUCCESS;
891
static enum ndr_err_code ndr_pull_spoolss_DeviceModeSpecVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeSpecVersion *r)
894
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
896
return NDR_ERR_SUCCESS;
899
_PUBLIC_ void ndr_print_spoolss_DeviceModeSpecVersion(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeSpecVersion r)
901
const char *val = NULL;
904
case DMSPEC_NT3: val = "DMSPEC_NT3"; break;
905
case DMSPEC_WIN95_98_ME: val = "DMSPEC_WIN95_98_ME"; break;
906
case DMSPEC_NT4_AND_ABOVE: val = "DMSPEC_NT4_AND_ABOVE"; break;
908
ndr_print_enum(ndr, name, "ENUM", val, r);
911
static enum ndr_err_code ndr_push_spoolss_DeviceModeOrientation(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeOrientation r)
913
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
914
return NDR_ERR_SUCCESS;
917
static enum ndr_err_code ndr_pull_spoolss_DeviceModeOrientation(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeOrientation *r)
920
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
922
return NDR_ERR_SUCCESS;
925
_PUBLIC_ void ndr_print_spoolss_DeviceModeOrientation(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeOrientation r)
927
const char *val = NULL;
930
case DMORIENT_PORTRAIT: val = "DMORIENT_PORTRAIT"; break;
931
case DMORIENT_LANDSCAPE: val = "DMORIENT_LANDSCAPE"; break;
933
ndr_print_enum(ndr, name, "ENUM", val, r);
936
static enum ndr_err_code ndr_push_spoolss_DeviceModePaperSize(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModePaperSize r)
938
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
939
return NDR_ERR_SUCCESS;
942
static enum ndr_err_code ndr_pull_spoolss_DeviceModePaperSize(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModePaperSize *r)
945
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
947
return NDR_ERR_SUCCESS;
950
_PUBLIC_ void ndr_print_spoolss_DeviceModePaperSize(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModePaperSize r)
952
const char *val = NULL;
955
case DMPAPER_LETTER: val = "DMPAPER_LETTER"; break;
956
case DMPAPER_LETTERSMALL: val = "DMPAPER_LETTERSMALL"; break;
957
case DMPAPER_TABLOID: val = "DMPAPER_TABLOID"; break;
958
case DMPAPER_LEDGER: val = "DMPAPER_LEDGER"; break;
959
case DMPAPER_LEGAL: val = "DMPAPER_LEGAL"; break;
960
case DMPAPER_STATEMENT: val = "DMPAPER_STATEMENT"; break;
961
case DMPAPER_EXECUTIVE: val = "DMPAPER_EXECUTIVE"; break;
962
case DMPAPER_A3: val = "DMPAPER_A3"; break;
963
case DMPAPER_A4: val = "DMPAPER_A4"; break;
964
case DMPAPER_A4SMALL: val = "DMPAPER_A4SMALL"; break;
965
case DMPAPER_A5: val = "DMPAPER_A5"; break;
966
case DMPAPER_B4: val = "DMPAPER_B4"; break;
967
case DMPAPER_B5: val = "DMPAPER_B5"; break;
968
case DMPAPER_FOLIO: val = "DMPAPER_FOLIO"; break;
969
case DMPAPER_QUARTO: val = "DMPAPER_QUARTO"; break;
970
case DMPAPER_10X14: val = "DMPAPER_10X14"; break;
971
case DMPAPER_11X17: val = "DMPAPER_11X17"; break;
972
case DMPAPER_NOTE: val = "DMPAPER_NOTE"; break;
973
case DMPAPER_ENV_9: val = "DMPAPER_ENV_9"; break;
974
case DMPAPER_ENV_10: val = "DMPAPER_ENV_10"; break;
975
case DMPAPER_ENV_11: val = "DMPAPER_ENV_11"; break;
976
case DMPAPER_ENV_12: val = "DMPAPER_ENV_12"; break;
977
case DMPAPER_ENV_14: val = "DMPAPER_ENV_14"; break;
978
case DMPAPER_CSHEET: val = "DMPAPER_CSHEET"; break;
979
case DMPAPER_DSHEET: val = "DMPAPER_DSHEET"; break;
980
case DMPAPER_ESHEET: val = "DMPAPER_ESHEET"; break;
981
case DMPAPER_ENV_DL: val = "DMPAPER_ENV_DL"; break;
982
case DMPAPER_ENV_C5: val = "DMPAPER_ENV_C5"; break;
983
case DMPAPER_ENV_C3: val = "DMPAPER_ENV_C3"; break;
984
case DMPAPER_ENV_C4: val = "DMPAPER_ENV_C4"; break;
985
case DMPAPER_ENV_C6: val = "DMPAPER_ENV_C6"; break;
986
case DMPAPER_ENV_C65: val = "DMPAPER_ENV_C65"; break;
987
case DMPAPER_ENV_B4: val = "DMPAPER_ENV_B4"; break;
988
case DMPAPER_ENV_B5: val = "DMPAPER_ENV_B5"; break;
989
case DMPAPER_ENV_B6: val = "DMPAPER_ENV_B6"; break;
990
case DMPAPER_ENV_ITALY: val = "DMPAPER_ENV_ITALY"; break;
991
case DMPAPER_ENV_MONARCH: val = "DMPAPER_ENV_MONARCH"; break;
992
case DMPAPER_ENV_PERSONAL: val = "DMPAPER_ENV_PERSONAL"; break;
993
case DMPAPER_FANFOLD_US: val = "DMPAPER_FANFOLD_US"; break;
994
case DMPAPER_FANFOLD_STD_GERMAN: val = "DMPAPER_FANFOLD_STD_GERMAN"; break;
995
case DMPAPER_FANFOLD_LGL_GERMAN: val = "DMPAPER_FANFOLD_LGL_GERMAN"; break;
996
case DMPAPER_DBL_JAPANESE_POSTCARD: val = "DMPAPER_DBL_JAPANESE_POSTCARD"; break;
997
case DMPAPER_A6: val = "DMPAPER_A6"; break;
998
case DMPAPER_JENV_KAKU2: val = "DMPAPER_JENV_KAKU2"; break;
999
case DMPAPER_JENV_KAKU3: val = "DMPAPER_JENV_KAKU3"; break;
1000
case DMPAPER_JENV_CHOU3: val = "DMPAPER_JENV_CHOU3"; break;
1001
case DMPAPER_JENV_CHOU4: val = "DMPAPER_JENV_CHOU4"; break;
1002
case DMPAPER_LETTER_ROTATED: val = "DMPAPER_LETTER_ROTATED"; break;
1003
case DMPAPER_A3_ROTATED: val = "DMPAPER_A3_ROTATED"; break;
1004
case DMPAPER_A4_ROTATED: val = "DMPAPER_A4_ROTATED"; break;
1005
case DMPAPER_A5_ROTATED: val = "DMPAPER_A5_ROTATED"; break;
1006
case DMPAPER_B4_JIS_ROTATED: val = "DMPAPER_B4_JIS_ROTATED"; break;
1007
case DMPAPER_B5_JIS_ROTATED: val = "DMPAPER_B5_JIS_ROTATED"; break;
1008
case DMPAPER_JAPANESE_POSTCARD_ROTATED: val = "DMPAPER_JAPANESE_POSTCARD_ROTATED"; break;
1009
case DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED: val = "DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED"; break;
1010
case DMPAPER_A6_ROTATED: val = "DMPAPER_A6_ROTATED"; break;
1011
case DMPAPER_JENV_KAKU2_ROTATED: val = "DMPAPER_JENV_KAKU2_ROTATED"; break;
1012
case DMPAPER_JENV_KAKU3_ROTATED: val = "DMPAPER_JENV_KAKU3_ROTATED"; break;
1013
case DMPAPER_JENV_CHOU3_ROTATED: val = "DMPAPER_JENV_CHOU3_ROTATED"; break;
1014
case DMPAPER_JENV_CHOU4_ROTATED: val = "DMPAPER_JENV_CHOU4_ROTATED"; break;
1015
case DMPAPER_B6_JIS: val = "DMPAPER_B6_JIS"; break;
1016
case DMPAPER_B6_JIS_ROTATED: val = "DMPAPER_B6_JIS_ROTATED"; break;
1017
case DMPAPER_12X11: val = "DMPAPER_12X11"; break;
1018
case DMPAPER_JENV_YOU4: val = "DMPAPER_JENV_YOU4"; break;
1019
case DMPAPER_JENV_YOU4_ROTATED: val = "DMPAPER_JENV_YOU4_ROTATED"; break;
1020
case DMPAPER_P16K: val = "DMPAPER_P16K"; break;
1021
case DMPAPER_P32K: val = "DMPAPER_P32K"; break;
1022
case DMPAPER_P32KBIG: val = "DMPAPER_P32KBIG"; break;
1023
case DMPAPER_PENV_1: val = "DMPAPER_PENV_1"; break;
1024
case DMPAPER_PENV_2: val = "DMPAPER_PENV_2"; break;
1025
case DMPAPER_PENV_3: val = "DMPAPER_PENV_3"; break;
1026
case DMPAPER_PENV_4: val = "DMPAPER_PENV_4"; break;
1027
case DMPAPER_PENV_5: val = "DMPAPER_PENV_5"; break;
1028
case DMPAPER_PENV_6: val = "DMPAPER_PENV_6"; break;
1029
case DMPAPER_PENV_7: val = "DMPAPER_PENV_7"; break;
1030
case DMPAPER_PENV_8: val = "DMPAPER_PENV_8"; break;
1031
case DMPAPER_PENV_9: val = "DMPAPER_PENV_9"; break;
1032
case DMPAPER_PENV_10: val = "DMPAPER_PENV_10"; break;
1033
case DMPAPER_P16K_ROTATED: val = "DMPAPER_P16K_ROTATED"; break;
1034
case DMPAPER_P32K_ROTATED: val = "DMPAPER_P32K_ROTATED"; break;
1035
case DMPAPER_P32KBIG_ROTATED: val = "DMPAPER_P32KBIG_ROTATED"; break;
1036
case DMPAPER_PENV_1_ROTATED: val = "DMPAPER_PENV_1_ROTATED"; break;
1037
case DMPAPER_PENV_2_ROTATED: val = "DMPAPER_PENV_2_ROTATED"; break;
1038
case DMPAPER_PENV_3_ROTATED: val = "DMPAPER_PENV_3_ROTATED"; break;
1039
case DMPAPER_PENV_4_ROTATED: val = "DMPAPER_PENV_4_ROTATED"; break;
1040
case DMPAPER_PENV_5_ROTATED: val = "DMPAPER_PENV_5_ROTATED"; break;
1041
case DMPAPER_PENV_6_ROTATED: val = "DMPAPER_PENV_6_ROTATED"; break;
1042
case DMPAPER_PENV_7_ROTATED: val = "DMPAPER_PENV_7_ROTATED"; break;
1043
case DMPAPER_PENV_8_ROTATED: val = "DMPAPER_PENV_8_ROTATED"; break;
1044
case DMPAPER_PENV_9_ROTATED: val = "DMPAPER_PENV_9_ROTATED"; break;
1045
case DMPAPER_PENV_10_ROTATED: val = "DMPAPER_PENV_10_ROTATED"; break;
1047
ndr_print_enum(ndr, name, "ENUM", val, r);
1050
static enum ndr_err_code ndr_push_spoolss_DeviceModeDefaultSource(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeDefaultSource r)
1052
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
1053
return NDR_ERR_SUCCESS;
1056
static enum ndr_err_code ndr_pull_spoolss_DeviceModeDefaultSource(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeDefaultSource *r)
1059
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
1061
return NDR_ERR_SUCCESS;
1064
_PUBLIC_ void ndr_print_spoolss_DeviceModeDefaultSource(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDefaultSource r)
1066
const char *val = NULL;
1069
case DMBIN_UPPER: val = "DMBIN_UPPER"; break;
1070
case DMBIN_LOWER: val = "DMBIN_LOWER"; break;
1071
case DMBIN_MIDDLE: val = "DMBIN_MIDDLE"; break;
1072
case DMBIN_MANUAL: val = "DMBIN_MANUAL"; break;
1073
case DMBIN_ENVELOPE: val = "DMBIN_ENVELOPE"; break;
1074
case DMBIN_ENVMANUAL: val = "DMBIN_ENVMANUAL"; break;
1075
case DMBIN_AUTO: val = "DMBIN_AUTO"; break;
1076
case DMBIN_TRACTOR: val = "DMBIN_TRACTOR"; break;
1077
case DMBIN_SMALLFMT: val = "DMBIN_SMALLFMT"; break;
1078
case DMBIN_LARGEFMT: val = "DMBIN_LARGEFMT"; break;
1079
case DMBIN_LARGECAPACITY: val = "DMBIN_LARGECAPACITY"; break;
1080
case DMBIN_CASSETTE: val = "DMBIN_CASSETTE"; break;
1081
case DMBIN_FORMSOURCE: val = "DMBIN_FORMSOURCE"; break;
1083
ndr_print_enum(ndr, name, "ENUM", val, r);
1086
static enum ndr_err_code ndr_push_spoolss_DeviceModePrintQuality(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModePrintQuality r)
1088
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
1089
return NDR_ERR_SUCCESS;
1092
static enum ndr_err_code ndr_pull_spoolss_DeviceModePrintQuality(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModePrintQuality *r)
1095
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
1097
return NDR_ERR_SUCCESS;
1100
_PUBLIC_ void ndr_print_spoolss_DeviceModePrintQuality(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModePrintQuality r)
1102
const char *val = NULL;
1105
case DMRES_HIGH: val = "DMRES_HIGH"; break;
1106
case DMRES_MEDIUM: val = "DMRES_MEDIUM"; break;
1107
case DMRES_LOW: val = "DMRES_LOW"; break;
1108
case DMRES_DRAFT: val = "DMRES_DRAFT"; break;
1110
ndr_print_enum(ndr, name, "ENUM", val, r);
1113
static enum ndr_err_code ndr_push_spoolss_DeviceModeColor(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeColor r)
1115
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
1116
return NDR_ERR_SUCCESS;
1119
static enum ndr_err_code ndr_pull_spoolss_DeviceModeColor(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeColor *r)
1122
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
1124
return NDR_ERR_SUCCESS;
1127
_PUBLIC_ void ndr_print_spoolss_DeviceModeColor(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeColor r)
1129
const char *val = NULL;
1132
case DMRES_MONOCHROME: val = "DMRES_MONOCHROME"; break;
1133
case DMRES_COLOR: val = "DMRES_COLOR"; break;
1135
ndr_print_enum(ndr, name, "ENUM", val, r);
1138
static enum ndr_err_code ndr_push_spoolss_DeviceModeDuplex(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeDuplex r)
1140
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
1141
return NDR_ERR_SUCCESS;
1144
static enum ndr_err_code ndr_pull_spoolss_DeviceModeDuplex(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeDuplex *r)
1147
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
1149
return NDR_ERR_SUCCESS;
1152
_PUBLIC_ void ndr_print_spoolss_DeviceModeDuplex(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDuplex r)
1154
const char *val = NULL;
1157
case DMDUP_SIMPLEX: val = "DMDUP_SIMPLEX"; break;
1158
case DMDUP_VERTICAL: val = "DMDUP_VERTICAL"; break;
1159
case DMDUP_HORIZONTAL: val = "DMDUP_HORIZONTAL"; break;
1161
ndr_print_enum(ndr, name, "ENUM", val, r);
1164
static enum ndr_err_code ndr_push_spoolss_DeviceModeTTOption(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeTTOption r)
1166
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
1167
return NDR_ERR_SUCCESS;
1170
static enum ndr_err_code ndr_pull_spoolss_DeviceModeTTOption(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeTTOption *r)
1173
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
1175
return NDR_ERR_SUCCESS;
1178
_PUBLIC_ void ndr_print_spoolss_DeviceModeTTOption(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeTTOption r)
1180
const char *val = NULL;
1183
case DMTT_BITMAP: val = "DMTT_BITMAP"; break;
1184
case DMTT_DOWNLOAD: val = "DMTT_DOWNLOAD"; break;
1185
case DMTT_SUBDEV: val = "DMTT_SUBDEV"; break;
1186
case DMTT_DOWNLOAD_OUTLINE: val = "DMTT_DOWNLOAD_OUTLINE"; break;
1188
ndr_print_enum(ndr, name, "ENUM", val, r);
1191
static enum ndr_err_code ndr_push_spoolss_DeviceModeCollate(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeCollate r)
1193
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
1194
return NDR_ERR_SUCCESS;
1197
static enum ndr_err_code ndr_pull_spoolss_DeviceModeCollate(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeCollate *r)
1200
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
1202
return NDR_ERR_SUCCESS;
1205
_PUBLIC_ void ndr_print_spoolss_DeviceModeCollate(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeCollate r)
1207
const char *val = NULL;
1210
case DMCOLLATE_FALSE: val = "DMCOLLATE_FALSE"; break;
1211
case DMCOLLATE_TRUE: val = "DMCOLLATE_TRUE"; break;
1213
ndr_print_enum(ndr, name, "ENUM", val, r);
1216
static enum ndr_err_code ndr_push_spoolss_DeviceModeNUp(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeNUp r)
1218
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1219
return NDR_ERR_SUCCESS;
1222
static enum ndr_err_code ndr_pull_spoolss_DeviceModeNUp(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeNUp *r)
1225
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1227
return NDR_ERR_SUCCESS;
1230
_PUBLIC_ void ndr_print_spoolss_DeviceModeNUp(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeNUp r)
1232
const char *val = NULL;
1235
case DMNUP_SYSTEM: val = "DMNUP_SYSTEM"; break;
1236
case DMNUP_ONEUP: val = "DMNUP_ONEUP"; break;
1238
ndr_print_enum(ndr, name, "ENUM", val, r);
1241
static enum ndr_err_code ndr_push_spoolss_DeviceModeICMMethod(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeICMMethod r)
1243
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1244
return NDR_ERR_SUCCESS;
1247
static enum ndr_err_code ndr_pull_spoolss_DeviceModeICMMethod(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeICMMethod *r)
1250
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1252
return NDR_ERR_SUCCESS;
1255
_PUBLIC_ void ndr_print_spoolss_DeviceModeICMMethod(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeICMMethod r)
1257
const char *val = NULL;
1260
case DMICMMETHOD_NONE: val = "DMICMMETHOD_NONE"; break;
1261
case DMICMMETHOD_SYSTEM: val = "DMICMMETHOD_SYSTEM"; break;
1262
case DMICMMETHOD_DRIVER: val = "DMICMMETHOD_DRIVER"; break;
1263
case DMICMMETHOD_DEVICE: val = "DMICMMETHOD_DEVICE"; break;
1265
ndr_print_enum(ndr, name, "ENUM", val, r);
1268
static enum ndr_err_code ndr_push_spoolss_DeviceModeICMIntent(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeICMIntent r)
1270
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1271
return NDR_ERR_SUCCESS;
1274
static enum ndr_err_code ndr_pull_spoolss_DeviceModeICMIntent(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeICMIntent *r)
1277
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1279
return NDR_ERR_SUCCESS;
1282
_PUBLIC_ void ndr_print_spoolss_DeviceModeICMIntent(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeICMIntent r)
1284
const char *val = NULL;
1287
case DMICM_SATURATE: val = "DMICM_SATURATE"; break;
1288
case DMICM_CONTRAST: val = "DMICM_CONTRAST"; break;
1289
case DMICM_COLORIMETRIC: val = "DMICM_COLORIMETRIC"; break;
1290
case DMICM_ABS_COLORIMETRIC: val = "DMICM_ABS_COLORIMETRIC"; break;
1292
ndr_print_enum(ndr, name, "ENUM", val, r);
1295
static enum ndr_err_code ndr_push_spoolss_DeviceModeMediaType(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeMediaType r)
1297
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1298
return NDR_ERR_SUCCESS;
1301
static enum ndr_err_code ndr_pull_spoolss_DeviceModeMediaType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeMediaType *r)
1304
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1306
return NDR_ERR_SUCCESS;
1309
_PUBLIC_ void ndr_print_spoolss_DeviceModeMediaType(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeMediaType r)
1311
const char *val = NULL;
1314
case DMMEDIA_STANDARD: val = "DMMEDIA_STANDARD"; break;
1315
case DMMEDIA_TRANSPARENCY: val = "DMMEDIA_TRANSPARENCY"; break;
1316
case DMMEDIA_GLOSSY: val = "DMMEDIA_GLOSSY"; break;
1318
ndr_print_enum(ndr, name, "ENUM", val, r);
1321
static enum ndr_err_code ndr_push_spoolss_DeviceModeDitherType(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeDitherType r)
1323
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1324
return NDR_ERR_SUCCESS;
1327
static enum ndr_err_code ndr_pull_spoolss_DeviceModeDitherType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeDitherType *r)
1330
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1332
return NDR_ERR_SUCCESS;
1335
_PUBLIC_ void ndr_print_spoolss_DeviceModeDitherType(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDitherType r)
1337
const char *val = NULL;
1340
case DMDITHER_NONE: val = "DMDITHER_NONE"; break;
1341
case DMDITHER_COARSE: val = "DMDITHER_COARSE"; break;
1342
case DMDITHER_FINE: val = "DMDITHER_FINE"; break;
1343
case DMDITHER_LINEART: val = "DMDITHER_LINEART"; break;
1344
case DMDITHER_ERRORDIFFUSION: val = "DMDITHER_ERRORDIFFUSION"; break;
1345
case DMDITHER_RESERVED6: val = "DMDITHER_RESERVED6"; break;
1346
case DMDITHER_RESERVED7: val = "DMDITHER_RESERVED7"; break;
1347
case DMDITHER_RESERVED8: val = "DMDITHER_RESERVED8"; break;
1348
case DMDITHER_RESERVED9: val = "DMDITHER_RESERVED9"; break;
1349
case DMDITHER_GRAYSCALE: val = "DMDITHER_GRAYSCALE"; break;
1351
ndr_print_enum(ndr, name, "ENUM", val, r);
1354
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DeviceMode(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DeviceMode *r)
1356
if (ndr_flags & NDR_SCALARS) {
1357
NDR_CHECK(ndr_push_align(ndr, 4));
1358
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->devicename, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16));
1359
NDR_CHECK(ndr_push_spoolss_DeviceModeSpecVersion(ndr, NDR_SCALARS, r->specversion));
1360
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->driverversion));
1361
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
1362
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->driverextra_data.length));
1363
NDR_CHECK(ndr_push_spoolss_DeviceModeFields(ndr, NDR_SCALARS, r->fields));
1364
NDR_CHECK(ndr_push_spoolss_DeviceModeOrientation(ndr, NDR_SCALARS, r->orientation));
1365
NDR_CHECK(ndr_push_spoolss_DeviceModePaperSize(ndr, NDR_SCALARS, r->papersize));
1366
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->paperlength));
1367
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->paperwidth));
1368
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->scale));
1369
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->copies));
1370
NDR_CHECK(ndr_push_spoolss_DeviceModeDefaultSource(ndr, NDR_SCALARS, r->defaultsource));
1371
NDR_CHECK(ndr_push_spoolss_DeviceModePrintQuality(ndr, NDR_SCALARS, r->printquality));
1372
NDR_CHECK(ndr_push_spoolss_DeviceModeColor(ndr, NDR_SCALARS, r->color));
1373
NDR_CHECK(ndr_push_spoolss_DeviceModeDuplex(ndr, NDR_SCALARS, r->duplex));
1374
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->yresolution));
1375
NDR_CHECK(ndr_push_spoolss_DeviceModeTTOption(ndr, NDR_SCALARS, r->ttoption));
1376
NDR_CHECK(ndr_push_spoolss_DeviceModeCollate(ndr, NDR_SCALARS, r->collate));
1377
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->formname, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16));
1378
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logpixels));
1379
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bitsperpel));
1380
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pelswidth));
1381
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pelsheight));
1382
NDR_CHECK(ndr_push_spoolss_DeviceModeNUp(ndr, NDR_SCALARS, r->displayflags));
1383
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->displayfrequency));
1384
NDR_CHECK(ndr_push_spoolss_DeviceModeICMMethod(ndr, NDR_SCALARS, r->icmmethod));
1385
NDR_CHECK(ndr_push_spoolss_DeviceModeICMIntent(ndr, NDR_SCALARS, r->icmintent));
1386
NDR_CHECK(ndr_push_spoolss_DeviceModeMediaType(ndr, NDR_SCALARS, r->mediatype));
1387
NDR_CHECK(ndr_push_spoolss_DeviceModeDitherType(ndr, NDR_SCALARS, r->dithertype));
1388
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved1));
1389
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved2));
1390
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->panningwidth));
1391
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->panningheight));
1393
uint32_t _flags_save_DATA_BLOB = ndr->flags;
1394
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1396
struct ndr_push *_ndr_driverextra_data;
1397
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_driverextra_data, 0, r->driverextra_data.length));
1398
NDR_CHECK(ndr_push_DATA_BLOB(_ndr_driverextra_data, NDR_SCALARS, r->driverextra_data));
1399
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_driverextra_data, 0, r->driverextra_data.length));
1401
ndr->flags = _flags_save_DATA_BLOB;
1403
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1405
if (ndr_flags & NDR_BUFFERS) {
1407
return NDR_ERR_SUCCESS;
1410
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DeviceMode(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DeviceMode *r)
1412
if (ndr_flags & NDR_SCALARS) {
1413
NDR_CHECK(ndr_pull_align(ndr, 4));
1414
NDR_CHECK(ndr_pull_charset_to_null(ndr, NDR_SCALARS, &r->devicename, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16));
1415
NDR_CHECK(ndr_pull_spoolss_DeviceModeSpecVersion(ndr, NDR_SCALARS, &r->specversion));
1416
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->driverversion));
1417
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
1418
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->__driverextra_length));
1419
NDR_CHECK(ndr_pull_spoolss_DeviceModeFields(ndr, NDR_SCALARS, &r->fields));
1420
NDR_CHECK(ndr_pull_spoolss_DeviceModeOrientation(ndr, NDR_SCALARS, &r->orientation));
1421
NDR_CHECK(ndr_pull_spoolss_DeviceModePaperSize(ndr, NDR_SCALARS, &r->papersize));
1422
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->paperlength));
1423
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->paperwidth));
1424
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->scale));
1425
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->copies));
1426
NDR_CHECK(ndr_pull_spoolss_DeviceModeDefaultSource(ndr, NDR_SCALARS, &r->defaultsource));
1427
NDR_CHECK(ndr_pull_spoolss_DeviceModePrintQuality(ndr, NDR_SCALARS, &r->printquality));
1428
NDR_CHECK(ndr_pull_spoolss_DeviceModeColor(ndr, NDR_SCALARS, &r->color));
1429
NDR_CHECK(ndr_pull_spoolss_DeviceModeDuplex(ndr, NDR_SCALARS, &r->duplex));
1430
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->yresolution));
1431
NDR_CHECK(ndr_pull_spoolss_DeviceModeTTOption(ndr, NDR_SCALARS, &r->ttoption));
1432
NDR_CHECK(ndr_pull_spoolss_DeviceModeCollate(ndr, NDR_SCALARS, &r->collate));
1433
NDR_CHECK(ndr_pull_charset_to_null(ndr, NDR_SCALARS, &r->formname, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16));
1434
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logpixels));
1435
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bitsperpel));
1436
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pelswidth));
1437
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pelsheight));
1438
NDR_CHECK(ndr_pull_spoolss_DeviceModeNUp(ndr, NDR_SCALARS, &r->displayflags));
1439
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->displayfrequency));
1440
NDR_CHECK(ndr_pull_spoolss_DeviceModeICMMethod(ndr, NDR_SCALARS, &r->icmmethod));
1441
NDR_CHECK(ndr_pull_spoolss_DeviceModeICMIntent(ndr, NDR_SCALARS, &r->icmintent));
1442
NDR_CHECK(ndr_pull_spoolss_DeviceModeMediaType(ndr, NDR_SCALARS, &r->mediatype));
1443
NDR_CHECK(ndr_pull_spoolss_DeviceModeDitherType(ndr, NDR_SCALARS, &r->dithertype));
1444
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1445
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
1446
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->panningwidth));
1447
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->panningheight));
1449
uint32_t _flags_save_DATA_BLOB = ndr->flags;
1450
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1452
struct ndr_pull *_ndr_driverextra_data;
1453
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_driverextra_data, 0, r->__driverextra_length));
1454
NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_driverextra_data, NDR_SCALARS, &r->driverextra_data));
1455
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_driverextra_data, 0, r->__driverextra_length));
1457
ndr->flags = _flags_save_DATA_BLOB;
1459
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1461
if (ndr_flags & NDR_BUFFERS) {
1463
return NDR_ERR_SUCCESS;
1466
_PUBLIC_ void ndr_print_spoolss_DeviceMode(struct ndr_print *ndr, const char *name, const struct spoolss_DeviceMode *r)
1468
ndr_print_struct(ndr, name, "spoolss_DeviceMode");
1469
if (r == NULL) { ndr_print_null(ndr); return; }
1471
ndr_print_string(ndr, "devicename", r->devicename);
1472
ndr_print_spoolss_DeviceModeSpecVersion(ndr, "specversion", r->specversion);
1473
ndr_print_uint16(ndr, "driverversion", r->driverversion);
1474
ndr_print_uint16(ndr, "size", r->size);
1475
ndr_print_uint16(ndr, "__driverextra_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->driverextra_data.length:r->__driverextra_length);
1476
ndr_print_spoolss_DeviceModeFields(ndr, "fields", r->fields);
1477
ndr_print_spoolss_DeviceModeOrientation(ndr, "orientation", r->orientation);
1478
ndr_print_spoolss_DeviceModePaperSize(ndr, "papersize", r->papersize);
1479
ndr_print_uint16(ndr, "paperlength", r->paperlength);
1480
ndr_print_uint16(ndr, "paperwidth", r->paperwidth);
1481
ndr_print_uint16(ndr, "scale", r->scale);
1482
ndr_print_uint16(ndr, "copies", r->copies);
1483
ndr_print_spoolss_DeviceModeDefaultSource(ndr, "defaultsource", r->defaultsource);
1484
ndr_print_spoolss_DeviceModePrintQuality(ndr, "printquality", r->printquality);
1485
ndr_print_spoolss_DeviceModeColor(ndr, "color", r->color);
1486
ndr_print_spoolss_DeviceModeDuplex(ndr, "duplex", r->duplex);
1487
ndr_print_uint16(ndr, "yresolution", r->yresolution);
1488
ndr_print_spoolss_DeviceModeTTOption(ndr, "ttoption", r->ttoption);
1489
ndr_print_spoolss_DeviceModeCollate(ndr, "collate", r->collate);
1490
ndr_print_string(ndr, "formname", r->formname);
1491
ndr_print_uint16(ndr, "logpixels", r->logpixels);
1492
ndr_print_uint32(ndr, "bitsperpel", r->bitsperpel);
1493
ndr_print_uint32(ndr, "pelswidth", r->pelswidth);
1494
ndr_print_uint32(ndr, "pelsheight", r->pelsheight);
1495
ndr_print_spoolss_DeviceModeNUp(ndr, "displayflags", r->displayflags);
1496
ndr_print_uint32(ndr, "displayfrequency", r->displayfrequency);
1497
ndr_print_spoolss_DeviceModeICMMethod(ndr, "icmmethod", r->icmmethod);
1498
ndr_print_spoolss_DeviceModeICMIntent(ndr, "icmintent", r->icmintent);
1499
ndr_print_spoolss_DeviceModeMediaType(ndr, "mediatype", r->mediatype);
1500
ndr_print_spoolss_DeviceModeDitherType(ndr, "dithertype", r->dithertype);
1501
ndr_print_uint32(ndr, "reserved1", r->reserved1);
1502
ndr_print_uint32(ndr, "reserved2", r->reserved2);
1503
ndr_print_uint32(ndr, "panningwidth", r->panningwidth);
1504
ndr_print_uint32(ndr, "panningheight", r->panningheight);
1505
ndr_print_DATA_BLOB(ndr, "driverextra_data", r->driverextra_data);
1509
_PUBLIC_ size_t ndr_size_spoolss_DeviceMode(const struct spoolss_DeviceMode *r, int flags)
1511
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DeviceMode);
1514
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_EnumPrinterFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1516
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1517
return NDR_ERR_SUCCESS;
1520
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_EnumPrinterFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1523
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1525
return NDR_ERR_SUCCESS;
1528
_PUBLIC_ void ndr_print_spoolss_EnumPrinterFlags(struct ndr_print *ndr, const char *name, uint32_t r)
1530
ndr_print_uint32(ndr, name, r);
1532
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_DEFAULT", PRINTER_ENUM_DEFAULT, r);
1533
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_LOCAL", PRINTER_ENUM_LOCAL, r);
1534
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_CONNECTIONS", PRINTER_ENUM_CONNECTIONS, r);
1535
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_FAVORITE", PRINTER_ENUM_FAVORITE, r);
1536
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_NAME", PRINTER_ENUM_NAME, r);
1537
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_REMOTE", PRINTER_ENUM_REMOTE, r);
1538
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_SHARED", PRINTER_ENUM_SHARED, r);
1539
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_NETWORK", PRINTER_ENUM_NETWORK, r);
1540
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_EXPAND", PRINTER_ENUM_EXPAND, r);
1541
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_CONTAINER", PRINTER_ENUM_CONTAINER, r);
1542
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON1", PRINTER_ENUM_ICON1, r);
1543
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON2", PRINTER_ENUM_ICON2, r);
1544
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON3", PRINTER_ENUM_ICON3, r);
1545
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON4", PRINTER_ENUM_ICON4, r);
1546
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON5", PRINTER_ENUM_ICON5, r);
1547
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON6", PRINTER_ENUM_ICON6, r);
1548
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON7", PRINTER_ENUM_ICON7, r);
1549
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON8", PRINTER_ENUM_ICON8, r);
1550
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_HIDE", PRINTER_ENUM_HIDE, r);
1554
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1556
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1557
return NDR_ERR_SUCCESS;
1560
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1563
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1565
return NDR_ERR_SUCCESS;
1568
_PUBLIC_ void ndr_print_spoolss_PrinterAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
1570
ndr_print_uint32(ndr, name, r);
1572
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_QUEUED", PRINTER_ATTRIBUTE_QUEUED, r);
1573
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_DIRECT", PRINTER_ATTRIBUTE_DIRECT, r);
1574
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_DEFAULT", PRINTER_ATTRIBUTE_DEFAULT, r);
1575
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_SHARED", PRINTER_ATTRIBUTE_SHARED, r);
1576
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_NETWORK", PRINTER_ATTRIBUTE_NETWORK, r);
1577
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_HIDDEN", PRINTER_ATTRIBUTE_HIDDEN, r);
1578
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_LOCAL", PRINTER_ATTRIBUTE_LOCAL, r);
1579
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_ENABLE_DEVQ", PRINTER_ATTRIBUTE_ENABLE_DEVQ, r);
1580
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS", PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS, r);
1581
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST", PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST, r);
1582
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_WORK_OFFLINE", PRINTER_ATTRIBUTE_WORK_OFFLINE, r);
1583
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_ENABLE_BIDI", PRINTER_ATTRIBUTE_ENABLE_BIDI, r);
1584
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_RAW_ONLY", PRINTER_ATTRIBUTE_RAW_ONLY, r);
1585
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_PUBLISHED", PRINTER_ATTRIBUTE_PUBLISHED, r);
1586
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_FAX", PRINTER_ATTRIBUTE_FAX, r);
1587
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_TS", PRINTER_ATTRIBUTE_TS, r);
1591
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo1 *r)
1593
if (ndr_flags & NDR_SCALARS) {
1594
NDR_CHECK(ndr_push_align(ndr, 5));
1595
NDR_CHECK(ndr_push_spoolss_EnumPrinterFlags(ndr, NDR_SCALARS, r->flags));
1597
uint32_t _flags_save_string = ndr->flags;
1598
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1599
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->description));
1600
ndr->flags = _flags_save_string;
1603
uint32_t _flags_save_string = ndr->flags;
1604
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1605
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->name));
1606
ndr->flags = _flags_save_string;
1609
uint32_t _flags_save_string = ndr->flags;
1610
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1611
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->comment));
1612
ndr->flags = _flags_save_string;
1614
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1616
if (ndr_flags & NDR_BUFFERS) {
1618
uint32_t _flags_save_string = ndr->flags;
1619
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1620
if (r->description) {
1621
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->description));
1622
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description));
1623
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->description));
1625
ndr->flags = _flags_save_string;
1628
uint32_t _flags_save_string = ndr->flags;
1629
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1631
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->name));
1632
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name));
1633
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->name));
1635
ndr->flags = _flags_save_string;
1638
uint32_t _flags_save_string = ndr->flags;
1639
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1641
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->comment));
1642
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->comment));
1643
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->comment));
1645
ndr->flags = _flags_save_string;
1648
return NDR_ERR_SUCCESS;
1651
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo1 *r)
1653
uint32_t _ptr_description;
1654
TALLOC_CTX *_mem_save_description_0;
1656
TALLOC_CTX *_mem_save_name_0;
1657
uint32_t _ptr_comment;
1658
TALLOC_CTX *_mem_save_comment_0;
1659
if (ndr_flags & NDR_SCALARS) {
1660
NDR_CHECK(ndr_pull_align(ndr, 5));
1661
NDR_CHECK(ndr_pull_spoolss_EnumPrinterFlags(ndr, NDR_SCALARS, &r->flags));
1663
uint32_t _flags_save_string = ndr->flags;
1664
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1665
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description));
1666
if (_ptr_description) {
1667
NDR_PULL_ALLOC(ndr, r->description);
1668
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->description, _ptr_description));
1670
r->description = NULL;
1672
ndr->flags = _flags_save_string;
1675
uint32_t _flags_save_string = ndr->flags;
1676
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1677
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
1679
NDR_PULL_ALLOC(ndr, r->name);
1680
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->name, _ptr_name));
1684
ndr->flags = _flags_save_string;
1687
uint32_t _flags_save_string = ndr->flags;
1688
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1689
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
1691
NDR_PULL_ALLOC(ndr, r->comment);
1692
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->comment, _ptr_comment));
1696
ndr->flags = _flags_save_string;
1698
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1700
if (ndr_flags & NDR_BUFFERS) {
1702
uint32_t _flags_save_string = ndr->flags;
1703
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1704
if (r->description) {
1705
uint32_t _relative_save_offset;
1706
_relative_save_offset = ndr->offset;
1707
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->description));
1708
_mem_save_description_0 = NDR_PULL_GET_MEM_CTX(ndr);
1709
NDR_PULL_SET_MEM_CTX(ndr, r->description, 0);
1710
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->description));
1711
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0);
1712
if (ndr->offset > ndr->relative_highest_offset) {
1713
ndr->relative_highest_offset = ndr->offset;
1715
ndr->offset = _relative_save_offset;
1717
ndr->flags = _flags_save_string;
1720
uint32_t _flags_save_string = ndr->flags;
1721
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1723
uint32_t _relative_save_offset;
1724
_relative_save_offset = ndr->offset;
1725
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->name));
1726
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1727
NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
1728
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name));
1729
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
1730
if (ndr->offset > ndr->relative_highest_offset) {
1731
ndr->relative_highest_offset = ndr->offset;
1733
ndr->offset = _relative_save_offset;
1735
ndr->flags = _flags_save_string;
1738
uint32_t _flags_save_string = ndr->flags;
1739
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1741
uint32_t _relative_save_offset;
1742
_relative_save_offset = ndr->offset;
1743
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->comment));
1744
_mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
1745
NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
1746
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->comment));
1747
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
1748
if (ndr->offset > ndr->relative_highest_offset) {
1749
ndr->relative_highest_offset = ndr->offset;
1751
ndr->offset = _relative_save_offset;
1753
ndr->flags = _flags_save_string;
1756
return NDR_ERR_SUCCESS;
1759
_PUBLIC_ void ndr_print_spoolss_PrinterInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo1 *r)
1761
ndr_print_struct(ndr, name, "spoolss_PrinterInfo1");
1762
if (r == NULL) { ndr_print_null(ndr); return; }
1764
ndr_print_spoolss_EnumPrinterFlags(ndr, "flags", r->flags);
1765
ndr_print_ptr(ndr, "description", r->description);
1767
if (r->description) {
1768
ndr_print_string(ndr, "description", r->description);
1771
ndr_print_ptr(ndr, "name", r->name);
1774
ndr_print_string(ndr, "name", r->name);
1777
ndr_print_ptr(ndr, "comment", r->comment);
1780
ndr_print_string(ndr, "comment", r->comment);
1786
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo1(const struct spoolss_PrinterInfo1 *r, int flags)
1788
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo1);
1791
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo2 *r)
1793
uint32_t _ptr_servername;
1794
TALLOC_CTX *_mem_save_servername_0;
1795
uint32_t _ptr_printername;
1796
TALLOC_CTX *_mem_save_printername_0;
1797
uint32_t _ptr_sharename;
1798
TALLOC_CTX *_mem_save_sharename_0;
1799
uint32_t _ptr_portname;
1800
TALLOC_CTX *_mem_save_portname_0;
1801
uint32_t _ptr_drivername;
1802
TALLOC_CTX *_mem_save_drivername_0;
1803
uint32_t _ptr_comment;
1804
TALLOC_CTX *_mem_save_comment_0;
1805
uint32_t _ptr_location;
1806
TALLOC_CTX *_mem_save_location_0;
1807
uint32_t _ptr_devmode;
1808
TALLOC_CTX *_mem_save_devmode_0;
1809
uint32_t _ptr_sepfile;
1810
TALLOC_CTX *_mem_save_sepfile_0;
1811
uint32_t _ptr_printprocessor;
1812
TALLOC_CTX *_mem_save_printprocessor_0;
1813
uint32_t _ptr_datatype;
1814
TALLOC_CTX *_mem_save_datatype_0;
1815
uint32_t _ptr_parameters;
1816
TALLOC_CTX *_mem_save_parameters_0;
1817
uint32_t _ptr_secdesc;
1818
TALLOC_CTX *_mem_save_secdesc_0;
1819
if (ndr_flags & NDR_SCALARS) {
1820
NDR_CHECK(ndr_pull_align(ndr, 5));
1822
uint32_t _flags_save_string = ndr->flags;
1823
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1824
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
1825
if (_ptr_servername) {
1826
NDR_PULL_ALLOC(ndr, r->servername);
1827
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->servername, _ptr_servername));
1829
r->servername = NULL;
1831
ndr->flags = _flags_save_string;
1834
uint32_t _flags_save_string = ndr->flags;
1835
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1836
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
1837
if (_ptr_printername) {
1838
NDR_PULL_ALLOC(ndr, r->printername);
1839
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername));
1841
r->printername = NULL;
1843
ndr->flags = _flags_save_string;
1846
uint32_t _flags_save_string = ndr->flags;
1847
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1848
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename));
1849
if (_ptr_sharename) {
1850
NDR_PULL_ALLOC(ndr, r->sharename);
1851
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->sharename, _ptr_sharename));
1853
r->sharename = NULL;
1855
ndr->flags = _flags_save_string;
1858
uint32_t _flags_save_string = ndr->flags;
1859
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1860
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname));
1861
if (_ptr_portname) {
1862
NDR_PULL_ALLOC(ndr, r->portname);
1863
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->portname, _ptr_portname));
1867
ndr->flags = _flags_save_string;
1870
uint32_t _flags_save_string = ndr->flags;
1871
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1872
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_drivername));
1873
if (_ptr_drivername) {
1874
NDR_PULL_ALLOC(ndr, r->drivername);
1875
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->drivername, _ptr_drivername));
1877
r->drivername = NULL;
1879
ndr->flags = _flags_save_string;
1882
uint32_t _flags_save_string = ndr->flags;
1883
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1884
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
1886
NDR_PULL_ALLOC(ndr, r->comment);
1887
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->comment, _ptr_comment));
1891
ndr->flags = _flags_save_string;
1894
uint32_t _flags_save_string = ndr->flags;
1895
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1896
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_location));
1897
if (_ptr_location) {
1898
NDR_PULL_ALLOC(ndr, r->location);
1899
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->location, _ptr_location));
1903
ndr->flags = _flags_save_string;
1906
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
1907
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
1908
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
1910
NDR_PULL_ALLOC(ndr, r->devmode);
1911
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
1915
ndr->flags = _flags_save_spoolss_DeviceMode;
1918
uint32_t _flags_save_string = ndr->flags;
1919
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1920
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sepfile));
1922
NDR_PULL_ALLOC(ndr, r->sepfile);
1923
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->sepfile, _ptr_sepfile));
1927
ndr->flags = _flags_save_string;
1930
uint32_t _flags_save_string = ndr->flags;
1931
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1932
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printprocessor));
1933
if (_ptr_printprocessor) {
1934
NDR_PULL_ALLOC(ndr, r->printprocessor);
1935
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printprocessor, _ptr_printprocessor));
1937
r->printprocessor = NULL;
1939
ndr->flags = _flags_save_string;
1942
uint32_t _flags_save_string = ndr->flags;
1943
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1944
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
1945
if (_ptr_datatype) {
1946
NDR_PULL_ALLOC(ndr, r->datatype);
1947
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->datatype, _ptr_datatype));
1951
ndr->flags = _flags_save_string;
1954
uint32_t _flags_save_string = ndr->flags;
1955
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1956
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
1957
if (_ptr_parameters) {
1958
NDR_PULL_ALLOC(ndr, r->parameters);
1959
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->parameters, _ptr_parameters));
1961
r->parameters = NULL;
1963
ndr->flags = _flags_save_string;
1966
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
1967
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
1968
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
1970
NDR_PULL_ALLOC(ndr, r->secdesc);
1971
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
1975
ndr->flags = _flags_save_spoolss_security_descriptor;
1977
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
1978
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
1979
if (r->priority > 99) {
1980
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1982
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->defaultpriority));
1983
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->starttime));
1984
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->untiltime));
1985
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
1986
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs));
1987
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->averageppm));
1988
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1990
if (ndr_flags & NDR_BUFFERS) {
1992
uint32_t _flags_save_string = ndr->flags;
1993
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1994
if (r->servername) {
1995
uint32_t _relative_save_offset;
1996
_relative_save_offset = ndr->offset;
1997
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->servername));
1998
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
1999
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
2000
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername));
2001
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
2002
if (ndr->offset > ndr->relative_highest_offset) {
2003
ndr->relative_highest_offset = ndr->offset;
2005
ndr->offset = _relative_save_offset;
2007
ndr->flags = _flags_save_string;
2010
uint32_t _flags_save_string = ndr->flags;
2011
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2012
if (r->printername) {
2013
uint32_t _relative_save_offset;
2014
_relative_save_offset = ndr->offset;
2015
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername));
2016
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
2017
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
2018
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
2019
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
2020
if (ndr->offset > ndr->relative_highest_offset) {
2021
ndr->relative_highest_offset = ndr->offset;
2023
ndr->offset = _relative_save_offset;
2025
ndr->flags = _flags_save_string;
2028
uint32_t _flags_save_string = ndr->flags;
2029
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2031
uint32_t _relative_save_offset;
2032
_relative_save_offset = ndr->offset;
2033
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->sharename));
2034
_mem_save_sharename_0 = NDR_PULL_GET_MEM_CTX(ndr);
2035
NDR_PULL_SET_MEM_CTX(ndr, r->sharename, 0);
2036
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->sharename));
2037
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0);
2038
if (ndr->offset > ndr->relative_highest_offset) {
2039
ndr->relative_highest_offset = ndr->offset;
2041
ndr->offset = _relative_save_offset;
2043
ndr->flags = _flags_save_string;
2046
uint32_t _flags_save_string = ndr->flags;
2047
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2049
uint32_t _relative_save_offset;
2050
_relative_save_offset = ndr->offset;
2051
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->portname));
2052
_mem_save_portname_0 = NDR_PULL_GET_MEM_CTX(ndr);
2053
NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0);
2054
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->portname));
2055
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0);
2056
if (ndr->offset > ndr->relative_highest_offset) {
2057
ndr->relative_highest_offset = ndr->offset;
2059
ndr->offset = _relative_save_offset;
2061
ndr->flags = _flags_save_string;
2064
uint32_t _flags_save_string = ndr->flags;
2065
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2066
if (r->drivername) {
2067
uint32_t _relative_save_offset;
2068
_relative_save_offset = ndr->offset;
2069
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->drivername));
2070
_mem_save_drivername_0 = NDR_PULL_GET_MEM_CTX(ndr);
2071
NDR_PULL_SET_MEM_CTX(ndr, r->drivername, 0);
2072
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->drivername));
2073
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_drivername_0, 0);
2074
if (ndr->offset > ndr->relative_highest_offset) {
2075
ndr->relative_highest_offset = ndr->offset;
2077
ndr->offset = _relative_save_offset;
2079
ndr->flags = _flags_save_string;
2082
uint32_t _flags_save_string = ndr->flags;
2083
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2085
uint32_t _relative_save_offset;
2086
_relative_save_offset = ndr->offset;
2087
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->comment));
2088
_mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
2089
NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
2090
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->comment));
2091
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
2092
if (ndr->offset > ndr->relative_highest_offset) {
2093
ndr->relative_highest_offset = ndr->offset;
2095
ndr->offset = _relative_save_offset;
2097
ndr->flags = _flags_save_string;
2100
uint32_t _flags_save_string = ndr->flags;
2101
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2103
uint32_t _relative_save_offset;
2104
_relative_save_offset = ndr->offset;
2105
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->location));
2106
_mem_save_location_0 = NDR_PULL_GET_MEM_CTX(ndr);
2107
NDR_PULL_SET_MEM_CTX(ndr, r->location, 0);
2108
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->location));
2109
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_location_0, 0);
2110
if (ndr->offset > ndr->relative_highest_offset) {
2111
ndr->relative_highest_offset = ndr->offset;
2113
ndr->offset = _relative_save_offset;
2115
ndr->flags = _flags_save_string;
2118
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
2119
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2121
uint32_t _relative_save_offset;
2122
_relative_save_offset = ndr->offset;
2123
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
2124
_mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
2125
NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
2127
struct ndr_pull *_ndr_devmode;
2128
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
2129
NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
2130
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
2132
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
2133
if (ndr->offset > ndr->relative_highest_offset) {
2134
ndr->relative_highest_offset = ndr->offset;
2136
ndr->offset = _relative_save_offset;
2138
ndr->flags = _flags_save_spoolss_DeviceMode;
2141
uint32_t _flags_save_string = ndr->flags;
2142
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2144
uint32_t _relative_save_offset;
2145
_relative_save_offset = ndr->offset;
2146
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->sepfile));
2147
_mem_save_sepfile_0 = NDR_PULL_GET_MEM_CTX(ndr);
2148
NDR_PULL_SET_MEM_CTX(ndr, r->sepfile, 0);
2149
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->sepfile));
2150
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sepfile_0, 0);
2151
if (ndr->offset > ndr->relative_highest_offset) {
2152
ndr->relative_highest_offset = ndr->offset;
2154
ndr->offset = _relative_save_offset;
2156
ndr->flags = _flags_save_string;
2159
uint32_t _flags_save_string = ndr->flags;
2160
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2161
if (r->printprocessor) {
2162
uint32_t _relative_save_offset;
2163
_relative_save_offset = ndr->offset;
2164
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printprocessor));
2165
_mem_save_printprocessor_0 = NDR_PULL_GET_MEM_CTX(ndr);
2166
NDR_PULL_SET_MEM_CTX(ndr, r->printprocessor, 0);
2167
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printprocessor));
2168
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printprocessor_0, 0);
2169
if (ndr->offset > ndr->relative_highest_offset) {
2170
ndr->relative_highest_offset = ndr->offset;
2172
ndr->offset = _relative_save_offset;
2174
ndr->flags = _flags_save_string;
2177
uint32_t _flags_save_string = ndr->flags;
2178
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2180
uint32_t _relative_save_offset;
2181
_relative_save_offset = ndr->offset;
2182
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->datatype));
2183
_mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
2184
NDR_PULL_SET_MEM_CTX(ndr, r->datatype, 0);
2185
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->datatype));
2186
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
2187
if (ndr->offset > ndr->relative_highest_offset) {
2188
ndr->relative_highest_offset = ndr->offset;
2190
ndr->offset = _relative_save_offset;
2192
ndr->flags = _flags_save_string;
2195
uint32_t _flags_save_string = ndr->flags;
2196
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2197
if (r->parameters) {
2198
uint32_t _relative_save_offset;
2199
_relative_save_offset = ndr->offset;
2200
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->parameters));
2201
_mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
2202
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
2203
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->parameters));
2204
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
2205
if (ndr->offset > ndr->relative_highest_offset) {
2206
ndr->relative_highest_offset = ndr->offset;
2208
ndr->offset = _relative_save_offset;
2210
ndr->flags = _flags_save_string;
2213
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
2214
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2216
uint32_t _relative_save_offset;
2217
_relative_save_offset = ndr->offset;
2218
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
2219
_mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
2220
NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
2222
struct ndr_pull *_ndr_secdesc;
2223
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
2224
NDR_CHECK(ndr_pull_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
2225
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
2227
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
2228
if (ndr->offset > ndr->relative_highest_offset) {
2229
ndr->relative_highest_offset = ndr->offset;
2231
ndr->offset = _relative_save_offset;
2233
ndr->flags = _flags_save_spoolss_security_descriptor;
2236
return NDR_ERR_SUCCESS;
2239
_PUBLIC_ void ndr_print_spoolss_PrinterInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo2 *r)
2241
ndr_print_struct(ndr, name, "spoolss_PrinterInfo2");
2242
if (r == NULL) { ndr_print_null(ndr); return; }
2244
ndr_print_ptr(ndr, "servername", r->servername);
2246
if (r->servername) {
2247
ndr_print_string(ndr, "servername", r->servername);
2250
ndr_print_ptr(ndr, "printername", r->printername);
2252
if (r->printername) {
2253
ndr_print_string(ndr, "printername", r->printername);
2256
ndr_print_ptr(ndr, "sharename", r->sharename);
2259
ndr_print_string(ndr, "sharename", r->sharename);
2262
ndr_print_ptr(ndr, "portname", r->portname);
2265
ndr_print_string(ndr, "portname", r->portname);
2268
ndr_print_ptr(ndr, "drivername", r->drivername);
2270
if (r->drivername) {
2271
ndr_print_string(ndr, "drivername", r->drivername);
2274
ndr_print_ptr(ndr, "comment", r->comment);
2277
ndr_print_string(ndr, "comment", r->comment);
2280
ndr_print_ptr(ndr, "location", r->location);
2283
ndr_print_string(ndr, "location", r->location);
2286
ndr_print_ptr(ndr, "devmode", r->devmode);
2289
ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
2292
ndr_print_ptr(ndr, "sepfile", r->sepfile);
2295
ndr_print_string(ndr, "sepfile", r->sepfile);
2298
ndr_print_ptr(ndr, "printprocessor", r->printprocessor);
2300
if (r->printprocessor) {
2301
ndr_print_string(ndr, "printprocessor", r->printprocessor);
2304
ndr_print_ptr(ndr, "datatype", r->datatype);
2307
ndr_print_string(ndr, "datatype", r->datatype);
2310
ndr_print_ptr(ndr, "parameters", r->parameters);
2312
if (r->parameters) {
2313
ndr_print_string(ndr, "parameters", r->parameters);
2316
ndr_print_ptr(ndr, "secdesc", r->secdesc);
2319
ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc);
2322
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
2323
ndr_print_uint32(ndr, "priority", r->priority);
2324
ndr_print_uint32(ndr, "defaultpriority", r->defaultpriority);
2325
ndr_print_uint32(ndr, "starttime", r->starttime);
2326
ndr_print_uint32(ndr, "untiltime", r->untiltime);
2327
ndr_print_spoolss_PrinterStatus(ndr, "status", r->status);
2328
ndr_print_uint32(ndr, "cjobs", r->cjobs);
2329
ndr_print_uint32(ndr, "averageppm", r->averageppm);
2333
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo2(const struct spoolss_PrinterInfo2 *r, int flags)
2335
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo2);
2338
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo3 *r)
2340
if (ndr_flags & NDR_SCALARS) {
2341
NDR_CHECK(ndr_push_align(ndr, 5));
2343
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
2344
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2345
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
2346
ndr->flags = _flags_save_spoolss_security_descriptor;
2348
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2350
if (ndr_flags & NDR_BUFFERS) {
2352
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
2353
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2355
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc));
2357
struct ndr_push *_ndr_secdesc;
2358
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
2359
NDR_CHECK(ndr_push_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
2360
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
2362
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc));
2364
ndr->flags = _flags_save_spoolss_security_descriptor;
2367
return NDR_ERR_SUCCESS;
2370
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo3 *r)
2372
uint32_t _ptr_secdesc;
2373
TALLOC_CTX *_mem_save_secdesc_0;
2374
if (ndr_flags & NDR_SCALARS) {
2375
NDR_CHECK(ndr_pull_align(ndr, 5));
2377
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
2378
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2379
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
2381
NDR_PULL_ALLOC(ndr, r->secdesc);
2382
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
2386
ndr->flags = _flags_save_spoolss_security_descriptor;
2388
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2390
if (ndr_flags & NDR_BUFFERS) {
2392
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
2393
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2395
uint32_t _relative_save_offset;
2396
_relative_save_offset = ndr->offset;
2397
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
2398
_mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
2399
NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
2401
struct ndr_pull *_ndr_secdesc;
2402
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
2403
NDR_CHECK(ndr_pull_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
2404
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
2406
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
2407
if (ndr->offset > ndr->relative_highest_offset) {
2408
ndr->relative_highest_offset = ndr->offset;
2410
ndr->offset = _relative_save_offset;
2412
ndr->flags = _flags_save_spoolss_security_descriptor;
2415
return NDR_ERR_SUCCESS;
2418
_PUBLIC_ void ndr_print_spoolss_PrinterInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo3 *r)
2420
ndr_print_struct(ndr, name, "spoolss_PrinterInfo3");
2421
if (r == NULL) { ndr_print_null(ndr); return; }
2423
ndr_print_ptr(ndr, "secdesc", r->secdesc);
2426
ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc);
2432
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo3(const struct spoolss_PrinterInfo3 *r, int flags)
2434
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo3);
2437
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo4 *r)
2439
if (ndr_flags & NDR_SCALARS) {
2440
NDR_CHECK(ndr_push_align(ndr, 5));
2442
uint32_t _flags_save_string = ndr->flags;
2443
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2444
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername));
2445
ndr->flags = _flags_save_string;
2448
uint32_t _flags_save_string = ndr->flags;
2449
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2450
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->servername));
2451
ndr->flags = _flags_save_string;
2453
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
2454
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2456
if (ndr_flags & NDR_BUFFERS) {
2458
uint32_t _flags_save_string = ndr->flags;
2459
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2460
if (r->printername) {
2461
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername));
2462
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
2463
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername));
2465
ndr->flags = _flags_save_string;
2468
uint32_t _flags_save_string = ndr->flags;
2469
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2470
if (r->servername) {
2471
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->servername));
2472
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername));
2473
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->servername));
2475
ndr->flags = _flags_save_string;
2478
return NDR_ERR_SUCCESS;
2481
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo4 *r)
2483
uint32_t _ptr_printername;
2484
TALLOC_CTX *_mem_save_printername_0;
2485
uint32_t _ptr_servername;
2486
TALLOC_CTX *_mem_save_servername_0;
2487
if (ndr_flags & NDR_SCALARS) {
2488
NDR_CHECK(ndr_pull_align(ndr, 5));
2490
uint32_t _flags_save_string = ndr->flags;
2491
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2492
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
2493
if (_ptr_printername) {
2494
NDR_PULL_ALLOC(ndr, r->printername);
2495
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername));
2497
r->printername = NULL;
2499
ndr->flags = _flags_save_string;
2502
uint32_t _flags_save_string = ndr->flags;
2503
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2504
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
2505
if (_ptr_servername) {
2506
NDR_PULL_ALLOC(ndr, r->servername);
2507
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->servername, _ptr_servername));
2509
r->servername = NULL;
2511
ndr->flags = _flags_save_string;
2513
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
2514
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2516
if (ndr_flags & NDR_BUFFERS) {
2518
uint32_t _flags_save_string = ndr->flags;
2519
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2520
if (r->printername) {
2521
uint32_t _relative_save_offset;
2522
_relative_save_offset = ndr->offset;
2523
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername));
2524
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
2525
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
2526
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
2527
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
2528
if (ndr->offset > ndr->relative_highest_offset) {
2529
ndr->relative_highest_offset = ndr->offset;
2531
ndr->offset = _relative_save_offset;
2533
ndr->flags = _flags_save_string;
2536
uint32_t _flags_save_string = ndr->flags;
2537
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2538
if (r->servername) {
2539
uint32_t _relative_save_offset;
2540
_relative_save_offset = ndr->offset;
2541
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->servername));
2542
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
2543
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
2544
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername));
2545
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
2546
if (ndr->offset > ndr->relative_highest_offset) {
2547
ndr->relative_highest_offset = ndr->offset;
2549
ndr->offset = _relative_save_offset;
2551
ndr->flags = _flags_save_string;
2554
return NDR_ERR_SUCCESS;
2557
_PUBLIC_ void ndr_print_spoolss_PrinterInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo4 *r)
2559
ndr_print_struct(ndr, name, "spoolss_PrinterInfo4");
2560
if (r == NULL) { ndr_print_null(ndr); return; }
2562
ndr_print_ptr(ndr, "printername", r->printername);
2564
if (r->printername) {
2565
ndr_print_string(ndr, "printername", r->printername);
2568
ndr_print_ptr(ndr, "servername", r->servername);
2570
if (r->servername) {
2571
ndr_print_string(ndr, "servername", r->servername);
2574
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
2578
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo4(const struct spoolss_PrinterInfo4 *r, int flags)
2580
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo4);
2583
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo5(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo5 *r)
2585
if (ndr_flags & NDR_SCALARS) {
2586
NDR_CHECK(ndr_push_align(ndr, 5));
2588
uint32_t _flags_save_string = ndr->flags;
2589
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2590
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername));
2591
ndr->flags = _flags_save_string;
2594
uint32_t _flags_save_string = ndr->flags;
2595
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2596
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->portname));
2597
ndr->flags = _flags_save_string;
2599
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
2600
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->device_not_selected_timeout));
2601
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->transmission_retry_timeout));
2602
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2604
if (ndr_flags & NDR_BUFFERS) {
2606
uint32_t _flags_save_string = ndr->flags;
2607
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2608
if (r->printername) {
2609
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername));
2610
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
2611
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername));
2613
ndr->flags = _flags_save_string;
2616
uint32_t _flags_save_string = ndr->flags;
2617
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2619
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->portname));
2620
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->portname));
2621
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->portname));
2623
ndr->flags = _flags_save_string;
2626
return NDR_ERR_SUCCESS;
2629
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo5(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo5 *r)
2631
uint32_t _ptr_printername;
2632
TALLOC_CTX *_mem_save_printername_0;
2633
uint32_t _ptr_portname;
2634
TALLOC_CTX *_mem_save_portname_0;
2635
if (ndr_flags & NDR_SCALARS) {
2636
NDR_CHECK(ndr_pull_align(ndr, 5));
2638
uint32_t _flags_save_string = ndr->flags;
2639
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2640
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
2641
if (_ptr_printername) {
2642
NDR_PULL_ALLOC(ndr, r->printername);
2643
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername));
2645
r->printername = NULL;
2647
ndr->flags = _flags_save_string;
2650
uint32_t _flags_save_string = ndr->flags;
2651
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2652
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname));
2653
if (_ptr_portname) {
2654
NDR_PULL_ALLOC(ndr, r->portname);
2655
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->portname, _ptr_portname));
2659
ndr->flags = _flags_save_string;
2661
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
2662
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->device_not_selected_timeout));
2663
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->transmission_retry_timeout));
2664
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2666
if (ndr_flags & NDR_BUFFERS) {
2668
uint32_t _flags_save_string = ndr->flags;
2669
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2670
if (r->printername) {
2671
uint32_t _relative_save_offset;
2672
_relative_save_offset = ndr->offset;
2673
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername));
2674
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
2675
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
2676
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
2677
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
2678
if (ndr->offset > ndr->relative_highest_offset) {
2679
ndr->relative_highest_offset = ndr->offset;
2681
ndr->offset = _relative_save_offset;
2683
ndr->flags = _flags_save_string;
2686
uint32_t _flags_save_string = ndr->flags;
2687
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2689
uint32_t _relative_save_offset;
2690
_relative_save_offset = ndr->offset;
2691
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->portname));
2692
_mem_save_portname_0 = NDR_PULL_GET_MEM_CTX(ndr);
2693
NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0);
2694
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->portname));
2695
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0);
2696
if (ndr->offset > ndr->relative_highest_offset) {
2697
ndr->relative_highest_offset = ndr->offset;
2699
ndr->offset = _relative_save_offset;
2701
ndr->flags = _flags_save_string;
2704
return NDR_ERR_SUCCESS;
2707
_PUBLIC_ void ndr_print_spoolss_PrinterInfo5(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo5 *r)
2709
ndr_print_struct(ndr, name, "spoolss_PrinterInfo5");
2710
if (r == NULL) { ndr_print_null(ndr); return; }
2712
ndr_print_ptr(ndr, "printername", r->printername);
2714
if (r->printername) {
2715
ndr_print_string(ndr, "printername", r->printername);
2718
ndr_print_ptr(ndr, "portname", r->portname);
2721
ndr_print_string(ndr, "portname", r->portname);
2724
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
2725
ndr_print_uint32(ndr, "device_not_selected_timeout", r->device_not_selected_timeout);
2726
ndr_print_uint32(ndr, "transmission_retry_timeout", r->transmission_retry_timeout);
2730
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo5(const struct spoolss_PrinterInfo5 *r, int flags)
2732
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo5);
2735
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo6 *r)
2737
if (ndr_flags & NDR_SCALARS) {
2738
NDR_CHECK(ndr_push_align(ndr, 4));
2739
NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
2740
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2742
if (ndr_flags & NDR_BUFFERS) {
2744
return NDR_ERR_SUCCESS;
2747
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo6 *r)
2749
if (ndr_flags & NDR_SCALARS) {
2750
NDR_CHECK(ndr_pull_align(ndr, 4));
2751
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
2752
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2754
if (ndr_flags & NDR_BUFFERS) {
2756
return NDR_ERR_SUCCESS;
2759
_PUBLIC_ void ndr_print_spoolss_PrinterInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo6 *r)
2761
ndr_print_struct(ndr, name, "spoolss_PrinterInfo6");
2762
if (r == NULL) { ndr_print_null(ndr); return; }
2764
ndr_print_spoolss_PrinterStatus(ndr, "status", r->status);
2768
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo6(const struct spoolss_PrinterInfo6 *r, int flags)
2770
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo6);
2773
static enum ndr_err_code ndr_push_spoolss_DsPrintAction(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2775
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2776
return NDR_ERR_SUCCESS;
2779
static enum ndr_err_code ndr_pull_spoolss_DsPrintAction(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2782
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2784
return NDR_ERR_SUCCESS;
2787
_PUBLIC_ void ndr_print_spoolss_DsPrintAction(struct ndr_print *ndr, const char *name, uint32_t r)
2789
ndr_print_uint32(ndr, name, r);
2791
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_PUBLISH", DSPRINT_PUBLISH, r);
2792
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_UPDATE", DSPRINT_UPDATE, r);
2793
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_UNPUBLISH", DSPRINT_UNPUBLISH, r);
2794
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_REPUBLISH", DSPRINT_REPUBLISH, r);
2795
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_PENDING", DSPRINT_PENDING, r);
2799
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo7(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo7 *r)
2801
if (ndr_flags & NDR_SCALARS) {
2802
NDR_CHECK(ndr_push_align(ndr, 5));
2804
uint32_t _flags_save_string = ndr->flags;
2805
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2806
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->guid));
2807
ndr->flags = _flags_save_string;
2809
NDR_CHECK(ndr_push_spoolss_DsPrintAction(ndr, NDR_SCALARS, r->action));
2810
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2812
if (ndr_flags & NDR_BUFFERS) {
2814
uint32_t _flags_save_string = ndr->flags;
2815
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2817
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->guid));
2818
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->guid));
2819
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->guid));
2821
ndr->flags = _flags_save_string;
2824
return NDR_ERR_SUCCESS;
2827
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo7(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo7 *r)
2830
TALLOC_CTX *_mem_save_guid_0;
2831
if (ndr_flags & NDR_SCALARS) {
2832
NDR_CHECK(ndr_pull_align(ndr, 5));
2834
uint32_t _flags_save_string = ndr->flags;
2835
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2836
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_guid));
2838
NDR_PULL_ALLOC(ndr, r->guid);
2839
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->guid, _ptr_guid));
2843
ndr->flags = _flags_save_string;
2845
NDR_CHECK(ndr_pull_spoolss_DsPrintAction(ndr, NDR_SCALARS, &r->action));
2846
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2848
if (ndr_flags & NDR_BUFFERS) {
2850
uint32_t _flags_save_string = ndr->flags;
2851
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2853
uint32_t _relative_save_offset;
2854
_relative_save_offset = ndr->offset;
2855
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->guid));
2856
_mem_save_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2857
NDR_PULL_SET_MEM_CTX(ndr, r->guid, 0);
2858
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->guid));
2859
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_guid_0, 0);
2860
if (ndr->offset > ndr->relative_highest_offset) {
2861
ndr->relative_highest_offset = ndr->offset;
2863
ndr->offset = _relative_save_offset;
2865
ndr->flags = _flags_save_string;
2868
return NDR_ERR_SUCCESS;
2871
_PUBLIC_ void ndr_print_spoolss_PrinterInfo7(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo7 *r)
2873
ndr_print_struct(ndr, name, "spoolss_PrinterInfo7");
2874
if (r == NULL) { ndr_print_null(ndr); return; }
2876
ndr_print_ptr(ndr, "guid", r->guid);
2879
ndr_print_string(ndr, "guid", r->guid);
2882
ndr_print_spoolss_DsPrintAction(ndr, "action", r->action);
2886
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo7(const struct spoolss_PrinterInfo7 *r, int flags)
2888
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo7);
2891
static enum ndr_err_code ndr_push_spoolss_DeviceModeInfo(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DeviceModeInfo *r)
2893
if (ndr_flags & NDR_SCALARS) {
2894
NDR_CHECK(ndr_push_align(ndr, 5));
2896
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
2897
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2898
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
2899
ndr->flags = _flags_save_spoolss_DeviceMode;
2901
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2903
if (ndr_flags & NDR_BUFFERS) {
2905
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
2906
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2908
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode));
2910
struct ndr_push *_ndr_devmode;
2911
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
2912
NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
2913
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
2915
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode));
2917
ndr->flags = _flags_save_spoolss_DeviceMode;
2920
return NDR_ERR_SUCCESS;
2923
static enum ndr_err_code ndr_pull_spoolss_DeviceModeInfo(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DeviceModeInfo *r)
2925
uint32_t _ptr_devmode;
2926
TALLOC_CTX *_mem_save_devmode_0;
2927
if (ndr_flags & NDR_SCALARS) {
2928
NDR_CHECK(ndr_pull_align(ndr, 5));
2930
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
2931
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2932
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
2934
NDR_PULL_ALLOC(ndr, r->devmode);
2935
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
2939
ndr->flags = _flags_save_spoolss_DeviceMode;
2941
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2943
if (ndr_flags & NDR_BUFFERS) {
2945
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
2946
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2948
uint32_t _relative_save_offset;
2949
_relative_save_offset = ndr->offset;
2950
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
2951
_mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
2952
NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
2954
struct ndr_pull *_ndr_devmode;
2955
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
2956
NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
2957
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
2959
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
2960
if (ndr->offset > ndr->relative_highest_offset) {
2961
ndr->relative_highest_offset = ndr->offset;
2963
ndr->offset = _relative_save_offset;
2965
ndr->flags = _flags_save_spoolss_DeviceMode;
2968
return NDR_ERR_SUCCESS;
2971
_PUBLIC_ void ndr_print_spoolss_DeviceModeInfo(struct ndr_print *ndr, const char *name, const struct spoolss_DeviceModeInfo *r)
2973
ndr_print_struct(ndr, name, "spoolss_DeviceModeInfo");
2974
if (r == NULL) { ndr_print_null(ndr); return; }
2976
ndr_print_ptr(ndr, "devmode", r->devmode);
2979
ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
2985
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrinterInfo *r)
2987
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
2989
uint32_t _flags_save_UNION = ndr->flags;
2990
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
2991
if (ndr_flags & NDR_SCALARS) {
2992
uint32_t level = ndr_push_get_switch_value(ndr, r);
2993
NDR_CHECK(ndr_push_union_align(ndr, 5));
2996
NDR_CHECK(ndr_push_align(ndr, 5));
2997
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2998
NDR_CHECK(ndr_push_spoolss_PrinterInfo0(ndr, NDR_SCALARS, &r->info0));
3002
NDR_CHECK(ndr_push_align(ndr, 5));
3003
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
3004
NDR_CHECK(ndr_push_spoolss_PrinterInfo1(ndr, NDR_SCALARS, &r->info1));
3008
NDR_CHECK(ndr_push_align(ndr, 5));
3009
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
3010
NDR_CHECK(ndr_push_spoolss_PrinterInfo2(ndr, NDR_SCALARS, &r->info2));
3014
NDR_CHECK(ndr_push_align(ndr, 5));
3015
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
3016
NDR_CHECK(ndr_push_spoolss_PrinterInfo3(ndr, NDR_SCALARS, &r->info3));
3020
NDR_CHECK(ndr_push_align(ndr, 5));
3021
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
3022
NDR_CHECK(ndr_push_spoolss_PrinterInfo4(ndr, NDR_SCALARS, &r->info4));
3026
NDR_CHECK(ndr_push_align(ndr, 5));
3027
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
3028
NDR_CHECK(ndr_push_spoolss_PrinterInfo5(ndr, NDR_SCALARS, &r->info5));
3032
NDR_CHECK(ndr_push_align(ndr, 4));
3033
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
3034
NDR_CHECK(ndr_push_spoolss_PrinterInfo6(ndr, NDR_SCALARS, &r->info6));
3038
NDR_CHECK(ndr_push_align(ndr, 5));
3039
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
3040
NDR_CHECK(ndr_push_spoolss_PrinterInfo7(ndr, NDR_SCALARS, &r->info7));
3044
NDR_CHECK(ndr_push_align(ndr, 5));
3045
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
3046
NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info8));
3050
NDR_CHECK(ndr_push_align(ndr, 5));
3051
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
3052
NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info9));
3060
if (ndr_flags & NDR_BUFFERS) {
3061
uint32_t level = ndr_push_get_switch_value(ndr, r);
3062
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
3065
NDR_CHECK(ndr_push_spoolss_PrinterInfo0(ndr, NDR_BUFFERS, &r->info0));
3069
NDR_CHECK(ndr_push_spoolss_PrinterInfo1(ndr, NDR_BUFFERS, &r->info1));
3073
NDR_CHECK(ndr_push_spoolss_PrinterInfo2(ndr, NDR_BUFFERS, &r->info2));
3077
NDR_CHECK(ndr_push_spoolss_PrinterInfo3(ndr, NDR_BUFFERS, &r->info3));
3081
NDR_CHECK(ndr_push_spoolss_PrinterInfo4(ndr, NDR_BUFFERS, &r->info4));
3085
NDR_CHECK(ndr_push_spoolss_PrinterInfo5(ndr, NDR_BUFFERS, &r->info5));
3092
NDR_CHECK(ndr_push_spoolss_PrinterInfo7(ndr, NDR_BUFFERS, &r->info7));
3096
NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info8));
3100
NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info9));
3108
ndr->flags = _flags_save_UNION;
3110
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
3111
return NDR_ERR_SUCCESS;
3114
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrinterInfo *r)
3116
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
3119
uint32_t _flags_save_UNION = ndr->flags;
3120
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
3121
level = ndr_pull_get_switch_value(ndr, r);
3122
if (ndr_flags & NDR_SCALARS) {
3123
NDR_CHECK(ndr_pull_union_align(ndr, 5));
3126
NDR_CHECK(ndr_pull_align(ndr, 5));
3127
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
3128
NDR_CHECK(ndr_pull_spoolss_PrinterInfo0(ndr, NDR_SCALARS, &r->info0));
3132
NDR_CHECK(ndr_pull_align(ndr, 5));
3133
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
3134
NDR_CHECK(ndr_pull_spoolss_PrinterInfo1(ndr, NDR_SCALARS, &r->info1));
3138
NDR_CHECK(ndr_pull_align(ndr, 5));
3139
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
3140
NDR_CHECK(ndr_pull_spoolss_PrinterInfo2(ndr, NDR_SCALARS, &r->info2));
3144
NDR_CHECK(ndr_pull_align(ndr, 5));
3145
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
3146
NDR_CHECK(ndr_pull_spoolss_PrinterInfo3(ndr, NDR_SCALARS, &r->info3));
3150
NDR_CHECK(ndr_pull_align(ndr, 5));
3151
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
3152
NDR_CHECK(ndr_pull_spoolss_PrinterInfo4(ndr, NDR_SCALARS, &r->info4));
3156
NDR_CHECK(ndr_pull_align(ndr, 5));
3157
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
3158
NDR_CHECK(ndr_pull_spoolss_PrinterInfo5(ndr, NDR_SCALARS, &r->info5));
3162
NDR_CHECK(ndr_pull_align(ndr, 4));
3163
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
3164
NDR_CHECK(ndr_pull_spoolss_PrinterInfo6(ndr, NDR_SCALARS, &r->info6));
3168
NDR_CHECK(ndr_pull_align(ndr, 5));
3169
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
3170
NDR_CHECK(ndr_pull_spoolss_PrinterInfo7(ndr, NDR_SCALARS, &r->info7));
3174
NDR_CHECK(ndr_pull_align(ndr, 5));
3175
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
3176
NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info8));
3180
NDR_CHECK(ndr_pull_align(ndr, 5));
3181
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
3182
NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info9));
3190
if (ndr_flags & NDR_BUFFERS) {
3191
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
3194
NDR_CHECK(ndr_pull_spoolss_PrinterInfo0(ndr, NDR_BUFFERS, &r->info0));
3198
NDR_CHECK(ndr_pull_spoolss_PrinterInfo1(ndr, NDR_BUFFERS, &r->info1));
3202
NDR_CHECK(ndr_pull_spoolss_PrinterInfo2(ndr, NDR_BUFFERS, &r->info2));
3206
NDR_CHECK(ndr_pull_spoolss_PrinterInfo3(ndr, NDR_BUFFERS, &r->info3));
3210
NDR_CHECK(ndr_pull_spoolss_PrinterInfo4(ndr, NDR_BUFFERS, &r->info4));
3214
NDR_CHECK(ndr_pull_spoolss_PrinterInfo5(ndr, NDR_BUFFERS, &r->info5));
3221
NDR_CHECK(ndr_pull_spoolss_PrinterInfo7(ndr, NDR_BUFFERS, &r->info7));
3225
NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info8));
3229
NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info9));
3237
ndr->flags = _flags_save_UNION;
3239
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
3240
return NDR_ERR_SUCCESS;
3243
_PUBLIC_ void ndr_print_spoolss_PrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrinterInfo *r)
3247
uint32_t _flags_save_UNION = ndr->flags;
3248
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
3249
level = ndr_print_get_switch_value(ndr, r);
3250
ndr_print_union(ndr, name, level, "spoolss_PrinterInfo");
3253
ndr_print_spoolss_PrinterInfo0(ndr, "info0", &r->info0);
3257
ndr_print_spoolss_PrinterInfo1(ndr, "info1", &r->info1);
3261
ndr_print_spoolss_PrinterInfo2(ndr, "info2", &r->info2);
3265
ndr_print_spoolss_PrinterInfo3(ndr, "info3", &r->info3);
3269
ndr_print_spoolss_PrinterInfo4(ndr, "info4", &r->info4);
3273
ndr_print_spoolss_PrinterInfo5(ndr, "info5", &r->info5);
3277
ndr_print_spoolss_PrinterInfo6(ndr, "info6", &r->info6);
3281
ndr_print_spoolss_PrinterInfo7(ndr, "info7", &r->info7);
3285
ndr_print_spoolss_DeviceModeInfo(ndr, "info8", &r->info8);
3289
ndr_print_spoolss_DeviceModeInfo(ndr, "info9", &r->info9);
3296
ndr->flags = _flags_save_UNION;
3300
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo(const union spoolss_PrinterInfo *r, uint32_t level, int flags)
3302
flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
3303
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo);
3306
static enum ndr_err_code ndr_push_spoolss_DevmodeContainer(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DevmodeContainer *r)
3308
if (ndr_flags & NDR_SCALARS) {
3309
NDR_CHECK(ndr_push_align(ndr, 5));
3310
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, _ndr_size_spoolss_DeviceMode(r->devmode, ndr->flags)));
3311
NDR_CHECK(ndr_push_unique_ptr(ndr, r->devmode));
3312
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3314
if (ndr_flags & NDR_BUFFERS) {
3317
struct ndr_push *_ndr_devmode;
3318
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 4, _ndr_size_spoolss_DeviceMode(r->devmode, ndr->flags)));
3319
NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
3320
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 4, _ndr_size_spoolss_DeviceMode(r->devmode, ndr->flags)));
3324
return NDR_ERR_SUCCESS;
3327
static enum ndr_err_code ndr_pull_spoolss_DevmodeContainer(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DevmodeContainer *r)
3329
uint32_t _ptr_devmode;
3330
TALLOC_CTX *_mem_save_devmode_0;
3331
if (ndr_flags & NDR_SCALARS) {
3332
NDR_CHECK(ndr_pull_align(ndr, 5));
3333
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size));
3334
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
3336
NDR_PULL_ALLOC(ndr, r->devmode);
3340
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3342
if (ndr_flags & NDR_BUFFERS) {
3344
_mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
3345
NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
3347
struct ndr_pull *_ndr_devmode;
3348
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 4, r->_ndr_size));
3349
NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
3350
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 4, r->_ndr_size));
3352
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
3355
return NDR_ERR_SUCCESS;
3358
_PUBLIC_ void ndr_print_spoolss_DevmodeContainer(struct ndr_print *ndr, const char *name, const struct spoolss_DevmodeContainer *r)
3360
ndr_print_struct(ndr, name, "spoolss_DevmodeContainer");
3361
if (r == NULL) { ndr_print_null(ndr); return; }
3363
ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?_ndr_size_spoolss_DeviceMode(r->devmode, ndr->flags):r->_ndr_size);
3364
ndr_print_ptr(ndr, "devmode", r->devmode);
3367
ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
3373
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo1 *r)
3375
if (ndr_flags & NDR_SCALARS) {
3376
NDR_CHECK(ndr_push_align(ndr, 5));
3377
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
3379
uint32_t _flags_save_string = ndr->flags;
3380
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3381
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printer_name));
3382
ndr->flags = _flags_save_string;
3385
uint32_t _flags_save_string = ndr->flags;
3386
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3387
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->server_name));
3388
ndr->flags = _flags_save_string;
3391
uint32_t _flags_save_string = ndr->flags;
3392
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3393
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->user_name));
3394
ndr->flags = _flags_save_string;
3397
uint32_t _flags_save_string = ndr->flags;
3398
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3399
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->document_name));
3400
ndr->flags = _flags_save_string;
3403
uint32_t _flags_save_string = ndr->flags;
3404
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3405
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_type));
3406
ndr->flags = _flags_save_string;
3409
uint32_t _flags_save_string = ndr->flags;
3410
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3411
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->text_status));
3412
ndr->flags = _flags_save_string;
3414
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
3415
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
3416
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
3417
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
3418
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
3419
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
3420
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3422
if (ndr_flags & NDR_BUFFERS) {
3424
uint32_t _flags_save_string = ndr->flags;
3425
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3426
if (r->printer_name) {
3427
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name));
3428
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name));
3429
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printer_name));
3431
ndr->flags = _flags_save_string;
3434
uint32_t _flags_save_string = ndr->flags;
3435
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3436
if (r->server_name) {
3437
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name));
3438
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name));
3439
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->server_name));
3441
ndr->flags = _flags_save_string;
3444
uint32_t _flags_save_string = ndr->flags;
3445
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3447
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name));
3448
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
3449
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->user_name));
3451
ndr->flags = _flags_save_string;
3454
uint32_t _flags_save_string = ndr->flags;
3455
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3456
if (r->document_name) {
3457
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name));
3458
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name));
3459
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->document_name));
3461
ndr->flags = _flags_save_string;
3464
uint32_t _flags_save_string = ndr->flags;
3465
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3467
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type));
3468
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type));
3469
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_type));
3471
ndr->flags = _flags_save_string;
3474
uint32_t _flags_save_string = ndr->flags;
3475
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3476
if (r->text_status) {
3477
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status));
3478
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status));
3479
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->text_status));
3481
ndr->flags = _flags_save_string;
3484
return NDR_ERR_SUCCESS;
3487
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo1 *r)
3489
uint32_t _ptr_printer_name;
3490
TALLOC_CTX *_mem_save_printer_name_0;
3491
uint32_t _ptr_server_name;
3492
TALLOC_CTX *_mem_save_server_name_0;
3493
uint32_t _ptr_user_name;
3494
TALLOC_CTX *_mem_save_user_name_0;
3495
uint32_t _ptr_document_name;
3496
TALLOC_CTX *_mem_save_document_name_0;
3497
uint32_t _ptr_data_type;
3498
TALLOC_CTX *_mem_save_data_type_0;
3499
uint32_t _ptr_text_status;
3500
TALLOC_CTX *_mem_save_text_status_0;
3501
if (ndr_flags & NDR_SCALARS) {
3502
NDR_CHECK(ndr_pull_align(ndr, 5));
3503
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
3505
uint32_t _flags_save_string = ndr->flags;
3506
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3507
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
3508
if (_ptr_printer_name) {
3509
NDR_PULL_ALLOC(ndr, r->printer_name);
3510
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printer_name, _ptr_printer_name));
3512
r->printer_name = NULL;
3514
ndr->flags = _flags_save_string;
3517
uint32_t _flags_save_string = ndr->flags;
3518
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3519
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
3520
if (_ptr_server_name) {
3521
NDR_PULL_ALLOC(ndr, r->server_name);
3522
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->server_name, _ptr_server_name));
3524
r->server_name = NULL;
3526
ndr->flags = _flags_save_string;
3529
uint32_t _flags_save_string = ndr->flags;
3530
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3531
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
3532
if (_ptr_user_name) {
3533
NDR_PULL_ALLOC(ndr, r->user_name);
3534
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->user_name, _ptr_user_name));
3536
r->user_name = NULL;
3538
ndr->flags = _flags_save_string;
3541
uint32_t _flags_save_string = ndr->flags;
3542
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3543
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
3544
if (_ptr_document_name) {
3545
NDR_PULL_ALLOC(ndr, r->document_name);
3546
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->document_name, _ptr_document_name));
3548
r->document_name = NULL;
3550
ndr->flags = _flags_save_string;
3553
uint32_t _flags_save_string = ndr->flags;
3554
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3555
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
3556
if (_ptr_data_type) {
3557
NDR_PULL_ALLOC(ndr, r->data_type);
3558
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_type, _ptr_data_type));
3560
r->data_type = NULL;
3562
ndr->flags = _flags_save_string;
3565
uint32_t _flags_save_string = ndr->flags;
3566
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3567
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
3568
if (_ptr_text_status) {
3569
NDR_PULL_ALLOC(ndr, r->text_status);
3570
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->text_status, _ptr_text_status));
3572
r->text_status = NULL;
3574
ndr->flags = _flags_save_string;
3576
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
3577
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
3578
if (r->priority > 99) {
3579
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3581
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
3582
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
3583
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
3584
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
3585
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3587
if (ndr_flags & NDR_BUFFERS) {
3589
uint32_t _flags_save_string = ndr->flags;
3590
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3591
if (r->printer_name) {
3592
uint32_t _relative_save_offset;
3593
_relative_save_offset = ndr->offset;
3594
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printer_name));
3595
_mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3596
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
3597
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printer_name));
3598
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
3599
if (ndr->offset > ndr->relative_highest_offset) {
3600
ndr->relative_highest_offset = ndr->offset;
3602
ndr->offset = _relative_save_offset;
3604
ndr->flags = _flags_save_string;
3607
uint32_t _flags_save_string = ndr->flags;
3608
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3609
if (r->server_name) {
3610
uint32_t _relative_save_offset;
3611
_relative_save_offset = ndr->offset;
3612
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->server_name));
3613
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3614
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
3615
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->server_name));
3616
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
3617
if (ndr->offset > ndr->relative_highest_offset) {
3618
ndr->relative_highest_offset = ndr->offset;
3620
ndr->offset = _relative_save_offset;
3622
ndr->flags = _flags_save_string;
3625
uint32_t _flags_save_string = ndr->flags;
3626
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3628
uint32_t _relative_save_offset;
3629
_relative_save_offset = ndr->offset;
3630
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->user_name));
3631
_mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3632
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
3633
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name));
3634
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
3635
if (ndr->offset > ndr->relative_highest_offset) {
3636
ndr->relative_highest_offset = ndr->offset;
3638
ndr->offset = _relative_save_offset;
3640
ndr->flags = _flags_save_string;
3643
uint32_t _flags_save_string = ndr->flags;
3644
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3645
if (r->document_name) {
3646
uint32_t _relative_save_offset;
3647
_relative_save_offset = ndr->offset;
3648
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->document_name));
3649
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3650
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
3651
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->document_name));
3652
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
3653
if (ndr->offset > ndr->relative_highest_offset) {
3654
ndr->relative_highest_offset = ndr->offset;
3656
ndr->offset = _relative_save_offset;
3658
ndr->flags = _flags_save_string;
3661
uint32_t _flags_save_string = ndr->flags;
3662
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3664
uint32_t _relative_save_offset;
3665
_relative_save_offset = ndr->offset;
3666
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_type));
3667
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
3668
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
3669
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_type));
3670
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
3671
if (ndr->offset > ndr->relative_highest_offset) {
3672
ndr->relative_highest_offset = ndr->offset;
3674
ndr->offset = _relative_save_offset;
3676
ndr->flags = _flags_save_string;
3679
uint32_t _flags_save_string = ndr->flags;
3680
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3681
if (r->text_status) {
3682
uint32_t _relative_save_offset;
3683
_relative_save_offset = ndr->offset;
3684
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->text_status));
3685
_mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
3686
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
3687
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->text_status));
3688
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
3689
if (ndr->offset > ndr->relative_highest_offset) {
3690
ndr->relative_highest_offset = ndr->offset;
3692
ndr->offset = _relative_save_offset;
3694
ndr->flags = _flags_save_string;
3697
return NDR_ERR_SUCCESS;
3700
_PUBLIC_ void ndr_print_spoolss_JobInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo1 *r)
3702
ndr_print_struct(ndr, name, "spoolss_JobInfo1");
3703
if (r == NULL) { ndr_print_null(ndr); return; }
3705
ndr_print_uint32(ndr, "job_id", r->job_id);
3706
ndr_print_ptr(ndr, "printer_name", r->printer_name);
3708
if (r->printer_name) {
3709
ndr_print_string(ndr, "printer_name", r->printer_name);
3712
ndr_print_ptr(ndr, "server_name", r->server_name);
3714
if (r->server_name) {
3715
ndr_print_string(ndr, "server_name", r->server_name);
3718
ndr_print_ptr(ndr, "user_name", r->user_name);
3721
ndr_print_string(ndr, "user_name", r->user_name);
3724
ndr_print_ptr(ndr, "document_name", r->document_name);
3726
if (r->document_name) {
3727
ndr_print_string(ndr, "document_name", r->document_name);
3730
ndr_print_ptr(ndr, "data_type", r->data_type);
3733
ndr_print_string(ndr, "data_type", r->data_type);
3736
ndr_print_ptr(ndr, "text_status", r->text_status);
3738
if (r->text_status) {
3739
ndr_print_string(ndr, "text_status", r->text_status);
3742
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
3743
ndr_print_uint32(ndr, "priority", r->priority);
3744
ndr_print_uint32(ndr, "position", r->position);
3745
ndr_print_uint32(ndr, "total_pages", r->total_pages);
3746
ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
3747
ndr_print_spoolss_Time(ndr, "submitted", &r->submitted);
3751
_PUBLIC_ size_t ndr_size_spoolss_JobInfo1(const struct spoolss_JobInfo1 *r, int flags)
3753
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo1);
3756
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo2 *r)
3758
if (ndr_flags & NDR_SCALARS) {
3759
NDR_CHECK(ndr_push_align(ndr, 5));
3760
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
3762
uint32_t _flags_save_string = ndr->flags;
3763
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3764
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printer_name));
3765
ndr->flags = _flags_save_string;
3768
uint32_t _flags_save_string = ndr->flags;
3769
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3770
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->server_name));
3771
ndr->flags = _flags_save_string;
3774
uint32_t _flags_save_string = ndr->flags;
3775
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3776
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->user_name));
3777
ndr->flags = _flags_save_string;
3780
uint32_t _flags_save_string = ndr->flags;
3781
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3782
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->document_name));
3783
ndr->flags = _flags_save_string;
3786
uint32_t _flags_save_string = ndr->flags;
3787
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3788
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->notify_name));
3789
ndr->flags = _flags_save_string;
3792
uint32_t _flags_save_string = ndr->flags;
3793
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3794
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_type));
3795
ndr->flags = _flags_save_string;
3798
uint32_t _flags_save_string = ndr->flags;
3799
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3800
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor));
3801
ndr->flags = _flags_save_string;
3804
uint32_t _flags_save_string = ndr->flags;
3805
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3806
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->parameters));
3807
ndr->flags = _flags_save_string;
3810
uint32_t _flags_save_string = ndr->flags;
3811
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3812
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
3813
ndr->flags = _flags_save_string;
3816
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
3817
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3818
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
3819
ndr->flags = _flags_save_spoolss_DeviceMode;
3822
uint32_t _flags_save_string = ndr->flags;
3823
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3824
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->text_status));
3825
ndr->flags = _flags_save_string;
3828
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
3829
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3830
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
3831
ndr->flags = _flags_save_spoolss_security_descriptor;
3833
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
3834
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
3835
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
3836
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->start_time));
3837
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->until_time));
3838
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
3839
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
3840
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
3841
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time));
3842
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
3843
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3845
if (ndr_flags & NDR_BUFFERS) {
3847
uint32_t _flags_save_string = ndr->flags;
3848
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3849
if (r->printer_name) {
3850
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name));
3851
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name));
3852
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printer_name));
3854
ndr->flags = _flags_save_string;
3857
uint32_t _flags_save_string = ndr->flags;
3858
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3859
if (r->server_name) {
3860
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name));
3861
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name));
3862
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->server_name));
3864
ndr->flags = _flags_save_string;
3867
uint32_t _flags_save_string = ndr->flags;
3868
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3870
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name));
3871
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
3872
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->user_name));
3874
ndr->flags = _flags_save_string;
3877
uint32_t _flags_save_string = ndr->flags;
3878
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3879
if (r->document_name) {
3880
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name));
3881
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name));
3882
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->document_name));
3884
ndr->flags = _flags_save_string;
3887
uint32_t _flags_save_string = ndr->flags;
3888
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3889
if (r->notify_name) {
3890
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->notify_name));
3891
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->notify_name));
3892
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->notify_name));
3894
ndr->flags = _flags_save_string;
3897
uint32_t _flags_save_string = ndr->flags;
3898
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3900
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type));
3901
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type));
3902
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_type));
3904
ndr->flags = _flags_save_string;
3907
uint32_t _flags_save_string = ndr->flags;
3908
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3909
if (r->print_processor) {
3910
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor));
3911
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor));
3912
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor));
3914
ndr->flags = _flags_save_string;
3917
uint32_t _flags_save_string = ndr->flags;
3918
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3919
if (r->parameters) {
3920
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->parameters));
3921
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->parameters));
3922
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->parameters));
3924
ndr->flags = _flags_save_string;
3927
uint32_t _flags_save_string = ndr->flags;
3928
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3929
if (r->driver_name) {
3930
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
3931
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
3932
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
3934
ndr->flags = _flags_save_string;
3937
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
3938
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3940
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode));
3942
struct ndr_push *_ndr_devmode;
3943
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
3944
NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
3945
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
3947
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode));
3949
ndr->flags = _flags_save_spoolss_DeviceMode;
3952
uint32_t _flags_save_string = ndr->flags;
3953
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3954
if (r->text_status) {
3955
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status));
3956
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status));
3957
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->text_status));
3959
ndr->flags = _flags_save_string;
3962
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
3963
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3965
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc));
3967
struct ndr_push *_ndr_secdesc;
3968
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
3969
NDR_CHECK(ndr_push_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
3970
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
3972
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc));
3974
ndr->flags = _flags_save_spoolss_security_descriptor;
3977
return NDR_ERR_SUCCESS;
3980
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo2 *r)
3982
uint32_t _ptr_printer_name;
3983
TALLOC_CTX *_mem_save_printer_name_0;
3984
uint32_t _ptr_server_name;
3985
TALLOC_CTX *_mem_save_server_name_0;
3986
uint32_t _ptr_user_name;
3987
TALLOC_CTX *_mem_save_user_name_0;
3988
uint32_t _ptr_document_name;
3989
TALLOC_CTX *_mem_save_document_name_0;
3990
uint32_t _ptr_notify_name;
3991
TALLOC_CTX *_mem_save_notify_name_0;
3992
uint32_t _ptr_data_type;
3993
TALLOC_CTX *_mem_save_data_type_0;
3994
uint32_t _ptr_print_processor;
3995
TALLOC_CTX *_mem_save_print_processor_0;
3996
uint32_t _ptr_parameters;
3997
TALLOC_CTX *_mem_save_parameters_0;
3998
uint32_t _ptr_driver_name;
3999
TALLOC_CTX *_mem_save_driver_name_0;
4000
uint32_t _ptr_devmode;
4001
TALLOC_CTX *_mem_save_devmode_0;
4002
uint32_t _ptr_text_status;
4003
TALLOC_CTX *_mem_save_text_status_0;
4004
uint32_t _ptr_secdesc;
4005
TALLOC_CTX *_mem_save_secdesc_0;
4006
if (ndr_flags & NDR_SCALARS) {
4007
NDR_CHECK(ndr_pull_align(ndr, 5));
4008
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
4010
uint32_t _flags_save_string = ndr->flags;
4011
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4012
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
4013
if (_ptr_printer_name) {
4014
NDR_PULL_ALLOC(ndr, r->printer_name);
4015
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printer_name, _ptr_printer_name));
4017
r->printer_name = NULL;
4019
ndr->flags = _flags_save_string;
4022
uint32_t _flags_save_string = ndr->flags;
4023
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4024
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
4025
if (_ptr_server_name) {
4026
NDR_PULL_ALLOC(ndr, r->server_name);
4027
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->server_name, _ptr_server_name));
4029
r->server_name = NULL;
4031
ndr->flags = _flags_save_string;
4034
uint32_t _flags_save_string = ndr->flags;
4035
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4036
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
4037
if (_ptr_user_name) {
4038
NDR_PULL_ALLOC(ndr, r->user_name);
4039
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->user_name, _ptr_user_name));
4041
r->user_name = NULL;
4043
ndr->flags = _flags_save_string;
4046
uint32_t _flags_save_string = ndr->flags;
4047
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4048
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
4049
if (_ptr_document_name) {
4050
NDR_PULL_ALLOC(ndr, r->document_name);
4051
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->document_name, _ptr_document_name));
4053
r->document_name = NULL;
4055
ndr->flags = _flags_save_string;
4058
uint32_t _flags_save_string = ndr->flags;
4059
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4060
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_name));
4061
if (_ptr_notify_name) {
4062
NDR_PULL_ALLOC(ndr, r->notify_name);
4063
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->notify_name, _ptr_notify_name));
4065
r->notify_name = NULL;
4067
ndr->flags = _flags_save_string;
4070
uint32_t _flags_save_string = ndr->flags;
4071
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4072
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
4073
if (_ptr_data_type) {
4074
NDR_PULL_ALLOC(ndr, r->data_type);
4075
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_type, _ptr_data_type));
4077
r->data_type = NULL;
4079
ndr->flags = _flags_save_string;
4082
uint32_t _flags_save_string = ndr->flags;
4083
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4084
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
4085
if (_ptr_print_processor) {
4086
NDR_PULL_ALLOC(ndr, r->print_processor);
4087
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->print_processor, _ptr_print_processor));
4089
r->print_processor = NULL;
4091
ndr->flags = _flags_save_string;
4094
uint32_t _flags_save_string = ndr->flags;
4095
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4096
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
4097
if (_ptr_parameters) {
4098
NDR_PULL_ALLOC(ndr, r->parameters);
4099
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->parameters, _ptr_parameters));
4101
r->parameters = NULL;
4103
ndr->flags = _flags_save_string;
4106
uint32_t _flags_save_string = ndr->flags;
4107
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4108
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
4109
if (_ptr_driver_name) {
4110
NDR_PULL_ALLOC(ndr, r->driver_name);
4111
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
4113
r->driver_name = NULL;
4115
ndr->flags = _flags_save_string;
4118
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
4119
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4120
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
4122
NDR_PULL_ALLOC(ndr, r->devmode);
4123
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
4127
ndr->flags = _flags_save_spoolss_DeviceMode;
4130
uint32_t _flags_save_string = ndr->flags;
4131
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4132
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
4133
if (_ptr_text_status) {
4134
NDR_PULL_ALLOC(ndr, r->text_status);
4135
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->text_status, _ptr_text_status));
4137
r->text_status = NULL;
4139
ndr->flags = _flags_save_string;
4142
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
4143
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4144
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
4146
NDR_PULL_ALLOC(ndr, r->secdesc);
4147
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
4151
ndr->flags = _flags_save_spoolss_security_descriptor;
4153
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
4154
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
4155
if (r->priority > 99) {
4156
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4158
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
4159
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->start_time));
4160
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->until_time));
4161
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
4162
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
4163
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
4164
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time));
4165
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
4166
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4168
if (ndr_flags & NDR_BUFFERS) {
4170
uint32_t _flags_save_string = ndr->flags;
4171
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4172
if (r->printer_name) {
4173
uint32_t _relative_save_offset;
4174
_relative_save_offset = ndr->offset;
4175
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printer_name));
4176
_mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4177
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
4178
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printer_name));
4179
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
4180
if (ndr->offset > ndr->relative_highest_offset) {
4181
ndr->relative_highest_offset = ndr->offset;
4183
ndr->offset = _relative_save_offset;
4185
ndr->flags = _flags_save_string;
4188
uint32_t _flags_save_string = ndr->flags;
4189
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4190
if (r->server_name) {
4191
uint32_t _relative_save_offset;
4192
_relative_save_offset = ndr->offset;
4193
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->server_name));
4194
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4195
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
4196
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->server_name));
4197
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
4198
if (ndr->offset > ndr->relative_highest_offset) {
4199
ndr->relative_highest_offset = ndr->offset;
4201
ndr->offset = _relative_save_offset;
4203
ndr->flags = _flags_save_string;
4206
uint32_t _flags_save_string = ndr->flags;
4207
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4209
uint32_t _relative_save_offset;
4210
_relative_save_offset = ndr->offset;
4211
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->user_name));
4212
_mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4213
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
4214
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name));
4215
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
4216
if (ndr->offset > ndr->relative_highest_offset) {
4217
ndr->relative_highest_offset = ndr->offset;
4219
ndr->offset = _relative_save_offset;
4221
ndr->flags = _flags_save_string;
4224
uint32_t _flags_save_string = ndr->flags;
4225
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4226
if (r->document_name) {
4227
uint32_t _relative_save_offset;
4228
_relative_save_offset = ndr->offset;
4229
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->document_name));
4230
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4231
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
4232
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->document_name));
4233
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
4234
if (ndr->offset > ndr->relative_highest_offset) {
4235
ndr->relative_highest_offset = ndr->offset;
4237
ndr->offset = _relative_save_offset;
4239
ndr->flags = _flags_save_string;
4242
uint32_t _flags_save_string = ndr->flags;
4243
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4244
if (r->notify_name) {
4245
uint32_t _relative_save_offset;
4246
_relative_save_offset = ndr->offset;
4247
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->notify_name));
4248
_mem_save_notify_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4249
NDR_PULL_SET_MEM_CTX(ndr, r->notify_name, 0);
4250
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->notify_name));
4251
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_name_0, 0);
4252
if (ndr->offset > ndr->relative_highest_offset) {
4253
ndr->relative_highest_offset = ndr->offset;
4255
ndr->offset = _relative_save_offset;
4257
ndr->flags = _flags_save_string;
4260
uint32_t _flags_save_string = ndr->flags;
4261
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4263
uint32_t _relative_save_offset;
4264
_relative_save_offset = ndr->offset;
4265
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_type));
4266
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
4267
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
4268
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_type));
4269
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
4270
if (ndr->offset > ndr->relative_highest_offset) {
4271
ndr->relative_highest_offset = ndr->offset;
4273
ndr->offset = _relative_save_offset;
4275
ndr->flags = _flags_save_string;
4278
uint32_t _flags_save_string = ndr->flags;
4279
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4280
if (r->print_processor) {
4281
uint32_t _relative_save_offset;
4282
_relative_save_offset = ndr->offset;
4283
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->print_processor));
4284
_mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr);
4285
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
4286
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor));
4287
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
4288
if (ndr->offset > ndr->relative_highest_offset) {
4289
ndr->relative_highest_offset = ndr->offset;
4291
ndr->offset = _relative_save_offset;
4293
ndr->flags = _flags_save_string;
4296
uint32_t _flags_save_string = ndr->flags;
4297
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4298
if (r->parameters) {
4299
uint32_t _relative_save_offset;
4300
_relative_save_offset = ndr->offset;
4301
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->parameters));
4302
_mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
4303
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
4304
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->parameters));
4305
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
4306
if (ndr->offset > ndr->relative_highest_offset) {
4307
ndr->relative_highest_offset = ndr->offset;
4309
ndr->offset = _relative_save_offset;
4311
ndr->flags = _flags_save_string;
4314
uint32_t _flags_save_string = ndr->flags;
4315
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4316
if (r->driver_name) {
4317
uint32_t _relative_save_offset;
4318
_relative_save_offset = ndr->offset;
4319
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
4320
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4321
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
4322
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
4323
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
4324
if (ndr->offset > ndr->relative_highest_offset) {
4325
ndr->relative_highest_offset = ndr->offset;
4327
ndr->offset = _relative_save_offset;
4329
ndr->flags = _flags_save_string;
4332
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
4333
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4335
uint32_t _relative_save_offset;
4336
_relative_save_offset = ndr->offset;
4337
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
4338
_mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
4339
NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
4341
struct ndr_pull *_ndr_devmode;
4342
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
4343
NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
4344
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
4346
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
4347
if (ndr->offset > ndr->relative_highest_offset) {
4348
ndr->relative_highest_offset = ndr->offset;
4350
ndr->offset = _relative_save_offset;
4352
ndr->flags = _flags_save_spoolss_DeviceMode;
4355
uint32_t _flags_save_string = ndr->flags;
4356
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4357
if (r->text_status) {
4358
uint32_t _relative_save_offset;
4359
_relative_save_offset = ndr->offset;
4360
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->text_status));
4361
_mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
4362
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
4363
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->text_status));
4364
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
4365
if (ndr->offset > ndr->relative_highest_offset) {
4366
ndr->relative_highest_offset = ndr->offset;
4368
ndr->offset = _relative_save_offset;
4370
ndr->flags = _flags_save_string;
4373
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
4374
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4376
uint32_t _relative_save_offset;
4377
_relative_save_offset = ndr->offset;
4378
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
4379
_mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
4380
NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
4382
struct ndr_pull *_ndr_secdesc;
4383
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
4384
NDR_CHECK(ndr_pull_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
4385
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
4387
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
4388
if (ndr->offset > ndr->relative_highest_offset) {
4389
ndr->relative_highest_offset = ndr->offset;
4391
ndr->offset = _relative_save_offset;
4393
ndr->flags = _flags_save_spoolss_security_descriptor;
4396
return NDR_ERR_SUCCESS;
4399
_PUBLIC_ void ndr_print_spoolss_JobInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo2 *r)
4401
ndr_print_struct(ndr, name, "spoolss_JobInfo2");
4402
if (r == NULL) { ndr_print_null(ndr); return; }
4404
ndr_print_uint32(ndr, "job_id", r->job_id);
4405
ndr_print_ptr(ndr, "printer_name", r->printer_name);
4407
if (r->printer_name) {
4408
ndr_print_string(ndr, "printer_name", r->printer_name);
4411
ndr_print_ptr(ndr, "server_name", r->server_name);
4413
if (r->server_name) {
4414
ndr_print_string(ndr, "server_name", r->server_name);
4417
ndr_print_ptr(ndr, "user_name", r->user_name);
4420
ndr_print_string(ndr, "user_name", r->user_name);
4423
ndr_print_ptr(ndr, "document_name", r->document_name);
4425
if (r->document_name) {
4426
ndr_print_string(ndr, "document_name", r->document_name);
4429
ndr_print_ptr(ndr, "notify_name", r->notify_name);
4431
if (r->notify_name) {
4432
ndr_print_string(ndr, "notify_name", r->notify_name);
4435
ndr_print_ptr(ndr, "data_type", r->data_type);
4438
ndr_print_string(ndr, "data_type", r->data_type);
4441
ndr_print_ptr(ndr, "print_processor", r->print_processor);
4443
if (r->print_processor) {
4444
ndr_print_string(ndr, "print_processor", r->print_processor);
4447
ndr_print_ptr(ndr, "parameters", r->parameters);
4449
if (r->parameters) {
4450
ndr_print_string(ndr, "parameters", r->parameters);
4453
ndr_print_ptr(ndr, "driver_name", r->driver_name);
4455
if (r->driver_name) {
4456
ndr_print_string(ndr, "driver_name", r->driver_name);
4459
ndr_print_ptr(ndr, "devmode", r->devmode);
4462
ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
4465
ndr_print_ptr(ndr, "text_status", r->text_status);
4467
if (r->text_status) {
4468
ndr_print_string(ndr, "text_status", r->text_status);
4471
ndr_print_ptr(ndr, "secdesc", r->secdesc);
4474
ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc);
4477
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
4478
ndr_print_uint32(ndr, "priority", r->priority);
4479
ndr_print_uint32(ndr, "position", r->position);
4480
ndr_print_uint32(ndr, "start_time", r->start_time);
4481
ndr_print_uint32(ndr, "until_time", r->until_time);
4482
ndr_print_uint32(ndr, "total_pages", r->total_pages);
4483
ndr_print_uint32(ndr, "size", r->size);
4484
ndr_print_spoolss_Time(ndr, "submitted", &r->submitted);
4485
ndr_print_uint32(ndr, "time", r->time);
4486
ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
4490
_PUBLIC_ size_t ndr_size_spoolss_JobInfo2(const struct spoolss_JobInfo2 *r, int flags)
4492
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo2);
4495
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo3 *r)
4497
if (ndr_flags & NDR_SCALARS) {
4498
NDR_CHECK(ndr_push_align(ndr, 4));
4499
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
4500
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->next_job_id));
4501
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
4502
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4504
if (ndr_flags & NDR_BUFFERS) {
4506
return NDR_ERR_SUCCESS;
4509
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo3 *r)
4511
if (ndr_flags & NDR_SCALARS) {
4512
NDR_CHECK(ndr_pull_align(ndr, 4));
4513
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
4514
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->next_job_id));
4515
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
4516
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4518
if (ndr_flags & NDR_BUFFERS) {
4520
return NDR_ERR_SUCCESS;
4523
_PUBLIC_ void ndr_print_spoolss_JobInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo3 *r)
4525
ndr_print_struct(ndr, name, "spoolss_JobInfo3");
4526
if (r == NULL) { ndr_print_null(ndr); return; }
4528
ndr_print_uint32(ndr, "job_id", r->job_id);
4529
ndr_print_uint32(ndr, "next_job_id", r->next_job_id);
4530
ndr_print_uint32(ndr, "reserved", r->reserved);
4534
_PUBLIC_ size_t ndr_size_spoolss_JobInfo3(const struct spoolss_JobInfo3 *r, int flags)
4536
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo3);
4539
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo4 *r)
4541
if (ndr_flags & NDR_SCALARS) {
4542
NDR_CHECK(ndr_push_align(ndr, 5));
4543
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
4545
uint32_t _flags_save_string = ndr->flags;
4546
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4547
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printer_name));
4548
ndr->flags = _flags_save_string;
4551
uint32_t _flags_save_string = ndr->flags;
4552
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4553
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->server_name));
4554
ndr->flags = _flags_save_string;
4557
uint32_t _flags_save_string = ndr->flags;
4558
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4559
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->user_name));
4560
ndr->flags = _flags_save_string;
4563
uint32_t _flags_save_string = ndr->flags;
4564
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4565
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->document_name));
4566
ndr->flags = _flags_save_string;
4569
uint32_t _flags_save_string = ndr->flags;
4570
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4571
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->notify_name));
4572
ndr->flags = _flags_save_string;
4575
uint32_t _flags_save_string = ndr->flags;
4576
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4577
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_type));
4578
ndr->flags = _flags_save_string;
4581
uint32_t _flags_save_string = ndr->flags;
4582
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4583
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor));
4584
ndr->flags = _flags_save_string;
4587
uint32_t _flags_save_string = ndr->flags;
4588
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4589
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->parameters));
4590
ndr->flags = _flags_save_string;
4593
uint32_t _flags_save_string = ndr->flags;
4594
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4595
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
4596
ndr->flags = _flags_save_string;
4599
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
4600
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4601
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
4602
ndr->flags = _flags_save_spoolss_DeviceMode;
4605
uint32_t _flags_save_string = ndr->flags;
4606
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4607
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->text_status));
4608
ndr->flags = _flags_save_string;
4611
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
4612
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4613
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
4614
ndr->flags = _flags_save_spoolss_security_descriptor;
4616
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
4617
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
4618
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
4619
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->start_time));
4620
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->until_time));
4621
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
4622
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
4623
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
4624
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time));
4625
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
4626
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size_high));
4627
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4629
if (ndr_flags & NDR_BUFFERS) {
4631
uint32_t _flags_save_string = ndr->flags;
4632
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4633
if (r->printer_name) {
4634
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name));
4635
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name));
4636
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printer_name));
4638
ndr->flags = _flags_save_string;
4641
uint32_t _flags_save_string = ndr->flags;
4642
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4643
if (r->server_name) {
4644
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name));
4645
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name));
4646
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->server_name));
4648
ndr->flags = _flags_save_string;
4651
uint32_t _flags_save_string = ndr->flags;
4652
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4654
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name));
4655
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
4656
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->user_name));
4658
ndr->flags = _flags_save_string;
4661
uint32_t _flags_save_string = ndr->flags;
4662
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4663
if (r->document_name) {
4664
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name));
4665
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name));
4666
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->document_name));
4668
ndr->flags = _flags_save_string;
4671
uint32_t _flags_save_string = ndr->flags;
4672
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4673
if (r->notify_name) {
4674
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->notify_name));
4675
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->notify_name));
4676
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->notify_name));
4678
ndr->flags = _flags_save_string;
4681
uint32_t _flags_save_string = ndr->flags;
4682
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4684
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type));
4685
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type));
4686
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_type));
4688
ndr->flags = _flags_save_string;
4691
uint32_t _flags_save_string = ndr->flags;
4692
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4693
if (r->print_processor) {
4694
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor));
4695
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor));
4696
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor));
4698
ndr->flags = _flags_save_string;
4701
uint32_t _flags_save_string = ndr->flags;
4702
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4703
if (r->parameters) {
4704
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->parameters));
4705
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->parameters));
4706
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->parameters));
4708
ndr->flags = _flags_save_string;
4711
uint32_t _flags_save_string = ndr->flags;
4712
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4713
if (r->driver_name) {
4714
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
4715
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
4716
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
4718
ndr->flags = _flags_save_string;
4721
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
4722
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4724
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode));
4726
struct ndr_push *_ndr_devmode;
4727
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
4728
NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
4729
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
4731
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode));
4733
ndr->flags = _flags_save_spoolss_DeviceMode;
4736
uint32_t _flags_save_string = ndr->flags;
4737
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4738
if (r->text_status) {
4739
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status));
4740
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status));
4741
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->text_status));
4743
ndr->flags = _flags_save_string;
4746
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
4747
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4749
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc));
4751
struct ndr_push *_ndr_secdesc;
4752
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
4753
NDR_CHECK(ndr_push_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
4754
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
4756
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc));
4758
ndr->flags = _flags_save_spoolss_security_descriptor;
4761
return NDR_ERR_SUCCESS;
4764
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo4 *r)
4766
uint32_t _ptr_printer_name;
4767
TALLOC_CTX *_mem_save_printer_name_0;
4768
uint32_t _ptr_server_name;
4769
TALLOC_CTX *_mem_save_server_name_0;
4770
uint32_t _ptr_user_name;
4771
TALLOC_CTX *_mem_save_user_name_0;
4772
uint32_t _ptr_document_name;
4773
TALLOC_CTX *_mem_save_document_name_0;
4774
uint32_t _ptr_notify_name;
4775
TALLOC_CTX *_mem_save_notify_name_0;
4776
uint32_t _ptr_data_type;
4777
TALLOC_CTX *_mem_save_data_type_0;
4778
uint32_t _ptr_print_processor;
4779
TALLOC_CTX *_mem_save_print_processor_0;
4780
uint32_t _ptr_parameters;
4781
TALLOC_CTX *_mem_save_parameters_0;
4782
uint32_t _ptr_driver_name;
4783
TALLOC_CTX *_mem_save_driver_name_0;
4784
uint32_t _ptr_devmode;
4785
TALLOC_CTX *_mem_save_devmode_0;
4786
uint32_t _ptr_text_status;
4787
TALLOC_CTX *_mem_save_text_status_0;
4788
uint32_t _ptr_secdesc;
4789
TALLOC_CTX *_mem_save_secdesc_0;
4790
if (ndr_flags & NDR_SCALARS) {
4791
NDR_CHECK(ndr_pull_align(ndr, 5));
4792
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
4794
uint32_t _flags_save_string = ndr->flags;
4795
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4796
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
4797
if (_ptr_printer_name) {
4798
NDR_PULL_ALLOC(ndr, r->printer_name);
4799
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printer_name, _ptr_printer_name));
4801
r->printer_name = NULL;
4803
ndr->flags = _flags_save_string;
4806
uint32_t _flags_save_string = ndr->flags;
4807
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4808
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
4809
if (_ptr_server_name) {
4810
NDR_PULL_ALLOC(ndr, r->server_name);
4811
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->server_name, _ptr_server_name));
4813
r->server_name = NULL;
4815
ndr->flags = _flags_save_string;
4818
uint32_t _flags_save_string = ndr->flags;
4819
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4820
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
4821
if (_ptr_user_name) {
4822
NDR_PULL_ALLOC(ndr, r->user_name);
4823
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->user_name, _ptr_user_name));
4825
r->user_name = NULL;
4827
ndr->flags = _flags_save_string;
4830
uint32_t _flags_save_string = ndr->flags;
4831
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4832
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
4833
if (_ptr_document_name) {
4834
NDR_PULL_ALLOC(ndr, r->document_name);
4835
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->document_name, _ptr_document_name));
4837
r->document_name = NULL;
4839
ndr->flags = _flags_save_string;
4842
uint32_t _flags_save_string = ndr->flags;
4843
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4844
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_name));
4845
if (_ptr_notify_name) {
4846
NDR_PULL_ALLOC(ndr, r->notify_name);
4847
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->notify_name, _ptr_notify_name));
4849
r->notify_name = NULL;
4851
ndr->flags = _flags_save_string;
4854
uint32_t _flags_save_string = ndr->flags;
4855
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4856
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
4857
if (_ptr_data_type) {
4858
NDR_PULL_ALLOC(ndr, r->data_type);
4859
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_type, _ptr_data_type));
4861
r->data_type = NULL;
4863
ndr->flags = _flags_save_string;
4866
uint32_t _flags_save_string = ndr->flags;
4867
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4868
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
4869
if (_ptr_print_processor) {
4870
NDR_PULL_ALLOC(ndr, r->print_processor);
4871
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->print_processor, _ptr_print_processor));
4873
r->print_processor = NULL;
4875
ndr->flags = _flags_save_string;
4878
uint32_t _flags_save_string = ndr->flags;
4879
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4880
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
4881
if (_ptr_parameters) {
4882
NDR_PULL_ALLOC(ndr, r->parameters);
4883
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->parameters, _ptr_parameters));
4885
r->parameters = NULL;
4887
ndr->flags = _flags_save_string;
4890
uint32_t _flags_save_string = ndr->flags;
4891
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4892
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
4893
if (_ptr_driver_name) {
4894
NDR_PULL_ALLOC(ndr, r->driver_name);
4895
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
4897
r->driver_name = NULL;
4899
ndr->flags = _flags_save_string;
4902
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
4903
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4904
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
4906
NDR_PULL_ALLOC(ndr, r->devmode);
4907
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
4911
ndr->flags = _flags_save_spoolss_DeviceMode;
4914
uint32_t _flags_save_string = ndr->flags;
4915
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4916
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
4917
if (_ptr_text_status) {
4918
NDR_PULL_ALLOC(ndr, r->text_status);
4919
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->text_status, _ptr_text_status));
4921
r->text_status = NULL;
4923
ndr->flags = _flags_save_string;
4926
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
4927
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4928
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
4930
NDR_PULL_ALLOC(ndr, r->secdesc);
4931
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
4935
ndr->flags = _flags_save_spoolss_security_descriptor;
4937
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
4938
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
4939
if (r->priority > 99) {
4940
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4942
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
4943
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->start_time));
4944
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->until_time));
4945
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
4946
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
4947
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
4948
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time));
4949
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
4950
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size_high));
4951
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4953
if (ndr_flags & NDR_BUFFERS) {
4955
uint32_t _flags_save_string = ndr->flags;
4956
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4957
if (r->printer_name) {
4958
uint32_t _relative_save_offset;
4959
_relative_save_offset = ndr->offset;
4960
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printer_name));
4961
_mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4962
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
4963
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printer_name));
4964
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
4965
if (ndr->offset > ndr->relative_highest_offset) {
4966
ndr->relative_highest_offset = ndr->offset;
4968
ndr->offset = _relative_save_offset;
4970
ndr->flags = _flags_save_string;
4973
uint32_t _flags_save_string = ndr->flags;
4974
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4975
if (r->server_name) {
4976
uint32_t _relative_save_offset;
4977
_relative_save_offset = ndr->offset;
4978
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->server_name));
4979
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4980
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
4981
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->server_name));
4982
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
4983
if (ndr->offset > ndr->relative_highest_offset) {
4984
ndr->relative_highest_offset = ndr->offset;
4986
ndr->offset = _relative_save_offset;
4988
ndr->flags = _flags_save_string;
4991
uint32_t _flags_save_string = ndr->flags;
4992
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4994
uint32_t _relative_save_offset;
4995
_relative_save_offset = ndr->offset;
4996
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->user_name));
4997
_mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4998
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
4999
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name));
5000
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
5001
if (ndr->offset > ndr->relative_highest_offset) {
5002
ndr->relative_highest_offset = ndr->offset;
5004
ndr->offset = _relative_save_offset;
5006
ndr->flags = _flags_save_string;
5009
uint32_t _flags_save_string = ndr->flags;
5010
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
5011
if (r->document_name) {
5012
uint32_t _relative_save_offset;
5013
_relative_save_offset = ndr->offset;
5014
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->document_name));
5015
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5016
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
5017
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->document_name));
5018
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
5019
if (ndr->offset > ndr->relative_highest_offset) {
5020
ndr->relative_highest_offset = ndr->offset;
5022
ndr->offset = _relative_save_offset;
5024
ndr->flags = _flags_save_string;
5027
uint32_t _flags_save_string = ndr->flags;
5028
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
5029
if (r->notify_name) {
5030
uint32_t _relative_save_offset;
5031
_relative_save_offset = ndr->offset;
5032
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->notify_name));
5033
_mem_save_notify_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5034
NDR_PULL_SET_MEM_CTX(ndr, r->notify_name, 0);
5035
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->notify_name));
5036
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_name_0, 0);
5037
if (ndr->offset > ndr->relative_highest_offset) {
5038
ndr->relative_highest_offset = ndr->offset;
5040
ndr->offset = _relative_save_offset;
5042
ndr->flags = _flags_save_string;
5045
uint32_t _flags_save_string = ndr->flags;
5046
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
5048
uint32_t _relative_save_offset;
5049
_relative_save_offset = ndr->offset;
5050
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_type));
5051
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
5052
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
5053
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_type));
5054
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
5055
if (ndr->offset > ndr->relative_highest_offset) {
5056
ndr->relative_highest_offset = ndr->offset;
5058
ndr->offset = _relative_save_offset;
5060
ndr->flags = _flags_save_string;
5063
uint32_t _flags_save_string = ndr->flags;
5064
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
5065
if (r->print_processor) {
5066
uint32_t _relative_save_offset;
5067
_relative_save_offset = ndr->offset;
5068
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->print_processor));
5069
_mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr);
5070
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
5071
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor));
5072
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
5073
if (ndr->offset > ndr->relative_highest_offset) {
5074
ndr->relative_highest_offset = ndr->offset;
5076
ndr->offset = _relative_save_offset;
5078
ndr->flags = _flags_save_string;
5081
uint32_t _flags_save_string = ndr->flags;
5082
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
5083
if (r->parameters) {
5084
uint32_t _relative_save_offset;
5085
_relative_save_offset = ndr->offset;
5086
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->parameters));
5087
_mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
5088
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
5089
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->parameters));
5090
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
5091
if (ndr->offset > ndr->relative_highest_offset) {
5092
ndr->relative_highest_offset = ndr->offset;
5094
ndr->offset = _relative_save_offset;
5096
ndr->flags = _flags_save_string;
5099
uint32_t _flags_save_string = ndr->flags;
5100
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
5101
if (r->driver_name) {
5102
uint32_t _relative_save_offset;
5103
_relative_save_offset = ndr->offset;
5104
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
5105
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5106
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
5107
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
5108
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
5109
if (ndr->offset > ndr->relative_highest_offset) {
5110
ndr->relative_highest_offset = ndr->offset;
5112
ndr->offset = _relative_save_offset;
5114
ndr->flags = _flags_save_string;
5117
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
5118
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
5120
uint32_t _relative_save_offset;
5121
_relative_save_offset = ndr->offset;
5122
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
5123
_mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
5124
NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
5126
struct ndr_pull *_ndr_devmode;
5127
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
5128
NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
5129
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
5131
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
5132
if (ndr->offset > ndr->relative_highest_offset) {
5133
ndr->relative_highest_offset = ndr->offset;
5135
ndr->offset = _relative_save_offset;
5137
ndr->flags = _flags_save_spoolss_DeviceMode;
5140
uint32_t _flags_save_string = ndr->flags;
5141
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
5142
if (r->text_status) {
5143
uint32_t _relative_save_offset;
5144
_relative_save_offset = ndr->offset;
5145
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->text_status));
5146
_mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
5147
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
5148
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->text_status));
5149
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
5150
if (ndr->offset > ndr->relative_highest_offset) {
5151
ndr->relative_highest_offset = ndr->offset;
5153
ndr->offset = _relative_save_offset;
5155
ndr->flags = _flags_save_string;
5158
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
5159
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
5161
uint32_t _relative_save_offset;
5162
_relative_save_offset = ndr->offset;
5163
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
5164
_mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
5165
NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
5167
struct ndr_pull *_ndr_secdesc;
5168
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
5169
NDR_CHECK(ndr_pull_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
5170
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
5172
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
5173
if (ndr->offset > ndr->relative_highest_offset) {
5174
ndr->relative_highest_offset = ndr->offset;
5176
ndr->offset = _relative_save_offset;
5178
ndr->flags = _flags_save_spoolss_security_descriptor;
5181
return NDR_ERR_SUCCESS;
5184
_PUBLIC_ void ndr_print_spoolss_JobInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo4 *r)
5186
ndr_print_struct(ndr, name, "spoolss_JobInfo4");
5187
if (r == NULL) { ndr_print_null(ndr); return; }
5189
ndr_print_uint32(ndr, "job_id", r->job_id);
5190
ndr_print_ptr(ndr, "printer_name", r->printer_name);
5192
if (r->printer_name) {
5193
ndr_print_string(ndr, "printer_name", r->printer_name);
5196
ndr_print_ptr(ndr, "server_name", r->server_name);
5198
if (r->server_name) {
5199
ndr_print_string(ndr, "server_name", r->server_name);
5202
ndr_print_ptr(ndr, "user_name", r->user_name);
5205
ndr_print_string(ndr, "user_name", r->user_name);
5208
ndr_print_ptr(ndr, "document_name", r->document_name);
5210
if (r->document_name) {
5211
ndr_print_string(ndr, "document_name", r->document_name);
5214
ndr_print_ptr(ndr, "notify_name", r->notify_name);
5216
if (r->notify_name) {
5217
ndr_print_string(ndr, "notify_name", r->notify_name);
5220
ndr_print_ptr(ndr, "data_type", r->data_type);
5223
ndr_print_string(ndr, "data_type", r->data_type);
5226
ndr_print_ptr(ndr, "print_processor", r->print_processor);
5228
if (r->print_processor) {
5229
ndr_print_string(ndr, "print_processor", r->print_processor);
5232
ndr_print_ptr(ndr, "parameters", r->parameters);
5234
if (r->parameters) {
5235
ndr_print_string(ndr, "parameters", r->parameters);
5238
ndr_print_ptr(ndr, "driver_name", r->driver_name);
5240
if (r->driver_name) {
5241
ndr_print_string(ndr, "driver_name", r->driver_name);
5244
ndr_print_ptr(ndr, "devmode", r->devmode);
5247
ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
5250
ndr_print_ptr(ndr, "text_status", r->text_status);
5252
if (r->text_status) {
5253
ndr_print_string(ndr, "text_status", r->text_status);
5256
ndr_print_ptr(ndr, "secdesc", r->secdesc);
5259
ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc);
5262
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
5263
ndr_print_uint32(ndr, "priority", r->priority);
5264
ndr_print_uint32(ndr, "position", r->position);
5265
ndr_print_uint32(ndr, "start_time", r->start_time);
5266
ndr_print_uint32(ndr, "until_time", r->until_time);
5267
ndr_print_uint32(ndr, "total_pages", r->total_pages);
5268
ndr_print_uint32(ndr, "size", r->size);
5269
ndr_print_spoolss_Time(ndr, "submitted", &r->submitted);
5270
ndr_print_uint32(ndr, "time", r->time);
5271
ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
5272
ndr_print_uint32(ndr, "size_high", r->size_high);
5276
_PUBLIC_ size_t ndr_size_spoolss_JobInfo4(const struct spoolss_JobInfo4 *r, int flags)
5278
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo4);
5281
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_JobInfo *r)
5283
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
5285
uint32_t _flags_save_UNION = ndr->flags;
5286
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
5287
if (ndr_flags & NDR_SCALARS) {
5288
uint32_t level = ndr_push_get_switch_value(ndr, r);
5289
NDR_CHECK(ndr_push_union_align(ndr, 5));
5292
NDR_CHECK(ndr_push_align(ndr, 5));
5293
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
5294
NDR_CHECK(ndr_push_spoolss_JobInfo1(ndr, NDR_SCALARS, &r->info1));
5298
NDR_CHECK(ndr_push_align(ndr, 5));
5299
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
5300
NDR_CHECK(ndr_push_spoolss_JobInfo2(ndr, NDR_SCALARS, &r->info2));
5304
NDR_CHECK(ndr_push_align(ndr, 4));
5305
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
5306
NDR_CHECK(ndr_push_spoolss_JobInfo3(ndr, NDR_SCALARS, &r->info3));
5310
NDR_CHECK(ndr_push_align(ndr, 5));
5311
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
5312
NDR_CHECK(ndr_push_spoolss_JobInfo4(ndr, NDR_SCALARS, &r->info4));
5320
if (ndr_flags & NDR_BUFFERS) {
5321
uint32_t level = ndr_push_get_switch_value(ndr, r);
5322
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
5325
NDR_CHECK(ndr_push_spoolss_JobInfo1(ndr, NDR_BUFFERS, &r->info1));
5329
NDR_CHECK(ndr_push_spoolss_JobInfo2(ndr, NDR_BUFFERS, &r->info2));
5336
NDR_CHECK(ndr_push_spoolss_JobInfo4(ndr, NDR_BUFFERS, &r->info4));
5344
ndr->flags = _flags_save_UNION;
5346
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
5347
return NDR_ERR_SUCCESS;
5350
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_JobInfo *r)
5352
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
5355
uint32_t _flags_save_UNION = ndr->flags;
5356
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
5357
level = ndr_pull_get_switch_value(ndr, r);
5358
if (ndr_flags & NDR_SCALARS) {
5359
NDR_CHECK(ndr_pull_union_align(ndr, 5));
5362
NDR_CHECK(ndr_pull_align(ndr, 5));
5363
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
5364
NDR_CHECK(ndr_pull_spoolss_JobInfo1(ndr, NDR_SCALARS, &r->info1));
5368
NDR_CHECK(ndr_pull_align(ndr, 5));
5369
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
5370
NDR_CHECK(ndr_pull_spoolss_JobInfo2(ndr, NDR_SCALARS, &r->info2));
5374
NDR_CHECK(ndr_pull_align(ndr, 4));
5375
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
5376
NDR_CHECK(ndr_pull_spoolss_JobInfo3(ndr, NDR_SCALARS, &r->info3));
5380
NDR_CHECK(ndr_pull_align(ndr, 5));
5381
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
5382
NDR_CHECK(ndr_pull_spoolss_JobInfo4(ndr, NDR_SCALARS, &r->info4));
5390
if (ndr_flags & NDR_BUFFERS) {
5391
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
5394
NDR_CHECK(ndr_pull_spoolss_JobInfo1(ndr, NDR_BUFFERS, &r->info1));
5398
NDR_CHECK(ndr_pull_spoolss_JobInfo2(ndr, NDR_BUFFERS, &r->info2));
5405
NDR_CHECK(ndr_pull_spoolss_JobInfo4(ndr, NDR_BUFFERS, &r->info4));
5413
ndr->flags = _flags_save_UNION;
5415
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
5416
return NDR_ERR_SUCCESS;
5419
_PUBLIC_ void ndr_print_spoolss_JobInfo(struct ndr_print *ndr, const char *name, const union spoolss_JobInfo *r)
5423
uint32_t _flags_save_UNION = ndr->flags;
5424
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
5425
level = ndr_print_get_switch_value(ndr, r);
5426
ndr_print_union(ndr, name, level, "spoolss_JobInfo");
5429
ndr_print_spoolss_JobInfo1(ndr, "info1", &r->info1);
5433
ndr_print_spoolss_JobInfo2(ndr, "info2", &r->info2);
5437
ndr_print_spoolss_JobInfo3(ndr, "info3", &r->info3);
5441
ndr_print_spoolss_JobInfo4(ndr, "info4", &r->info4);
5448
ndr->flags = _flags_save_UNION;
5452
_PUBLIC_ size_t ndr_size_spoolss_JobInfo(const union spoolss_JobInfo *r, uint32_t level, int flags)
5454
flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
5455
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo);
5458
static enum ndr_err_code ndr_push_spoolss_SetJobInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetJobInfo1 *r)
5460
if (ndr_flags & NDR_SCALARS) {
5461
NDR_CHECK(ndr_push_align(ndr, 5));
5462
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
5463
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printer_name));
5464
NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name));
5465
NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name));
5466
NDR_CHECK(ndr_push_unique_ptr(ndr, r->document_name));
5467
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_type));
5468
NDR_CHECK(ndr_push_unique_ptr(ndr, r->text_status));
5469
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
5470
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
5471
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
5472
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
5473
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
5474
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
5475
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5477
if (ndr_flags & NDR_BUFFERS) {
5478
if (r->printer_name) {
5479
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16)));
5480
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5481
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16)));
5482
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printer_name, ndr_charset_length(r->printer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5484
if (r->server_name) {
5485
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
5486
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5487
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
5488
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5491
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
5492
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5493
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
5494
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5496
if (r->document_name) {
5497
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
5498
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5499
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
5500
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->document_name, ndr_charset_length(r->document_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5503
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16)));
5504
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5505
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16)));
5506
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_type, ndr_charset_length(r->data_type, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5508
if (r->text_status) {
5509
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16)));
5510
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5511
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16)));
5512
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->text_status, ndr_charset_length(r->text_status, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5515
return NDR_ERR_SUCCESS;
5518
static enum ndr_err_code ndr_pull_spoolss_SetJobInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetJobInfo1 *r)
5520
uint32_t _ptr_printer_name;
5521
TALLOC_CTX *_mem_save_printer_name_0;
5522
uint32_t _ptr_server_name;
5523
TALLOC_CTX *_mem_save_server_name_0;
5524
uint32_t _ptr_user_name;
5525
TALLOC_CTX *_mem_save_user_name_0;
5526
uint32_t _ptr_document_name;
5527
TALLOC_CTX *_mem_save_document_name_0;
5528
uint32_t _ptr_data_type;
5529
TALLOC_CTX *_mem_save_data_type_0;
5530
uint32_t _ptr_text_status;
5531
TALLOC_CTX *_mem_save_text_status_0;
5532
if (ndr_flags & NDR_SCALARS) {
5533
NDR_CHECK(ndr_pull_align(ndr, 5));
5534
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
5535
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
5536
if (_ptr_printer_name) {
5537
NDR_PULL_ALLOC(ndr, r->printer_name);
5539
r->printer_name = NULL;
5541
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
5542
if (_ptr_server_name) {
5543
NDR_PULL_ALLOC(ndr, r->server_name);
5545
r->server_name = NULL;
5547
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
5548
if (_ptr_user_name) {
5549
NDR_PULL_ALLOC(ndr, r->user_name);
5551
r->user_name = NULL;
5553
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
5554
if (_ptr_document_name) {
5555
NDR_PULL_ALLOC(ndr, r->document_name);
5557
r->document_name = NULL;
5559
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
5560
if (_ptr_data_type) {
5561
NDR_PULL_ALLOC(ndr, r->data_type);
5563
r->data_type = NULL;
5565
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
5566
if (_ptr_text_status) {
5567
NDR_PULL_ALLOC(ndr, r->text_status);
5569
r->text_status = NULL;
5571
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
5572
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
5573
if (r->priority > 99) {
5574
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5576
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
5577
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
5578
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
5579
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
5580
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5582
if (ndr_flags & NDR_BUFFERS) {
5583
if (r->printer_name) {
5584
_mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5585
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
5586
NDR_CHECK(ndr_pull_array_size(ndr, &r->printer_name));
5587
NDR_CHECK(ndr_pull_array_length(ndr, &r->printer_name));
5588
if (ndr_get_array_length(ndr, &r->printer_name) > ndr_get_array_size(ndr, &r->printer_name)) {
5589
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));
5591
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t)));
5592
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printer_name, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t), CH_UTF16));
5593
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
5595
if (r->server_name) {
5596
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5597
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
5598
NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
5599
NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
5600
if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
5601
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));
5603
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));
5604
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));
5605
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
5608
_mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5609
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
5610
NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name));
5611
NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name));
5612
if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) {
5613
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));
5615
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t)));
5616
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16));
5617
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
5619
if (r->document_name) {
5620
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5621
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
5622
NDR_CHECK(ndr_pull_array_size(ndr, &r->document_name));
5623
NDR_CHECK(ndr_pull_array_length(ndr, &r->document_name));
5624
if (ndr_get_array_length(ndr, &r->document_name) > ndr_get_array_size(ndr, &r->document_name)) {
5625
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));
5627
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t)));
5628
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->document_name, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t), CH_UTF16));
5629
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
5632
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
5633
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
5634
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_type));
5635
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_type));
5636
if (ndr_get_array_length(ndr, &r->data_type) > ndr_get_array_size(ndr, &r->data_type)) {
5637
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));
5639
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t)));
5640
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_type, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t), CH_UTF16));
5641
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
5643
if (r->text_status) {
5644
_mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
5645
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
5646
NDR_CHECK(ndr_pull_array_size(ndr, &r->text_status));
5647
NDR_CHECK(ndr_pull_array_length(ndr, &r->text_status));
5648
if (ndr_get_array_length(ndr, &r->text_status) > ndr_get_array_size(ndr, &r->text_status)) {
5649
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));
5651
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t)));
5652
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->text_status, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t), CH_UTF16));
5653
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
5656
return NDR_ERR_SUCCESS;
5659
_PUBLIC_ void ndr_print_spoolss_SetJobInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_SetJobInfo1 *r)
5661
ndr_print_struct(ndr, name, "spoolss_SetJobInfo1");
5662
if (r == NULL) { ndr_print_null(ndr); return; }
5664
ndr_print_uint32(ndr, "job_id", r->job_id);
5665
ndr_print_ptr(ndr, "printer_name", r->printer_name);
5667
if (r->printer_name) {
5668
ndr_print_string(ndr, "printer_name", r->printer_name);
5671
ndr_print_ptr(ndr, "server_name", r->server_name);
5673
if (r->server_name) {
5674
ndr_print_string(ndr, "server_name", r->server_name);
5677
ndr_print_ptr(ndr, "user_name", r->user_name);
5680
ndr_print_string(ndr, "user_name", r->user_name);
5683
ndr_print_ptr(ndr, "document_name", r->document_name);
5685
if (r->document_name) {
5686
ndr_print_string(ndr, "document_name", r->document_name);
5689
ndr_print_ptr(ndr, "data_type", r->data_type);
5692
ndr_print_string(ndr, "data_type", r->data_type);
5695
ndr_print_ptr(ndr, "text_status", r->text_status);
5697
if (r->text_status) {
5698
ndr_print_string(ndr, "text_status", r->text_status);
5701
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
5702
ndr_print_uint32(ndr, "priority", r->priority);
5703
ndr_print_uint32(ndr, "position", r->position);
5704
ndr_print_uint32(ndr, "total_pages", r->total_pages);
5705
ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
5706
ndr_print_spoolss_Time(ndr, "submitted", &r->submitted);
5710
static enum ndr_err_code ndr_push_spoolss_SetJobInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetJobInfo2 *r)
5712
if (ndr_flags & NDR_SCALARS) {
5713
NDR_CHECK(ndr_push_align(ndr, 5));
5714
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
5715
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printer_name));
5716
NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name));
5717
NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name));
5718
NDR_CHECK(ndr_push_unique_ptr(ndr, r->document_name));
5719
NDR_CHECK(ndr_push_unique_ptr(ndr, r->notify_name));
5720
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_type));
5721
NDR_CHECK(ndr_push_unique_ptr(ndr, r->print_processor));
5722
NDR_CHECK(ndr_push_unique_ptr(ndr, r->parameters));
5723
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
5724
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->_devmode_ptr));
5725
NDR_CHECK(ndr_push_unique_ptr(ndr, r->text_status));
5726
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->_secdesc_ptr));
5727
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
5728
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
5729
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
5730
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->start_time));
5731
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->until_time));
5732
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
5733
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
5734
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
5735
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time));
5736
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
5737
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5739
if (ndr_flags & NDR_BUFFERS) {
5740
if (r->printer_name) {
5741
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16)));
5742
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5743
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16)));
5744
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printer_name, ndr_charset_length(r->printer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5746
if (r->server_name) {
5747
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
5748
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5749
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
5750
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5753
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
5754
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5755
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
5756
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5758
if (r->document_name) {
5759
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
5760
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5761
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
5762
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->document_name, ndr_charset_length(r->document_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5764
if (r->notify_name) {
5765
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->notify_name, CH_UTF16)));
5766
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5767
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->notify_name, CH_UTF16)));
5768
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->notify_name, ndr_charset_length(r->notify_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5771
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16)));
5772
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5773
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16)));
5774
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_type, ndr_charset_length(r->data_type, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5776
if (r->print_processor) {
5777
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16)));
5778
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5779
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16)));
5780
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->print_processor, ndr_charset_length(r->print_processor, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5782
if (r->parameters) {
5783
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
5784
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5785
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
5786
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->parameters, ndr_charset_length(r->parameters, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5788
if (r->driver_name) {
5789
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
5790
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5791
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
5792
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5794
if (r->text_status) {
5795
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16)));
5796
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5797
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16)));
5798
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->text_status, ndr_charset_length(r->text_status, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5801
return NDR_ERR_SUCCESS;
5804
static enum ndr_err_code ndr_pull_spoolss_SetJobInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetJobInfo2 *r)
5806
uint32_t _ptr_printer_name;
5807
TALLOC_CTX *_mem_save_printer_name_0;
5808
uint32_t _ptr_server_name;
5809
TALLOC_CTX *_mem_save_server_name_0;
5810
uint32_t _ptr_user_name;
5811
TALLOC_CTX *_mem_save_user_name_0;
5812
uint32_t _ptr_document_name;
5813
TALLOC_CTX *_mem_save_document_name_0;
5814
uint32_t _ptr_notify_name;
5815
TALLOC_CTX *_mem_save_notify_name_0;
5816
uint32_t _ptr_data_type;
5817
TALLOC_CTX *_mem_save_data_type_0;
5818
uint32_t _ptr_print_processor;
5819
TALLOC_CTX *_mem_save_print_processor_0;
5820
uint32_t _ptr_parameters;
5821
TALLOC_CTX *_mem_save_parameters_0;
5822
uint32_t _ptr_driver_name;
5823
TALLOC_CTX *_mem_save_driver_name_0;
5824
uint32_t _ptr_text_status;
5825
TALLOC_CTX *_mem_save_text_status_0;
5826
if (ndr_flags & NDR_SCALARS) {
5827
NDR_CHECK(ndr_pull_align(ndr, 5));
5828
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
5829
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
5830
if (_ptr_printer_name) {
5831
NDR_PULL_ALLOC(ndr, r->printer_name);
5833
r->printer_name = NULL;
5835
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
5836
if (_ptr_server_name) {
5837
NDR_PULL_ALLOC(ndr, r->server_name);
5839
r->server_name = NULL;
5841
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
5842
if (_ptr_user_name) {
5843
NDR_PULL_ALLOC(ndr, r->user_name);
5845
r->user_name = NULL;
5847
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
5848
if (_ptr_document_name) {
5849
NDR_PULL_ALLOC(ndr, r->document_name);
5851
r->document_name = NULL;
5853
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_name));
5854
if (_ptr_notify_name) {
5855
NDR_PULL_ALLOC(ndr, r->notify_name);
5857
r->notify_name = NULL;
5859
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
5860
if (_ptr_data_type) {
5861
NDR_PULL_ALLOC(ndr, r->data_type);
5863
r->data_type = NULL;
5865
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
5866
if (_ptr_print_processor) {
5867
NDR_PULL_ALLOC(ndr, r->print_processor);
5869
r->print_processor = NULL;
5871
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
5872
if (_ptr_parameters) {
5873
NDR_PULL_ALLOC(ndr, r->parameters);
5875
r->parameters = NULL;
5877
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
5878
if (_ptr_driver_name) {
5879
NDR_PULL_ALLOC(ndr, r->driver_name);
5881
r->driver_name = NULL;
5883
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_devmode_ptr));
5884
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
5885
if (_ptr_text_status) {
5886
NDR_PULL_ALLOC(ndr, r->text_status);
5888
r->text_status = NULL;
5890
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_secdesc_ptr));
5891
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
5892
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
5893
if (r->priority > 99) {
5894
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5896
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
5897
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->start_time));
5898
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->until_time));
5899
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
5900
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
5901
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
5902
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time));
5903
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
5904
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5906
if (ndr_flags & NDR_BUFFERS) {
5907
if (r->printer_name) {
5908
_mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5909
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
5910
NDR_CHECK(ndr_pull_array_size(ndr, &r->printer_name));
5911
NDR_CHECK(ndr_pull_array_length(ndr, &r->printer_name));
5912
if (ndr_get_array_length(ndr, &r->printer_name) > ndr_get_array_size(ndr, &r->printer_name)) {
5913
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));
5915
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t)));
5916
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printer_name, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t), CH_UTF16));
5917
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
5919
if (r->server_name) {
5920
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5921
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
5922
NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
5923
NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
5924
if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
5925
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));
5927
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));
5928
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));
5929
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
5932
_mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5933
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
5934
NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name));
5935
NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name));
5936
if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) {
5937
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));
5939
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t)));
5940
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16));
5941
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
5943
if (r->document_name) {
5944
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5945
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
5946
NDR_CHECK(ndr_pull_array_size(ndr, &r->document_name));
5947
NDR_CHECK(ndr_pull_array_length(ndr, &r->document_name));
5948
if (ndr_get_array_length(ndr, &r->document_name) > ndr_get_array_size(ndr, &r->document_name)) {
5949
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));
5951
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t)));
5952
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->document_name, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t), CH_UTF16));
5953
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
5955
if (r->notify_name) {
5956
_mem_save_notify_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5957
NDR_PULL_SET_MEM_CTX(ndr, r->notify_name, 0);
5958
NDR_CHECK(ndr_pull_array_size(ndr, &r->notify_name));
5959
NDR_CHECK(ndr_pull_array_length(ndr, &r->notify_name));
5960
if (ndr_get_array_length(ndr, &r->notify_name) > ndr_get_array_size(ndr, &r->notify_name)) {
5961
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));
5963
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->notify_name), sizeof(uint16_t)));
5964
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->notify_name, ndr_get_array_length(ndr, &r->notify_name), sizeof(uint16_t), CH_UTF16));
5965
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_name_0, 0);
5968
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
5969
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
5970
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_type));
5971
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_type));
5972
if (ndr_get_array_length(ndr, &r->data_type) > ndr_get_array_size(ndr, &r->data_type)) {
5973
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));
5975
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t)));
5976
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_type, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t), CH_UTF16));
5977
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
5979
if (r->print_processor) {
5980
_mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr);
5981
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
5982
NDR_CHECK(ndr_pull_array_size(ndr, &r->print_processor));
5983
NDR_CHECK(ndr_pull_array_length(ndr, &r->print_processor));
5984
if (ndr_get_array_length(ndr, &r->print_processor) > ndr_get_array_size(ndr, &r->print_processor)) {
5985
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));
5987
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t)));
5988
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->print_processor, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t), CH_UTF16));
5989
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
5991
if (r->parameters) {
5992
_mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
5993
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
5994
NDR_CHECK(ndr_pull_array_size(ndr, &r->parameters));
5995
NDR_CHECK(ndr_pull_array_length(ndr, &r->parameters));
5996
if (ndr_get_array_length(ndr, &r->parameters) > ndr_get_array_size(ndr, &r->parameters)) {
5997
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));
5999
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t)));
6000
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->parameters, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t), CH_UTF16));
6001
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
6003
if (r->driver_name) {
6004
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6005
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
6006
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
6007
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
6008
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
6009
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));
6011
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
6012
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
6013
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
6015
if (r->text_status) {
6016
_mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
6017
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
6018
NDR_CHECK(ndr_pull_array_size(ndr, &r->text_status));
6019
NDR_CHECK(ndr_pull_array_length(ndr, &r->text_status));
6020
if (ndr_get_array_length(ndr, &r->text_status) > ndr_get_array_size(ndr, &r->text_status)) {
6021
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));
6023
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t)));
6024
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->text_status, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t), CH_UTF16));
6025
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
6028
return NDR_ERR_SUCCESS;
6031
_PUBLIC_ void ndr_print_spoolss_SetJobInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_SetJobInfo2 *r)
6033
ndr_print_struct(ndr, name, "spoolss_SetJobInfo2");
6034
if (r == NULL) { ndr_print_null(ndr); return; }
6036
ndr_print_uint32(ndr, "job_id", r->job_id);
6037
ndr_print_ptr(ndr, "printer_name", r->printer_name);
6039
if (r->printer_name) {
6040
ndr_print_string(ndr, "printer_name", r->printer_name);
6043
ndr_print_ptr(ndr, "server_name", r->server_name);
6045
if (r->server_name) {
6046
ndr_print_string(ndr, "server_name", r->server_name);
6049
ndr_print_ptr(ndr, "user_name", r->user_name);
6052
ndr_print_string(ndr, "user_name", r->user_name);
6055
ndr_print_ptr(ndr, "document_name", r->document_name);
6057
if (r->document_name) {
6058
ndr_print_string(ndr, "document_name", r->document_name);
6061
ndr_print_ptr(ndr, "notify_name", r->notify_name);
6063
if (r->notify_name) {
6064
ndr_print_string(ndr, "notify_name", r->notify_name);
6067
ndr_print_ptr(ndr, "data_type", r->data_type);
6070
ndr_print_string(ndr, "data_type", r->data_type);
6073
ndr_print_ptr(ndr, "print_processor", r->print_processor);
6075
if (r->print_processor) {
6076
ndr_print_string(ndr, "print_processor", r->print_processor);
6079
ndr_print_ptr(ndr, "parameters", r->parameters);
6081
if (r->parameters) {
6082
ndr_print_string(ndr, "parameters", r->parameters);
6085
ndr_print_ptr(ndr, "driver_name", r->driver_name);
6087
if (r->driver_name) {
6088
ndr_print_string(ndr, "driver_name", r->driver_name);
6091
ndr_print_uint32(ndr, "_devmode_ptr", r->_devmode_ptr);
6092
ndr_print_ptr(ndr, "text_status", r->text_status);
6094
if (r->text_status) {
6095
ndr_print_string(ndr, "text_status", r->text_status);
6098
ndr_print_uint32(ndr, "_secdesc_ptr", r->_secdesc_ptr);
6099
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
6100
ndr_print_uint32(ndr, "priority", r->priority);
6101
ndr_print_uint32(ndr, "position", r->position);
6102
ndr_print_uint32(ndr, "start_time", r->start_time);
6103
ndr_print_uint32(ndr, "until_time", r->until_time);
6104
ndr_print_uint32(ndr, "total_pages", r->total_pages);
6105
ndr_print_uint32(ndr, "size", r->size);
6106
ndr_print_spoolss_Time(ndr, "submitted", &r->submitted);
6107
ndr_print_uint32(ndr, "time", r->time);
6108
ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
6112
static enum ndr_err_code ndr_push_spoolss_SetJobInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetJobInfo4 *r)
6114
if (ndr_flags & NDR_SCALARS) {
6115
NDR_CHECK(ndr_push_align(ndr, 5));
6116
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
6117
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printer_name));
6118
NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name));
6119
NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name));
6120
NDR_CHECK(ndr_push_unique_ptr(ndr, r->document_name));
6121
NDR_CHECK(ndr_push_unique_ptr(ndr, r->notify_name));
6122
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_type));
6123
NDR_CHECK(ndr_push_unique_ptr(ndr, r->print_processor));
6124
NDR_CHECK(ndr_push_unique_ptr(ndr, r->parameters));
6125
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
6126
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->_devmode_ptr));
6127
NDR_CHECK(ndr_push_unique_ptr(ndr, r->text_status));
6128
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->_secdesc_ptr));
6129
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
6130
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
6131
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
6132
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->start_time));
6133
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->until_time));
6134
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
6135
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
6136
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
6137
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time));
6138
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
6139
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size_high));
6140
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6142
if (ndr_flags & NDR_BUFFERS) {
6143
if (r->printer_name) {
6144
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16)));
6145
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6146
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16)));
6147
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printer_name, ndr_charset_length(r->printer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6149
if (r->server_name) {
6150
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
6151
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6152
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
6153
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6156
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
6157
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6158
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
6159
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6161
if (r->document_name) {
6162
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
6163
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6164
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
6165
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->document_name, ndr_charset_length(r->document_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6167
if (r->notify_name) {
6168
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->notify_name, CH_UTF16)));
6169
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6170
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->notify_name, CH_UTF16)));
6171
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->notify_name, ndr_charset_length(r->notify_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6174
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16)));
6175
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6176
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16)));
6177
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_type, ndr_charset_length(r->data_type, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6179
if (r->print_processor) {
6180
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16)));
6181
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6182
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16)));
6183
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->print_processor, ndr_charset_length(r->print_processor, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6185
if (r->parameters) {
6186
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
6187
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6188
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
6189
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->parameters, ndr_charset_length(r->parameters, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6191
if (r->driver_name) {
6192
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
6193
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6194
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
6195
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6197
if (r->text_status) {
6198
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16)));
6199
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6200
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16)));
6201
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->text_status, ndr_charset_length(r->text_status, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6204
return NDR_ERR_SUCCESS;
6207
static enum ndr_err_code ndr_pull_spoolss_SetJobInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetJobInfo4 *r)
6209
uint32_t _ptr_printer_name;
6210
TALLOC_CTX *_mem_save_printer_name_0;
6211
uint32_t _ptr_server_name;
6212
TALLOC_CTX *_mem_save_server_name_0;
6213
uint32_t _ptr_user_name;
6214
TALLOC_CTX *_mem_save_user_name_0;
6215
uint32_t _ptr_document_name;
6216
TALLOC_CTX *_mem_save_document_name_0;
6217
uint32_t _ptr_notify_name;
6218
TALLOC_CTX *_mem_save_notify_name_0;
6219
uint32_t _ptr_data_type;
6220
TALLOC_CTX *_mem_save_data_type_0;
6221
uint32_t _ptr_print_processor;
6222
TALLOC_CTX *_mem_save_print_processor_0;
6223
uint32_t _ptr_parameters;
6224
TALLOC_CTX *_mem_save_parameters_0;
6225
uint32_t _ptr_driver_name;
6226
TALLOC_CTX *_mem_save_driver_name_0;
6227
uint32_t _ptr_text_status;
6228
TALLOC_CTX *_mem_save_text_status_0;
6229
if (ndr_flags & NDR_SCALARS) {
6230
NDR_CHECK(ndr_pull_align(ndr, 5));
6231
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
6232
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
6233
if (_ptr_printer_name) {
6234
NDR_PULL_ALLOC(ndr, r->printer_name);
6236
r->printer_name = NULL;
6238
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
6239
if (_ptr_server_name) {
6240
NDR_PULL_ALLOC(ndr, r->server_name);
6242
r->server_name = NULL;
6244
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
6245
if (_ptr_user_name) {
6246
NDR_PULL_ALLOC(ndr, r->user_name);
6248
r->user_name = NULL;
6250
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
6251
if (_ptr_document_name) {
6252
NDR_PULL_ALLOC(ndr, r->document_name);
6254
r->document_name = NULL;
6256
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_name));
6257
if (_ptr_notify_name) {
6258
NDR_PULL_ALLOC(ndr, r->notify_name);
6260
r->notify_name = NULL;
6262
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
6263
if (_ptr_data_type) {
6264
NDR_PULL_ALLOC(ndr, r->data_type);
6266
r->data_type = NULL;
6268
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
6269
if (_ptr_print_processor) {
6270
NDR_PULL_ALLOC(ndr, r->print_processor);
6272
r->print_processor = NULL;
6274
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
6275
if (_ptr_parameters) {
6276
NDR_PULL_ALLOC(ndr, r->parameters);
6278
r->parameters = NULL;
6280
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
6281
if (_ptr_driver_name) {
6282
NDR_PULL_ALLOC(ndr, r->driver_name);
6284
r->driver_name = NULL;
6286
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_devmode_ptr));
6287
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
6288
if (_ptr_text_status) {
6289
NDR_PULL_ALLOC(ndr, r->text_status);
6291
r->text_status = NULL;
6293
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_secdesc_ptr));
6294
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
6295
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
6296
if (r->priority > 99) {
6297
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6299
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
6300
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->start_time));
6301
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->until_time));
6302
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
6303
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
6304
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
6305
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time));
6306
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
6307
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size_high));
6308
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6310
if (ndr_flags & NDR_BUFFERS) {
6311
if (r->printer_name) {
6312
_mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6313
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
6314
NDR_CHECK(ndr_pull_array_size(ndr, &r->printer_name));
6315
NDR_CHECK(ndr_pull_array_length(ndr, &r->printer_name));
6316
if (ndr_get_array_length(ndr, &r->printer_name) > ndr_get_array_size(ndr, &r->printer_name)) {
6317
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));
6319
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t)));
6320
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printer_name, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t), CH_UTF16));
6321
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
6323
if (r->server_name) {
6324
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6325
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
6326
NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
6327
NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
6328
if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
6329
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));
6331
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));
6332
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));
6333
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
6336
_mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6337
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
6338
NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name));
6339
NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name));
6340
if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) {
6341
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));
6343
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t)));
6344
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16));
6345
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
6347
if (r->document_name) {
6348
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6349
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
6350
NDR_CHECK(ndr_pull_array_size(ndr, &r->document_name));
6351
NDR_CHECK(ndr_pull_array_length(ndr, &r->document_name));
6352
if (ndr_get_array_length(ndr, &r->document_name) > ndr_get_array_size(ndr, &r->document_name)) {
6353
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));
6355
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t)));
6356
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->document_name, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t), CH_UTF16));
6357
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
6359
if (r->notify_name) {
6360
_mem_save_notify_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6361
NDR_PULL_SET_MEM_CTX(ndr, r->notify_name, 0);
6362
NDR_CHECK(ndr_pull_array_size(ndr, &r->notify_name));
6363
NDR_CHECK(ndr_pull_array_length(ndr, &r->notify_name));
6364
if (ndr_get_array_length(ndr, &r->notify_name) > ndr_get_array_size(ndr, &r->notify_name)) {
6365
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));
6367
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->notify_name), sizeof(uint16_t)));
6368
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->notify_name, ndr_get_array_length(ndr, &r->notify_name), sizeof(uint16_t), CH_UTF16));
6369
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_name_0, 0);
6372
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
6373
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
6374
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_type));
6375
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_type));
6376
if (ndr_get_array_length(ndr, &r->data_type) > ndr_get_array_size(ndr, &r->data_type)) {
6377
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));
6379
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t)));
6380
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_type, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t), CH_UTF16));
6381
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
6383
if (r->print_processor) {
6384
_mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr);
6385
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
6386
NDR_CHECK(ndr_pull_array_size(ndr, &r->print_processor));
6387
NDR_CHECK(ndr_pull_array_length(ndr, &r->print_processor));
6388
if (ndr_get_array_length(ndr, &r->print_processor) > ndr_get_array_size(ndr, &r->print_processor)) {
6389
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));
6391
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t)));
6392
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->print_processor, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t), CH_UTF16));
6393
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
6395
if (r->parameters) {
6396
_mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
6397
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
6398
NDR_CHECK(ndr_pull_array_size(ndr, &r->parameters));
6399
NDR_CHECK(ndr_pull_array_length(ndr, &r->parameters));
6400
if (ndr_get_array_length(ndr, &r->parameters) > ndr_get_array_size(ndr, &r->parameters)) {
6401
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));
6403
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t)));
6404
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->parameters, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t), CH_UTF16));
6405
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
6407
if (r->driver_name) {
6408
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6409
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
6410
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
6411
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
6412
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
6413
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));
6415
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
6416
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
6417
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
6419
if (r->text_status) {
6420
_mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
6421
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
6422
NDR_CHECK(ndr_pull_array_size(ndr, &r->text_status));
6423
NDR_CHECK(ndr_pull_array_length(ndr, &r->text_status));
6424
if (ndr_get_array_length(ndr, &r->text_status) > ndr_get_array_size(ndr, &r->text_status)) {
6425
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));
6427
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t)));
6428
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->text_status, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t), CH_UTF16));
6429
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
6432
return NDR_ERR_SUCCESS;
6435
_PUBLIC_ void ndr_print_spoolss_SetJobInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_SetJobInfo4 *r)
6437
ndr_print_struct(ndr, name, "spoolss_SetJobInfo4");
6438
if (r == NULL) { ndr_print_null(ndr); return; }
6440
ndr_print_uint32(ndr, "job_id", r->job_id);
6441
ndr_print_ptr(ndr, "printer_name", r->printer_name);
6443
if (r->printer_name) {
6444
ndr_print_string(ndr, "printer_name", r->printer_name);
6447
ndr_print_ptr(ndr, "server_name", r->server_name);
6449
if (r->server_name) {
6450
ndr_print_string(ndr, "server_name", r->server_name);
6453
ndr_print_ptr(ndr, "user_name", r->user_name);
6456
ndr_print_string(ndr, "user_name", r->user_name);
6459
ndr_print_ptr(ndr, "document_name", r->document_name);
6461
if (r->document_name) {
6462
ndr_print_string(ndr, "document_name", r->document_name);
6465
ndr_print_ptr(ndr, "notify_name", r->notify_name);
6467
if (r->notify_name) {
6468
ndr_print_string(ndr, "notify_name", r->notify_name);
6471
ndr_print_ptr(ndr, "data_type", r->data_type);
6474
ndr_print_string(ndr, "data_type", r->data_type);
6477
ndr_print_ptr(ndr, "print_processor", r->print_processor);
6479
if (r->print_processor) {
6480
ndr_print_string(ndr, "print_processor", r->print_processor);
6483
ndr_print_ptr(ndr, "parameters", r->parameters);
6485
if (r->parameters) {
6486
ndr_print_string(ndr, "parameters", r->parameters);
6489
ndr_print_ptr(ndr, "driver_name", r->driver_name);
6491
if (r->driver_name) {
6492
ndr_print_string(ndr, "driver_name", r->driver_name);
6495
ndr_print_uint32(ndr, "_devmode_ptr", r->_devmode_ptr);
6496
ndr_print_ptr(ndr, "text_status", r->text_status);
6498
if (r->text_status) {
6499
ndr_print_string(ndr, "text_status", r->text_status);
6502
ndr_print_uint32(ndr, "_secdesc_ptr", r->_secdesc_ptr);
6503
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
6504
ndr_print_uint32(ndr, "priority", r->priority);
6505
ndr_print_uint32(ndr, "position", r->position);
6506
ndr_print_uint32(ndr, "start_time", r->start_time);
6507
ndr_print_uint32(ndr, "until_time", r->until_time);
6508
ndr_print_uint32(ndr, "total_pages", r->total_pages);
6509
ndr_print_uint32(ndr, "size", r->size);
6510
ndr_print_spoolss_Time(ndr, "submitted", &r->submitted);
6511
ndr_print_uint32(ndr, "time", r->time);
6512
ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
6513
ndr_print_uint32(ndr, "size_high", r->size_high);
6517
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_SetJobInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_SetJobInfo *r)
6519
if (ndr_flags & NDR_SCALARS) {
6520
uint32_t level = ndr_push_get_switch_value(ndr, r);
6521
NDR_CHECK(ndr_push_union_align(ndr, 5));
6522
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6523
NDR_CHECK(ndr_push_union_align(ndr, 5));
6526
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
6530
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
6534
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
6538
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
6546
if (ndr_flags & NDR_BUFFERS) {
6547
uint32_t level = ndr_push_get_switch_value(ndr, r);
6551
NDR_CHECK(ndr_push_spoolss_SetJobInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
6557
NDR_CHECK(ndr_push_spoolss_SetJobInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
6563
NDR_CHECK(ndr_push_spoolss_JobInfo3(ndr, NDR_SCALARS, r->info3));
6569
NDR_CHECK(ndr_push_spoolss_SetJobInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
6578
return NDR_ERR_SUCCESS;
6581
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_SetJobInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_SetJobInfo *r)
6585
TALLOC_CTX *_mem_save_info1_0;
6586
TALLOC_CTX *_mem_save_info2_0;
6587
TALLOC_CTX *_mem_save_info3_0;
6588
TALLOC_CTX *_mem_save_info4_0;
6589
level = ndr_pull_get_switch_value(ndr, r);
6590
if (ndr_flags & NDR_SCALARS) {
6591
NDR_CHECK(ndr_pull_union_align(ndr, 5));
6592
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6593
if (_level != level) {
6594
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6596
NDR_CHECK(ndr_pull_union_align(ndr, 5));
6599
uint32_t _ptr_info1;
6600
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
6602
NDR_PULL_ALLOC(ndr, r->info1);
6609
uint32_t _ptr_info2;
6610
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
6612
NDR_PULL_ALLOC(ndr, r->info2);
6619
uint32_t _ptr_info3;
6620
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
6622
NDR_PULL_ALLOC(ndr, r->info3);
6629
uint32_t _ptr_info4;
6630
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
6632
NDR_PULL_ALLOC(ndr, r->info4);
6643
if (ndr_flags & NDR_BUFFERS) {
6647
_mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6648
NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
6649
NDR_CHECK(ndr_pull_spoolss_SetJobInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
6650
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
6656
_mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
6657
NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
6658
NDR_CHECK(ndr_pull_spoolss_SetJobInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
6659
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
6665
_mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
6666
NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
6667
NDR_CHECK(ndr_pull_spoolss_JobInfo3(ndr, NDR_SCALARS, r->info3));
6668
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
6674
_mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr);
6675
NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0);
6676
NDR_CHECK(ndr_pull_spoolss_SetJobInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
6677
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0);
6686
return NDR_ERR_SUCCESS;
6689
_PUBLIC_ void ndr_print_spoolss_SetJobInfo(struct ndr_print *ndr, const char *name, const union spoolss_SetJobInfo *r)
6692
level = ndr_print_get_switch_value(ndr, r);
6693
ndr_print_union(ndr, name, level, "spoolss_SetJobInfo");
6696
ndr_print_ptr(ndr, "info1", r->info1);
6699
ndr_print_spoolss_SetJobInfo1(ndr, "info1", r->info1);
6705
ndr_print_ptr(ndr, "info2", r->info2);
6708
ndr_print_spoolss_SetJobInfo2(ndr, "info2", r->info2);
6714
ndr_print_ptr(ndr, "info3", r->info3);
6717
ndr_print_spoolss_JobInfo3(ndr, "info3", r->info3);
6723
ndr_print_ptr(ndr, "info4", r->info4);
6726
ndr_print_spoolss_SetJobInfo4(ndr, "info4", r->info4);
6737
static enum ndr_err_code ndr_push_spoolss_JobInfoContainer(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfoContainer *r)
6739
if (ndr_flags & NDR_SCALARS) {
6740
NDR_CHECK(ndr_push_align(ndr, 5));
6741
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
6742
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level));
6743
NDR_CHECK(ndr_push_spoolss_SetJobInfo(ndr, NDR_SCALARS, &r->info));
6744
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6746
if (ndr_flags & NDR_BUFFERS) {
6747
NDR_CHECK(ndr_push_spoolss_SetJobInfo(ndr, NDR_BUFFERS, &r->info));
6749
return NDR_ERR_SUCCESS;
6752
static enum ndr_err_code ndr_pull_spoolss_JobInfoContainer(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfoContainer *r)
6754
if (ndr_flags & NDR_SCALARS) {
6755
NDR_CHECK(ndr_pull_align(ndr, 5));
6756
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
6757
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level));
6758
NDR_CHECK(ndr_pull_spoolss_SetJobInfo(ndr, NDR_SCALARS, &r->info));
6759
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6761
if (ndr_flags & NDR_BUFFERS) {
6762
NDR_CHECK(ndr_pull_spoolss_SetJobInfo(ndr, NDR_BUFFERS, &r->info));
6764
return NDR_ERR_SUCCESS;
6767
_PUBLIC_ void ndr_print_spoolss_JobInfoContainer(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfoContainer *r)
6769
ndr_print_struct(ndr, name, "spoolss_JobInfoContainer");
6770
if (r == NULL) { ndr_print_null(ndr); return; }
6772
ndr_print_uint32(ndr, "level", r->level);
6773
ndr_print_set_switch_value(ndr, &r->info, r->level);
6774
ndr_print_spoolss_SetJobInfo(ndr, "info", &r->info);
6778
static enum ndr_err_code ndr_push_spoolss_JobControl(struct ndr_push *ndr, int ndr_flags, enum spoolss_JobControl r)
6780
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6781
return NDR_ERR_SUCCESS;
6784
static enum ndr_err_code ndr_pull_spoolss_JobControl(struct ndr_pull *ndr, int ndr_flags, enum spoolss_JobControl *r)
6787
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6789
return NDR_ERR_SUCCESS;
6792
_PUBLIC_ void ndr_print_spoolss_JobControl(struct ndr_print *ndr, const char *name, enum spoolss_JobControl r)
6794
const char *val = NULL;
6797
case SPOOLSS_JOB_CONTROL_PAUSE: val = "SPOOLSS_JOB_CONTROL_PAUSE"; break;
6798
case SPOOLSS_JOB_CONTROL_RESUME: val = "SPOOLSS_JOB_CONTROL_RESUME"; break;
6799
case SPOOLSS_JOB_CONTROL_CANCEL: val = "SPOOLSS_JOB_CONTROL_CANCEL"; break;
6800
case SPOOLSS_JOB_CONTROL_RESTART: val = "SPOOLSS_JOB_CONTROL_RESTART"; break;
6801
case SPOOLSS_JOB_CONTROL_DELETE: val = "SPOOLSS_JOB_CONTROL_DELETE"; break;
6802
case SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER: val = "SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER"; break;
6803
case SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED: val = "SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED"; break;
6804
case SPOOLSS_JOB_CONTROL_RETAIN: val = "SPOOLSS_JOB_CONTROL_RETAIN"; break;
6805
case SPOOLSS_JOB_CONTROL_RELEASE: val = "SPOOLSS_JOB_CONTROL_RELEASE"; break;
6807
ndr_print_enum(ndr, name, "ENUM", val, r);
6810
static enum ndr_err_code ndr_push_spoolss_PrinterControl(struct ndr_push *ndr, int ndr_flags, enum spoolss_PrinterControl r)
6812
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6813
return NDR_ERR_SUCCESS;
6816
static enum ndr_err_code ndr_pull_spoolss_PrinterControl(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PrinterControl *r)
6819
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6821
return NDR_ERR_SUCCESS;
6824
_PUBLIC_ void ndr_print_spoolss_PrinterControl(struct ndr_print *ndr, const char *name, enum spoolss_PrinterControl r)
6826
const char *val = NULL;
6829
case SPOOLSS_PRINTER_CONTROL_UNPAUSE: val = "SPOOLSS_PRINTER_CONTROL_UNPAUSE"; break;
6830
case SPOOLSS_PRINTER_CONTROL_PAUSE: val = "SPOOLSS_PRINTER_CONTROL_PAUSE"; break;
6831
case SPOOLSS_PRINTER_CONTROL_RESUME: val = "SPOOLSS_PRINTER_CONTROL_RESUME"; break;
6832
case SPOOLSS_PRINTER_CONTROL_PURGE: val = "SPOOLSS_PRINTER_CONTROL_PURGE"; break;
6833
case SPOOLSS_PRINTER_CONTROL_SET_STATUS: val = "SPOOLSS_PRINTER_CONTROL_SET_STATUS"; break;
6835
ndr_print_enum(ndr, name, "ENUM", val, r);
6838
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo0(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo0 *r)
6840
if (ndr_flags & NDR_SCALARS) {
6841
NDR_CHECK(ndr_push_align(ndr, 5));
6842
NDR_CHECK(ndr_push_unique_ptr(ndr, r->servername));
6843
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printername));
6844
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cjobs));
6845
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_jobs));
6846
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_bytes));
6847
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->time));
6848
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->global_counter));
6849
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
6850
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
6851
NDR_CHECK(ndr_push_spoolss_Build(ndr, NDR_SCALARS, r->free_build));
6852
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->spooling));
6853
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_spooling));
6854
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_counter));
6855
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_error_out_of_paper));
6856
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_error_not_ready));
6857
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->job_error));
6858
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->number_of_processors));
6859
NDR_CHECK(ndr_push_spoolss_ProcessorType(ndr, NDR_SCALARS, r->processor_type));
6860
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->high_part_total_bytes));
6861
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->change_id));
6862
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_error));
6863
NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
6864
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumerate_network_printers));
6865
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->c_setprinter));
6866
NDR_CHECK(ndr_push_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, r->processor_architecture));
6867
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->processor_level));
6868
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ref_ic));
6869
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved2));
6870
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved3));
6871
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6873
if (ndr_flags & NDR_BUFFERS) {
6874
if (r->servername) {
6875
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16)));
6876
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6877
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16)));
6878
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->servername, ndr_charset_length(r->servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6880
if (r->printername) {
6881
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
6882
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6883
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
6884
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printername, ndr_charset_length(r->printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6887
return NDR_ERR_SUCCESS;
6890
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo0(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo0 *r)
6892
uint32_t _ptr_servername;
6893
TALLOC_CTX *_mem_save_servername_0;
6894
uint32_t _ptr_printername;
6895
TALLOC_CTX *_mem_save_printername_0;
6896
if (ndr_flags & NDR_SCALARS) {
6897
NDR_CHECK(ndr_pull_align(ndr, 5));
6898
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
6899
if (_ptr_servername) {
6900
NDR_PULL_ALLOC(ndr, r->servername);
6902
r->servername = NULL;
6904
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
6905
if (_ptr_printername) {
6906
NDR_PULL_ALLOC(ndr, r->printername);
6908
r->printername = NULL;
6910
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs));
6911
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_jobs));
6912
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_bytes));
6913
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->time));
6914
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->global_counter));
6915
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
6916
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
6917
NDR_CHECK(ndr_pull_spoolss_Build(ndr, NDR_SCALARS, &r->free_build));
6918
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->spooling));
6919
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_spooling));
6920
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_counter));
6921
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_error_out_of_paper));
6922
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_error_not_ready));
6923
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->job_error));
6924
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->number_of_processors));
6925
NDR_CHECK(ndr_pull_spoolss_ProcessorType(ndr, NDR_SCALARS, &r->processor_type));
6926
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->high_part_total_bytes));
6927
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->change_id));
6928
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_error));
6929
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
6930
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumerate_network_printers));
6931
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->c_setprinter));
6932
NDR_CHECK(ndr_pull_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, &r->processor_architecture));
6933
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->processor_level));
6934
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ref_ic));
6935
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
6936
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3));
6937
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6939
if (ndr_flags & NDR_BUFFERS) {
6940
if (r->servername) {
6941
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
6942
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
6943
NDR_CHECK(ndr_pull_array_size(ndr, &r->servername));
6944
NDR_CHECK(ndr_pull_array_length(ndr, &r->servername));
6945
if (ndr_get_array_length(ndr, &r->servername) > ndr_get_array_size(ndr, &r->servername)) {
6946
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));
6948
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t)));
6949
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->servername, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t), CH_UTF16));
6950
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
6952
if (r->printername) {
6953
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
6954
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
6955
NDR_CHECK(ndr_pull_array_size(ndr, &r->printername));
6956
NDR_CHECK(ndr_pull_array_length(ndr, &r->printername));
6957
if (ndr_get_array_length(ndr, &r->printername) > ndr_get_array_size(ndr, &r->printername)) {
6958
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));
6960
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t)));
6961
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printername, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t), CH_UTF16));
6962
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
6965
return NDR_ERR_SUCCESS;
6968
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo0(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo0 *r)
6970
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo0");
6971
if (r == NULL) { ndr_print_null(ndr); return; }
6973
ndr_print_ptr(ndr, "servername", r->servername);
6975
if (r->servername) {
6976
ndr_print_string(ndr, "servername", r->servername);
6979
ndr_print_ptr(ndr, "printername", r->printername);
6981
if (r->printername) {
6982
ndr_print_string(ndr, "printername", r->printername);
6985
ndr_print_uint32(ndr, "cjobs", r->cjobs);
6986
ndr_print_uint32(ndr, "total_jobs", r->total_jobs);
6987
ndr_print_uint32(ndr, "total_bytes", r->total_bytes);
6988
ndr_print_spoolss_Time(ndr, "time", &r->time);
6989
ndr_print_uint32(ndr, "global_counter", r->global_counter);
6990
ndr_print_uint32(ndr, "total_pages", r->total_pages);
6991
ndr_print_uint32(ndr, "version", r->version);
6992
ndr_print_spoolss_Build(ndr, "free_build", r->free_build);
6993
ndr_print_uint32(ndr, "spooling", r->spooling);
6994
ndr_print_uint32(ndr, "max_spooling", r->max_spooling);
6995
ndr_print_uint32(ndr, "session_counter", r->session_counter);
6996
ndr_print_uint32(ndr, "num_error_out_of_paper", r->num_error_out_of_paper);
6997
ndr_print_uint32(ndr, "num_error_not_ready", r->num_error_not_ready);
6998
ndr_print_spoolss_JobStatus(ndr, "job_error", r->job_error);
6999
ndr_print_uint32(ndr, "number_of_processors", r->number_of_processors);
7000
ndr_print_spoolss_ProcessorType(ndr, "processor_type", r->processor_type);
7001
ndr_print_uint32(ndr, "high_part_total_bytes", r->high_part_total_bytes);
7002
ndr_print_uint32(ndr, "change_id", r->change_id);
7003
ndr_print_WERROR(ndr, "last_error", r->last_error);
7004
ndr_print_spoolss_PrinterStatus(ndr, "status", r->status);
7005
ndr_print_uint32(ndr, "enumerate_network_printers", r->enumerate_network_printers);
7006
ndr_print_uint32(ndr, "c_setprinter", r->c_setprinter);
7007
ndr_print_spoolss_ProcessorArchitecture(ndr, "processor_architecture", r->processor_architecture);
7008
ndr_print_uint16(ndr, "processor_level", r->processor_level);
7009
ndr_print_uint32(ndr, "ref_ic", r->ref_ic);
7010
ndr_print_uint32(ndr, "reserved2", r->reserved2);
7011
ndr_print_uint32(ndr, "reserved3", r->reserved3);
7015
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo1 *r)
7017
if (ndr_flags & NDR_SCALARS) {
7018
NDR_CHECK(ndr_push_align(ndr, 5));
7019
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->flags));
7020
NDR_CHECK(ndr_push_unique_ptr(ndr, r->description));
7021
NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
7022
NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
7023
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7025
if (ndr_flags & NDR_BUFFERS) {
7026
if (r->description) {
7027
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->description, CH_UTF16)));
7028
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7029
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->description, CH_UTF16)));
7030
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->description, ndr_charset_length(r->description, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7033
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
7034
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7035
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
7036
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7039
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16)));
7040
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7041
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16)));
7042
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7045
return NDR_ERR_SUCCESS;
7048
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo1 *r)
7050
uint32_t _ptr_description;
7051
TALLOC_CTX *_mem_save_description_0;
7053
TALLOC_CTX *_mem_save_name_0;
7054
uint32_t _ptr_comment;
7055
TALLOC_CTX *_mem_save_comment_0;
7056
if (ndr_flags & NDR_SCALARS) {
7057
NDR_CHECK(ndr_pull_align(ndr, 5));
7058
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->flags));
7059
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description));
7060
if (_ptr_description) {
7061
NDR_PULL_ALLOC(ndr, r->description);
7063
r->description = NULL;
7065
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
7067
NDR_PULL_ALLOC(ndr, r->name);
7071
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
7073
NDR_PULL_ALLOC(ndr, r->comment);
7077
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7079
if (ndr_flags & NDR_BUFFERS) {
7080
if (r->description) {
7081
_mem_save_description_0 = NDR_PULL_GET_MEM_CTX(ndr);
7082
NDR_PULL_SET_MEM_CTX(ndr, r->description, 0);
7083
NDR_CHECK(ndr_pull_array_size(ndr, &r->description));
7084
NDR_CHECK(ndr_pull_array_length(ndr, &r->description));
7085
if (ndr_get_array_length(ndr, &r->description) > ndr_get_array_size(ndr, &r->description)) {
7086
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));
7088
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->description), sizeof(uint16_t)));
7089
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->description, ndr_get_array_length(ndr, &r->description), sizeof(uint16_t), CH_UTF16));
7090
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0);
7093
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7094
NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
7095
NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
7096
NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
7097
if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
7098
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));
7100
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
7101
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
7102
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
7105
_mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
7106
NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
7107
NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
7108
NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
7109
if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
7110
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));
7112
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
7113
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
7114
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
7117
return NDR_ERR_SUCCESS;
7120
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo1 *r)
7122
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo1");
7123
if (r == NULL) { ndr_print_null(ndr); return; }
7125
ndr_print_spoolss_PrinterAttributes(ndr, "flags", r->flags);
7126
ndr_print_ptr(ndr, "description", r->description);
7128
if (r->description) {
7129
ndr_print_string(ndr, "description", r->description);
7132
ndr_print_ptr(ndr, "name", r->name);
7135
ndr_print_string(ndr, "name", r->name);
7138
ndr_print_ptr(ndr, "comment", r->comment);
7141
ndr_print_string(ndr, "comment", r->comment);
7147
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo2 *r)
7149
if (ndr_flags & NDR_SCALARS) {
7150
NDR_CHECK(ndr_push_align(ndr, 5));
7151
NDR_CHECK(ndr_push_unique_ptr(ndr, r->servername));
7152
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printername));
7153
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sharename));
7154
NDR_CHECK(ndr_push_unique_ptr(ndr, r->portname));
7155
NDR_CHECK(ndr_push_unique_ptr(ndr, r->drivername));
7156
NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
7157
NDR_CHECK(ndr_push_unique_ptr(ndr, r->location));
7158
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->devmode_ptr));
7159
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sepfile));
7160
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printprocessor));
7161
NDR_CHECK(ndr_push_unique_ptr(ndr, r->datatype));
7162
NDR_CHECK(ndr_push_unique_ptr(ndr, r->parameters));
7163
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->secdesc_ptr));
7164
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
7165
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
7166
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->defaultpriority));
7167
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->starttime));
7168
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->untiltime));
7169
NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
7170
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cjobs));
7171
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->averageppm));
7172
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7174
if (ndr_flags & NDR_BUFFERS) {
7175
if (r->servername) {
7176
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16)));
7177
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7178
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16)));
7179
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->servername, ndr_charset_length(r->servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7181
if (r->printername) {
7182
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
7183
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7184
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
7185
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printername, ndr_charset_length(r->printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7188
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sharename, CH_UTF16)));
7189
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7190
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sharename, CH_UTF16)));
7191
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->sharename, ndr_charset_length(r->sharename, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7194
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->portname, CH_UTF16)));
7195
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7196
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->portname, CH_UTF16)));
7197
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->portname, ndr_charset_length(r->portname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7199
if (r->drivername) {
7200
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->drivername, CH_UTF16)));
7201
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7202
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->drivername, CH_UTF16)));
7203
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->drivername, ndr_charset_length(r->drivername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7206
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16)));
7207
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7208
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16)));
7209
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7212
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->location, CH_UTF16)));
7213
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7214
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->location, CH_UTF16)));
7215
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->location, ndr_charset_length(r->location, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7218
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sepfile, CH_UTF16)));
7219
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7220
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sepfile, CH_UTF16)));
7221
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->sepfile, ndr_charset_length(r->sepfile, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7223
if (r->printprocessor) {
7224
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printprocessor, CH_UTF16)));
7225
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7226
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printprocessor, CH_UTF16)));
7227
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printprocessor, ndr_charset_length(r->printprocessor, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7230
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->datatype, CH_UTF16)));
7231
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7232
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->datatype, CH_UTF16)));
7233
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->datatype, ndr_charset_length(r->datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7235
if (r->parameters) {
7236
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
7237
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7238
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
7239
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->parameters, ndr_charset_length(r->parameters, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7242
return NDR_ERR_SUCCESS;
7245
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo2 *r)
7247
uint32_t _ptr_servername;
7248
TALLOC_CTX *_mem_save_servername_0;
7249
uint32_t _ptr_printername;
7250
TALLOC_CTX *_mem_save_printername_0;
7251
uint32_t _ptr_sharename;
7252
TALLOC_CTX *_mem_save_sharename_0;
7253
uint32_t _ptr_portname;
7254
TALLOC_CTX *_mem_save_portname_0;
7255
uint32_t _ptr_drivername;
7256
TALLOC_CTX *_mem_save_drivername_0;
7257
uint32_t _ptr_comment;
7258
TALLOC_CTX *_mem_save_comment_0;
7259
uint32_t _ptr_location;
7260
TALLOC_CTX *_mem_save_location_0;
7261
uint32_t _ptr_sepfile;
7262
TALLOC_CTX *_mem_save_sepfile_0;
7263
uint32_t _ptr_printprocessor;
7264
TALLOC_CTX *_mem_save_printprocessor_0;
7265
uint32_t _ptr_datatype;
7266
TALLOC_CTX *_mem_save_datatype_0;
7267
uint32_t _ptr_parameters;
7268
TALLOC_CTX *_mem_save_parameters_0;
7269
if (ndr_flags & NDR_SCALARS) {
7270
NDR_CHECK(ndr_pull_align(ndr, 5));
7271
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
7272
if (_ptr_servername) {
7273
NDR_PULL_ALLOC(ndr, r->servername);
7275
r->servername = NULL;
7277
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
7278
if (_ptr_printername) {
7279
NDR_PULL_ALLOC(ndr, r->printername);
7281
r->printername = NULL;
7283
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename));
7284
if (_ptr_sharename) {
7285
NDR_PULL_ALLOC(ndr, r->sharename);
7287
r->sharename = NULL;
7289
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname));
7290
if (_ptr_portname) {
7291
NDR_PULL_ALLOC(ndr, r->portname);
7295
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_drivername));
7296
if (_ptr_drivername) {
7297
NDR_PULL_ALLOC(ndr, r->drivername);
7299
r->drivername = NULL;
7301
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
7303
NDR_PULL_ALLOC(ndr, r->comment);
7307
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_location));
7308
if (_ptr_location) {
7309
NDR_PULL_ALLOC(ndr, r->location);
7313
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->devmode_ptr));
7314
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sepfile));
7316
NDR_PULL_ALLOC(ndr, r->sepfile);
7320
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printprocessor));
7321
if (_ptr_printprocessor) {
7322
NDR_PULL_ALLOC(ndr, r->printprocessor);
7324
r->printprocessor = NULL;
7326
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
7327
if (_ptr_datatype) {
7328
NDR_PULL_ALLOC(ndr, r->datatype);
7332
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
7333
if (_ptr_parameters) {
7334
NDR_PULL_ALLOC(ndr, r->parameters);
7336
r->parameters = NULL;
7338
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->secdesc_ptr));
7339
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
7340
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
7341
if (r->priority > 99) {
7342
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7344
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->defaultpriority));
7345
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->starttime));
7346
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->untiltime));
7347
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
7348
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs));
7349
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->averageppm));
7350
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7352
if (ndr_flags & NDR_BUFFERS) {
7353
if (r->servername) {
7354
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
7355
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
7356
NDR_CHECK(ndr_pull_array_size(ndr, &r->servername));
7357
NDR_CHECK(ndr_pull_array_length(ndr, &r->servername));
7358
if (ndr_get_array_length(ndr, &r->servername) > ndr_get_array_size(ndr, &r->servername)) {
7359
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));
7361
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t)));
7362
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->servername, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t), CH_UTF16));
7363
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
7365
if (r->printername) {
7366
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
7367
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
7368
NDR_CHECK(ndr_pull_array_size(ndr, &r->printername));
7369
NDR_CHECK(ndr_pull_array_length(ndr, &r->printername));
7370
if (ndr_get_array_length(ndr, &r->printername) > ndr_get_array_size(ndr, &r->printername)) {
7371
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));
7373
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t)));
7374
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printername, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t), CH_UTF16));
7375
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
7378
_mem_save_sharename_0 = NDR_PULL_GET_MEM_CTX(ndr);
7379
NDR_PULL_SET_MEM_CTX(ndr, r->sharename, 0);
7380
NDR_CHECK(ndr_pull_array_size(ndr, &r->sharename));
7381
NDR_CHECK(ndr_pull_array_length(ndr, &r->sharename));
7382
if (ndr_get_array_length(ndr, &r->sharename) > ndr_get_array_size(ndr, &r->sharename)) {
7383
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));
7385
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->sharename), sizeof(uint16_t)));
7386
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->sharename, ndr_get_array_length(ndr, &r->sharename), sizeof(uint16_t), CH_UTF16));
7387
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0);
7390
_mem_save_portname_0 = NDR_PULL_GET_MEM_CTX(ndr);
7391
NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0);
7392
NDR_CHECK(ndr_pull_array_size(ndr, &r->portname));
7393
NDR_CHECK(ndr_pull_array_length(ndr, &r->portname));
7394
if (ndr_get_array_length(ndr, &r->portname) > ndr_get_array_size(ndr, &r->portname)) {
7395
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));
7397
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->portname), sizeof(uint16_t)));
7398
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->portname, ndr_get_array_length(ndr, &r->portname), sizeof(uint16_t), CH_UTF16));
7399
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0);
7401
if (r->drivername) {
7402
_mem_save_drivername_0 = NDR_PULL_GET_MEM_CTX(ndr);
7403
NDR_PULL_SET_MEM_CTX(ndr, r->drivername, 0);
7404
NDR_CHECK(ndr_pull_array_size(ndr, &r->drivername));
7405
NDR_CHECK(ndr_pull_array_length(ndr, &r->drivername));
7406
if (ndr_get_array_length(ndr, &r->drivername) > ndr_get_array_size(ndr, &r->drivername)) {
7407
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));
7409
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->drivername), sizeof(uint16_t)));
7410
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->drivername, ndr_get_array_length(ndr, &r->drivername), sizeof(uint16_t), CH_UTF16));
7411
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_drivername_0, 0);
7414
_mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
7415
NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
7416
NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
7417
NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
7418
if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
7419
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));
7421
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
7422
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
7423
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
7426
_mem_save_location_0 = NDR_PULL_GET_MEM_CTX(ndr);
7427
NDR_PULL_SET_MEM_CTX(ndr, r->location, 0);
7428
NDR_CHECK(ndr_pull_array_size(ndr, &r->location));
7429
NDR_CHECK(ndr_pull_array_length(ndr, &r->location));
7430
if (ndr_get_array_length(ndr, &r->location) > ndr_get_array_size(ndr, &r->location)) {
7431
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));
7433
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->location), sizeof(uint16_t)));
7434
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->location, ndr_get_array_length(ndr, &r->location), sizeof(uint16_t), CH_UTF16));
7435
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_location_0, 0);
7438
_mem_save_sepfile_0 = NDR_PULL_GET_MEM_CTX(ndr);
7439
NDR_PULL_SET_MEM_CTX(ndr, r->sepfile, 0);
7440
NDR_CHECK(ndr_pull_array_size(ndr, &r->sepfile));
7441
NDR_CHECK(ndr_pull_array_length(ndr, &r->sepfile));
7442
if (ndr_get_array_length(ndr, &r->sepfile) > ndr_get_array_size(ndr, &r->sepfile)) {
7443
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));
7445
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->sepfile), sizeof(uint16_t)));
7446
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->sepfile, ndr_get_array_length(ndr, &r->sepfile), sizeof(uint16_t), CH_UTF16));
7447
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sepfile_0, 0);
7449
if (r->printprocessor) {
7450
_mem_save_printprocessor_0 = NDR_PULL_GET_MEM_CTX(ndr);
7451
NDR_PULL_SET_MEM_CTX(ndr, r->printprocessor, 0);
7452
NDR_CHECK(ndr_pull_array_size(ndr, &r->printprocessor));
7453
NDR_CHECK(ndr_pull_array_length(ndr, &r->printprocessor));
7454
if (ndr_get_array_length(ndr, &r->printprocessor) > ndr_get_array_size(ndr, &r->printprocessor)) {
7455
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));
7457
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printprocessor), sizeof(uint16_t)));
7458
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printprocessor, ndr_get_array_length(ndr, &r->printprocessor), sizeof(uint16_t), CH_UTF16));
7459
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printprocessor_0, 0);
7462
_mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
7463
NDR_PULL_SET_MEM_CTX(ndr, r->datatype, 0);
7464
NDR_CHECK(ndr_pull_array_size(ndr, &r->datatype));
7465
NDR_CHECK(ndr_pull_array_length(ndr, &r->datatype));
7466
if (ndr_get_array_length(ndr, &r->datatype) > ndr_get_array_size(ndr, &r->datatype)) {
7467
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));
7469
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->datatype), sizeof(uint16_t)));
7470
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->datatype, ndr_get_array_length(ndr, &r->datatype), sizeof(uint16_t), CH_UTF16));
7471
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
7473
if (r->parameters) {
7474
_mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
7475
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
7476
NDR_CHECK(ndr_pull_array_size(ndr, &r->parameters));
7477
NDR_CHECK(ndr_pull_array_length(ndr, &r->parameters));
7478
if (ndr_get_array_length(ndr, &r->parameters) > ndr_get_array_size(ndr, &r->parameters)) {
7479
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));
7481
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t)));
7482
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->parameters, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t), CH_UTF16));
7483
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
7486
return NDR_ERR_SUCCESS;
7489
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo2 *r)
7491
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo2");
7492
if (r == NULL) { ndr_print_null(ndr); return; }
7494
ndr_print_ptr(ndr, "servername", r->servername);
7496
if (r->servername) {
7497
ndr_print_string(ndr, "servername", r->servername);
7500
ndr_print_ptr(ndr, "printername", r->printername);
7502
if (r->printername) {
7503
ndr_print_string(ndr, "printername", r->printername);
7506
ndr_print_ptr(ndr, "sharename", r->sharename);
7509
ndr_print_string(ndr, "sharename", r->sharename);
7512
ndr_print_ptr(ndr, "portname", r->portname);
7515
ndr_print_string(ndr, "portname", r->portname);
7518
ndr_print_ptr(ndr, "drivername", r->drivername);
7520
if (r->drivername) {
7521
ndr_print_string(ndr, "drivername", r->drivername);
7524
ndr_print_ptr(ndr, "comment", r->comment);
7527
ndr_print_string(ndr, "comment", r->comment);
7530
ndr_print_ptr(ndr, "location", r->location);
7533
ndr_print_string(ndr, "location", r->location);
7536
ndr_print_uint32(ndr, "devmode_ptr", r->devmode_ptr);
7537
ndr_print_ptr(ndr, "sepfile", r->sepfile);
7540
ndr_print_string(ndr, "sepfile", r->sepfile);
7543
ndr_print_ptr(ndr, "printprocessor", r->printprocessor);
7545
if (r->printprocessor) {
7546
ndr_print_string(ndr, "printprocessor", r->printprocessor);
7549
ndr_print_ptr(ndr, "datatype", r->datatype);
7552
ndr_print_string(ndr, "datatype", r->datatype);
7555
ndr_print_ptr(ndr, "parameters", r->parameters);
7557
if (r->parameters) {
7558
ndr_print_string(ndr, "parameters", r->parameters);
7561
ndr_print_uint32(ndr, "secdesc_ptr", r->secdesc_ptr);
7562
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
7563
ndr_print_uint32(ndr, "priority", r->priority);
7564
ndr_print_uint32(ndr, "defaultpriority", r->defaultpriority);
7565
ndr_print_uint32(ndr, "starttime", r->starttime);
7566
ndr_print_uint32(ndr, "untiltime", r->untiltime);
7567
ndr_print_spoolss_PrinterStatus(ndr, "status", r->status);
7568
ndr_print_uint32(ndr, "cjobs", r->cjobs);
7569
ndr_print_uint32(ndr, "averageppm", r->averageppm);
7573
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo3 *r)
7575
if (ndr_flags & NDR_SCALARS) {
7576
NDR_CHECK(ndr_push_align(ndr, 4));
7577
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sec_desc_ptr));
7578
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7580
if (ndr_flags & NDR_BUFFERS) {
7582
return NDR_ERR_SUCCESS;
7585
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo3 *r)
7587
if (ndr_flags & NDR_SCALARS) {
7588
NDR_CHECK(ndr_pull_align(ndr, 4));
7589
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sec_desc_ptr));
7590
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
7592
if (ndr_flags & NDR_BUFFERS) {
7594
return NDR_ERR_SUCCESS;
7597
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo3 *r)
7599
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo3");
7600
if (r == NULL) { ndr_print_null(ndr); return; }
7602
ndr_print_uint32(ndr, "sec_desc_ptr", r->sec_desc_ptr);
7606
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo4 *r)
7608
if (ndr_flags & NDR_SCALARS) {
7609
NDR_CHECK(ndr_push_align(ndr, 5));
7610
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printername));
7611
NDR_CHECK(ndr_push_unique_ptr(ndr, r->servername));
7612
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
7613
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7615
if (ndr_flags & NDR_BUFFERS) {
7616
if (r->printername) {
7617
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
7618
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7619
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
7620
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printername, ndr_charset_length(r->printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7622
if (r->servername) {
7623
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16)));
7624
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7625
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16)));
7626
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->servername, ndr_charset_length(r->servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7629
return NDR_ERR_SUCCESS;
7632
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo4 *r)
7634
uint32_t _ptr_printername;
7635
TALLOC_CTX *_mem_save_printername_0;
7636
uint32_t _ptr_servername;
7637
TALLOC_CTX *_mem_save_servername_0;
7638
if (ndr_flags & NDR_SCALARS) {
7639
NDR_CHECK(ndr_pull_align(ndr, 5));
7640
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
7641
if (_ptr_printername) {
7642
NDR_PULL_ALLOC(ndr, r->printername);
7644
r->printername = NULL;
7646
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
7647
if (_ptr_servername) {
7648
NDR_PULL_ALLOC(ndr, r->servername);
7650
r->servername = NULL;
7652
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
7653
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7655
if (ndr_flags & NDR_BUFFERS) {
7656
if (r->printername) {
7657
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
7658
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
7659
NDR_CHECK(ndr_pull_array_size(ndr, &r->printername));
7660
NDR_CHECK(ndr_pull_array_length(ndr, &r->printername));
7661
if (ndr_get_array_length(ndr, &r->printername) > ndr_get_array_size(ndr, &r->printername)) {
7662
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));
7664
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t)));
7665
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printername, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t), CH_UTF16));
7666
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
7668
if (r->servername) {
7669
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
7670
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
7671
NDR_CHECK(ndr_pull_array_size(ndr, &r->servername));
7672
NDR_CHECK(ndr_pull_array_length(ndr, &r->servername));
7673
if (ndr_get_array_length(ndr, &r->servername) > ndr_get_array_size(ndr, &r->servername)) {
7674
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));
7676
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t)));
7677
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->servername, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t), CH_UTF16));
7678
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
7681
return NDR_ERR_SUCCESS;
7684
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo4 *r)
7686
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo4");
7687
if (r == NULL) { ndr_print_null(ndr); return; }
7689
ndr_print_ptr(ndr, "printername", r->printername);
7691
if (r->printername) {
7692
ndr_print_string(ndr, "printername", r->printername);
7695
ndr_print_ptr(ndr, "servername", r->servername);
7697
if (r->servername) {
7698
ndr_print_string(ndr, "servername", r->servername);
7701
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
7705
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo5(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo5 *r)
7707
if (ndr_flags & NDR_SCALARS) {
7708
NDR_CHECK(ndr_push_align(ndr, 5));
7709
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printername));
7710
NDR_CHECK(ndr_push_unique_ptr(ndr, r->portname));
7711
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
7712
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->device_not_selected_timeout));
7713
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->transmission_retry_timeout));
7714
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7716
if (ndr_flags & NDR_BUFFERS) {
7717
if (r->printername) {
7718
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
7719
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7720
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
7721
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printername, ndr_charset_length(r->printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7724
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->portname, CH_UTF16)));
7725
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7726
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->portname, CH_UTF16)));
7727
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->portname, ndr_charset_length(r->portname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7730
return NDR_ERR_SUCCESS;
7733
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo5(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo5 *r)
7735
uint32_t _ptr_printername;
7736
TALLOC_CTX *_mem_save_printername_0;
7737
uint32_t _ptr_portname;
7738
TALLOC_CTX *_mem_save_portname_0;
7739
if (ndr_flags & NDR_SCALARS) {
7740
NDR_CHECK(ndr_pull_align(ndr, 5));
7741
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
7742
if (_ptr_printername) {
7743
NDR_PULL_ALLOC(ndr, r->printername);
7745
r->printername = NULL;
7747
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname));
7748
if (_ptr_portname) {
7749
NDR_PULL_ALLOC(ndr, r->portname);
7753
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
7754
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->device_not_selected_timeout));
7755
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->transmission_retry_timeout));
7756
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7758
if (ndr_flags & NDR_BUFFERS) {
7759
if (r->printername) {
7760
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
7761
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
7762
NDR_CHECK(ndr_pull_array_size(ndr, &r->printername));
7763
NDR_CHECK(ndr_pull_array_length(ndr, &r->printername));
7764
if (ndr_get_array_length(ndr, &r->printername) > ndr_get_array_size(ndr, &r->printername)) {
7765
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));
7767
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t)));
7768
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printername, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t), CH_UTF16));
7769
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
7772
_mem_save_portname_0 = NDR_PULL_GET_MEM_CTX(ndr);
7773
NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0);
7774
NDR_CHECK(ndr_pull_array_size(ndr, &r->portname));
7775
NDR_CHECK(ndr_pull_array_length(ndr, &r->portname));
7776
if (ndr_get_array_length(ndr, &r->portname) > ndr_get_array_size(ndr, &r->portname)) {
7777
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));
7779
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->portname), sizeof(uint16_t)));
7780
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->portname, ndr_get_array_length(ndr, &r->portname), sizeof(uint16_t), CH_UTF16));
7781
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0);
7784
return NDR_ERR_SUCCESS;
7787
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo5(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo5 *r)
7789
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo5");
7790
if (r == NULL) { ndr_print_null(ndr); return; }
7792
ndr_print_ptr(ndr, "printername", r->printername);
7794
if (r->printername) {
7795
ndr_print_string(ndr, "printername", r->printername);
7798
ndr_print_ptr(ndr, "portname", r->portname);
7801
ndr_print_string(ndr, "portname", r->portname);
7804
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
7805
ndr_print_uint32(ndr, "device_not_selected_timeout", r->device_not_selected_timeout);
7806
ndr_print_uint32(ndr, "transmission_retry_timeout", r->transmission_retry_timeout);
7810
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo6 *r)
7812
if (ndr_flags & NDR_SCALARS) {
7813
NDR_CHECK(ndr_push_align(ndr, 4));
7814
NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
7815
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7817
if (ndr_flags & NDR_BUFFERS) {
7819
return NDR_ERR_SUCCESS;
7822
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo6 *r)
7824
if (ndr_flags & NDR_SCALARS) {
7825
NDR_CHECK(ndr_pull_align(ndr, 4));
7826
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
7827
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
7829
if (ndr_flags & NDR_BUFFERS) {
7831
return NDR_ERR_SUCCESS;
7834
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo6 *r)
7836
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo6");
7837
if (r == NULL) { ndr_print_null(ndr); return; }
7839
ndr_print_spoolss_PrinterStatus(ndr, "status", r->status);
7843
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo7(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo7 *r)
7845
if (ndr_flags & NDR_SCALARS) {
7846
NDR_CHECK(ndr_push_align(ndr, 5));
7847
NDR_CHECK(ndr_push_unique_ptr(ndr, r->guid));
7848
NDR_CHECK(ndr_push_spoolss_DsPrintAction(ndr, NDR_SCALARS, r->action));
7849
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7851
if (ndr_flags & NDR_BUFFERS) {
7853
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->guid, CH_UTF16)));
7854
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7855
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->guid, CH_UTF16)));
7856
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->guid, ndr_charset_length(r->guid, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7859
return NDR_ERR_SUCCESS;
7862
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo7(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo7 *r)
7865
TALLOC_CTX *_mem_save_guid_0;
7866
if (ndr_flags & NDR_SCALARS) {
7867
NDR_CHECK(ndr_pull_align(ndr, 5));
7868
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_guid));
7870
NDR_PULL_ALLOC(ndr, r->guid);
7874
NDR_CHECK(ndr_pull_spoolss_DsPrintAction(ndr, NDR_SCALARS, &r->action));
7875
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7877
if (ndr_flags & NDR_BUFFERS) {
7879
_mem_save_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7880
NDR_PULL_SET_MEM_CTX(ndr, r->guid, 0);
7881
NDR_CHECK(ndr_pull_array_size(ndr, &r->guid));
7882
NDR_CHECK(ndr_pull_array_length(ndr, &r->guid));
7883
if (ndr_get_array_length(ndr, &r->guid) > ndr_get_array_size(ndr, &r->guid)) {
7884
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));
7886
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->guid), sizeof(uint16_t)));
7887
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->guid, ndr_get_array_length(ndr, &r->guid), sizeof(uint16_t), CH_UTF16));
7888
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_guid_0, 0);
7891
return NDR_ERR_SUCCESS;
7894
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo7(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo7 *r)
7896
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo7");
7897
if (r == NULL) { ndr_print_null(ndr); return; }
7899
ndr_print_ptr(ndr, "guid", r->guid);
7902
ndr_print_string(ndr, "guid", r->guid);
7905
ndr_print_spoolss_DsPrintAction(ndr, "action", r->action);
7909
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo8(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo8 *r)
7911
if (ndr_flags & NDR_SCALARS) {
7912
NDR_CHECK(ndr_push_align(ndr, 4));
7913
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->devmode_ptr));
7914
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7916
if (ndr_flags & NDR_BUFFERS) {
7918
return NDR_ERR_SUCCESS;
7921
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo8(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo8 *r)
7923
if (ndr_flags & NDR_SCALARS) {
7924
NDR_CHECK(ndr_pull_align(ndr, 4));
7925
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->devmode_ptr));
7926
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
7928
if (ndr_flags & NDR_BUFFERS) {
7930
return NDR_ERR_SUCCESS;
7933
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo8(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo8 *r)
7935
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo8");
7936
if (r == NULL) { ndr_print_null(ndr); return; }
7938
ndr_print_uint32(ndr, "devmode_ptr", r->devmode_ptr);
7942
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo9(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo9 *r)
7944
if (ndr_flags & NDR_SCALARS) {
7945
NDR_CHECK(ndr_push_align(ndr, 4));
7946
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->devmode_ptr));
7947
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7949
if (ndr_flags & NDR_BUFFERS) {
7951
return NDR_ERR_SUCCESS;
7954
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo9(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo9 *r)
7956
if (ndr_flags & NDR_SCALARS) {
7957
NDR_CHECK(ndr_pull_align(ndr, 4));
7958
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->devmode_ptr));
7959
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
7961
if (ndr_flags & NDR_BUFFERS) {
7963
return NDR_ERR_SUCCESS;
7966
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo9(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo9 *r)
7968
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo9");
7969
if (r == NULL) { ndr_print_null(ndr); return; }
7971
ndr_print_uint32(ndr, "devmode_ptr", r->devmode_ptr);
7975
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_SetPrinterInfo *r)
7977
if (ndr_flags & NDR_SCALARS) {
7978
uint32_t level = ndr_push_get_switch_value(ndr, r);
7979
NDR_CHECK(ndr_push_union_align(ndr, 5));
7980
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7981
NDR_CHECK(ndr_push_union_align(ndr, 5));
7984
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
7988
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7992
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
7996
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
8000
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
8004
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info5));
8008
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info6));
8012
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info7));
8016
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info8));
8020
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info9));
8028
if (ndr_flags & NDR_BUFFERS) {
8029
uint32_t level = ndr_push_get_switch_value(ndr, r);
8033
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
8039
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
8045
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
8051
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo3(ndr, NDR_SCALARS, r->info3));
8057
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
8063
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo5(ndr, NDR_SCALARS|NDR_BUFFERS, r->info5));
8069
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo6(ndr, NDR_SCALARS, r->info6));
8075
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo7(ndr, NDR_SCALARS|NDR_BUFFERS, r->info7));
8081
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo8(ndr, NDR_SCALARS, r->info8));
8087
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo9(ndr, NDR_SCALARS, r->info9));
8096
return NDR_ERR_SUCCESS;
8099
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_SetPrinterInfo *r)
8103
TALLOC_CTX *_mem_save_info0_0;
8104
TALLOC_CTX *_mem_save_info1_0;
8105
TALLOC_CTX *_mem_save_info2_0;
8106
TALLOC_CTX *_mem_save_info3_0;
8107
TALLOC_CTX *_mem_save_info4_0;
8108
TALLOC_CTX *_mem_save_info5_0;
8109
TALLOC_CTX *_mem_save_info6_0;
8110
TALLOC_CTX *_mem_save_info7_0;
8111
TALLOC_CTX *_mem_save_info8_0;
8112
TALLOC_CTX *_mem_save_info9_0;
8113
level = ndr_pull_get_switch_value(ndr, r);
8114
if (ndr_flags & NDR_SCALARS) {
8115
NDR_CHECK(ndr_pull_union_align(ndr, 5));
8116
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8117
if (_level != level) {
8118
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8120
NDR_CHECK(ndr_pull_union_align(ndr, 5));
8123
uint32_t _ptr_info0;
8124
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
8126
NDR_PULL_ALLOC(ndr, r->info0);
8133
uint32_t _ptr_info1;
8134
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
8136
NDR_PULL_ALLOC(ndr, r->info1);
8143
uint32_t _ptr_info2;
8144
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
8146
NDR_PULL_ALLOC(ndr, r->info2);
8153
uint32_t _ptr_info3;
8154
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
8156
NDR_PULL_ALLOC(ndr, r->info3);
8163
uint32_t _ptr_info4;
8164
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
8166
NDR_PULL_ALLOC(ndr, r->info4);
8173
uint32_t _ptr_info5;
8174
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info5));
8176
NDR_PULL_ALLOC(ndr, r->info5);
8183
uint32_t _ptr_info6;
8184
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info6));
8186
NDR_PULL_ALLOC(ndr, r->info6);
8193
uint32_t _ptr_info7;
8194
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info7));
8196
NDR_PULL_ALLOC(ndr, r->info7);
8203
uint32_t _ptr_info8;
8204
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info8));
8206
NDR_PULL_ALLOC(ndr, r->info8);
8213
uint32_t _ptr_info9;
8214
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info9));
8216
NDR_PULL_ALLOC(ndr, r->info9);
8227
if (ndr_flags & NDR_BUFFERS) {
8231
_mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
8232
NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
8233
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
8234
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
8240
_mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
8241
NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
8242
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
8243
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
8249
_mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
8250
NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
8251
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
8252
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
8258
_mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
8259
NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
8260
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo3(ndr, NDR_SCALARS, r->info3));
8261
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
8267
_mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr);
8268
NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0);
8269
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
8270
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0);
8276
_mem_save_info5_0 = NDR_PULL_GET_MEM_CTX(ndr);
8277
NDR_PULL_SET_MEM_CTX(ndr, r->info5, 0);
8278
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo5(ndr, NDR_SCALARS|NDR_BUFFERS, r->info5));
8279
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info5_0, 0);
8285
_mem_save_info6_0 = NDR_PULL_GET_MEM_CTX(ndr);
8286
NDR_PULL_SET_MEM_CTX(ndr, r->info6, 0);
8287
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo6(ndr, NDR_SCALARS, r->info6));
8288
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info6_0, 0);
8294
_mem_save_info7_0 = NDR_PULL_GET_MEM_CTX(ndr);
8295
NDR_PULL_SET_MEM_CTX(ndr, r->info7, 0);
8296
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo7(ndr, NDR_SCALARS|NDR_BUFFERS, r->info7));
8297
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info7_0, 0);
8303
_mem_save_info8_0 = NDR_PULL_GET_MEM_CTX(ndr);
8304
NDR_PULL_SET_MEM_CTX(ndr, r->info8, 0);
8305
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo8(ndr, NDR_SCALARS, r->info8));
8306
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info8_0, 0);
8312
_mem_save_info9_0 = NDR_PULL_GET_MEM_CTX(ndr);
8313
NDR_PULL_SET_MEM_CTX(ndr, r->info9, 0);
8314
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo9(ndr, NDR_SCALARS, r->info9));
8315
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info9_0, 0);
8324
return NDR_ERR_SUCCESS;
8327
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_SetPrinterInfo *r)
8330
level = ndr_print_get_switch_value(ndr, r);
8331
ndr_print_union(ndr, name, level, "spoolss_SetPrinterInfo");
8334
ndr_print_ptr(ndr, "info0", r->info0);
8337
ndr_print_spoolss_SetPrinterInfo0(ndr, "info0", r->info0);
8343
ndr_print_ptr(ndr, "info1", r->info1);
8346
ndr_print_spoolss_SetPrinterInfo1(ndr, "info1", r->info1);
8352
ndr_print_ptr(ndr, "info2", r->info2);
8355
ndr_print_spoolss_SetPrinterInfo2(ndr, "info2", r->info2);
8361
ndr_print_ptr(ndr, "info3", r->info3);
8364
ndr_print_spoolss_SetPrinterInfo3(ndr, "info3", r->info3);
8370
ndr_print_ptr(ndr, "info4", r->info4);
8373
ndr_print_spoolss_SetPrinterInfo4(ndr, "info4", r->info4);
8379
ndr_print_ptr(ndr, "info5", r->info5);
8382
ndr_print_spoolss_SetPrinterInfo5(ndr, "info5", r->info5);
8388
ndr_print_ptr(ndr, "info6", r->info6);
8391
ndr_print_spoolss_SetPrinterInfo6(ndr, "info6", r->info6);
8397
ndr_print_ptr(ndr, "info7", r->info7);
8400
ndr_print_spoolss_SetPrinterInfo7(ndr, "info7", r->info7);
8406
ndr_print_ptr(ndr, "info8", r->info8);
8409
ndr_print_spoolss_SetPrinterInfo8(ndr, "info8", r->info8);
8415
ndr_print_ptr(ndr, "info9", r->info9);
8418
ndr_print_spoolss_SetPrinterInfo9(ndr, "info9", r->info9);
8429
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfoCtr *r)
8431
if (ndr_flags & NDR_SCALARS) {
8432
NDR_CHECK(ndr_push_align(ndr, 5));
8433
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
8434
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level));
8435
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo(ndr, NDR_SCALARS, &r->info));
8436
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8438
if (ndr_flags & NDR_BUFFERS) {
8439
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo(ndr, NDR_BUFFERS, &r->info));
8441
return NDR_ERR_SUCCESS;
8444
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfoCtr *r)
8446
if (ndr_flags & NDR_SCALARS) {
8447
NDR_CHECK(ndr_pull_align(ndr, 5));
8448
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
8449
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level));
8450
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo(ndr, NDR_SCALARS, &r->info));
8451
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8453
if (ndr_flags & NDR_BUFFERS) {
8454
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo(ndr, NDR_BUFFERS, &r->info));
8456
return NDR_ERR_SUCCESS;
8459
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfoCtr(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfoCtr *r)
8461
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfoCtr");
8462
if (r == NULL) { ndr_print_null(ndr); return; }
8464
ndr_print_uint32(ndr, "level", r->level);
8465
ndr_print_set_switch_value(ndr, &r->info, r->level);
8466
ndr_print_spoolss_SetPrinterInfo(ndr, "info", &r->info);
8470
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_StringArray(struct ndr_push *ndr, int ndr_flags, const struct spoolss_StringArray *r)
8472
if (ndr_flags & NDR_SCALARS) {
8473
NDR_CHECK(ndr_push_align(ndr, 4));
8474
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, (ndr_size_spoolss_StringArray(r, ndr->flags) - 4) / 2));
8476
uint32_t _flags_save_string_array = ndr->flags;
8477
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
8478
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string));
8479
ndr->flags = _flags_save_string_array;
8481
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8483
if (ndr_flags & NDR_BUFFERS) {
8485
return NDR_ERR_SUCCESS;
8488
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_StringArray(struct ndr_pull *ndr, int ndr_flags, struct spoolss_StringArray *r)
8490
if (ndr_flags & NDR_SCALARS) {
8491
NDR_CHECK(ndr_pull_align(ndr, 4));
8492
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size));
8494
uint32_t _flags_save_string_array = ndr->flags;
8495
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
8496
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string));
8497
ndr->flags = _flags_save_string_array;
8499
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
8501
if (ndr_flags & NDR_BUFFERS) {
8503
return NDR_ERR_SUCCESS;
8506
_PUBLIC_ void ndr_print_spoolss_StringArray(struct ndr_print *ndr, const char *name, const struct spoolss_StringArray *r)
8508
ndr_print_struct(ndr, name, "spoolss_StringArray");
8509
if (r == NULL) { ndr_print_null(ndr); return; }
8511
ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?(ndr_size_spoolss_StringArray(r, ndr->flags) - 4) / 2:r->_ndr_size);
8512
ndr_print_string_array(ndr, "string", r->string);
8516
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo1 *r)
8518
if (ndr_flags & NDR_SCALARS) {
8519
NDR_CHECK(ndr_push_align(ndr, 5));
8520
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
8521
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8523
if (ndr_flags & NDR_BUFFERS) {
8524
if (r->driver_name) {
8525
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8526
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8527
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8528
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8531
return NDR_ERR_SUCCESS;
8534
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo1 *r)
8536
uint32_t _ptr_driver_name;
8537
TALLOC_CTX *_mem_save_driver_name_0;
8538
if (ndr_flags & NDR_SCALARS) {
8539
NDR_CHECK(ndr_pull_align(ndr, 5));
8540
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
8541
if (_ptr_driver_name) {
8542
NDR_PULL_ALLOC(ndr, r->driver_name);
8544
r->driver_name = NULL;
8546
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8548
if (ndr_flags & NDR_BUFFERS) {
8549
if (r->driver_name) {
8550
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8551
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
8552
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
8553
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
8554
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
8555
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));
8557
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
8558
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
8559
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
8562
return NDR_ERR_SUCCESS;
8565
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo1 *r)
8567
ndr_print_struct(ndr, name, "spoolss_AddDriverInfo1");
8568
if (r == NULL) { ndr_print_null(ndr); return; }
8570
ndr_print_ptr(ndr, "driver_name", r->driver_name);
8572
if (r->driver_name) {
8573
ndr_print_string(ndr, "driver_name", r->driver_name);
8579
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverOSVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_DriverOSVersion r)
8581
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
8582
return NDR_ERR_SUCCESS;
8585
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverOSVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DriverOSVersion *r)
8588
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
8590
return NDR_ERR_SUCCESS;
8593
_PUBLIC_ void ndr_print_spoolss_DriverOSVersion(struct ndr_print *ndr, const char *name, enum spoolss_DriverOSVersion r)
8595
const char *val = NULL;
8598
case SPOOLSS_DRIVER_VERSION_9X: val = "SPOOLSS_DRIVER_VERSION_9X"; break;
8599
case SPOOLSS_DRIVER_VERSION_NT35: val = "SPOOLSS_DRIVER_VERSION_NT35"; break;
8600
case SPOOLSS_DRIVER_VERSION_NT4: val = "SPOOLSS_DRIVER_VERSION_NT4"; break;
8601
case SPOOLSS_DRIVER_VERSION_200X: val = "SPOOLSS_DRIVER_VERSION_200X"; break;
8603
ndr_print_enum(ndr, name, "ENUM", val, r);
8606
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo2 *r)
8608
if (ndr_flags & NDR_SCALARS) {
8609
NDR_CHECK(ndr_push_align(ndr, 5));
8610
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
8611
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
8612
NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture));
8613
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path));
8614
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file));
8615
NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file));
8616
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8618
if (ndr_flags & NDR_BUFFERS) {
8619
if (r->driver_name) {
8620
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8621
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8622
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8623
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8625
if (r->architecture) {
8626
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
8627
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8628
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
8629
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8631
if (r->driver_path) {
8632
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
8633
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8634
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
8635
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8638
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
8639
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8640
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
8641
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8643
if (r->config_file) {
8644
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
8645
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8646
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
8647
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8650
return NDR_ERR_SUCCESS;
8653
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo2 *r)
8655
uint32_t _ptr_driver_name;
8656
TALLOC_CTX *_mem_save_driver_name_0;
8657
uint32_t _ptr_architecture;
8658
TALLOC_CTX *_mem_save_architecture_0;
8659
uint32_t _ptr_driver_path;
8660
TALLOC_CTX *_mem_save_driver_path_0;
8661
uint32_t _ptr_data_file;
8662
TALLOC_CTX *_mem_save_data_file_0;
8663
uint32_t _ptr_config_file;
8664
TALLOC_CTX *_mem_save_config_file_0;
8665
if (ndr_flags & NDR_SCALARS) {
8666
NDR_CHECK(ndr_pull_align(ndr, 5));
8667
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
8668
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
8669
if (_ptr_driver_name) {
8670
NDR_PULL_ALLOC(ndr, r->driver_name);
8672
r->driver_name = NULL;
8674
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
8675
if (_ptr_architecture) {
8676
NDR_PULL_ALLOC(ndr, r->architecture);
8678
r->architecture = NULL;
8680
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
8681
if (_ptr_driver_path) {
8682
NDR_PULL_ALLOC(ndr, r->driver_path);
8684
r->driver_path = NULL;
8686
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
8687
if (_ptr_data_file) {
8688
NDR_PULL_ALLOC(ndr, r->data_file);
8690
r->data_file = NULL;
8692
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
8693
if (_ptr_config_file) {
8694
NDR_PULL_ALLOC(ndr, r->config_file);
8696
r->config_file = NULL;
8698
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8700
if (ndr_flags & NDR_BUFFERS) {
8701
if (r->driver_name) {
8702
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8703
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
8704
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
8705
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
8706
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
8707
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));
8709
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
8710
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
8711
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
8713
if (r->architecture) {
8714
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
8715
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
8716
NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture));
8717
NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture));
8718
if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) {
8719
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));
8721
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t)));
8722
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16));
8723
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
8725
if (r->driver_path) {
8726
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
8727
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
8728
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path));
8729
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path));
8730
if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) {
8731
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));
8733
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t)));
8734
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16));
8735
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
8738
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8739
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
8740
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file));
8741
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file));
8742
if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) {
8743
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));
8745
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t)));
8746
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16));
8747
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
8749
if (r->config_file) {
8750
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8751
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
8752
NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file));
8753
NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file));
8754
if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) {
8755
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));
8757
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t)));
8758
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16));
8759
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
8762
return NDR_ERR_SUCCESS;
8765
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo2 *r)
8767
ndr_print_struct(ndr, name, "spoolss_AddDriverInfo2");
8768
if (r == NULL) { ndr_print_null(ndr); return; }
8770
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
8771
ndr_print_ptr(ndr, "driver_name", r->driver_name);
8773
if (r->driver_name) {
8774
ndr_print_string(ndr, "driver_name", r->driver_name);
8777
ndr_print_ptr(ndr, "architecture", r->architecture);
8779
if (r->architecture) {
8780
ndr_print_string(ndr, "architecture", r->architecture);
8783
ndr_print_ptr(ndr, "driver_path", r->driver_path);
8785
if (r->driver_path) {
8786
ndr_print_string(ndr, "driver_path", r->driver_path);
8789
ndr_print_ptr(ndr, "data_file", r->data_file);
8792
ndr_print_string(ndr, "data_file", r->data_file);
8795
ndr_print_ptr(ndr, "config_file", r->config_file);
8797
if (r->config_file) {
8798
ndr_print_string(ndr, "config_file", r->config_file);
8804
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo3 *r)
8806
if (ndr_flags & NDR_SCALARS) {
8807
NDR_CHECK(ndr_push_align(ndr, 5));
8808
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
8809
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
8810
NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture));
8811
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path));
8812
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file));
8813
NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file));
8814
NDR_CHECK(ndr_push_unique_ptr(ndr, r->help_file));
8815
NDR_CHECK(ndr_push_unique_ptr(ndr, r->monitor_name));
8816
NDR_CHECK(ndr_push_unique_ptr(ndr, r->default_datatype));
8817
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->dependent_files, ndr->flags) - 4) / 2)));
8818
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependent_files));
8819
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8821
if (ndr_flags & NDR_BUFFERS) {
8822
if (r->driver_name) {
8823
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8824
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8825
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8826
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8828
if (r->architecture) {
8829
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
8830
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8831
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
8832
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8834
if (r->driver_path) {
8835
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
8836
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8837
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
8838
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8841
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
8842
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8843
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
8844
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8846
if (r->config_file) {
8847
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
8848
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8849
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
8850
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8853
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
8854
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8855
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
8856
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->help_file, ndr_charset_length(r->help_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8858
if (r->monitor_name) {
8859
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
8860
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8861
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
8862
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->monitor_name, ndr_charset_length(r->monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8864
if (r->default_datatype) {
8865
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
8866
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8867
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
8868
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->default_datatype, ndr_charset_length(r->default_datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8870
if (r->dependent_files) {
8871
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
8874
return NDR_ERR_SUCCESS;
8877
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo3 *r)
8879
uint32_t _ptr_driver_name;
8880
TALLOC_CTX *_mem_save_driver_name_0;
8881
uint32_t _ptr_architecture;
8882
TALLOC_CTX *_mem_save_architecture_0;
8883
uint32_t _ptr_driver_path;
8884
TALLOC_CTX *_mem_save_driver_path_0;
8885
uint32_t _ptr_data_file;
8886
TALLOC_CTX *_mem_save_data_file_0;
8887
uint32_t _ptr_config_file;
8888
TALLOC_CTX *_mem_save_config_file_0;
8889
uint32_t _ptr_help_file;
8890
TALLOC_CTX *_mem_save_help_file_0;
8891
uint32_t _ptr_monitor_name;
8892
TALLOC_CTX *_mem_save_monitor_name_0;
8893
uint32_t _ptr_default_datatype;
8894
TALLOC_CTX *_mem_save_default_datatype_0;
8895
uint32_t _ptr_dependent_files;
8896
TALLOC_CTX *_mem_save_dependent_files_0;
8897
if (ndr_flags & NDR_SCALARS) {
8898
NDR_CHECK(ndr_pull_align(ndr, 5));
8899
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
8900
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
8901
if (_ptr_driver_name) {
8902
NDR_PULL_ALLOC(ndr, r->driver_name);
8904
r->driver_name = NULL;
8906
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
8907
if (_ptr_architecture) {
8908
NDR_PULL_ALLOC(ndr, r->architecture);
8910
r->architecture = NULL;
8912
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
8913
if (_ptr_driver_path) {
8914
NDR_PULL_ALLOC(ndr, r->driver_path);
8916
r->driver_path = NULL;
8918
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
8919
if (_ptr_data_file) {
8920
NDR_PULL_ALLOC(ndr, r->data_file);
8922
r->data_file = NULL;
8924
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
8925
if (_ptr_config_file) {
8926
NDR_PULL_ALLOC(ndr, r->config_file);
8928
r->config_file = NULL;
8930
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
8931
if (_ptr_help_file) {
8932
NDR_PULL_ALLOC(ndr, r->help_file);
8934
r->help_file = NULL;
8936
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
8937
if (_ptr_monitor_name) {
8938
NDR_PULL_ALLOC(ndr, r->monitor_name);
8940
r->monitor_name = NULL;
8942
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
8943
if (_ptr_default_datatype) {
8944
NDR_PULL_ALLOC(ndr, r->default_datatype);
8946
r->default_datatype = NULL;
8948
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_dependent_files));
8949
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
8950
if (_ptr_dependent_files) {
8951
NDR_PULL_ALLOC(ndr, r->dependent_files);
8953
r->dependent_files = NULL;
8955
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8957
if (ndr_flags & NDR_BUFFERS) {
8958
if (r->driver_name) {
8959
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8960
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
8961
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
8962
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
8963
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
8964
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));
8966
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
8967
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
8968
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
8970
if (r->architecture) {
8971
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
8972
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
8973
NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture));
8974
NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture));
8975
if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) {
8976
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));
8978
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t)));
8979
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16));
8980
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
8982
if (r->driver_path) {
8983
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
8984
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
8985
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path));
8986
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path));
8987
if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) {
8988
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));
8990
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t)));
8991
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16));
8992
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
8995
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8996
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
8997
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file));
8998
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file));
8999
if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) {
9000
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));
9002
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t)));
9003
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16));
9004
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
9006
if (r->config_file) {
9007
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9008
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
9009
NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file));
9010
NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file));
9011
if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) {
9012
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));
9014
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t)));
9015
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16));
9016
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
9019
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9020
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
9021
NDR_CHECK(ndr_pull_array_size(ndr, &r->help_file));
9022
NDR_CHECK(ndr_pull_array_length(ndr, &r->help_file));
9023
if (ndr_get_array_length(ndr, &r->help_file) > ndr_get_array_size(ndr, &r->help_file)) {
9024
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));
9026
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t)));
9027
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->help_file, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t), CH_UTF16));
9028
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
9030
if (r->monitor_name) {
9031
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9032
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
9033
NDR_CHECK(ndr_pull_array_size(ndr, &r->monitor_name));
9034
NDR_CHECK(ndr_pull_array_length(ndr, &r->monitor_name));
9035
if (ndr_get_array_length(ndr, &r->monitor_name) > ndr_get_array_size(ndr, &r->monitor_name)) {
9036
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));
9038
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t)));
9039
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->monitor_name, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t), CH_UTF16));
9040
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
9042
if (r->default_datatype) {
9043
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
9044
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
9045
NDR_CHECK(ndr_pull_array_size(ndr, &r->default_datatype));
9046
NDR_CHECK(ndr_pull_array_length(ndr, &r->default_datatype));
9047
if (ndr_get_array_length(ndr, &r->default_datatype) > ndr_get_array_size(ndr, &r->default_datatype)) {
9048
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));
9050
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t)));
9051
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->default_datatype, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t), CH_UTF16));
9052
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
9054
if (r->dependent_files) {
9055
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
9056
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
9057
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
9058
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
9061
return NDR_ERR_SUCCESS;
9064
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo3 *r)
9066
ndr_print_struct(ndr, name, "spoolss_AddDriverInfo3");
9067
if (r == NULL) { ndr_print_null(ndr); return; }
9069
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
9070
ndr_print_ptr(ndr, "driver_name", r->driver_name);
9072
if (r->driver_name) {
9073
ndr_print_string(ndr, "driver_name", r->driver_name);
9076
ndr_print_ptr(ndr, "architecture", r->architecture);
9078
if (r->architecture) {
9079
ndr_print_string(ndr, "architecture", r->architecture);
9082
ndr_print_ptr(ndr, "driver_path", r->driver_path);
9084
if (r->driver_path) {
9085
ndr_print_string(ndr, "driver_path", r->driver_path);
9088
ndr_print_ptr(ndr, "data_file", r->data_file);
9091
ndr_print_string(ndr, "data_file", r->data_file);
9094
ndr_print_ptr(ndr, "config_file", r->config_file);
9096
if (r->config_file) {
9097
ndr_print_string(ndr, "config_file", r->config_file);
9100
ndr_print_ptr(ndr, "help_file", r->help_file);
9103
ndr_print_string(ndr, "help_file", r->help_file);
9106
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
9108
if (r->monitor_name) {
9109
ndr_print_string(ndr, "monitor_name", r->monitor_name);
9112
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
9114
if (r->default_datatype) {
9115
ndr_print_string(ndr, "default_datatype", r->default_datatype);
9118
ndr_print_uint32(ndr, "_ndr_size_dependent_files", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->dependent_files, ndr->flags) - 4) / 2):r->_ndr_size_dependent_files);
9119
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
9121
if (r->dependent_files) {
9122
ndr_print_spoolss_StringArray(ndr, "dependent_files", r->dependent_files);
9128
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo4 *r)
9130
if (ndr_flags & NDR_SCALARS) {
9131
NDR_CHECK(ndr_push_align(ndr, 5));
9132
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
9133
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
9134
NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture));
9135
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path));
9136
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file));
9137
NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file));
9138
NDR_CHECK(ndr_push_unique_ptr(ndr, r->help_file));
9139
NDR_CHECK(ndr_push_unique_ptr(ndr, r->monitor_name));
9140
NDR_CHECK(ndr_push_unique_ptr(ndr, r->default_datatype));
9141
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->dependent_files, ndr->flags) - 4) / 2)));
9142
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependent_files));
9143
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->previous_names, ndr->flags) - 4) / 2)));
9144
NDR_CHECK(ndr_push_unique_ptr(ndr, r->previous_names));
9145
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9147
if (ndr_flags & NDR_BUFFERS) {
9148
if (r->driver_name) {
9149
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
9150
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9151
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
9152
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9154
if (r->architecture) {
9155
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
9156
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9157
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
9158
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9160
if (r->driver_path) {
9161
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
9162
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9163
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
9164
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9167
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
9168
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9169
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
9170
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9172
if (r->config_file) {
9173
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
9174
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9175
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
9176
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9179
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
9180
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9181
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
9182
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->help_file, ndr_charset_length(r->help_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9184
if (r->monitor_name) {
9185
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
9186
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9187
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
9188
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->monitor_name, ndr_charset_length(r->monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9190
if (r->default_datatype) {
9191
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
9192
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9193
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
9194
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->default_datatype, ndr_charset_length(r->default_datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9196
if (r->dependent_files) {
9197
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
9199
if (r->previous_names) {
9200
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names));
9203
return NDR_ERR_SUCCESS;
9206
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo4 *r)
9208
uint32_t _ptr_driver_name;
9209
TALLOC_CTX *_mem_save_driver_name_0;
9210
uint32_t _ptr_architecture;
9211
TALLOC_CTX *_mem_save_architecture_0;
9212
uint32_t _ptr_driver_path;
9213
TALLOC_CTX *_mem_save_driver_path_0;
9214
uint32_t _ptr_data_file;
9215
TALLOC_CTX *_mem_save_data_file_0;
9216
uint32_t _ptr_config_file;
9217
TALLOC_CTX *_mem_save_config_file_0;
9218
uint32_t _ptr_help_file;
9219
TALLOC_CTX *_mem_save_help_file_0;
9220
uint32_t _ptr_monitor_name;
9221
TALLOC_CTX *_mem_save_monitor_name_0;
9222
uint32_t _ptr_default_datatype;
9223
TALLOC_CTX *_mem_save_default_datatype_0;
9224
uint32_t _ptr_dependent_files;
9225
TALLOC_CTX *_mem_save_dependent_files_0;
9226
uint32_t _ptr_previous_names;
9227
TALLOC_CTX *_mem_save_previous_names_0;
9228
if (ndr_flags & NDR_SCALARS) {
9229
NDR_CHECK(ndr_pull_align(ndr, 5));
9230
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
9231
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
9232
if (_ptr_driver_name) {
9233
NDR_PULL_ALLOC(ndr, r->driver_name);
9235
r->driver_name = NULL;
9237
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
9238
if (_ptr_architecture) {
9239
NDR_PULL_ALLOC(ndr, r->architecture);
9241
r->architecture = NULL;
9243
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
9244
if (_ptr_driver_path) {
9245
NDR_PULL_ALLOC(ndr, r->driver_path);
9247
r->driver_path = NULL;
9249
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
9250
if (_ptr_data_file) {
9251
NDR_PULL_ALLOC(ndr, r->data_file);
9253
r->data_file = NULL;
9255
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
9256
if (_ptr_config_file) {
9257
NDR_PULL_ALLOC(ndr, r->config_file);
9259
r->config_file = NULL;
9261
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
9262
if (_ptr_help_file) {
9263
NDR_PULL_ALLOC(ndr, r->help_file);
9265
r->help_file = NULL;
9267
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
9268
if (_ptr_monitor_name) {
9269
NDR_PULL_ALLOC(ndr, r->monitor_name);
9271
r->monitor_name = NULL;
9273
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
9274
if (_ptr_default_datatype) {
9275
NDR_PULL_ALLOC(ndr, r->default_datatype);
9277
r->default_datatype = NULL;
9279
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_dependent_files));
9280
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
9281
if (_ptr_dependent_files) {
9282
NDR_PULL_ALLOC(ndr, r->dependent_files);
9284
r->dependent_files = NULL;
9286
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_previous_names));
9287
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
9288
if (_ptr_previous_names) {
9289
NDR_PULL_ALLOC(ndr, r->previous_names);
9291
r->previous_names = NULL;
9293
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9295
if (ndr_flags & NDR_BUFFERS) {
9296
if (r->driver_name) {
9297
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9298
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
9299
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
9300
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
9301
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
9302
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));
9304
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
9305
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
9306
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
9308
if (r->architecture) {
9309
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
9310
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
9311
NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture));
9312
NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture));
9313
if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) {
9314
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));
9316
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t)));
9317
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16));
9318
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
9320
if (r->driver_path) {
9321
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
9322
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
9323
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path));
9324
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path));
9325
if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) {
9326
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));
9328
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t)));
9329
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16));
9330
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
9333
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9334
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
9335
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file));
9336
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file));
9337
if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) {
9338
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));
9340
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t)));
9341
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16));
9342
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
9344
if (r->config_file) {
9345
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9346
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
9347
NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file));
9348
NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file));
9349
if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) {
9350
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));
9352
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t)));
9353
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16));
9354
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
9357
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9358
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
9359
NDR_CHECK(ndr_pull_array_size(ndr, &r->help_file));
9360
NDR_CHECK(ndr_pull_array_length(ndr, &r->help_file));
9361
if (ndr_get_array_length(ndr, &r->help_file) > ndr_get_array_size(ndr, &r->help_file)) {
9362
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));
9364
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t)));
9365
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->help_file, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t), CH_UTF16));
9366
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
9368
if (r->monitor_name) {
9369
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9370
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
9371
NDR_CHECK(ndr_pull_array_size(ndr, &r->monitor_name));
9372
NDR_CHECK(ndr_pull_array_length(ndr, &r->monitor_name));
9373
if (ndr_get_array_length(ndr, &r->monitor_name) > ndr_get_array_size(ndr, &r->monitor_name)) {
9374
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));
9376
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t)));
9377
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->monitor_name, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t), CH_UTF16));
9378
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
9380
if (r->default_datatype) {
9381
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
9382
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
9383
NDR_CHECK(ndr_pull_array_size(ndr, &r->default_datatype));
9384
NDR_CHECK(ndr_pull_array_length(ndr, &r->default_datatype));
9385
if (ndr_get_array_length(ndr, &r->default_datatype) > ndr_get_array_size(ndr, &r->default_datatype)) {
9386
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));
9388
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t)));
9389
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->default_datatype, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t), CH_UTF16));
9390
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
9392
if (r->dependent_files) {
9393
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
9394
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
9395
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
9396
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
9398
if (r->previous_names) {
9399
_mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
9400
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
9401
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names));
9402
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
9405
return NDR_ERR_SUCCESS;
9408
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo4 *r)
9410
ndr_print_struct(ndr, name, "spoolss_AddDriverInfo4");
9411
if (r == NULL) { ndr_print_null(ndr); return; }
9413
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
9414
ndr_print_ptr(ndr, "driver_name", r->driver_name);
9416
if (r->driver_name) {
9417
ndr_print_string(ndr, "driver_name", r->driver_name);
9420
ndr_print_ptr(ndr, "architecture", r->architecture);
9422
if (r->architecture) {
9423
ndr_print_string(ndr, "architecture", r->architecture);
9426
ndr_print_ptr(ndr, "driver_path", r->driver_path);
9428
if (r->driver_path) {
9429
ndr_print_string(ndr, "driver_path", r->driver_path);
9432
ndr_print_ptr(ndr, "data_file", r->data_file);
9435
ndr_print_string(ndr, "data_file", r->data_file);
9438
ndr_print_ptr(ndr, "config_file", r->config_file);
9440
if (r->config_file) {
9441
ndr_print_string(ndr, "config_file", r->config_file);
9444
ndr_print_ptr(ndr, "help_file", r->help_file);
9447
ndr_print_string(ndr, "help_file", r->help_file);
9450
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
9452
if (r->monitor_name) {
9453
ndr_print_string(ndr, "monitor_name", r->monitor_name);
9456
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
9458
if (r->default_datatype) {
9459
ndr_print_string(ndr, "default_datatype", r->default_datatype);
9462
ndr_print_uint32(ndr, "_ndr_size_dependent_files", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->dependent_files, ndr->flags) - 4) / 2):r->_ndr_size_dependent_files);
9463
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
9465
if (r->dependent_files) {
9466
ndr_print_spoolss_StringArray(ndr, "dependent_files", r->dependent_files);
9469
ndr_print_uint32(ndr, "_ndr_size_previous_names", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->previous_names, ndr->flags) - 4) / 2):r->_ndr_size_previous_names);
9470
ndr_print_ptr(ndr, "previous_names", r->previous_names);
9472
if (r->previous_names) {
9473
ndr_print_spoolss_StringArray(ndr, "previous_names", r->previous_names);
9479
static enum ndr_err_code ndr_push_spoolss_DriverAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
9481
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
9482
return NDR_ERR_SUCCESS;
9485
static enum ndr_err_code ndr_pull_spoolss_DriverAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
9488
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
9490
return NDR_ERR_SUCCESS;
9493
_PUBLIC_ void ndr_print_spoolss_DriverAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
9495
ndr_print_uint32(ndr, name, r);
9497
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_DRIVER_PACKAGE_AWARE", PRINTER_DRIVER_PACKAGE_AWARE, r);
9501
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo6 *r)
9503
if (ndr_flags & NDR_SCALARS) {
9504
NDR_CHECK(ndr_push_align(ndr, 8));
9505
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
9506
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
9507
NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture));
9508
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path));
9509
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file));
9510
NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file));
9511
NDR_CHECK(ndr_push_unique_ptr(ndr, r->help_file));
9512
NDR_CHECK(ndr_push_unique_ptr(ndr, r->monitor_name));
9513
NDR_CHECK(ndr_push_unique_ptr(ndr, r->default_datatype));
9514
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->dependent_files, ndr->flags) - 4) / 2)));
9515
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependent_files));
9516
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->previous_names, ndr->flags) - 4) / 2)));
9517
NDR_CHECK(ndr_push_unique_ptr(ndr, r->previous_names));
9518
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date));
9519
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
9520
NDR_CHECK(ndr_push_unique_ptr(ndr, r->manufacturer_name));
9521
NDR_CHECK(ndr_push_unique_ptr(ndr, r->manufacturer_url));
9522
NDR_CHECK(ndr_push_unique_ptr(ndr, r->hardware_id));
9523
NDR_CHECK(ndr_push_unique_ptr(ndr, r->provider));
9524
NDR_CHECK(ndr_push_trailer_align(ndr, 8));
9526
if (ndr_flags & NDR_BUFFERS) {
9527
if (r->driver_name) {
9528
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
9529
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9530
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
9531
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9533
if (r->architecture) {
9534
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
9535
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9536
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
9537
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9539
if (r->driver_path) {
9540
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
9541
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9542
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
9543
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9546
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
9547
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9548
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
9549
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9551
if (r->config_file) {
9552
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
9553
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9554
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
9555
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9558
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
9559
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9560
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
9561
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->help_file, ndr_charset_length(r->help_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9563
if (r->monitor_name) {
9564
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
9565
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9566
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
9567
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->monitor_name, ndr_charset_length(r->monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9569
if (r->default_datatype) {
9570
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
9571
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9572
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
9573
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->default_datatype, ndr_charset_length(r->default_datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9575
if (r->dependent_files) {
9576
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
9578
if (r->previous_names) {
9579
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names));
9581
if (r->manufacturer_name) {
9582
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_name, CH_UTF16)));
9583
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9584
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_name, CH_UTF16)));
9585
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->manufacturer_name, ndr_charset_length(r->manufacturer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9587
if (r->manufacturer_url) {
9588
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_url, CH_UTF16)));
9589
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9590
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_url, CH_UTF16)));
9591
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->manufacturer_url, ndr_charset_length(r->manufacturer_url, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9593
if (r->hardware_id) {
9594
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->hardware_id, CH_UTF16)));
9595
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9596
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->hardware_id, CH_UTF16)));
9597
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hardware_id, ndr_charset_length(r->hardware_id, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9600
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->provider, CH_UTF16)));
9601
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9602
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->provider, CH_UTF16)));
9603
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->provider, ndr_charset_length(r->provider, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9606
return NDR_ERR_SUCCESS;
9609
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo6 *r)
9611
uint32_t _ptr_driver_name;
9612
TALLOC_CTX *_mem_save_driver_name_0;
9613
uint32_t _ptr_architecture;
9614
TALLOC_CTX *_mem_save_architecture_0;
9615
uint32_t _ptr_driver_path;
9616
TALLOC_CTX *_mem_save_driver_path_0;
9617
uint32_t _ptr_data_file;
9618
TALLOC_CTX *_mem_save_data_file_0;
9619
uint32_t _ptr_config_file;
9620
TALLOC_CTX *_mem_save_config_file_0;
9621
uint32_t _ptr_help_file;
9622
TALLOC_CTX *_mem_save_help_file_0;
9623
uint32_t _ptr_monitor_name;
9624
TALLOC_CTX *_mem_save_monitor_name_0;
9625
uint32_t _ptr_default_datatype;
9626
TALLOC_CTX *_mem_save_default_datatype_0;
9627
uint32_t _ptr_dependent_files;
9628
TALLOC_CTX *_mem_save_dependent_files_0;
9629
uint32_t _ptr_previous_names;
9630
TALLOC_CTX *_mem_save_previous_names_0;
9631
uint32_t _ptr_manufacturer_name;
9632
TALLOC_CTX *_mem_save_manufacturer_name_0;
9633
uint32_t _ptr_manufacturer_url;
9634
TALLOC_CTX *_mem_save_manufacturer_url_0;
9635
uint32_t _ptr_hardware_id;
9636
TALLOC_CTX *_mem_save_hardware_id_0;
9637
uint32_t _ptr_provider;
9638
TALLOC_CTX *_mem_save_provider_0;
9639
if (ndr_flags & NDR_SCALARS) {
9640
NDR_CHECK(ndr_pull_align(ndr, 8));
9641
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
9642
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
9643
if (_ptr_driver_name) {
9644
NDR_PULL_ALLOC(ndr, r->driver_name);
9646
r->driver_name = NULL;
9648
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
9649
if (_ptr_architecture) {
9650
NDR_PULL_ALLOC(ndr, r->architecture);
9652
r->architecture = NULL;
9654
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
9655
if (_ptr_driver_path) {
9656
NDR_PULL_ALLOC(ndr, r->driver_path);
9658
r->driver_path = NULL;
9660
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
9661
if (_ptr_data_file) {
9662
NDR_PULL_ALLOC(ndr, r->data_file);
9664
r->data_file = NULL;
9666
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
9667
if (_ptr_config_file) {
9668
NDR_PULL_ALLOC(ndr, r->config_file);
9670
r->config_file = NULL;
9672
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
9673
if (_ptr_help_file) {
9674
NDR_PULL_ALLOC(ndr, r->help_file);
9676
r->help_file = NULL;
9678
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
9679
if (_ptr_monitor_name) {
9680
NDR_PULL_ALLOC(ndr, r->monitor_name);
9682
r->monitor_name = NULL;
9684
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
9685
if (_ptr_default_datatype) {
9686
NDR_PULL_ALLOC(ndr, r->default_datatype);
9688
r->default_datatype = NULL;
9690
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_dependent_files));
9691
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
9692
if (_ptr_dependent_files) {
9693
NDR_PULL_ALLOC(ndr, r->dependent_files);
9695
r->dependent_files = NULL;
9697
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_previous_names));
9698
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
9699
if (_ptr_previous_names) {
9700
NDR_PULL_ALLOC(ndr, r->previous_names);
9702
r->previous_names = NULL;
9704
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date));
9705
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
9706
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name));
9707
if (_ptr_manufacturer_name) {
9708
NDR_PULL_ALLOC(ndr, r->manufacturer_name);
9710
r->manufacturer_name = NULL;
9712
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url));
9713
if (_ptr_manufacturer_url) {
9714
NDR_PULL_ALLOC(ndr, r->manufacturer_url);
9716
r->manufacturer_url = NULL;
9718
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id));
9719
if (_ptr_hardware_id) {
9720
NDR_PULL_ALLOC(ndr, r->hardware_id);
9722
r->hardware_id = NULL;
9724
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider));
9725
if (_ptr_provider) {
9726
NDR_PULL_ALLOC(ndr, r->provider);
9730
NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
9732
if (ndr_flags & NDR_BUFFERS) {
9733
if (r->driver_name) {
9734
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9735
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
9736
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
9737
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
9738
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
9739
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));
9741
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
9742
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
9743
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
9745
if (r->architecture) {
9746
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
9747
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
9748
NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture));
9749
NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture));
9750
if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) {
9751
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));
9753
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t)));
9754
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16));
9755
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
9757
if (r->driver_path) {
9758
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
9759
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
9760
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path));
9761
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path));
9762
if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) {
9763
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));
9765
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t)));
9766
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16));
9767
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
9770
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9771
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
9772
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file));
9773
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file));
9774
if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) {
9775
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));
9777
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t)));
9778
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16));
9779
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
9781
if (r->config_file) {
9782
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9783
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
9784
NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file));
9785
NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file));
9786
if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) {
9787
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));
9789
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t)));
9790
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16));
9791
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
9794
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9795
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
9796
NDR_CHECK(ndr_pull_array_size(ndr, &r->help_file));
9797
NDR_CHECK(ndr_pull_array_length(ndr, &r->help_file));
9798
if (ndr_get_array_length(ndr, &r->help_file) > ndr_get_array_size(ndr, &r->help_file)) {
9799
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));
9801
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t)));
9802
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->help_file, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t), CH_UTF16));
9803
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
9805
if (r->monitor_name) {
9806
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9807
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
9808
NDR_CHECK(ndr_pull_array_size(ndr, &r->monitor_name));
9809
NDR_CHECK(ndr_pull_array_length(ndr, &r->monitor_name));
9810
if (ndr_get_array_length(ndr, &r->monitor_name) > ndr_get_array_size(ndr, &r->monitor_name)) {
9811
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));
9813
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t)));
9814
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->monitor_name, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t), CH_UTF16));
9815
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
9817
if (r->default_datatype) {
9818
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
9819
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
9820
NDR_CHECK(ndr_pull_array_size(ndr, &r->default_datatype));
9821
NDR_CHECK(ndr_pull_array_length(ndr, &r->default_datatype));
9822
if (ndr_get_array_length(ndr, &r->default_datatype) > ndr_get_array_size(ndr, &r->default_datatype)) {
9823
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));
9825
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t)));
9826
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->default_datatype, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t), CH_UTF16));
9827
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
9829
if (r->dependent_files) {
9830
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
9831
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
9832
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
9833
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
9835
if (r->previous_names) {
9836
_mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
9837
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
9838
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names));
9839
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
9841
if (r->manufacturer_name) {
9842
_mem_save_manufacturer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9843
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0);
9844
NDR_CHECK(ndr_pull_array_size(ndr, &r->manufacturer_name));
9845
NDR_CHECK(ndr_pull_array_length(ndr, &r->manufacturer_name));
9846
if (ndr_get_array_length(ndr, &r->manufacturer_name) > ndr_get_array_size(ndr, &r->manufacturer_name)) {
9847
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));
9849
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->manufacturer_name), sizeof(uint16_t)));
9850
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->manufacturer_name, ndr_get_array_length(ndr, &r->manufacturer_name), sizeof(uint16_t), CH_UTF16));
9851
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0);
9853
if (r->manufacturer_url) {
9854
_mem_save_manufacturer_url_0 = NDR_PULL_GET_MEM_CTX(ndr);
9855
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0);
9856
NDR_CHECK(ndr_pull_array_size(ndr, &r->manufacturer_url));
9857
NDR_CHECK(ndr_pull_array_length(ndr, &r->manufacturer_url));
9858
if (ndr_get_array_length(ndr, &r->manufacturer_url) > ndr_get_array_size(ndr, &r->manufacturer_url)) {
9859
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));
9861
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->manufacturer_url), sizeof(uint16_t)));
9862
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->manufacturer_url, ndr_get_array_length(ndr, &r->manufacturer_url), sizeof(uint16_t), CH_UTF16));
9863
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0);
9865
if (r->hardware_id) {
9866
_mem_save_hardware_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9867
NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0);
9868
NDR_CHECK(ndr_pull_array_size(ndr, &r->hardware_id));
9869
NDR_CHECK(ndr_pull_array_length(ndr, &r->hardware_id));
9870
if (ndr_get_array_length(ndr, &r->hardware_id) > ndr_get_array_size(ndr, &r->hardware_id)) {
9871
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));
9873
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->hardware_id), sizeof(uint16_t)));
9874
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hardware_id, ndr_get_array_length(ndr, &r->hardware_id), sizeof(uint16_t), CH_UTF16));
9875
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0);
9878
_mem_save_provider_0 = NDR_PULL_GET_MEM_CTX(ndr);
9879
NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0);
9880
NDR_CHECK(ndr_pull_array_size(ndr, &r->provider));
9881
NDR_CHECK(ndr_pull_array_length(ndr, &r->provider));
9882
if (ndr_get_array_length(ndr, &r->provider) > ndr_get_array_size(ndr, &r->provider)) {
9883
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));
9885
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->provider), sizeof(uint16_t)));
9886
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->provider, ndr_get_array_length(ndr, &r->provider), sizeof(uint16_t), CH_UTF16));
9887
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0);
9890
return NDR_ERR_SUCCESS;
9893
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo6 *r)
9895
ndr_print_struct(ndr, name, "spoolss_AddDriverInfo6");
9896
if (r == NULL) { ndr_print_null(ndr); return; }
9898
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
9899
ndr_print_ptr(ndr, "driver_name", r->driver_name);
9901
if (r->driver_name) {
9902
ndr_print_string(ndr, "driver_name", r->driver_name);
9905
ndr_print_ptr(ndr, "architecture", r->architecture);
9907
if (r->architecture) {
9908
ndr_print_string(ndr, "architecture", r->architecture);
9911
ndr_print_ptr(ndr, "driver_path", r->driver_path);
9913
if (r->driver_path) {
9914
ndr_print_string(ndr, "driver_path", r->driver_path);
9917
ndr_print_ptr(ndr, "data_file", r->data_file);
9920
ndr_print_string(ndr, "data_file", r->data_file);
9923
ndr_print_ptr(ndr, "config_file", r->config_file);
9925
if (r->config_file) {
9926
ndr_print_string(ndr, "config_file", r->config_file);
9929
ndr_print_ptr(ndr, "help_file", r->help_file);
9932
ndr_print_string(ndr, "help_file", r->help_file);
9935
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
9937
if (r->monitor_name) {
9938
ndr_print_string(ndr, "monitor_name", r->monitor_name);
9941
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
9943
if (r->default_datatype) {
9944
ndr_print_string(ndr, "default_datatype", r->default_datatype);
9947
ndr_print_uint32(ndr, "_ndr_size_dependent_files", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->dependent_files, ndr->flags) - 4) / 2):r->_ndr_size_dependent_files);
9948
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
9950
if (r->dependent_files) {
9951
ndr_print_spoolss_StringArray(ndr, "dependent_files", r->dependent_files);
9954
ndr_print_uint32(ndr, "_ndr_size_previous_names", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->previous_names, ndr->flags) - 4) / 2):r->_ndr_size_previous_names);
9955
ndr_print_ptr(ndr, "previous_names", r->previous_names);
9957
if (r->previous_names) {
9958
ndr_print_spoolss_StringArray(ndr, "previous_names", r->previous_names);
9961
ndr_print_NTTIME(ndr, "driver_date", r->driver_date);
9962
ndr_print_hyper(ndr, "driver_version", r->driver_version);
9963
ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name);
9965
if (r->manufacturer_name) {
9966
ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name);
9969
ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url);
9971
if (r->manufacturer_url) {
9972
ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url);
9975
ndr_print_ptr(ndr, "hardware_id", r->hardware_id);
9977
if (r->hardware_id) {
9978
ndr_print_string(ndr, "hardware_id", r->hardware_id);
9981
ndr_print_ptr(ndr, "provider", r->provider);
9984
ndr_print_string(ndr, "provider", r->provider);
9990
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo8(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo8 *r)
9992
if (ndr_flags & NDR_SCALARS) {
9993
NDR_CHECK(ndr_push_align(ndr, 8));
9994
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
9995
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
9996
NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture));
9997
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path));
9998
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file));
9999
NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file));
10000
NDR_CHECK(ndr_push_unique_ptr(ndr, r->help_file));
10001
NDR_CHECK(ndr_push_unique_ptr(ndr, r->monitor_name));
10002
NDR_CHECK(ndr_push_unique_ptr(ndr, r->default_datatype));
10003
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->dependent_files, ndr->flags) - 4) / 2)));
10004
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependent_files));
10005
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->previous_names, ndr->flags) - 4) / 2)));
10006
NDR_CHECK(ndr_push_unique_ptr(ndr, r->previous_names));
10007
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date));
10008
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
10009
NDR_CHECK(ndr_push_unique_ptr(ndr, r->manufacturer_name));
10010
NDR_CHECK(ndr_push_unique_ptr(ndr, r->manufacturer_url));
10011
NDR_CHECK(ndr_push_unique_ptr(ndr, r->hardware_id));
10012
NDR_CHECK(ndr_push_unique_ptr(ndr, r->provider));
10013
NDR_CHECK(ndr_push_unique_ptr(ndr, r->print_processor));
10014
NDR_CHECK(ndr_push_unique_ptr(ndr, r->vendor_setup));
10015
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->color_profiles, ndr->flags) - 4) / 2)));
10016
NDR_CHECK(ndr_push_unique_ptr(ndr, r->color_profiles));
10017
NDR_CHECK(ndr_push_unique_ptr(ndr, r->inf_path));
10018
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->printer_driver_attributes));
10019
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->core_driver_dependencies, ndr->flags) - 4) / 2)));
10020
NDR_CHECK(ndr_push_unique_ptr(ndr, r->core_driver_dependencies));
10021
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->min_inbox_driver_ver_date));
10022
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->min_inbox_driver_ver_version));
10023
NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10025
if (ndr_flags & NDR_BUFFERS) {
10026
if (r->driver_name) {
10027
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
10028
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10029
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
10030
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10032
if (r->architecture) {
10033
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
10034
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10035
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
10036
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10038
if (r->driver_path) {
10039
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
10040
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10041
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
10042
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10044
if (r->data_file) {
10045
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
10046
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10047
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
10048
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10050
if (r->config_file) {
10051
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
10052
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10053
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
10054
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10056
if (r->help_file) {
10057
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
10058
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10059
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
10060
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->help_file, ndr_charset_length(r->help_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10062
if (r->monitor_name) {
10063
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
10064
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10065
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
10066
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->monitor_name, ndr_charset_length(r->monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10068
if (r->default_datatype) {
10069
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
10070
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10071
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
10072
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->default_datatype, ndr_charset_length(r->default_datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10074
if (r->dependent_files) {
10075
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
10077
if (r->previous_names) {
10078
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names));
10080
if (r->manufacturer_name) {
10081
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_name, CH_UTF16)));
10082
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10083
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_name, CH_UTF16)));
10084
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->manufacturer_name, ndr_charset_length(r->manufacturer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10086
if (r->manufacturer_url) {
10087
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_url, CH_UTF16)));
10088
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10089
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_url, CH_UTF16)));
10090
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->manufacturer_url, ndr_charset_length(r->manufacturer_url, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10092
if (r->hardware_id) {
10093
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->hardware_id, CH_UTF16)));
10094
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10095
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->hardware_id, CH_UTF16)));
10096
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hardware_id, ndr_charset_length(r->hardware_id, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10099
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->provider, CH_UTF16)));
10100
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10101
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->provider, CH_UTF16)));
10102
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->provider, ndr_charset_length(r->provider, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10104
if (r->print_processor) {
10105
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16)));
10106
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10107
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16)));
10108
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->print_processor, ndr_charset_length(r->print_processor, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10110
if (r->vendor_setup) {
10111
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->vendor_setup, CH_UTF16)));
10112
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10113
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->vendor_setup, CH_UTF16)));
10114
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->vendor_setup, ndr_charset_length(r->vendor_setup, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10116
if (r->color_profiles) {
10117
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->color_profiles));
10120
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->inf_path, CH_UTF16)));
10121
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10122
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->inf_path, CH_UTF16)));
10123
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->inf_path, ndr_charset_length(r->inf_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10125
if (r->core_driver_dependencies) {
10126
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->core_driver_dependencies));
10129
return NDR_ERR_SUCCESS;
10132
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo8(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo8 *r)
10134
uint32_t _ptr_driver_name;
10135
TALLOC_CTX *_mem_save_driver_name_0;
10136
uint32_t _ptr_architecture;
10137
TALLOC_CTX *_mem_save_architecture_0;
10138
uint32_t _ptr_driver_path;
10139
TALLOC_CTX *_mem_save_driver_path_0;
10140
uint32_t _ptr_data_file;
10141
TALLOC_CTX *_mem_save_data_file_0;
10142
uint32_t _ptr_config_file;
10143
TALLOC_CTX *_mem_save_config_file_0;
10144
uint32_t _ptr_help_file;
10145
TALLOC_CTX *_mem_save_help_file_0;
10146
uint32_t _ptr_monitor_name;
10147
TALLOC_CTX *_mem_save_monitor_name_0;
10148
uint32_t _ptr_default_datatype;
10149
TALLOC_CTX *_mem_save_default_datatype_0;
10150
uint32_t _ptr_dependent_files;
10151
TALLOC_CTX *_mem_save_dependent_files_0;
10152
uint32_t _ptr_previous_names;
10153
TALLOC_CTX *_mem_save_previous_names_0;
10154
uint32_t _ptr_manufacturer_name;
10155
TALLOC_CTX *_mem_save_manufacturer_name_0;
10156
uint32_t _ptr_manufacturer_url;
10157
TALLOC_CTX *_mem_save_manufacturer_url_0;
10158
uint32_t _ptr_hardware_id;
10159
TALLOC_CTX *_mem_save_hardware_id_0;
10160
uint32_t _ptr_provider;
10161
TALLOC_CTX *_mem_save_provider_0;
10162
uint32_t _ptr_print_processor;
10163
TALLOC_CTX *_mem_save_print_processor_0;
10164
uint32_t _ptr_vendor_setup;
10165
TALLOC_CTX *_mem_save_vendor_setup_0;
10166
uint32_t _ptr_color_profiles;
10167
TALLOC_CTX *_mem_save_color_profiles_0;
10168
uint32_t _ptr_inf_path;
10169
TALLOC_CTX *_mem_save_inf_path_0;
10170
uint32_t _ptr_core_driver_dependencies;
10171
TALLOC_CTX *_mem_save_core_driver_dependencies_0;
10172
if (ndr_flags & NDR_SCALARS) {
10173
NDR_CHECK(ndr_pull_align(ndr, 8));
10174
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
10175
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
10176
if (_ptr_driver_name) {
10177
NDR_PULL_ALLOC(ndr, r->driver_name);
10179
r->driver_name = NULL;
10181
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
10182
if (_ptr_architecture) {
10183
NDR_PULL_ALLOC(ndr, r->architecture);
10185
r->architecture = NULL;
10187
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
10188
if (_ptr_driver_path) {
10189
NDR_PULL_ALLOC(ndr, r->driver_path);
10191
r->driver_path = NULL;
10193
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
10194
if (_ptr_data_file) {
10195
NDR_PULL_ALLOC(ndr, r->data_file);
10197
r->data_file = NULL;
10199
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
10200
if (_ptr_config_file) {
10201
NDR_PULL_ALLOC(ndr, r->config_file);
10203
r->config_file = NULL;
10205
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
10206
if (_ptr_help_file) {
10207
NDR_PULL_ALLOC(ndr, r->help_file);
10209
r->help_file = NULL;
10211
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
10212
if (_ptr_monitor_name) {
10213
NDR_PULL_ALLOC(ndr, r->monitor_name);
10215
r->monitor_name = NULL;
10217
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
10218
if (_ptr_default_datatype) {
10219
NDR_PULL_ALLOC(ndr, r->default_datatype);
10221
r->default_datatype = NULL;
10223
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_dependent_files));
10224
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
10225
if (_ptr_dependent_files) {
10226
NDR_PULL_ALLOC(ndr, r->dependent_files);
10228
r->dependent_files = NULL;
10230
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_previous_names));
10231
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
10232
if (_ptr_previous_names) {
10233
NDR_PULL_ALLOC(ndr, r->previous_names);
10235
r->previous_names = NULL;
10237
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date));
10238
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
10239
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name));
10240
if (_ptr_manufacturer_name) {
10241
NDR_PULL_ALLOC(ndr, r->manufacturer_name);
10243
r->manufacturer_name = NULL;
10245
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url));
10246
if (_ptr_manufacturer_url) {
10247
NDR_PULL_ALLOC(ndr, r->manufacturer_url);
10249
r->manufacturer_url = NULL;
10251
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id));
10252
if (_ptr_hardware_id) {
10253
NDR_PULL_ALLOC(ndr, r->hardware_id);
10255
r->hardware_id = NULL;
10257
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider));
10258
if (_ptr_provider) {
10259
NDR_PULL_ALLOC(ndr, r->provider);
10261
r->provider = NULL;
10263
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
10264
if (_ptr_print_processor) {
10265
NDR_PULL_ALLOC(ndr, r->print_processor);
10267
r->print_processor = NULL;
10269
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_vendor_setup));
10270
if (_ptr_vendor_setup) {
10271
NDR_PULL_ALLOC(ndr, r->vendor_setup);
10273
r->vendor_setup = NULL;
10275
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_color_profiles));
10276
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_color_profiles));
10277
if (_ptr_color_profiles) {
10278
NDR_PULL_ALLOC(ndr, r->color_profiles);
10280
r->color_profiles = NULL;
10282
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_inf_path));
10283
if (_ptr_inf_path) {
10284
NDR_PULL_ALLOC(ndr, r->inf_path);
10286
r->inf_path = NULL;
10288
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->printer_driver_attributes));
10289
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_core_driver_dependencies));
10290
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_core_driver_dependencies));
10291
if (_ptr_core_driver_dependencies) {
10292
NDR_PULL_ALLOC(ndr, r->core_driver_dependencies);
10294
r->core_driver_dependencies = NULL;
10296
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_date));
10297
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_version));
10298
NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10300
if (ndr_flags & NDR_BUFFERS) {
10301
if (r->driver_name) {
10302
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10303
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
10304
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
10305
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
10306
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
10307
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));
10309
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
10310
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
10311
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
10313
if (r->architecture) {
10314
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
10315
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
10316
NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture));
10317
NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture));
10318
if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) {
10319
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));
10321
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t)));
10322
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16));
10323
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
10325
if (r->driver_path) {
10326
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
10327
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
10328
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path));
10329
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path));
10330
if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) {
10331
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));
10333
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t)));
10334
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16));
10335
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
10337
if (r->data_file) {
10338
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
10339
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
10340
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file));
10341
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file));
10342
if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) {
10343
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));
10345
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t)));
10346
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16));
10347
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
10349
if (r->config_file) {
10350
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
10351
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
10352
NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file));
10353
NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file));
10354
if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) {
10355
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));
10357
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t)));
10358
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16));
10359
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
10361
if (r->help_file) {
10362
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
10363
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
10364
NDR_CHECK(ndr_pull_array_size(ndr, &r->help_file));
10365
NDR_CHECK(ndr_pull_array_length(ndr, &r->help_file));
10366
if (ndr_get_array_length(ndr, &r->help_file) > ndr_get_array_size(ndr, &r->help_file)) {
10367
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));
10369
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t)));
10370
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->help_file, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t), CH_UTF16));
10371
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
10373
if (r->monitor_name) {
10374
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10375
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
10376
NDR_CHECK(ndr_pull_array_size(ndr, &r->monitor_name));
10377
NDR_CHECK(ndr_pull_array_length(ndr, &r->monitor_name));
10378
if (ndr_get_array_length(ndr, &r->monitor_name) > ndr_get_array_size(ndr, &r->monitor_name)) {
10379
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));
10381
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t)));
10382
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->monitor_name, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t), CH_UTF16));
10383
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
10385
if (r->default_datatype) {
10386
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
10387
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
10388
NDR_CHECK(ndr_pull_array_size(ndr, &r->default_datatype));
10389
NDR_CHECK(ndr_pull_array_length(ndr, &r->default_datatype));
10390
if (ndr_get_array_length(ndr, &r->default_datatype) > ndr_get_array_size(ndr, &r->default_datatype)) {
10391
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));
10393
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t)));
10394
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->default_datatype, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t), CH_UTF16));
10395
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
10397
if (r->dependent_files) {
10398
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
10399
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
10400
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
10401
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
10403
if (r->previous_names) {
10404
_mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
10405
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
10406
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names));
10407
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
10409
if (r->manufacturer_name) {
10410
_mem_save_manufacturer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10411
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0);
10412
NDR_CHECK(ndr_pull_array_size(ndr, &r->manufacturer_name));
10413
NDR_CHECK(ndr_pull_array_length(ndr, &r->manufacturer_name));
10414
if (ndr_get_array_length(ndr, &r->manufacturer_name) > ndr_get_array_size(ndr, &r->manufacturer_name)) {
10415
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));
10417
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->manufacturer_name), sizeof(uint16_t)));
10418
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->manufacturer_name, ndr_get_array_length(ndr, &r->manufacturer_name), sizeof(uint16_t), CH_UTF16));
10419
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0);
10421
if (r->manufacturer_url) {
10422
_mem_save_manufacturer_url_0 = NDR_PULL_GET_MEM_CTX(ndr);
10423
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0);
10424
NDR_CHECK(ndr_pull_array_size(ndr, &r->manufacturer_url));
10425
NDR_CHECK(ndr_pull_array_length(ndr, &r->manufacturer_url));
10426
if (ndr_get_array_length(ndr, &r->manufacturer_url) > ndr_get_array_size(ndr, &r->manufacturer_url)) {
10427
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));
10429
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->manufacturer_url), sizeof(uint16_t)));
10430
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->manufacturer_url, ndr_get_array_length(ndr, &r->manufacturer_url), sizeof(uint16_t), CH_UTF16));
10431
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0);
10433
if (r->hardware_id) {
10434
_mem_save_hardware_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
10435
NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0);
10436
NDR_CHECK(ndr_pull_array_size(ndr, &r->hardware_id));
10437
NDR_CHECK(ndr_pull_array_length(ndr, &r->hardware_id));
10438
if (ndr_get_array_length(ndr, &r->hardware_id) > ndr_get_array_size(ndr, &r->hardware_id)) {
10439
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));
10441
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->hardware_id), sizeof(uint16_t)));
10442
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hardware_id, ndr_get_array_length(ndr, &r->hardware_id), sizeof(uint16_t), CH_UTF16));
10443
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0);
10446
_mem_save_provider_0 = NDR_PULL_GET_MEM_CTX(ndr);
10447
NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0);
10448
NDR_CHECK(ndr_pull_array_size(ndr, &r->provider));
10449
NDR_CHECK(ndr_pull_array_length(ndr, &r->provider));
10450
if (ndr_get_array_length(ndr, &r->provider) > ndr_get_array_size(ndr, &r->provider)) {
10451
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));
10453
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->provider), sizeof(uint16_t)));
10454
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->provider, ndr_get_array_length(ndr, &r->provider), sizeof(uint16_t), CH_UTF16));
10455
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0);
10457
if (r->print_processor) {
10458
_mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr);
10459
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
10460
NDR_CHECK(ndr_pull_array_size(ndr, &r->print_processor));
10461
NDR_CHECK(ndr_pull_array_length(ndr, &r->print_processor));
10462
if (ndr_get_array_length(ndr, &r->print_processor) > ndr_get_array_size(ndr, &r->print_processor)) {
10463
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));
10465
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t)));
10466
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->print_processor, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t), CH_UTF16));
10467
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
10469
if (r->vendor_setup) {
10470
_mem_save_vendor_setup_0 = NDR_PULL_GET_MEM_CTX(ndr);
10471
NDR_PULL_SET_MEM_CTX(ndr, r->vendor_setup, 0);
10472
NDR_CHECK(ndr_pull_array_size(ndr, &r->vendor_setup));
10473
NDR_CHECK(ndr_pull_array_length(ndr, &r->vendor_setup));
10474
if (ndr_get_array_length(ndr, &r->vendor_setup) > ndr_get_array_size(ndr, &r->vendor_setup)) {
10475
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));
10477
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->vendor_setup), sizeof(uint16_t)));
10478
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->vendor_setup, ndr_get_array_length(ndr, &r->vendor_setup), sizeof(uint16_t), CH_UTF16));
10479
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_vendor_setup_0, 0);
10481
if (r->color_profiles) {
10482
_mem_save_color_profiles_0 = NDR_PULL_GET_MEM_CTX(ndr);
10483
NDR_PULL_SET_MEM_CTX(ndr, r->color_profiles, 0);
10484
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->color_profiles));
10485
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_color_profiles_0, 0);
10488
_mem_save_inf_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
10489
NDR_PULL_SET_MEM_CTX(ndr, r->inf_path, 0);
10490
NDR_CHECK(ndr_pull_array_size(ndr, &r->inf_path));
10491
NDR_CHECK(ndr_pull_array_length(ndr, &r->inf_path));
10492
if (ndr_get_array_length(ndr, &r->inf_path) > ndr_get_array_size(ndr, &r->inf_path)) {
10493
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));
10495
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->inf_path), sizeof(uint16_t)));
10496
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->inf_path, ndr_get_array_length(ndr, &r->inf_path), sizeof(uint16_t), CH_UTF16));
10497
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_inf_path_0, 0);
10499
if (r->core_driver_dependencies) {
10500
_mem_save_core_driver_dependencies_0 = NDR_PULL_GET_MEM_CTX(ndr);
10501
NDR_PULL_SET_MEM_CTX(ndr, r->core_driver_dependencies, 0);
10502
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->core_driver_dependencies));
10503
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_core_driver_dependencies_0, 0);
10506
return NDR_ERR_SUCCESS;
10509
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo8(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo8 *r)
10511
ndr_print_struct(ndr, name, "spoolss_AddDriverInfo8");
10512
if (r == NULL) { ndr_print_null(ndr); return; }
10514
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
10515
ndr_print_ptr(ndr, "driver_name", r->driver_name);
10517
if (r->driver_name) {
10518
ndr_print_string(ndr, "driver_name", r->driver_name);
10521
ndr_print_ptr(ndr, "architecture", r->architecture);
10523
if (r->architecture) {
10524
ndr_print_string(ndr, "architecture", r->architecture);
10527
ndr_print_ptr(ndr, "driver_path", r->driver_path);
10529
if (r->driver_path) {
10530
ndr_print_string(ndr, "driver_path", r->driver_path);
10533
ndr_print_ptr(ndr, "data_file", r->data_file);
10535
if (r->data_file) {
10536
ndr_print_string(ndr, "data_file", r->data_file);
10539
ndr_print_ptr(ndr, "config_file", r->config_file);
10541
if (r->config_file) {
10542
ndr_print_string(ndr, "config_file", r->config_file);
10545
ndr_print_ptr(ndr, "help_file", r->help_file);
10547
if (r->help_file) {
10548
ndr_print_string(ndr, "help_file", r->help_file);
10551
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
10553
if (r->monitor_name) {
10554
ndr_print_string(ndr, "monitor_name", r->monitor_name);
10557
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
10559
if (r->default_datatype) {
10560
ndr_print_string(ndr, "default_datatype", r->default_datatype);
10563
ndr_print_uint32(ndr, "_ndr_size_dependent_files", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->dependent_files, ndr->flags) - 4) / 2):r->_ndr_size_dependent_files);
10564
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
10566
if (r->dependent_files) {
10567
ndr_print_spoolss_StringArray(ndr, "dependent_files", r->dependent_files);
10570
ndr_print_uint32(ndr, "_ndr_size_previous_names", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->previous_names, ndr->flags) - 4) / 2):r->_ndr_size_previous_names);
10571
ndr_print_ptr(ndr, "previous_names", r->previous_names);
10573
if (r->previous_names) {
10574
ndr_print_spoolss_StringArray(ndr, "previous_names", r->previous_names);
10577
ndr_print_NTTIME(ndr, "driver_date", r->driver_date);
10578
ndr_print_hyper(ndr, "driver_version", r->driver_version);
10579
ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name);
10581
if (r->manufacturer_name) {
10582
ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name);
10585
ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url);
10587
if (r->manufacturer_url) {
10588
ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url);
10591
ndr_print_ptr(ndr, "hardware_id", r->hardware_id);
10593
if (r->hardware_id) {
10594
ndr_print_string(ndr, "hardware_id", r->hardware_id);
10597
ndr_print_ptr(ndr, "provider", r->provider);
10600
ndr_print_string(ndr, "provider", r->provider);
10603
ndr_print_ptr(ndr, "print_processor", r->print_processor);
10605
if (r->print_processor) {
10606
ndr_print_string(ndr, "print_processor", r->print_processor);
10609
ndr_print_ptr(ndr, "vendor_setup", r->vendor_setup);
10611
if (r->vendor_setup) {
10612
ndr_print_string(ndr, "vendor_setup", r->vendor_setup);
10615
ndr_print_uint32(ndr, "_ndr_size_color_profiles", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->color_profiles, ndr->flags) - 4) / 2):r->_ndr_size_color_profiles);
10616
ndr_print_ptr(ndr, "color_profiles", r->color_profiles);
10618
if (r->color_profiles) {
10619
ndr_print_spoolss_StringArray(ndr, "color_profiles", r->color_profiles);
10622
ndr_print_ptr(ndr, "inf_path", r->inf_path);
10625
ndr_print_string(ndr, "inf_path", r->inf_path);
10628
ndr_print_uint32(ndr, "printer_driver_attributes", r->printer_driver_attributes);
10629
ndr_print_uint32(ndr, "_ndr_size_core_driver_dependencies", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->core_driver_dependencies, ndr->flags) - 4) / 2):r->_ndr_size_core_driver_dependencies);
10630
ndr_print_ptr(ndr, "core_driver_dependencies", r->core_driver_dependencies);
10632
if (r->core_driver_dependencies) {
10633
ndr_print_spoolss_StringArray(ndr, "core_driver_dependencies", r->core_driver_dependencies);
10636
ndr_print_NTTIME(ndr, "min_inbox_driver_ver_date", r->min_inbox_driver_ver_date);
10637
ndr_print_hyper(ndr, "min_inbox_driver_ver_version", r->min_inbox_driver_ver_version);
10641
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_AddDriverInfo *r)
10643
if (ndr_flags & NDR_SCALARS) {
10644
uint32_t level = ndr_push_get_switch_value(ndr, r);
10645
NDR_CHECK(ndr_push_union_align(ndr, 5));
10646
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
10647
NDR_CHECK(ndr_push_union_align(ndr, 5));
10650
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
10654
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
10658
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
10662
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
10666
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info6));
10670
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info8));
10674
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10677
if (ndr_flags & NDR_BUFFERS) {
10678
uint32_t level = ndr_push_get_switch_value(ndr, r);
10682
NDR_CHECK(ndr_push_spoolss_AddDriverInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
10688
NDR_CHECK(ndr_push_spoolss_AddDriverInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
10694
NDR_CHECK(ndr_push_spoolss_AddDriverInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3));
10700
NDR_CHECK(ndr_push_spoolss_AddDriverInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
10706
NDR_CHECK(ndr_push_spoolss_AddDriverInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->info6));
10712
NDR_CHECK(ndr_push_spoolss_AddDriverInfo8(ndr, NDR_SCALARS|NDR_BUFFERS, r->info8));
10717
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10720
return NDR_ERR_SUCCESS;
10723
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_AddDriverInfo *r)
10727
TALLOC_CTX *_mem_save_info1_0;
10728
TALLOC_CTX *_mem_save_info2_0;
10729
TALLOC_CTX *_mem_save_info3_0;
10730
TALLOC_CTX *_mem_save_info4_0;
10731
TALLOC_CTX *_mem_save_info6_0;
10732
TALLOC_CTX *_mem_save_info8_0;
10733
level = ndr_pull_get_switch_value(ndr, r);
10734
if (ndr_flags & NDR_SCALARS) {
10735
NDR_CHECK(ndr_pull_union_align(ndr, 5));
10736
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
10737
if (_level != level) {
10738
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
10740
NDR_CHECK(ndr_pull_union_align(ndr, 5));
10743
uint32_t _ptr_info1;
10744
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
10746
NDR_PULL_ALLOC(ndr, r->info1);
10753
uint32_t _ptr_info2;
10754
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
10756
NDR_PULL_ALLOC(ndr, r->info2);
10763
uint32_t _ptr_info3;
10764
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
10766
NDR_PULL_ALLOC(ndr, r->info3);
10773
uint32_t _ptr_info4;
10774
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
10776
NDR_PULL_ALLOC(ndr, r->info4);
10783
uint32_t _ptr_info6;
10784
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info6));
10786
NDR_PULL_ALLOC(ndr, r->info6);
10793
uint32_t _ptr_info8;
10794
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info8));
10796
NDR_PULL_ALLOC(ndr, r->info8);
10803
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10806
if (ndr_flags & NDR_BUFFERS) {
10810
_mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
10811
NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
10812
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
10813
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
10819
_mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
10820
NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
10821
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
10822
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
10828
_mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
10829
NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
10830
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3));
10831
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
10837
_mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr);
10838
NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0);
10839
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
10840
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0);
10846
_mem_save_info6_0 = NDR_PULL_GET_MEM_CTX(ndr);
10847
NDR_PULL_SET_MEM_CTX(ndr, r->info6, 0);
10848
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->info6));
10849
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info6_0, 0);
10855
_mem_save_info8_0 = NDR_PULL_GET_MEM_CTX(ndr);
10856
NDR_PULL_SET_MEM_CTX(ndr, r->info8, 0);
10857
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo8(ndr, NDR_SCALARS|NDR_BUFFERS, r->info8));
10858
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info8_0, 0);
10863
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10866
return NDR_ERR_SUCCESS;
10869
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo(struct ndr_print *ndr, const char *name, const union spoolss_AddDriverInfo *r)
10872
level = ndr_print_get_switch_value(ndr, r);
10873
ndr_print_union(ndr, name, level, "spoolss_AddDriverInfo");
10876
ndr_print_ptr(ndr, "info1", r->info1);
10879
ndr_print_spoolss_AddDriverInfo1(ndr, "info1", r->info1);
10885
ndr_print_ptr(ndr, "info2", r->info2);
10888
ndr_print_spoolss_AddDriverInfo2(ndr, "info2", r->info2);
10894
ndr_print_ptr(ndr, "info3", r->info3);
10897
ndr_print_spoolss_AddDriverInfo3(ndr, "info3", r->info3);
10903
ndr_print_ptr(ndr, "info4", r->info4);
10906
ndr_print_spoolss_AddDriverInfo4(ndr, "info4", r->info4);
10912
ndr_print_ptr(ndr, "info6", r->info6);
10915
ndr_print_spoolss_AddDriverInfo6(ndr, "info6", r->info6);
10921
ndr_print_ptr(ndr, "info8", r->info8);
10924
ndr_print_spoolss_AddDriverInfo8(ndr, "info8", r->info8);
10930
ndr_print_bad_level(ndr, name, level);
10934
static enum ndr_err_code ndr_push_spoolss_AddDriverInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfoCtr *r)
10936
if (ndr_flags & NDR_SCALARS) {
10937
NDR_CHECK(ndr_push_align(ndr, 5));
10938
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
10939
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level));
10940
NDR_CHECK(ndr_push_spoolss_AddDriverInfo(ndr, NDR_SCALARS, &r->info));
10941
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10943
if (ndr_flags & NDR_BUFFERS) {
10944
NDR_CHECK(ndr_push_spoolss_AddDriverInfo(ndr, NDR_BUFFERS, &r->info));
10946
return NDR_ERR_SUCCESS;
10949
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfoCtr *r)
10951
if (ndr_flags & NDR_SCALARS) {
10952
NDR_CHECK(ndr_pull_align(ndr, 5));
10953
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
10954
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level));
10955
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo(ndr, NDR_SCALARS, &r->info));
10956
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10958
if (ndr_flags & NDR_BUFFERS) {
10959
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo(ndr, NDR_BUFFERS, &r->info));
10961
return NDR_ERR_SUCCESS;
10964
_PUBLIC_ void ndr_print_spoolss_AddDriverInfoCtr(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfoCtr *r)
10966
ndr_print_struct(ndr, name, "spoolss_AddDriverInfoCtr");
10967
if (r == NULL) { ndr_print_null(ndr); return; }
10969
ndr_print_uint32(ndr, "level", r->level);
10970
ndr_print_set_switch_value(ndr, &r->info, r->level);
10971
ndr_print_spoolss_AddDriverInfo(ndr, "info", &r->info);
10975
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo1 *r)
10977
if (ndr_flags & NDR_SCALARS) {
10978
NDR_CHECK(ndr_push_align(ndr, 5));
10980
uint32_t _flags_save_string = ndr->flags;
10981
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10982
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
10983
ndr->flags = _flags_save_string;
10985
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10987
if (ndr_flags & NDR_BUFFERS) {
10989
uint32_t _flags_save_string = ndr->flags;
10990
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10991
if (r->driver_name) {
10992
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
10993
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
10994
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
10996
ndr->flags = _flags_save_string;
10999
return NDR_ERR_SUCCESS;
11002
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo1 *r)
11004
uint32_t _ptr_driver_name;
11005
TALLOC_CTX *_mem_save_driver_name_0;
11006
if (ndr_flags & NDR_SCALARS) {
11007
NDR_CHECK(ndr_pull_align(ndr, 5));
11009
uint32_t _flags_save_string = ndr->flags;
11010
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11011
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
11012
if (_ptr_driver_name) {
11013
NDR_PULL_ALLOC(ndr, r->driver_name);
11014
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
11016
r->driver_name = NULL;
11018
ndr->flags = _flags_save_string;
11020
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11022
if (ndr_flags & NDR_BUFFERS) {
11024
uint32_t _flags_save_string = ndr->flags;
11025
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11026
if (r->driver_name) {
11027
uint32_t _relative_save_offset;
11028
_relative_save_offset = ndr->offset;
11029
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
11030
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11031
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
11032
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
11033
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
11034
if (ndr->offset > ndr->relative_highest_offset) {
11035
ndr->relative_highest_offset = ndr->offset;
11037
ndr->offset = _relative_save_offset;
11039
ndr->flags = _flags_save_string;
11042
return NDR_ERR_SUCCESS;
11045
_PUBLIC_ void ndr_print_spoolss_DriverInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo1 *r)
11047
ndr_print_struct(ndr, name, "spoolss_DriverInfo1");
11048
if (r == NULL) { ndr_print_null(ndr); return; }
11050
ndr_print_ptr(ndr, "driver_name", r->driver_name);
11052
if (r->driver_name) {
11053
ndr_print_string(ndr, "driver_name", r->driver_name);
11059
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo1(const struct spoolss_DriverInfo1 *r, int flags)
11061
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo1);
11064
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo2 *r)
11066
if (ndr_flags & NDR_SCALARS) {
11067
NDR_CHECK(ndr_push_align(ndr, 5));
11068
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
11070
uint32_t _flags_save_string = ndr->flags;
11071
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11072
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
11073
ndr->flags = _flags_save_string;
11076
uint32_t _flags_save_string = ndr->flags;
11077
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11078
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
11079
ndr->flags = _flags_save_string;
11082
uint32_t _flags_save_string = ndr->flags;
11083
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11084
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
11085
ndr->flags = _flags_save_string;
11088
uint32_t _flags_save_string = ndr->flags;
11089
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11090
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
11091
ndr->flags = _flags_save_string;
11094
uint32_t _flags_save_string = ndr->flags;
11095
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11096
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
11097
ndr->flags = _flags_save_string;
11099
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11101
if (ndr_flags & NDR_BUFFERS) {
11103
uint32_t _flags_save_string = ndr->flags;
11104
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11105
if (r->driver_name) {
11106
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
11107
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
11108
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
11110
ndr->flags = _flags_save_string;
11113
uint32_t _flags_save_string = ndr->flags;
11114
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11115
if (r->architecture) {
11116
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
11117
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
11118
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
11120
ndr->flags = _flags_save_string;
11123
uint32_t _flags_save_string = ndr->flags;
11124
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11125
if (r->driver_path) {
11126
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
11127
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
11128
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
11130
ndr->flags = _flags_save_string;
11133
uint32_t _flags_save_string = ndr->flags;
11134
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11135
if (r->data_file) {
11136
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
11137
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
11138
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
11140
ndr->flags = _flags_save_string;
11143
uint32_t _flags_save_string = ndr->flags;
11144
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11145
if (r->config_file) {
11146
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
11147
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
11148
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
11150
ndr->flags = _flags_save_string;
11153
return NDR_ERR_SUCCESS;
11156
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo2 *r)
11158
uint32_t _ptr_driver_name;
11159
TALLOC_CTX *_mem_save_driver_name_0;
11160
uint32_t _ptr_architecture;
11161
TALLOC_CTX *_mem_save_architecture_0;
11162
uint32_t _ptr_driver_path;
11163
TALLOC_CTX *_mem_save_driver_path_0;
11164
uint32_t _ptr_data_file;
11165
TALLOC_CTX *_mem_save_data_file_0;
11166
uint32_t _ptr_config_file;
11167
TALLOC_CTX *_mem_save_config_file_0;
11168
if (ndr_flags & NDR_SCALARS) {
11169
NDR_CHECK(ndr_pull_align(ndr, 5));
11170
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
11172
uint32_t _flags_save_string = ndr->flags;
11173
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11174
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
11175
if (_ptr_driver_name) {
11176
NDR_PULL_ALLOC(ndr, r->driver_name);
11177
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
11179
r->driver_name = NULL;
11181
ndr->flags = _flags_save_string;
11184
uint32_t _flags_save_string = ndr->flags;
11185
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11186
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
11187
if (_ptr_architecture) {
11188
NDR_PULL_ALLOC(ndr, r->architecture);
11189
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
11191
r->architecture = NULL;
11193
ndr->flags = _flags_save_string;
11196
uint32_t _flags_save_string = ndr->flags;
11197
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11198
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
11199
if (_ptr_driver_path) {
11200
NDR_PULL_ALLOC(ndr, r->driver_path);
11201
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
11203
r->driver_path = NULL;
11205
ndr->flags = _flags_save_string;
11208
uint32_t _flags_save_string = ndr->flags;
11209
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11210
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
11211
if (_ptr_data_file) {
11212
NDR_PULL_ALLOC(ndr, r->data_file);
11213
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
11215
r->data_file = NULL;
11217
ndr->flags = _flags_save_string;
11220
uint32_t _flags_save_string = ndr->flags;
11221
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11222
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
11223
if (_ptr_config_file) {
11224
NDR_PULL_ALLOC(ndr, r->config_file);
11225
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
11227
r->config_file = NULL;
11229
ndr->flags = _flags_save_string;
11231
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11233
if (ndr_flags & NDR_BUFFERS) {
11235
uint32_t _flags_save_string = ndr->flags;
11236
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11237
if (r->driver_name) {
11238
uint32_t _relative_save_offset;
11239
_relative_save_offset = ndr->offset;
11240
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
11241
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11242
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
11243
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
11244
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
11245
if (ndr->offset > ndr->relative_highest_offset) {
11246
ndr->relative_highest_offset = ndr->offset;
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|LIBNDR_FLAG_ALIGN2);
11255
if (r->architecture) {
11256
uint32_t _relative_save_offset;
11257
_relative_save_offset = ndr->offset;
11258
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
11259
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
11260
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
11261
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
11262
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
11263
if (ndr->offset > ndr->relative_highest_offset) {
11264
ndr->relative_highest_offset = ndr->offset;
11266
ndr->offset = _relative_save_offset;
11268
ndr->flags = _flags_save_string;
11271
uint32_t _flags_save_string = ndr->flags;
11272
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11273
if (r->driver_path) {
11274
uint32_t _relative_save_offset;
11275
_relative_save_offset = ndr->offset;
11276
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
11277
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
11278
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
11279
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
11280
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
11281
if (ndr->offset > ndr->relative_highest_offset) {
11282
ndr->relative_highest_offset = ndr->offset;
11284
ndr->offset = _relative_save_offset;
11286
ndr->flags = _flags_save_string;
11289
uint32_t _flags_save_string = ndr->flags;
11290
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11291
if (r->data_file) {
11292
uint32_t _relative_save_offset;
11293
_relative_save_offset = ndr->offset;
11294
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
11295
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
11296
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
11297
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
11298
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
11299
if (ndr->offset > ndr->relative_highest_offset) {
11300
ndr->relative_highest_offset = ndr->offset;
11302
ndr->offset = _relative_save_offset;
11304
ndr->flags = _flags_save_string;
11307
uint32_t _flags_save_string = ndr->flags;
11308
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11309
if (r->config_file) {
11310
uint32_t _relative_save_offset;
11311
_relative_save_offset = ndr->offset;
11312
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
11313
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
11314
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
11315
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
11316
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
11317
if (ndr->offset > ndr->relative_highest_offset) {
11318
ndr->relative_highest_offset = ndr->offset;
11320
ndr->offset = _relative_save_offset;
11322
ndr->flags = _flags_save_string;
11325
return NDR_ERR_SUCCESS;
11328
_PUBLIC_ void ndr_print_spoolss_DriverInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo2 *r)
11330
ndr_print_struct(ndr, name, "spoolss_DriverInfo2");
11331
if (r == NULL) { ndr_print_null(ndr); return; }
11333
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
11334
ndr_print_ptr(ndr, "driver_name", r->driver_name);
11336
if (r->driver_name) {
11337
ndr_print_string(ndr, "driver_name", r->driver_name);
11340
ndr_print_ptr(ndr, "architecture", r->architecture);
11342
if (r->architecture) {
11343
ndr_print_string(ndr, "architecture", r->architecture);
11346
ndr_print_ptr(ndr, "driver_path", r->driver_path);
11348
if (r->driver_path) {
11349
ndr_print_string(ndr, "driver_path", r->driver_path);
11352
ndr_print_ptr(ndr, "data_file", r->data_file);
11354
if (r->data_file) {
11355
ndr_print_string(ndr, "data_file", r->data_file);
11358
ndr_print_ptr(ndr, "config_file", r->config_file);
11360
if (r->config_file) {
11361
ndr_print_string(ndr, "config_file", r->config_file);
11367
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo2(const struct spoolss_DriverInfo2 *r, int flags)
11369
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo2);
11372
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo3 *r)
11374
if (ndr_flags & NDR_SCALARS) {
11375
NDR_CHECK(ndr_push_align(ndr, 5));
11376
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
11378
uint32_t _flags_save_string = ndr->flags;
11379
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11380
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
11381
ndr->flags = _flags_save_string;
11384
uint32_t _flags_save_string = ndr->flags;
11385
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11386
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
11387
ndr->flags = _flags_save_string;
11390
uint32_t _flags_save_string = ndr->flags;
11391
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11392
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
11393
ndr->flags = _flags_save_string;
11396
uint32_t _flags_save_string = ndr->flags;
11397
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11398
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
11399
ndr->flags = _flags_save_string;
11402
uint32_t _flags_save_string = ndr->flags;
11403
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11404
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
11405
ndr->flags = _flags_save_string;
11408
uint32_t _flags_save_string = ndr->flags;
11409
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11410
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
11411
ndr->flags = _flags_save_string;
11414
uint32_t _flags_save_string_array = ndr->flags;
11415
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11416
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
11417
ndr->flags = _flags_save_string_array;
11420
uint32_t _flags_save_string = ndr->flags;
11421
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11422
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
11423
ndr->flags = _flags_save_string;
11426
uint32_t _flags_save_string = ndr->flags;
11427
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11428
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
11429
ndr->flags = _flags_save_string;
11431
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11433
if (ndr_flags & NDR_BUFFERS) {
11435
uint32_t _flags_save_string = ndr->flags;
11436
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11437
if (r->driver_name) {
11438
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
11439
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
11440
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
11442
ndr->flags = _flags_save_string;
11445
uint32_t _flags_save_string = ndr->flags;
11446
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11447
if (r->architecture) {
11448
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
11449
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
11450
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
11452
ndr->flags = _flags_save_string;
11455
uint32_t _flags_save_string = ndr->flags;
11456
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11457
if (r->driver_path) {
11458
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
11459
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
11460
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
11462
ndr->flags = _flags_save_string;
11465
uint32_t _flags_save_string = ndr->flags;
11466
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11467
if (r->data_file) {
11468
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
11469
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
11470
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
11472
ndr->flags = _flags_save_string;
11475
uint32_t _flags_save_string = ndr->flags;
11476
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11477
if (r->config_file) {
11478
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
11479
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
11480
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
11482
ndr->flags = _flags_save_string;
11485
uint32_t _flags_save_string = ndr->flags;
11486
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11487
if (r->help_file) {
11488
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
11489
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
11490
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file));
11492
ndr->flags = _flags_save_string;
11495
uint32_t _flags_save_string_array = ndr->flags;
11496
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11497
if (r->dependent_files) {
11498
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
11499
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
11500
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files));
11502
ndr->flags = _flags_save_string_array;
11505
uint32_t _flags_save_string = ndr->flags;
11506
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11507
if (r->monitor_name) {
11508
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
11509
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
11510
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
11512
ndr->flags = _flags_save_string;
11515
uint32_t _flags_save_string = ndr->flags;
11516
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11517
if (r->default_datatype) {
11518
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
11519
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
11520
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype));
11522
ndr->flags = _flags_save_string;
11525
return NDR_ERR_SUCCESS;
11528
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo3 *r)
11530
uint32_t _ptr_driver_name;
11531
TALLOC_CTX *_mem_save_driver_name_0;
11532
uint32_t _ptr_architecture;
11533
TALLOC_CTX *_mem_save_architecture_0;
11534
uint32_t _ptr_driver_path;
11535
TALLOC_CTX *_mem_save_driver_path_0;
11536
uint32_t _ptr_data_file;
11537
TALLOC_CTX *_mem_save_data_file_0;
11538
uint32_t _ptr_config_file;
11539
TALLOC_CTX *_mem_save_config_file_0;
11540
uint32_t _ptr_help_file;
11541
TALLOC_CTX *_mem_save_help_file_0;
11542
uint32_t _ptr_dependent_files;
11543
TALLOC_CTX *_mem_save_dependent_files_0;
11544
uint32_t _ptr_monitor_name;
11545
TALLOC_CTX *_mem_save_monitor_name_0;
11546
uint32_t _ptr_default_datatype;
11547
TALLOC_CTX *_mem_save_default_datatype_0;
11548
if (ndr_flags & NDR_SCALARS) {
11549
NDR_CHECK(ndr_pull_align(ndr, 5));
11550
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
11552
uint32_t _flags_save_string = ndr->flags;
11553
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11554
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
11555
if (_ptr_driver_name) {
11556
NDR_PULL_ALLOC(ndr, r->driver_name);
11557
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
11559
r->driver_name = NULL;
11561
ndr->flags = _flags_save_string;
11564
uint32_t _flags_save_string = ndr->flags;
11565
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11566
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
11567
if (_ptr_architecture) {
11568
NDR_PULL_ALLOC(ndr, r->architecture);
11569
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
11571
r->architecture = NULL;
11573
ndr->flags = _flags_save_string;
11576
uint32_t _flags_save_string = ndr->flags;
11577
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11578
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
11579
if (_ptr_driver_path) {
11580
NDR_PULL_ALLOC(ndr, r->driver_path);
11581
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
11583
r->driver_path = NULL;
11585
ndr->flags = _flags_save_string;
11588
uint32_t _flags_save_string = ndr->flags;
11589
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11590
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
11591
if (_ptr_data_file) {
11592
NDR_PULL_ALLOC(ndr, r->data_file);
11593
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
11595
r->data_file = NULL;
11597
ndr->flags = _flags_save_string;
11600
uint32_t _flags_save_string = ndr->flags;
11601
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11602
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
11603
if (_ptr_config_file) {
11604
NDR_PULL_ALLOC(ndr, r->config_file);
11605
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
11607
r->config_file = NULL;
11609
ndr->flags = _flags_save_string;
11612
uint32_t _flags_save_string = ndr->flags;
11613
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11614
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
11615
if (_ptr_help_file) {
11616
NDR_PULL_ALLOC(ndr, r->help_file);
11617
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file));
11619
r->help_file = NULL;
11621
ndr->flags = _flags_save_string;
11624
uint32_t _flags_save_string_array = ndr->flags;
11625
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11626
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
11627
if (_ptr_dependent_files) {
11628
NDR_PULL_ALLOC(ndr, r->dependent_files);
11629
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
11631
r->dependent_files = NULL;
11633
ndr->flags = _flags_save_string_array;
11636
uint32_t _flags_save_string = ndr->flags;
11637
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11638
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
11639
if (_ptr_monitor_name) {
11640
NDR_PULL_ALLOC(ndr, r->monitor_name);
11641
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
11643
r->monitor_name = NULL;
11645
ndr->flags = _flags_save_string;
11648
uint32_t _flags_save_string = ndr->flags;
11649
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11650
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
11651
if (_ptr_default_datatype) {
11652
NDR_PULL_ALLOC(ndr, r->default_datatype);
11653
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype));
11655
r->default_datatype = NULL;
11657
ndr->flags = _flags_save_string;
11659
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11661
if (ndr_flags & NDR_BUFFERS) {
11663
uint32_t _flags_save_string = ndr->flags;
11664
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11665
if (r->driver_name) {
11666
uint32_t _relative_save_offset;
11667
_relative_save_offset = ndr->offset;
11668
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
11669
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11670
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
11671
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
11672
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
11673
if (ndr->offset > ndr->relative_highest_offset) {
11674
ndr->relative_highest_offset = ndr->offset;
11676
ndr->offset = _relative_save_offset;
11678
ndr->flags = _flags_save_string;
11681
uint32_t _flags_save_string = ndr->flags;
11682
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11683
if (r->architecture) {
11684
uint32_t _relative_save_offset;
11685
_relative_save_offset = ndr->offset;
11686
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
11687
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
11688
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
11689
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
11690
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
11691
if (ndr->offset > ndr->relative_highest_offset) {
11692
ndr->relative_highest_offset = ndr->offset;
11694
ndr->offset = _relative_save_offset;
11696
ndr->flags = _flags_save_string;
11699
uint32_t _flags_save_string = ndr->flags;
11700
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11701
if (r->driver_path) {
11702
uint32_t _relative_save_offset;
11703
_relative_save_offset = ndr->offset;
11704
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
11705
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
11706
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
11707
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
11708
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
11709
if (ndr->offset > ndr->relative_highest_offset) {
11710
ndr->relative_highest_offset = ndr->offset;
11712
ndr->offset = _relative_save_offset;
11714
ndr->flags = _flags_save_string;
11717
uint32_t _flags_save_string = ndr->flags;
11718
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11719
if (r->data_file) {
11720
uint32_t _relative_save_offset;
11721
_relative_save_offset = ndr->offset;
11722
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
11723
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
11724
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
11725
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
11726
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
11727
if (ndr->offset > ndr->relative_highest_offset) {
11728
ndr->relative_highest_offset = ndr->offset;
11730
ndr->offset = _relative_save_offset;
11732
ndr->flags = _flags_save_string;
11735
uint32_t _flags_save_string = ndr->flags;
11736
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11737
if (r->config_file) {
11738
uint32_t _relative_save_offset;
11739
_relative_save_offset = ndr->offset;
11740
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
11741
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
11742
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
11743
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
11744
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
11745
if (ndr->offset > ndr->relative_highest_offset) {
11746
ndr->relative_highest_offset = ndr->offset;
11748
ndr->offset = _relative_save_offset;
11750
ndr->flags = _flags_save_string;
11753
uint32_t _flags_save_string = ndr->flags;
11754
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11755
if (r->help_file) {
11756
uint32_t _relative_save_offset;
11757
_relative_save_offset = ndr->offset;
11758
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file));
11759
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
11760
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
11761
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
11762
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
11763
if (ndr->offset > ndr->relative_highest_offset) {
11764
ndr->relative_highest_offset = ndr->offset;
11766
ndr->offset = _relative_save_offset;
11768
ndr->flags = _flags_save_string;
11771
uint32_t _flags_save_string_array = ndr->flags;
11772
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11773
if (r->dependent_files) {
11774
uint32_t _relative_save_offset;
11775
_relative_save_offset = ndr->offset;
11776
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
11777
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
11778
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
11779
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
11780
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
11781
if (ndr->offset > ndr->relative_highest_offset) {
11782
ndr->relative_highest_offset = ndr->offset;
11784
ndr->offset = _relative_save_offset;
11786
ndr->flags = _flags_save_string_array;
11789
uint32_t _flags_save_string = ndr->flags;
11790
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11791
if (r->monitor_name) {
11792
uint32_t _relative_save_offset;
11793
_relative_save_offset = ndr->offset;
11794
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
11795
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11796
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
11797
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
11798
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
11799
if (ndr->offset > ndr->relative_highest_offset) {
11800
ndr->relative_highest_offset = ndr->offset;
11802
ndr->offset = _relative_save_offset;
11804
ndr->flags = _flags_save_string;
11807
uint32_t _flags_save_string = ndr->flags;
11808
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11809
if (r->default_datatype) {
11810
uint32_t _relative_save_offset;
11811
_relative_save_offset = ndr->offset;
11812
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype));
11813
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
11814
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
11815
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
11816
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
11817
if (ndr->offset > ndr->relative_highest_offset) {
11818
ndr->relative_highest_offset = ndr->offset;
11820
ndr->offset = _relative_save_offset;
11822
ndr->flags = _flags_save_string;
11825
return NDR_ERR_SUCCESS;
11828
_PUBLIC_ void ndr_print_spoolss_DriverInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo3 *r)
11830
ndr_print_struct(ndr, name, "spoolss_DriverInfo3");
11831
if (r == NULL) { ndr_print_null(ndr); return; }
11833
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
11834
ndr_print_ptr(ndr, "driver_name", r->driver_name);
11836
if (r->driver_name) {
11837
ndr_print_string(ndr, "driver_name", r->driver_name);
11840
ndr_print_ptr(ndr, "architecture", r->architecture);
11842
if (r->architecture) {
11843
ndr_print_string(ndr, "architecture", r->architecture);
11846
ndr_print_ptr(ndr, "driver_path", r->driver_path);
11848
if (r->driver_path) {
11849
ndr_print_string(ndr, "driver_path", r->driver_path);
11852
ndr_print_ptr(ndr, "data_file", r->data_file);
11854
if (r->data_file) {
11855
ndr_print_string(ndr, "data_file", r->data_file);
11858
ndr_print_ptr(ndr, "config_file", r->config_file);
11860
if (r->config_file) {
11861
ndr_print_string(ndr, "config_file", r->config_file);
11864
ndr_print_ptr(ndr, "help_file", r->help_file);
11866
if (r->help_file) {
11867
ndr_print_string(ndr, "help_file", r->help_file);
11870
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
11872
if (r->dependent_files) {
11873
ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
11876
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
11878
if (r->monitor_name) {
11879
ndr_print_string(ndr, "monitor_name", r->monitor_name);
11882
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
11884
if (r->default_datatype) {
11885
ndr_print_string(ndr, "default_datatype", r->default_datatype);
11891
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo3(const struct spoolss_DriverInfo3 *r, int flags)
11893
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo3);
11896
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo4 *r)
11898
if (ndr_flags & NDR_SCALARS) {
11899
NDR_CHECK(ndr_push_align(ndr, 5));
11900
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
11902
uint32_t _flags_save_string = ndr->flags;
11903
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11904
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
11905
ndr->flags = _flags_save_string;
11908
uint32_t _flags_save_string = ndr->flags;
11909
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11910
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
11911
ndr->flags = _flags_save_string;
11914
uint32_t _flags_save_string = ndr->flags;
11915
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11916
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
11917
ndr->flags = _flags_save_string;
11920
uint32_t _flags_save_string = ndr->flags;
11921
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11922
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
11923
ndr->flags = _flags_save_string;
11926
uint32_t _flags_save_string = ndr->flags;
11927
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11928
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
11929
ndr->flags = _flags_save_string;
11932
uint32_t _flags_save_string = ndr->flags;
11933
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11934
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
11935
ndr->flags = _flags_save_string;
11938
uint32_t _flags_save_string_array = ndr->flags;
11939
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11940
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
11941
ndr->flags = _flags_save_string_array;
11944
uint32_t _flags_save_string = ndr->flags;
11945
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11946
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
11947
ndr->flags = _flags_save_string;
11950
uint32_t _flags_save_string = ndr->flags;
11951
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11952
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
11953
ndr->flags = _flags_save_string;
11956
uint32_t _flags_save_string_array = ndr->flags;
11957
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11958
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names));
11959
ndr->flags = _flags_save_string_array;
11961
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11963
if (ndr_flags & NDR_BUFFERS) {
11965
uint32_t _flags_save_string = ndr->flags;
11966
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11967
if (r->driver_name) {
11968
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
11969
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
11970
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
11972
ndr->flags = _flags_save_string;
11975
uint32_t _flags_save_string = ndr->flags;
11976
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11977
if (r->architecture) {
11978
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
11979
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
11980
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
11982
ndr->flags = _flags_save_string;
11985
uint32_t _flags_save_string = ndr->flags;
11986
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11987
if (r->driver_path) {
11988
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
11989
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
11990
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
11992
ndr->flags = _flags_save_string;
11995
uint32_t _flags_save_string = ndr->flags;
11996
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11997
if (r->data_file) {
11998
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
11999
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
12000
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
12002
ndr->flags = _flags_save_string;
12005
uint32_t _flags_save_string = ndr->flags;
12006
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12007
if (r->config_file) {
12008
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
12009
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
12010
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
12012
ndr->flags = _flags_save_string;
12015
uint32_t _flags_save_string = ndr->flags;
12016
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12017
if (r->help_file) {
12018
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
12019
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
12020
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file));
12022
ndr->flags = _flags_save_string;
12025
uint32_t _flags_save_string_array = ndr->flags;
12026
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12027
if (r->dependent_files) {
12028
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
12029
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
12030
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files));
12032
ndr->flags = _flags_save_string_array;
12035
uint32_t _flags_save_string = ndr->flags;
12036
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12037
if (r->monitor_name) {
12038
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
12039
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
12040
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
12042
ndr->flags = _flags_save_string;
12045
uint32_t _flags_save_string = ndr->flags;
12046
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12047
if (r->default_datatype) {
12048
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
12049
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
12050
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype));
12052
ndr->flags = _flags_save_string;
12055
uint32_t _flags_save_string_array = ndr->flags;
12056
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12057
if (r->previous_names) {
12058
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names));
12059
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names));
12060
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->previous_names));
12062
ndr->flags = _flags_save_string_array;
12065
return NDR_ERR_SUCCESS;
12068
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo4 *r)
12070
uint32_t _ptr_driver_name;
12071
TALLOC_CTX *_mem_save_driver_name_0;
12072
uint32_t _ptr_architecture;
12073
TALLOC_CTX *_mem_save_architecture_0;
12074
uint32_t _ptr_driver_path;
12075
TALLOC_CTX *_mem_save_driver_path_0;
12076
uint32_t _ptr_data_file;
12077
TALLOC_CTX *_mem_save_data_file_0;
12078
uint32_t _ptr_config_file;
12079
TALLOC_CTX *_mem_save_config_file_0;
12080
uint32_t _ptr_help_file;
12081
TALLOC_CTX *_mem_save_help_file_0;
12082
uint32_t _ptr_dependent_files;
12083
TALLOC_CTX *_mem_save_dependent_files_0;
12084
uint32_t _ptr_monitor_name;
12085
TALLOC_CTX *_mem_save_monitor_name_0;
12086
uint32_t _ptr_default_datatype;
12087
TALLOC_CTX *_mem_save_default_datatype_0;
12088
uint32_t _ptr_previous_names;
12089
TALLOC_CTX *_mem_save_previous_names_0;
12090
if (ndr_flags & NDR_SCALARS) {
12091
NDR_CHECK(ndr_pull_align(ndr, 5));
12092
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
12094
uint32_t _flags_save_string = ndr->flags;
12095
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12096
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
12097
if (_ptr_driver_name) {
12098
NDR_PULL_ALLOC(ndr, r->driver_name);
12099
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
12101
r->driver_name = NULL;
12103
ndr->flags = _flags_save_string;
12106
uint32_t _flags_save_string = ndr->flags;
12107
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12108
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
12109
if (_ptr_architecture) {
12110
NDR_PULL_ALLOC(ndr, r->architecture);
12111
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
12113
r->architecture = NULL;
12115
ndr->flags = _flags_save_string;
12118
uint32_t _flags_save_string = ndr->flags;
12119
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12120
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
12121
if (_ptr_driver_path) {
12122
NDR_PULL_ALLOC(ndr, r->driver_path);
12123
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
12125
r->driver_path = NULL;
12127
ndr->flags = _flags_save_string;
12130
uint32_t _flags_save_string = ndr->flags;
12131
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12132
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
12133
if (_ptr_data_file) {
12134
NDR_PULL_ALLOC(ndr, r->data_file);
12135
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
12137
r->data_file = NULL;
12139
ndr->flags = _flags_save_string;
12142
uint32_t _flags_save_string = ndr->flags;
12143
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12144
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
12145
if (_ptr_config_file) {
12146
NDR_PULL_ALLOC(ndr, r->config_file);
12147
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
12149
r->config_file = NULL;
12151
ndr->flags = _flags_save_string;
12154
uint32_t _flags_save_string = ndr->flags;
12155
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12156
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
12157
if (_ptr_help_file) {
12158
NDR_PULL_ALLOC(ndr, r->help_file);
12159
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file));
12161
r->help_file = NULL;
12163
ndr->flags = _flags_save_string;
12166
uint32_t _flags_save_string_array = ndr->flags;
12167
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12168
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
12169
if (_ptr_dependent_files) {
12170
NDR_PULL_ALLOC(ndr, r->dependent_files);
12171
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
12173
r->dependent_files = NULL;
12175
ndr->flags = _flags_save_string_array;
12178
uint32_t _flags_save_string = ndr->flags;
12179
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12180
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
12181
if (_ptr_monitor_name) {
12182
NDR_PULL_ALLOC(ndr, r->monitor_name);
12183
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
12185
r->monitor_name = NULL;
12187
ndr->flags = _flags_save_string;
12190
uint32_t _flags_save_string = ndr->flags;
12191
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12192
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
12193
if (_ptr_default_datatype) {
12194
NDR_PULL_ALLOC(ndr, r->default_datatype);
12195
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype));
12197
r->default_datatype = NULL;
12199
ndr->flags = _flags_save_string;
12202
uint32_t _flags_save_string_array = ndr->flags;
12203
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12204
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
12205
if (_ptr_previous_names) {
12206
NDR_PULL_ALLOC(ndr, r->previous_names);
12207
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->previous_names, _ptr_previous_names));
12209
r->previous_names = NULL;
12211
ndr->flags = _flags_save_string_array;
12213
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12215
if (ndr_flags & NDR_BUFFERS) {
12217
uint32_t _flags_save_string = ndr->flags;
12218
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12219
if (r->driver_name) {
12220
uint32_t _relative_save_offset;
12221
_relative_save_offset = ndr->offset;
12222
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
12223
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12224
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
12225
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
12226
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
12227
if (ndr->offset > ndr->relative_highest_offset) {
12228
ndr->relative_highest_offset = ndr->offset;
12230
ndr->offset = _relative_save_offset;
12232
ndr->flags = _flags_save_string;
12235
uint32_t _flags_save_string = ndr->flags;
12236
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12237
if (r->architecture) {
12238
uint32_t _relative_save_offset;
12239
_relative_save_offset = ndr->offset;
12240
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
12241
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
12242
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
12243
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
12244
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
12245
if (ndr->offset > ndr->relative_highest_offset) {
12246
ndr->relative_highest_offset = ndr->offset;
12248
ndr->offset = _relative_save_offset;
12250
ndr->flags = _flags_save_string;
12253
uint32_t _flags_save_string = ndr->flags;
12254
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12255
if (r->driver_path) {
12256
uint32_t _relative_save_offset;
12257
_relative_save_offset = ndr->offset;
12258
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
12259
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
12260
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
12261
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
12262
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
12263
if (ndr->offset > ndr->relative_highest_offset) {
12264
ndr->relative_highest_offset = ndr->offset;
12266
ndr->offset = _relative_save_offset;
12268
ndr->flags = _flags_save_string;
12271
uint32_t _flags_save_string = ndr->flags;
12272
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12273
if (r->data_file) {
12274
uint32_t _relative_save_offset;
12275
_relative_save_offset = ndr->offset;
12276
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
12277
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
12278
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
12279
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
12280
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
12281
if (ndr->offset > ndr->relative_highest_offset) {
12282
ndr->relative_highest_offset = ndr->offset;
12284
ndr->offset = _relative_save_offset;
12286
ndr->flags = _flags_save_string;
12289
uint32_t _flags_save_string = ndr->flags;
12290
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12291
if (r->config_file) {
12292
uint32_t _relative_save_offset;
12293
_relative_save_offset = ndr->offset;
12294
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
12295
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
12296
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
12297
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
12298
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
12299
if (ndr->offset > ndr->relative_highest_offset) {
12300
ndr->relative_highest_offset = ndr->offset;
12302
ndr->offset = _relative_save_offset;
12304
ndr->flags = _flags_save_string;
12307
uint32_t _flags_save_string = ndr->flags;
12308
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12309
if (r->help_file) {
12310
uint32_t _relative_save_offset;
12311
_relative_save_offset = ndr->offset;
12312
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file));
12313
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
12314
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
12315
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
12316
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
12317
if (ndr->offset > ndr->relative_highest_offset) {
12318
ndr->relative_highest_offset = ndr->offset;
12320
ndr->offset = _relative_save_offset;
12322
ndr->flags = _flags_save_string;
12325
uint32_t _flags_save_string_array = ndr->flags;
12326
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12327
if (r->dependent_files) {
12328
uint32_t _relative_save_offset;
12329
_relative_save_offset = ndr->offset;
12330
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
12331
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
12332
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
12333
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
12334
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
12335
if (ndr->offset > ndr->relative_highest_offset) {
12336
ndr->relative_highest_offset = ndr->offset;
12338
ndr->offset = _relative_save_offset;
12340
ndr->flags = _flags_save_string_array;
12343
uint32_t _flags_save_string = ndr->flags;
12344
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12345
if (r->monitor_name) {
12346
uint32_t _relative_save_offset;
12347
_relative_save_offset = ndr->offset;
12348
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
12349
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12350
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
12351
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
12352
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
12353
if (ndr->offset > ndr->relative_highest_offset) {
12354
ndr->relative_highest_offset = ndr->offset;
12356
ndr->offset = _relative_save_offset;
12358
ndr->flags = _flags_save_string;
12361
uint32_t _flags_save_string = ndr->flags;
12362
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12363
if (r->default_datatype) {
12364
uint32_t _relative_save_offset;
12365
_relative_save_offset = ndr->offset;
12366
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype));
12367
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
12368
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
12369
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
12370
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
12371
if (ndr->offset > ndr->relative_highest_offset) {
12372
ndr->relative_highest_offset = ndr->offset;
12374
ndr->offset = _relative_save_offset;
12376
ndr->flags = _flags_save_string;
12379
uint32_t _flags_save_string_array = ndr->flags;
12380
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12381
if (r->previous_names) {
12382
uint32_t _relative_save_offset;
12383
_relative_save_offset = ndr->offset;
12384
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->previous_names));
12385
_mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
12386
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
12387
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->previous_names));
12388
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
12389
if (ndr->offset > ndr->relative_highest_offset) {
12390
ndr->relative_highest_offset = ndr->offset;
12392
ndr->offset = _relative_save_offset;
12394
ndr->flags = _flags_save_string_array;
12397
return NDR_ERR_SUCCESS;
12400
_PUBLIC_ void ndr_print_spoolss_DriverInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo4 *r)
12402
ndr_print_struct(ndr, name, "spoolss_DriverInfo4");
12403
if (r == NULL) { ndr_print_null(ndr); return; }
12405
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
12406
ndr_print_ptr(ndr, "driver_name", r->driver_name);
12408
if (r->driver_name) {
12409
ndr_print_string(ndr, "driver_name", r->driver_name);
12412
ndr_print_ptr(ndr, "architecture", r->architecture);
12414
if (r->architecture) {
12415
ndr_print_string(ndr, "architecture", r->architecture);
12418
ndr_print_ptr(ndr, "driver_path", r->driver_path);
12420
if (r->driver_path) {
12421
ndr_print_string(ndr, "driver_path", r->driver_path);
12424
ndr_print_ptr(ndr, "data_file", r->data_file);
12426
if (r->data_file) {
12427
ndr_print_string(ndr, "data_file", r->data_file);
12430
ndr_print_ptr(ndr, "config_file", r->config_file);
12432
if (r->config_file) {
12433
ndr_print_string(ndr, "config_file", r->config_file);
12436
ndr_print_ptr(ndr, "help_file", r->help_file);
12438
if (r->help_file) {
12439
ndr_print_string(ndr, "help_file", r->help_file);
12442
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
12444
if (r->dependent_files) {
12445
ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
12448
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
12450
if (r->monitor_name) {
12451
ndr_print_string(ndr, "monitor_name", r->monitor_name);
12454
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
12456
if (r->default_datatype) {
12457
ndr_print_string(ndr, "default_datatype", r->default_datatype);
12460
ndr_print_ptr(ndr, "previous_names", r->previous_names);
12462
if (r->previous_names) {
12463
ndr_print_string_array(ndr, "previous_names", r->previous_names);
12469
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo4(const struct spoolss_DriverInfo4 *r, int flags)
12471
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo4);
12474
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo5(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo5 *r)
12476
if (ndr_flags & NDR_SCALARS) {
12477
NDR_CHECK(ndr_push_align(ndr, 5));
12478
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
12480
uint32_t _flags_save_string = ndr->flags;
12481
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12482
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
12483
ndr->flags = _flags_save_string;
12486
uint32_t _flags_save_string = ndr->flags;
12487
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12488
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
12489
ndr->flags = _flags_save_string;
12492
uint32_t _flags_save_string = ndr->flags;
12493
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12494
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
12495
ndr->flags = _flags_save_string;
12498
uint32_t _flags_save_string = ndr->flags;
12499
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12500
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
12501
ndr->flags = _flags_save_string;
12504
uint32_t _flags_save_string = ndr->flags;
12505
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12506
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
12507
ndr->flags = _flags_save_string;
12509
NDR_CHECK(ndr_push_spoolss_DriverAttributes(ndr, NDR_SCALARS, r->driver_attributes));
12510
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->config_version));
12511
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->driver_version));
12512
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12514
if (ndr_flags & NDR_BUFFERS) {
12516
uint32_t _flags_save_string = ndr->flags;
12517
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12518
if (r->driver_name) {
12519
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
12520
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
12521
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
12523
ndr->flags = _flags_save_string;
12526
uint32_t _flags_save_string = ndr->flags;
12527
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12528
if (r->architecture) {
12529
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
12530
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
12531
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
12533
ndr->flags = _flags_save_string;
12536
uint32_t _flags_save_string = ndr->flags;
12537
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12538
if (r->driver_path) {
12539
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
12540
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
12541
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
12543
ndr->flags = _flags_save_string;
12546
uint32_t _flags_save_string = ndr->flags;
12547
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12548
if (r->data_file) {
12549
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
12550
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
12551
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
12553
ndr->flags = _flags_save_string;
12556
uint32_t _flags_save_string = ndr->flags;
12557
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12558
if (r->config_file) {
12559
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
12560
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
12561
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
12563
ndr->flags = _flags_save_string;
12566
return NDR_ERR_SUCCESS;
12569
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo5(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo5 *r)
12571
uint32_t _ptr_driver_name;
12572
TALLOC_CTX *_mem_save_driver_name_0;
12573
uint32_t _ptr_architecture;
12574
TALLOC_CTX *_mem_save_architecture_0;
12575
uint32_t _ptr_driver_path;
12576
TALLOC_CTX *_mem_save_driver_path_0;
12577
uint32_t _ptr_data_file;
12578
TALLOC_CTX *_mem_save_data_file_0;
12579
uint32_t _ptr_config_file;
12580
TALLOC_CTX *_mem_save_config_file_0;
12581
if (ndr_flags & NDR_SCALARS) {
12582
NDR_CHECK(ndr_pull_align(ndr, 5));
12583
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
12585
uint32_t _flags_save_string = ndr->flags;
12586
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12587
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
12588
if (_ptr_driver_name) {
12589
NDR_PULL_ALLOC(ndr, r->driver_name);
12590
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
12592
r->driver_name = NULL;
12594
ndr->flags = _flags_save_string;
12597
uint32_t _flags_save_string = ndr->flags;
12598
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12599
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
12600
if (_ptr_architecture) {
12601
NDR_PULL_ALLOC(ndr, r->architecture);
12602
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
12604
r->architecture = NULL;
12606
ndr->flags = _flags_save_string;
12609
uint32_t _flags_save_string = ndr->flags;
12610
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12611
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
12612
if (_ptr_driver_path) {
12613
NDR_PULL_ALLOC(ndr, r->driver_path);
12614
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
12616
r->driver_path = NULL;
12618
ndr->flags = _flags_save_string;
12621
uint32_t _flags_save_string = ndr->flags;
12622
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12623
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
12624
if (_ptr_data_file) {
12625
NDR_PULL_ALLOC(ndr, r->data_file);
12626
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
12628
r->data_file = NULL;
12630
ndr->flags = _flags_save_string;
12633
uint32_t _flags_save_string = ndr->flags;
12634
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12635
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
12636
if (_ptr_config_file) {
12637
NDR_PULL_ALLOC(ndr, r->config_file);
12638
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
12640
r->config_file = NULL;
12642
ndr->flags = _flags_save_string;
12644
NDR_CHECK(ndr_pull_spoolss_DriverAttributes(ndr, NDR_SCALARS, &r->driver_attributes));
12645
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->config_version));
12646
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->driver_version));
12647
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12649
if (ndr_flags & NDR_BUFFERS) {
12651
uint32_t _flags_save_string = ndr->flags;
12652
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12653
if (r->driver_name) {
12654
uint32_t _relative_save_offset;
12655
_relative_save_offset = ndr->offset;
12656
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
12657
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12658
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
12659
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
12660
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
12661
if (ndr->offset > ndr->relative_highest_offset) {
12662
ndr->relative_highest_offset = ndr->offset;
12664
ndr->offset = _relative_save_offset;
12666
ndr->flags = _flags_save_string;
12669
uint32_t _flags_save_string = ndr->flags;
12670
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12671
if (r->architecture) {
12672
uint32_t _relative_save_offset;
12673
_relative_save_offset = ndr->offset;
12674
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
12675
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
12676
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
12677
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
12678
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
12679
if (ndr->offset > ndr->relative_highest_offset) {
12680
ndr->relative_highest_offset = ndr->offset;
12682
ndr->offset = _relative_save_offset;
12684
ndr->flags = _flags_save_string;
12687
uint32_t _flags_save_string = ndr->flags;
12688
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12689
if (r->driver_path) {
12690
uint32_t _relative_save_offset;
12691
_relative_save_offset = ndr->offset;
12692
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
12693
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
12694
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
12695
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
12696
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
12697
if (ndr->offset > ndr->relative_highest_offset) {
12698
ndr->relative_highest_offset = ndr->offset;
12700
ndr->offset = _relative_save_offset;
12702
ndr->flags = _flags_save_string;
12705
uint32_t _flags_save_string = ndr->flags;
12706
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12707
if (r->data_file) {
12708
uint32_t _relative_save_offset;
12709
_relative_save_offset = ndr->offset;
12710
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
12711
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
12712
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
12713
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
12714
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
12715
if (ndr->offset > ndr->relative_highest_offset) {
12716
ndr->relative_highest_offset = ndr->offset;
12718
ndr->offset = _relative_save_offset;
12720
ndr->flags = _flags_save_string;
12723
uint32_t _flags_save_string = ndr->flags;
12724
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12725
if (r->config_file) {
12726
uint32_t _relative_save_offset;
12727
_relative_save_offset = ndr->offset;
12728
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
12729
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
12730
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
12731
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
12732
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
12733
if (ndr->offset > ndr->relative_highest_offset) {
12734
ndr->relative_highest_offset = ndr->offset;
12736
ndr->offset = _relative_save_offset;
12738
ndr->flags = _flags_save_string;
12741
return NDR_ERR_SUCCESS;
12744
_PUBLIC_ void ndr_print_spoolss_DriverInfo5(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo5 *r)
12746
ndr_print_struct(ndr, name, "spoolss_DriverInfo5");
12747
if (r == NULL) { ndr_print_null(ndr); return; }
12749
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
12750
ndr_print_ptr(ndr, "driver_name", r->driver_name);
12752
if (r->driver_name) {
12753
ndr_print_string(ndr, "driver_name", r->driver_name);
12756
ndr_print_ptr(ndr, "architecture", r->architecture);
12758
if (r->architecture) {
12759
ndr_print_string(ndr, "architecture", r->architecture);
12762
ndr_print_ptr(ndr, "driver_path", r->driver_path);
12764
if (r->driver_path) {
12765
ndr_print_string(ndr, "driver_path", r->driver_path);
12768
ndr_print_ptr(ndr, "data_file", r->data_file);
12770
if (r->data_file) {
12771
ndr_print_string(ndr, "data_file", r->data_file);
12774
ndr_print_ptr(ndr, "config_file", r->config_file);
12776
if (r->config_file) {
12777
ndr_print_string(ndr, "config_file", r->config_file);
12780
ndr_print_spoolss_DriverAttributes(ndr, "driver_attributes", r->driver_attributes);
12781
ndr_print_uint32(ndr, "config_version", r->config_version);
12782
ndr_print_uint32(ndr, "driver_version", r->driver_version);
12786
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo5(const struct spoolss_DriverInfo5 *r, int flags)
12788
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo5);
12791
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo6 *r)
12793
if (ndr_flags & NDR_SCALARS) {
12794
NDR_CHECK(ndr_push_align(ndr, 8));
12795
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
12797
uint32_t _flags_save_string = ndr->flags;
12798
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12799
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
12800
ndr->flags = _flags_save_string;
12803
uint32_t _flags_save_string = ndr->flags;
12804
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12805
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
12806
ndr->flags = _flags_save_string;
12809
uint32_t _flags_save_string = ndr->flags;
12810
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12811
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
12812
ndr->flags = _flags_save_string;
12815
uint32_t _flags_save_string = ndr->flags;
12816
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12817
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
12818
ndr->flags = _flags_save_string;
12821
uint32_t _flags_save_string = ndr->flags;
12822
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12823
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
12824
ndr->flags = _flags_save_string;
12827
uint32_t _flags_save_string = ndr->flags;
12828
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12829
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
12830
ndr->flags = _flags_save_string;
12833
uint32_t _flags_save_string_array = ndr->flags;
12834
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12835
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
12836
ndr->flags = _flags_save_string_array;
12839
uint32_t _flags_save_string = ndr->flags;
12840
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12841
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
12842
ndr->flags = _flags_save_string;
12845
uint32_t _flags_save_string = ndr->flags;
12846
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12847
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
12848
ndr->flags = _flags_save_string;
12851
uint32_t _flags_save_string_array = ndr->flags;
12852
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12853
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names));
12854
ndr->flags = _flags_save_string_array;
12856
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date));
12857
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
12859
uint32_t _flags_save_string = ndr->flags;
12860
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12861
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_name));
12862
ndr->flags = _flags_save_string;
12865
uint32_t _flags_save_string = ndr->flags;
12866
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12867
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_url));
12868
ndr->flags = _flags_save_string;
12871
uint32_t _flags_save_string = ndr->flags;
12872
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12873
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->hardware_id));
12874
ndr->flags = _flags_save_string;
12877
uint32_t _flags_save_string = ndr->flags;
12878
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12879
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->provider));
12880
ndr->flags = _flags_save_string;
12882
NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12884
if (ndr_flags & NDR_BUFFERS) {
12886
uint32_t _flags_save_string = ndr->flags;
12887
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12888
if (r->driver_name) {
12889
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
12890
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
12891
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
12893
ndr->flags = _flags_save_string;
12896
uint32_t _flags_save_string = ndr->flags;
12897
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12898
if (r->architecture) {
12899
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
12900
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
12901
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
12903
ndr->flags = _flags_save_string;
12906
uint32_t _flags_save_string = ndr->flags;
12907
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12908
if (r->driver_path) {
12909
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
12910
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
12911
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
12913
ndr->flags = _flags_save_string;
12916
uint32_t _flags_save_string = ndr->flags;
12917
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12918
if (r->data_file) {
12919
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
12920
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
12921
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
12923
ndr->flags = _flags_save_string;
12926
uint32_t _flags_save_string = ndr->flags;
12927
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12928
if (r->config_file) {
12929
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
12930
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
12931
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
12933
ndr->flags = _flags_save_string;
12936
uint32_t _flags_save_string = ndr->flags;
12937
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12938
if (r->help_file) {
12939
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
12940
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
12941
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file));
12943
ndr->flags = _flags_save_string;
12946
uint32_t _flags_save_string_array = ndr->flags;
12947
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12948
if (r->dependent_files) {
12949
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
12950
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
12951
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files));
12953
ndr->flags = _flags_save_string_array;
12956
uint32_t _flags_save_string = ndr->flags;
12957
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12958
if (r->monitor_name) {
12959
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
12960
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
12961
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
12963
ndr->flags = _flags_save_string;
12966
uint32_t _flags_save_string = ndr->flags;
12967
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12968
if (r->default_datatype) {
12969
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
12970
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
12971
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype));
12973
ndr->flags = _flags_save_string;
12976
uint32_t _flags_save_string_array = ndr->flags;
12977
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12978
if (r->previous_names) {
12979
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names));
12980
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names));
12981
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->previous_names));
12983
ndr->flags = _flags_save_string_array;
12986
uint32_t _flags_save_string = ndr->flags;
12987
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12988
if (r->manufacturer_name) {
12989
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_name));
12990
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_name));
12991
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_name));
12993
ndr->flags = _flags_save_string;
12996
uint32_t _flags_save_string = ndr->flags;
12997
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12998
if (r->manufacturer_url) {
12999
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_url));
13000
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_url));
13001
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_url));
13003
ndr->flags = _flags_save_string;
13006
uint32_t _flags_save_string = ndr->flags;
13007
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13008
if (r->hardware_id) {
13009
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->hardware_id));
13010
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->hardware_id));
13011
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->hardware_id));
13013
ndr->flags = _flags_save_string;
13016
uint32_t _flags_save_string = ndr->flags;
13017
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13019
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->provider));
13020
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->provider));
13021
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->provider));
13023
ndr->flags = _flags_save_string;
13026
return NDR_ERR_SUCCESS;
13029
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo6 *r)
13031
uint32_t _ptr_driver_name;
13032
TALLOC_CTX *_mem_save_driver_name_0;
13033
uint32_t _ptr_architecture;
13034
TALLOC_CTX *_mem_save_architecture_0;
13035
uint32_t _ptr_driver_path;
13036
TALLOC_CTX *_mem_save_driver_path_0;
13037
uint32_t _ptr_data_file;
13038
TALLOC_CTX *_mem_save_data_file_0;
13039
uint32_t _ptr_config_file;
13040
TALLOC_CTX *_mem_save_config_file_0;
13041
uint32_t _ptr_help_file;
13042
TALLOC_CTX *_mem_save_help_file_0;
13043
uint32_t _ptr_dependent_files;
13044
TALLOC_CTX *_mem_save_dependent_files_0;
13045
uint32_t _ptr_monitor_name;
13046
TALLOC_CTX *_mem_save_monitor_name_0;
13047
uint32_t _ptr_default_datatype;
13048
TALLOC_CTX *_mem_save_default_datatype_0;
13049
uint32_t _ptr_previous_names;
13050
TALLOC_CTX *_mem_save_previous_names_0;
13051
uint32_t _ptr_manufacturer_name;
13052
TALLOC_CTX *_mem_save_manufacturer_name_0;
13053
uint32_t _ptr_manufacturer_url;
13054
TALLOC_CTX *_mem_save_manufacturer_url_0;
13055
uint32_t _ptr_hardware_id;
13056
TALLOC_CTX *_mem_save_hardware_id_0;
13057
uint32_t _ptr_provider;
13058
TALLOC_CTX *_mem_save_provider_0;
13059
if (ndr_flags & NDR_SCALARS) {
13060
NDR_CHECK(ndr_pull_align(ndr, 8));
13061
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
13063
uint32_t _flags_save_string = ndr->flags;
13064
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13065
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
13066
if (_ptr_driver_name) {
13067
NDR_PULL_ALLOC(ndr, r->driver_name);
13068
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
13070
r->driver_name = NULL;
13072
ndr->flags = _flags_save_string;
13075
uint32_t _flags_save_string = ndr->flags;
13076
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13077
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
13078
if (_ptr_architecture) {
13079
NDR_PULL_ALLOC(ndr, r->architecture);
13080
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
13082
r->architecture = NULL;
13084
ndr->flags = _flags_save_string;
13087
uint32_t _flags_save_string = ndr->flags;
13088
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13089
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
13090
if (_ptr_driver_path) {
13091
NDR_PULL_ALLOC(ndr, r->driver_path);
13092
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
13094
r->driver_path = NULL;
13096
ndr->flags = _flags_save_string;
13099
uint32_t _flags_save_string = ndr->flags;
13100
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13101
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
13102
if (_ptr_data_file) {
13103
NDR_PULL_ALLOC(ndr, r->data_file);
13104
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
13106
r->data_file = NULL;
13108
ndr->flags = _flags_save_string;
13111
uint32_t _flags_save_string = ndr->flags;
13112
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13113
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
13114
if (_ptr_config_file) {
13115
NDR_PULL_ALLOC(ndr, r->config_file);
13116
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
13118
r->config_file = NULL;
13120
ndr->flags = _flags_save_string;
13123
uint32_t _flags_save_string = ndr->flags;
13124
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13125
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
13126
if (_ptr_help_file) {
13127
NDR_PULL_ALLOC(ndr, r->help_file);
13128
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file));
13130
r->help_file = NULL;
13132
ndr->flags = _flags_save_string;
13135
uint32_t _flags_save_string_array = ndr->flags;
13136
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13137
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
13138
if (_ptr_dependent_files) {
13139
NDR_PULL_ALLOC(ndr, r->dependent_files);
13140
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
13142
r->dependent_files = NULL;
13144
ndr->flags = _flags_save_string_array;
13147
uint32_t _flags_save_string = ndr->flags;
13148
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13149
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
13150
if (_ptr_monitor_name) {
13151
NDR_PULL_ALLOC(ndr, r->monitor_name);
13152
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
13154
r->monitor_name = NULL;
13156
ndr->flags = _flags_save_string;
13159
uint32_t _flags_save_string = ndr->flags;
13160
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13161
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
13162
if (_ptr_default_datatype) {
13163
NDR_PULL_ALLOC(ndr, r->default_datatype);
13164
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype));
13166
r->default_datatype = NULL;
13168
ndr->flags = _flags_save_string;
13171
uint32_t _flags_save_string_array = ndr->flags;
13172
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13173
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
13174
if (_ptr_previous_names) {
13175
NDR_PULL_ALLOC(ndr, r->previous_names);
13176
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->previous_names, _ptr_previous_names));
13178
r->previous_names = NULL;
13180
ndr->flags = _flags_save_string_array;
13182
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date));
13183
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
13185
uint32_t _flags_save_string = ndr->flags;
13186
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13187
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name));
13188
if (_ptr_manufacturer_name) {
13189
NDR_PULL_ALLOC(ndr, r->manufacturer_name);
13190
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->manufacturer_name, _ptr_manufacturer_name));
13192
r->manufacturer_name = NULL;
13194
ndr->flags = _flags_save_string;
13197
uint32_t _flags_save_string = ndr->flags;
13198
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13199
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url));
13200
if (_ptr_manufacturer_url) {
13201
NDR_PULL_ALLOC(ndr, r->manufacturer_url);
13202
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->manufacturer_url, _ptr_manufacturer_url));
13204
r->manufacturer_url = NULL;
13206
ndr->flags = _flags_save_string;
13209
uint32_t _flags_save_string = ndr->flags;
13210
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13211
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id));
13212
if (_ptr_hardware_id) {
13213
NDR_PULL_ALLOC(ndr, r->hardware_id);
13214
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->hardware_id, _ptr_hardware_id));
13216
r->hardware_id = NULL;
13218
ndr->flags = _flags_save_string;
13221
uint32_t _flags_save_string = ndr->flags;
13222
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13223
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider));
13224
if (_ptr_provider) {
13225
NDR_PULL_ALLOC(ndr, r->provider);
13226
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->provider, _ptr_provider));
13228
r->provider = NULL;
13230
ndr->flags = _flags_save_string;
13232
NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
13234
if (ndr_flags & NDR_BUFFERS) {
13236
uint32_t _flags_save_string = ndr->flags;
13237
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13238
if (r->driver_name) {
13239
uint32_t _relative_save_offset;
13240
_relative_save_offset = ndr->offset;
13241
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
13242
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13243
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
13244
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
13245
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
13246
if (ndr->offset > ndr->relative_highest_offset) {
13247
ndr->relative_highest_offset = ndr->offset;
13249
ndr->offset = _relative_save_offset;
13251
ndr->flags = _flags_save_string;
13254
uint32_t _flags_save_string = ndr->flags;
13255
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13256
if (r->architecture) {
13257
uint32_t _relative_save_offset;
13258
_relative_save_offset = ndr->offset;
13259
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
13260
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
13261
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
13262
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
13263
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
13264
if (ndr->offset > ndr->relative_highest_offset) {
13265
ndr->relative_highest_offset = ndr->offset;
13267
ndr->offset = _relative_save_offset;
13269
ndr->flags = _flags_save_string;
13272
uint32_t _flags_save_string = ndr->flags;
13273
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13274
if (r->driver_path) {
13275
uint32_t _relative_save_offset;
13276
_relative_save_offset = ndr->offset;
13277
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
13278
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
13279
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
13280
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
13281
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
13282
if (ndr->offset > ndr->relative_highest_offset) {
13283
ndr->relative_highest_offset = ndr->offset;
13285
ndr->offset = _relative_save_offset;
13287
ndr->flags = _flags_save_string;
13290
uint32_t _flags_save_string = ndr->flags;
13291
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13292
if (r->data_file) {
13293
uint32_t _relative_save_offset;
13294
_relative_save_offset = ndr->offset;
13295
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
13296
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
13297
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
13298
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
13299
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
13300
if (ndr->offset > ndr->relative_highest_offset) {
13301
ndr->relative_highest_offset = ndr->offset;
13303
ndr->offset = _relative_save_offset;
13305
ndr->flags = _flags_save_string;
13308
uint32_t _flags_save_string = ndr->flags;
13309
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13310
if (r->config_file) {
13311
uint32_t _relative_save_offset;
13312
_relative_save_offset = ndr->offset;
13313
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
13314
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
13315
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
13316
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
13317
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
13318
if (ndr->offset > ndr->relative_highest_offset) {
13319
ndr->relative_highest_offset = ndr->offset;
13321
ndr->offset = _relative_save_offset;
13323
ndr->flags = _flags_save_string;
13326
uint32_t _flags_save_string = ndr->flags;
13327
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13328
if (r->help_file) {
13329
uint32_t _relative_save_offset;
13330
_relative_save_offset = ndr->offset;
13331
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file));
13332
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
13333
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
13334
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
13335
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
13336
if (ndr->offset > ndr->relative_highest_offset) {
13337
ndr->relative_highest_offset = ndr->offset;
13339
ndr->offset = _relative_save_offset;
13341
ndr->flags = _flags_save_string;
13344
uint32_t _flags_save_string_array = ndr->flags;
13345
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13346
if (r->dependent_files) {
13347
uint32_t _relative_save_offset;
13348
_relative_save_offset = ndr->offset;
13349
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
13350
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
13351
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
13352
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
13353
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
13354
if (ndr->offset > ndr->relative_highest_offset) {
13355
ndr->relative_highest_offset = ndr->offset;
13357
ndr->offset = _relative_save_offset;
13359
ndr->flags = _flags_save_string_array;
13362
uint32_t _flags_save_string = ndr->flags;
13363
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13364
if (r->monitor_name) {
13365
uint32_t _relative_save_offset;
13366
_relative_save_offset = ndr->offset;
13367
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
13368
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13369
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
13370
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
13371
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
13372
if (ndr->offset > ndr->relative_highest_offset) {
13373
ndr->relative_highest_offset = ndr->offset;
13375
ndr->offset = _relative_save_offset;
13377
ndr->flags = _flags_save_string;
13380
uint32_t _flags_save_string = ndr->flags;
13381
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13382
if (r->default_datatype) {
13383
uint32_t _relative_save_offset;
13384
_relative_save_offset = ndr->offset;
13385
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype));
13386
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
13387
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
13388
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
13389
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
13390
if (ndr->offset > ndr->relative_highest_offset) {
13391
ndr->relative_highest_offset = ndr->offset;
13393
ndr->offset = _relative_save_offset;
13395
ndr->flags = _flags_save_string;
13398
uint32_t _flags_save_string_array = ndr->flags;
13399
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13400
if (r->previous_names) {
13401
uint32_t _relative_save_offset;
13402
_relative_save_offset = ndr->offset;
13403
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->previous_names));
13404
_mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
13405
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
13406
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->previous_names));
13407
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
13408
if (ndr->offset > ndr->relative_highest_offset) {
13409
ndr->relative_highest_offset = ndr->offset;
13411
ndr->offset = _relative_save_offset;
13413
ndr->flags = _flags_save_string_array;
13416
uint32_t _flags_save_string = ndr->flags;
13417
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13418
if (r->manufacturer_name) {
13419
uint32_t _relative_save_offset;
13420
_relative_save_offset = ndr->offset;
13421
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->manufacturer_name));
13422
_mem_save_manufacturer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13423
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0);
13424
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_name));
13425
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0);
13426
if (ndr->offset > ndr->relative_highest_offset) {
13427
ndr->relative_highest_offset = ndr->offset;
13429
ndr->offset = _relative_save_offset;
13431
ndr->flags = _flags_save_string;
13434
uint32_t _flags_save_string = ndr->flags;
13435
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13436
if (r->manufacturer_url) {
13437
uint32_t _relative_save_offset;
13438
_relative_save_offset = ndr->offset;
13439
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->manufacturer_url));
13440
_mem_save_manufacturer_url_0 = NDR_PULL_GET_MEM_CTX(ndr);
13441
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0);
13442
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_url));
13443
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0);
13444
if (ndr->offset > ndr->relative_highest_offset) {
13445
ndr->relative_highest_offset = ndr->offset;
13447
ndr->offset = _relative_save_offset;
13449
ndr->flags = _flags_save_string;
13452
uint32_t _flags_save_string = ndr->flags;
13453
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13454
if (r->hardware_id) {
13455
uint32_t _relative_save_offset;
13456
_relative_save_offset = ndr->offset;
13457
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->hardware_id));
13458
_mem_save_hardware_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
13459
NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0);
13460
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->hardware_id));
13461
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0);
13462
if (ndr->offset > ndr->relative_highest_offset) {
13463
ndr->relative_highest_offset = ndr->offset;
13465
ndr->offset = _relative_save_offset;
13467
ndr->flags = _flags_save_string;
13470
uint32_t _flags_save_string = ndr->flags;
13471
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13473
uint32_t _relative_save_offset;
13474
_relative_save_offset = ndr->offset;
13475
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->provider));
13476
_mem_save_provider_0 = NDR_PULL_GET_MEM_CTX(ndr);
13477
NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0);
13478
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->provider));
13479
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0);
13480
if (ndr->offset > ndr->relative_highest_offset) {
13481
ndr->relative_highest_offset = ndr->offset;
13483
ndr->offset = _relative_save_offset;
13485
ndr->flags = _flags_save_string;
13488
return NDR_ERR_SUCCESS;
13491
_PUBLIC_ void ndr_print_spoolss_DriverInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo6 *r)
13493
ndr_print_struct(ndr, name, "spoolss_DriverInfo6");
13494
if (r == NULL) { ndr_print_null(ndr); return; }
13496
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
13497
ndr_print_ptr(ndr, "driver_name", r->driver_name);
13499
if (r->driver_name) {
13500
ndr_print_string(ndr, "driver_name", r->driver_name);
13503
ndr_print_ptr(ndr, "architecture", r->architecture);
13505
if (r->architecture) {
13506
ndr_print_string(ndr, "architecture", r->architecture);
13509
ndr_print_ptr(ndr, "driver_path", r->driver_path);
13511
if (r->driver_path) {
13512
ndr_print_string(ndr, "driver_path", r->driver_path);
13515
ndr_print_ptr(ndr, "data_file", r->data_file);
13517
if (r->data_file) {
13518
ndr_print_string(ndr, "data_file", r->data_file);
13521
ndr_print_ptr(ndr, "config_file", r->config_file);
13523
if (r->config_file) {
13524
ndr_print_string(ndr, "config_file", r->config_file);
13527
ndr_print_ptr(ndr, "help_file", r->help_file);
13529
if (r->help_file) {
13530
ndr_print_string(ndr, "help_file", r->help_file);
13533
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
13535
if (r->dependent_files) {
13536
ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
13539
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
13541
if (r->monitor_name) {
13542
ndr_print_string(ndr, "monitor_name", r->monitor_name);
13545
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
13547
if (r->default_datatype) {
13548
ndr_print_string(ndr, "default_datatype", r->default_datatype);
13551
ndr_print_ptr(ndr, "previous_names", r->previous_names);
13553
if (r->previous_names) {
13554
ndr_print_string_array(ndr, "previous_names", r->previous_names);
13557
ndr_print_NTTIME(ndr, "driver_date", r->driver_date);
13558
ndr_print_hyper(ndr, "driver_version", r->driver_version);
13559
ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name);
13561
if (r->manufacturer_name) {
13562
ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name);
13565
ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url);
13567
if (r->manufacturer_url) {
13568
ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url);
13571
ndr_print_ptr(ndr, "hardware_id", r->hardware_id);
13573
if (r->hardware_id) {
13574
ndr_print_string(ndr, "hardware_id", r->hardware_id);
13577
ndr_print_ptr(ndr, "provider", r->provider);
13580
ndr_print_string(ndr, "provider", r->provider);
13586
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo6(const struct spoolss_DriverInfo6 *r, int flags)
13588
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo6);
13591
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo7(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo7 *r)
13593
if (ndr_flags & NDR_SCALARS) {
13594
NDR_CHECK(ndr_push_align(ndr, 5));
13595
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
13596
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
13598
uint32_t _flags_save_string = ndr->flags;
13599
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13600
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
13601
ndr->flags = _flags_save_string;
13604
uint32_t _flags_save_string = ndr->flags;
13605
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13606
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->inf_name));
13607
ndr->flags = _flags_save_string;
13610
uint32_t _flags_save_string = ndr->flags;
13611
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13612
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->install_source_root));
13613
ndr->flags = _flags_save_string;
13615
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13617
if (ndr_flags & NDR_BUFFERS) {
13619
uint32_t _flags_save_string = ndr->flags;
13620
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13621
if (r->driver_name) {
13622
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
13623
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
13624
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
13626
ndr->flags = _flags_save_string;
13629
uint32_t _flags_save_string = ndr->flags;
13630
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13632
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->inf_name));
13633
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->inf_name));
13634
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->inf_name));
13636
ndr->flags = _flags_save_string;
13639
uint32_t _flags_save_string = ndr->flags;
13640
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13641
if (r->install_source_root) {
13642
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->install_source_root));
13643
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->install_source_root));
13644
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->install_source_root));
13646
ndr->flags = _flags_save_string;
13649
return NDR_ERR_SUCCESS;
13652
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo7(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo7 *r)
13654
uint32_t _ptr_driver_name;
13655
TALLOC_CTX *_mem_save_driver_name_0;
13656
uint32_t _ptr_inf_name;
13657
TALLOC_CTX *_mem_save_inf_name_0;
13658
uint32_t _ptr_install_source_root;
13659
TALLOC_CTX *_mem_save_install_source_root_0;
13660
if (ndr_flags & NDR_SCALARS) {
13661
NDR_CHECK(ndr_pull_align(ndr, 5));
13662
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
13663
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
13665
uint32_t _flags_save_string = ndr->flags;
13666
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13667
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
13668
if (_ptr_driver_name) {
13669
NDR_PULL_ALLOC(ndr, r->driver_name);
13670
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
13672
r->driver_name = NULL;
13674
ndr->flags = _flags_save_string;
13677
uint32_t _flags_save_string = ndr->flags;
13678
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13679
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_inf_name));
13680
if (_ptr_inf_name) {
13681
NDR_PULL_ALLOC(ndr, r->inf_name);
13682
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->inf_name, _ptr_inf_name));
13684
r->inf_name = NULL;
13686
ndr->flags = _flags_save_string;
13689
uint32_t _flags_save_string = ndr->flags;
13690
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13691
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_install_source_root));
13692
if (_ptr_install_source_root) {
13693
NDR_PULL_ALLOC(ndr, r->install_source_root);
13694
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->install_source_root, _ptr_install_source_root));
13696
r->install_source_root = NULL;
13698
ndr->flags = _flags_save_string;
13700
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13702
if (ndr_flags & NDR_BUFFERS) {
13704
uint32_t _flags_save_string = ndr->flags;
13705
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13706
if (r->driver_name) {
13707
uint32_t _relative_save_offset;
13708
_relative_save_offset = ndr->offset;
13709
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
13710
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13711
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
13712
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
13713
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
13714
if (ndr->offset > ndr->relative_highest_offset) {
13715
ndr->relative_highest_offset = ndr->offset;
13717
ndr->offset = _relative_save_offset;
13719
ndr->flags = _flags_save_string;
13722
uint32_t _flags_save_string = ndr->flags;
13723
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13725
uint32_t _relative_save_offset;
13726
_relative_save_offset = ndr->offset;
13727
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->inf_name));
13728
_mem_save_inf_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13729
NDR_PULL_SET_MEM_CTX(ndr, r->inf_name, 0);
13730
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->inf_name));
13731
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_inf_name_0, 0);
13732
if (ndr->offset > ndr->relative_highest_offset) {
13733
ndr->relative_highest_offset = ndr->offset;
13735
ndr->offset = _relative_save_offset;
13737
ndr->flags = _flags_save_string;
13740
uint32_t _flags_save_string = ndr->flags;
13741
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13742
if (r->install_source_root) {
13743
uint32_t _relative_save_offset;
13744
_relative_save_offset = ndr->offset;
13745
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->install_source_root));
13746
_mem_save_install_source_root_0 = NDR_PULL_GET_MEM_CTX(ndr);
13747
NDR_PULL_SET_MEM_CTX(ndr, r->install_source_root, 0);
13748
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->install_source_root));
13749
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_install_source_root_0, 0);
13750
if (ndr->offset > ndr->relative_highest_offset) {
13751
ndr->relative_highest_offset = ndr->offset;
13753
ndr->offset = _relative_save_offset;
13755
ndr->flags = _flags_save_string;
13758
return NDR_ERR_SUCCESS;
13761
_PUBLIC_ void ndr_print_spoolss_DriverInfo7(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo7 *r)
13763
ndr_print_struct(ndr, name, "spoolss_DriverInfo7");
13764
if (r == NULL) { ndr_print_null(ndr); return; }
13766
ndr_print_uint32(ndr, "size", r->size);
13767
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
13768
ndr_print_ptr(ndr, "driver_name", r->driver_name);
13770
if (r->driver_name) {
13771
ndr_print_string(ndr, "driver_name", r->driver_name);
13774
ndr_print_ptr(ndr, "inf_name", r->inf_name);
13777
ndr_print_string(ndr, "inf_name", r->inf_name);
13780
ndr_print_ptr(ndr, "install_source_root", r->install_source_root);
13782
if (r->install_source_root) {
13783
ndr_print_string(ndr, "install_source_root", r->install_source_root);
13789
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo7(const struct spoolss_DriverInfo7 *r, int flags)
13791
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo7);
13794
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo8 *r)
13796
if (ndr_flags & NDR_SCALARS) {
13797
NDR_CHECK(ndr_push_align(ndr, 8));
13798
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
13800
uint32_t _flags_save_string = ndr->flags;
13801
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13802
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
13803
ndr->flags = _flags_save_string;
13806
uint32_t _flags_save_string = ndr->flags;
13807
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13808
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
13809
ndr->flags = _flags_save_string;
13812
uint32_t _flags_save_string = ndr->flags;
13813
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13814
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
13815
ndr->flags = _flags_save_string;
13818
uint32_t _flags_save_string = ndr->flags;
13819
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13820
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
13821
ndr->flags = _flags_save_string;
13824
uint32_t _flags_save_string = ndr->flags;
13825
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13826
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
13827
ndr->flags = _flags_save_string;
13830
uint32_t _flags_save_string = ndr->flags;
13831
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13832
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
13833
ndr->flags = _flags_save_string;
13836
uint32_t _flags_save_string_array = ndr->flags;
13837
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13838
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
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|LIBNDR_FLAG_ALIGN2);
13844
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
13845
ndr->flags = _flags_save_string;
13848
uint32_t _flags_save_string = ndr->flags;
13849
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13850
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
13851
ndr->flags = _flags_save_string;
13854
uint32_t _flags_save_string_array = ndr->flags;
13855
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13856
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names));
13857
ndr->flags = _flags_save_string_array;
13859
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date));
13860
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
13862
uint32_t _flags_save_string = ndr->flags;
13863
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13864
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_name));
13865
ndr->flags = _flags_save_string;
13868
uint32_t _flags_save_string = ndr->flags;
13869
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13870
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_url));
13871
ndr->flags = _flags_save_string;
13874
uint32_t _flags_save_string = ndr->flags;
13875
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13876
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->hardware_id));
13877
ndr->flags = _flags_save_string;
13880
uint32_t _flags_save_string = ndr->flags;
13881
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13882
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->provider));
13883
ndr->flags = _flags_save_string;
13886
uint32_t _flags_save_string = ndr->flags;
13887
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13888
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor));
13889
ndr->flags = _flags_save_string;
13892
uint32_t _flags_save_string = ndr->flags;
13893
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13894
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->vendor_setup));
13895
ndr->flags = _flags_save_string;
13898
uint32_t _flags_save_string_array = ndr->flags;
13899
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13900
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->color_profiles));
13901
ndr->flags = _flags_save_string_array;
13904
uint32_t _flags_save_string = ndr->flags;
13905
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13906
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->inf_path));
13907
ndr->flags = _flags_save_string;
13909
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->printer_driver_attributes));
13911
uint32_t _flags_save_string_array = ndr->flags;
13912
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13913
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->core_driver_dependencies));
13914
ndr->flags = _flags_save_string_array;
13916
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->min_inbox_driver_ver_date));
13917
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->min_inbox_driver_ver_version));
13918
NDR_CHECK(ndr_push_trailer_align(ndr, 8));
13920
if (ndr_flags & NDR_BUFFERS) {
13922
uint32_t _flags_save_string = ndr->flags;
13923
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13924
if (r->driver_name) {
13925
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
13926
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
13927
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
13929
ndr->flags = _flags_save_string;
13932
uint32_t _flags_save_string = ndr->flags;
13933
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13934
if (r->architecture) {
13935
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
13936
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
13937
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
13939
ndr->flags = _flags_save_string;
13942
uint32_t _flags_save_string = ndr->flags;
13943
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13944
if (r->driver_path) {
13945
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
13946
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
13947
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
13949
ndr->flags = _flags_save_string;
13952
uint32_t _flags_save_string = ndr->flags;
13953
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13954
if (r->data_file) {
13955
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
13956
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
13957
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
13959
ndr->flags = _flags_save_string;
13962
uint32_t _flags_save_string = ndr->flags;
13963
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13964
if (r->config_file) {
13965
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
13966
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
13967
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
13969
ndr->flags = _flags_save_string;
13972
uint32_t _flags_save_string = ndr->flags;
13973
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13974
if (r->help_file) {
13975
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
13976
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
13977
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file));
13979
ndr->flags = _flags_save_string;
13982
uint32_t _flags_save_string_array = ndr->flags;
13983
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13984
if (r->dependent_files) {
13985
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
13986
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
13987
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files));
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|LIBNDR_FLAG_ALIGN2);
13994
if (r->monitor_name) {
13995
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
13996
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
13997
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
13999
ndr->flags = _flags_save_string;
14002
uint32_t _flags_save_string = ndr->flags;
14003
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14004
if (r->default_datatype) {
14005
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
14006
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
14007
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype));
14009
ndr->flags = _flags_save_string;
14012
uint32_t _flags_save_string_array = ndr->flags;
14013
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14014
if (r->previous_names) {
14015
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names));
14016
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names));
14017
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->previous_names));
14019
ndr->flags = _flags_save_string_array;
14022
uint32_t _flags_save_string = ndr->flags;
14023
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14024
if (r->manufacturer_name) {
14025
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_name));
14026
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_name));
14027
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_name));
14029
ndr->flags = _flags_save_string;
14032
uint32_t _flags_save_string = ndr->flags;
14033
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14034
if (r->manufacturer_url) {
14035
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_url));
14036
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_url));
14037
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_url));
14039
ndr->flags = _flags_save_string;
14042
uint32_t _flags_save_string = ndr->flags;
14043
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14044
if (r->hardware_id) {
14045
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->hardware_id));
14046
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->hardware_id));
14047
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->hardware_id));
14049
ndr->flags = _flags_save_string;
14052
uint32_t _flags_save_string = ndr->flags;
14053
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14055
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->provider));
14056
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->provider));
14057
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->provider));
14059
ndr->flags = _flags_save_string;
14062
uint32_t _flags_save_string = ndr->flags;
14063
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14064
if (r->print_processor) {
14065
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor));
14066
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor));
14067
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor));
14069
ndr->flags = _flags_save_string;
14072
uint32_t _flags_save_string = ndr->flags;
14073
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14074
if (r->vendor_setup) {
14075
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->vendor_setup));
14076
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->vendor_setup));
14077
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->vendor_setup));
14079
ndr->flags = _flags_save_string;
14082
uint32_t _flags_save_string_array = ndr->flags;
14083
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14084
if (r->color_profiles) {
14085
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->color_profiles));
14086
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->color_profiles));
14087
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->color_profiles));
14089
ndr->flags = _flags_save_string_array;
14092
uint32_t _flags_save_string = ndr->flags;
14093
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14095
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->inf_path));
14096
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->inf_path));
14097
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->inf_path));
14099
ndr->flags = _flags_save_string;
14102
uint32_t _flags_save_string_array = ndr->flags;
14103
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14104
if (r->core_driver_dependencies) {
14105
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->core_driver_dependencies));
14106
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->core_driver_dependencies));
14107
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->core_driver_dependencies));
14109
ndr->flags = _flags_save_string_array;
14112
return NDR_ERR_SUCCESS;
14115
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo8(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo8 *r)
14117
uint32_t _ptr_driver_name;
14118
TALLOC_CTX *_mem_save_driver_name_0;
14119
uint32_t _ptr_architecture;
14120
TALLOC_CTX *_mem_save_architecture_0;
14121
uint32_t _ptr_driver_path;
14122
TALLOC_CTX *_mem_save_driver_path_0;
14123
uint32_t _ptr_data_file;
14124
TALLOC_CTX *_mem_save_data_file_0;
14125
uint32_t _ptr_config_file;
14126
TALLOC_CTX *_mem_save_config_file_0;
14127
uint32_t _ptr_help_file;
14128
TALLOC_CTX *_mem_save_help_file_0;
14129
uint32_t _ptr_dependent_files;
14130
TALLOC_CTX *_mem_save_dependent_files_0;
14131
uint32_t _ptr_monitor_name;
14132
TALLOC_CTX *_mem_save_monitor_name_0;
14133
uint32_t _ptr_default_datatype;
14134
TALLOC_CTX *_mem_save_default_datatype_0;
14135
uint32_t _ptr_previous_names;
14136
TALLOC_CTX *_mem_save_previous_names_0;
14137
uint32_t _ptr_manufacturer_name;
14138
TALLOC_CTX *_mem_save_manufacturer_name_0;
14139
uint32_t _ptr_manufacturer_url;
14140
TALLOC_CTX *_mem_save_manufacturer_url_0;
14141
uint32_t _ptr_hardware_id;
14142
TALLOC_CTX *_mem_save_hardware_id_0;
14143
uint32_t _ptr_provider;
14144
TALLOC_CTX *_mem_save_provider_0;
14145
uint32_t _ptr_print_processor;
14146
TALLOC_CTX *_mem_save_print_processor_0;
14147
uint32_t _ptr_vendor_setup;
14148
TALLOC_CTX *_mem_save_vendor_setup_0;
14149
uint32_t _ptr_color_profiles;
14150
TALLOC_CTX *_mem_save_color_profiles_0;
14151
uint32_t _ptr_inf_path;
14152
TALLOC_CTX *_mem_save_inf_path_0;
14153
uint32_t _ptr_core_driver_dependencies;
14154
TALLOC_CTX *_mem_save_core_driver_dependencies_0;
14155
if (ndr_flags & NDR_SCALARS) {
14156
NDR_CHECK(ndr_pull_align(ndr, 8));
14157
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
14159
uint32_t _flags_save_string = ndr->flags;
14160
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14161
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
14162
if (_ptr_driver_name) {
14163
NDR_PULL_ALLOC(ndr, r->driver_name);
14164
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
14166
r->driver_name = NULL;
14168
ndr->flags = _flags_save_string;
14171
uint32_t _flags_save_string = ndr->flags;
14172
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14173
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
14174
if (_ptr_architecture) {
14175
NDR_PULL_ALLOC(ndr, r->architecture);
14176
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
14178
r->architecture = NULL;
14180
ndr->flags = _flags_save_string;
14183
uint32_t _flags_save_string = ndr->flags;
14184
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14185
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
14186
if (_ptr_driver_path) {
14187
NDR_PULL_ALLOC(ndr, r->driver_path);
14188
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
14190
r->driver_path = NULL;
14192
ndr->flags = _flags_save_string;
14195
uint32_t _flags_save_string = ndr->flags;
14196
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14197
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
14198
if (_ptr_data_file) {
14199
NDR_PULL_ALLOC(ndr, r->data_file);
14200
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
14202
r->data_file = NULL;
14204
ndr->flags = _flags_save_string;
14207
uint32_t _flags_save_string = ndr->flags;
14208
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14209
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
14210
if (_ptr_config_file) {
14211
NDR_PULL_ALLOC(ndr, r->config_file);
14212
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
14214
r->config_file = NULL;
14216
ndr->flags = _flags_save_string;
14219
uint32_t _flags_save_string = ndr->flags;
14220
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14221
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
14222
if (_ptr_help_file) {
14223
NDR_PULL_ALLOC(ndr, r->help_file);
14224
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file));
14226
r->help_file = NULL;
14228
ndr->flags = _flags_save_string;
14231
uint32_t _flags_save_string_array = ndr->flags;
14232
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14233
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
14234
if (_ptr_dependent_files) {
14235
NDR_PULL_ALLOC(ndr, r->dependent_files);
14236
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
14238
r->dependent_files = NULL;
14240
ndr->flags = _flags_save_string_array;
14243
uint32_t _flags_save_string = ndr->flags;
14244
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14245
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
14246
if (_ptr_monitor_name) {
14247
NDR_PULL_ALLOC(ndr, r->monitor_name);
14248
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
14250
r->monitor_name = NULL;
14252
ndr->flags = _flags_save_string;
14255
uint32_t _flags_save_string = ndr->flags;
14256
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14257
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
14258
if (_ptr_default_datatype) {
14259
NDR_PULL_ALLOC(ndr, r->default_datatype);
14260
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype));
14262
r->default_datatype = NULL;
14264
ndr->flags = _flags_save_string;
14267
uint32_t _flags_save_string_array = ndr->flags;
14268
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14269
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
14270
if (_ptr_previous_names) {
14271
NDR_PULL_ALLOC(ndr, r->previous_names);
14272
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->previous_names, _ptr_previous_names));
14274
r->previous_names = NULL;
14276
ndr->flags = _flags_save_string_array;
14278
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date));
14279
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
14281
uint32_t _flags_save_string = ndr->flags;
14282
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14283
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name));
14284
if (_ptr_manufacturer_name) {
14285
NDR_PULL_ALLOC(ndr, r->manufacturer_name);
14286
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->manufacturer_name, _ptr_manufacturer_name));
14288
r->manufacturer_name = NULL;
14290
ndr->flags = _flags_save_string;
14293
uint32_t _flags_save_string = ndr->flags;
14294
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14295
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url));
14296
if (_ptr_manufacturer_url) {
14297
NDR_PULL_ALLOC(ndr, r->manufacturer_url);
14298
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->manufacturer_url, _ptr_manufacturer_url));
14300
r->manufacturer_url = NULL;
14302
ndr->flags = _flags_save_string;
14305
uint32_t _flags_save_string = ndr->flags;
14306
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14307
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id));
14308
if (_ptr_hardware_id) {
14309
NDR_PULL_ALLOC(ndr, r->hardware_id);
14310
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->hardware_id, _ptr_hardware_id));
14312
r->hardware_id = NULL;
14314
ndr->flags = _flags_save_string;
14317
uint32_t _flags_save_string = ndr->flags;
14318
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14319
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider));
14320
if (_ptr_provider) {
14321
NDR_PULL_ALLOC(ndr, r->provider);
14322
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->provider, _ptr_provider));
14324
r->provider = NULL;
14326
ndr->flags = _flags_save_string;
14329
uint32_t _flags_save_string = ndr->flags;
14330
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14331
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
14332
if (_ptr_print_processor) {
14333
NDR_PULL_ALLOC(ndr, r->print_processor);
14334
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->print_processor, _ptr_print_processor));
14336
r->print_processor = NULL;
14338
ndr->flags = _flags_save_string;
14341
uint32_t _flags_save_string = ndr->flags;
14342
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14343
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_vendor_setup));
14344
if (_ptr_vendor_setup) {
14345
NDR_PULL_ALLOC(ndr, r->vendor_setup);
14346
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->vendor_setup, _ptr_vendor_setup));
14348
r->vendor_setup = NULL;
14350
ndr->flags = _flags_save_string;
14353
uint32_t _flags_save_string_array = ndr->flags;
14354
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14355
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_color_profiles));
14356
if (_ptr_color_profiles) {
14357
NDR_PULL_ALLOC(ndr, r->color_profiles);
14358
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->color_profiles, _ptr_color_profiles));
14360
r->color_profiles = NULL;
14362
ndr->flags = _flags_save_string_array;
14365
uint32_t _flags_save_string = ndr->flags;
14366
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14367
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_inf_path));
14368
if (_ptr_inf_path) {
14369
NDR_PULL_ALLOC(ndr, r->inf_path);
14370
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->inf_path, _ptr_inf_path));
14372
r->inf_path = NULL;
14374
ndr->flags = _flags_save_string;
14376
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->printer_driver_attributes));
14378
uint32_t _flags_save_string_array = ndr->flags;
14379
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14380
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_core_driver_dependencies));
14381
if (_ptr_core_driver_dependencies) {
14382
NDR_PULL_ALLOC(ndr, r->core_driver_dependencies);
14383
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->core_driver_dependencies, _ptr_core_driver_dependencies));
14385
r->core_driver_dependencies = NULL;
14387
ndr->flags = _flags_save_string_array;
14389
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_date));
14390
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_version));
14391
NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
14393
if (ndr_flags & NDR_BUFFERS) {
14395
uint32_t _flags_save_string = ndr->flags;
14396
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14397
if (r->driver_name) {
14398
uint32_t _relative_save_offset;
14399
_relative_save_offset = ndr->offset;
14400
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
14401
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14402
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
14403
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
14404
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
14405
if (ndr->offset > ndr->relative_highest_offset) {
14406
ndr->relative_highest_offset = ndr->offset;
14408
ndr->offset = _relative_save_offset;
14410
ndr->flags = _flags_save_string;
14413
uint32_t _flags_save_string = ndr->flags;
14414
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14415
if (r->architecture) {
14416
uint32_t _relative_save_offset;
14417
_relative_save_offset = ndr->offset;
14418
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
14419
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
14420
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
14421
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
14422
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
14423
if (ndr->offset > ndr->relative_highest_offset) {
14424
ndr->relative_highest_offset = ndr->offset;
14426
ndr->offset = _relative_save_offset;
14428
ndr->flags = _flags_save_string;
14431
uint32_t _flags_save_string = ndr->flags;
14432
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14433
if (r->driver_path) {
14434
uint32_t _relative_save_offset;
14435
_relative_save_offset = ndr->offset;
14436
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
14437
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
14438
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
14439
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
14440
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
14441
if (ndr->offset > ndr->relative_highest_offset) {
14442
ndr->relative_highest_offset = ndr->offset;
14444
ndr->offset = _relative_save_offset;
14446
ndr->flags = _flags_save_string;
14449
uint32_t _flags_save_string = ndr->flags;
14450
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14451
if (r->data_file) {
14452
uint32_t _relative_save_offset;
14453
_relative_save_offset = ndr->offset;
14454
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
14455
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
14456
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
14457
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
14458
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
14459
if (ndr->offset > ndr->relative_highest_offset) {
14460
ndr->relative_highest_offset = ndr->offset;
14462
ndr->offset = _relative_save_offset;
14464
ndr->flags = _flags_save_string;
14467
uint32_t _flags_save_string = ndr->flags;
14468
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14469
if (r->config_file) {
14470
uint32_t _relative_save_offset;
14471
_relative_save_offset = ndr->offset;
14472
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
14473
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
14474
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
14475
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
14476
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
14477
if (ndr->offset > ndr->relative_highest_offset) {
14478
ndr->relative_highest_offset = ndr->offset;
14480
ndr->offset = _relative_save_offset;
14482
ndr->flags = _flags_save_string;
14485
uint32_t _flags_save_string = ndr->flags;
14486
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14487
if (r->help_file) {
14488
uint32_t _relative_save_offset;
14489
_relative_save_offset = ndr->offset;
14490
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file));
14491
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
14492
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
14493
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
14494
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
14495
if (ndr->offset > ndr->relative_highest_offset) {
14496
ndr->relative_highest_offset = ndr->offset;
14498
ndr->offset = _relative_save_offset;
14500
ndr->flags = _flags_save_string;
14503
uint32_t _flags_save_string_array = ndr->flags;
14504
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14505
if (r->dependent_files) {
14506
uint32_t _relative_save_offset;
14507
_relative_save_offset = ndr->offset;
14508
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
14509
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
14510
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
14511
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
14512
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
14513
if (ndr->offset > ndr->relative_highest_offset) {
14514
ndr->relative_highest_offset = ndr->offset;
14516
ndr->offset = _relative_save_offset;
14518
ndr->flags = _flags_save_string_array;
14521
uint32_t _flags_save_string = ndr->flags;
14522
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14523
if (r->monitor_name) {
14524
uint32_t _relative_save_offset;
14525
_relative_save_offset = ndr->offset;
14526
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
14527
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14528
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
14529
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
14530
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
14531
if (ndr->offset > ndr->relative_highest_offset) {
14532
ndr->relative_highest_offset = ndr->offset;
14534
ndr->offset = _relative_save_offset;
14536
ndr->flags = _flags_save_string;
14539
uint32_t _flags_save_string = ndr->flags;
14540
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14541
if (r->default_datatype) {
14542
uint32_t _relative_save_offset;
14543
_relative_save_offset = ndr->offset;
14544
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype));
14545
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
14546
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
14547
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
14548
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
14549
if (ndr->offset > ndr->relative_highest_offset) {
14550
ndr->relative_highest_offset = ndr->offset;
14552
ndr->offset = _relative_save_offset;
14554
ndr->flags = _flags_save_string;
14557
uint32_t _flags_save_string_array = ndr->flags;
14558
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14559
if (r->previous_names) {
14560
uint32_t _relative_save_offset;
14561
_relative_save_offset = ndr->offset;
14562
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->previous_names));
14563
_mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
14564
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
14565
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->previous_names));
14566
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
14567
if (ndr->offset > ndr->relative_highest_offset) {
14568
ndr->relative_highest_offset = ndr->offset;
14570
ndr->offset = _relative_save_offset;
14572
ndr->flags = _flags_save_string_array;
14575
uint32_t _flags_save_string = ndr->flags;
14576
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14577
if (r->manufacturer_name) {
14578
uint32_t _relative_save_offset;
14579
_relative_save_offset = ndr->offset;
14580
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->manufacturer_name));
14581
_mem_save_manufacturer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14582
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0);
14583
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_name));
14584
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0);
14585
if (ndr->offset > ndr->relative_highest_offset) {
14586
ndr->relative_highest_offset = ndr->offset;
14588
ndr->offset = _relative_save_offset;
14590
ndr->flags = _flags_save_string;
14593
uint32_t _flags_save_string = ndr->flags;
14594
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14595
if (r->manufacturer_url) {
14596
uint32_t _relative_save_offset;
14597
_relative_save_offset = ndr->offset;
14598
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->manufacturer_url));
14599
_mem_save_manufacturer_url_0 = NDR_PULL_GET_MEM_CTX(ndr);
14600
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0);
14601
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_url));
14602
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0);
14603
if (ndr->offset > ndr->relative_highest_offset) {
14604
ndr->relative_highest_offset = ndr->offset;
14606
ndr->offset = _relative_save_offset;
14608
ndr->flags = _flags_save_string;
14611
uint32_t _flags_save_string = ndr->flags;
14612
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14613
if (r->hardware_id) {
14614
uint32_t _relative_save_offset;
14615
_relative_save_offset = ndr->offset;
14616
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->hardware_id));
14617
_mem_save_hardware_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
14618
NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0);
14619
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->hardware_id));
14620
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0);
14621
if (ndr->offset > ndr->relative_highest_offset) {
14622
ndr->relative_highest_offset = ndr->offset;
14624
ndr->offset = _relative_save_offset;
14626
ndr->flags = _flags_save_string;
14629
uint32_t _flags_save_string = ndr->flags;
14630
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14632
uint32_t _relative_save_offset;
14633
_relative_save_offset = ndr->offset;
14634
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->provider));
14635
_mem_save_provider_0 = NDR_PULL_GET_MEM_CTX(ndr);
14636
NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0);
14637
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->provider));
14638
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0);
14639
if (ndr->offset > ndr->relative_highest_offset) {
14640
ndr->relative_highest_offset = ndr->offset;
14642
ndr->offset = _relative_save_offset;
14644
ndr->flags = _flags_save_string;
14647
uint32_t _flags_save_string = ndr->flags;
14648
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14649
if (r->print_processor) {
14650
uint32_t _relative_save_offset;
14651
_relative_save_offset = ndr->offset;
14652
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->print_processor));
14653
_mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr);
14654
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
14655
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor));
14656
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
14657
if (ndr->offset > ndr->relative_highest_offset) {
14658
ndr->relative_highest_offset = ndr->offset;
14660
ndr->offset = _relative_save_offset;
14662
ndr->flags = _flags_save_string;
14665
uint32_t _flags_save_string = ndr->flags;
14666
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14667
if (r->vendor_setup) {
14668
uint32_t _relative_save_offset;
14669
_relative_save_offset = ndr->offset;
14670
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->vendor_setup));
14671
_mem_save_vendor_setup_0 = NDR_PULL_GET_MEM_CTX(ndr);
14672
NDR_PULL_SET_MEM_CTX(ndr, r->vendor_setup, 0);
14673
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->vendor_setup));
14674
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_vendor_setup_0, 0);
14675
if (ndr->offset > ndr->relative_highest_offset) {
14676
ndr->relative_highest_offset = ndr->offset;
14678
ndr->offset = _relative_save_offset;
14680
ndr->flags = _flags_save_string;
14683
uint32_t _flags_save_string_array = ndr->flags;
14684
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14685
if (r->color_profiles) {
14686
uint32_t _relative_save_offset;
14687
_relative_save_offset = ndr->offset;
14688
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->color_profiles));
14689
_mem_save_color_profiles_0 = NDR_PULL_GET_MEM_CTX(ndr);
14690
NDR_PULL_SET_MEM_CTX(ndr, r->color_profiles, 0);
14691
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->color_profiles));
14692
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_color_profiles_0, 0);
14693
if (ndr->offset > ndr->relative_highest_offset) {
14694
ndr->relative_highest_offset = ndr->offset;
14696
ndr->offset = _relative_save_offset;
14698
ndr->flags = _flags_save_string_array;
14701
uint32_t _flags_save_string = ndr->flags;
14702
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14704
uint32_t _relative_save_offset;
14705
_relative_save_offset = ndr->offset;
14706
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->inf_path));
14707
_mem_save_inf_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
14708
NDR_PULL_SET_MEM_CTX(ndr, r->inf_path, 0);
14709
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->inf_path));
14710
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_inf_path_0, 0);
14711
if (ndr->offset > ndr->relative_highest_offset) {
14712
ndr->relative_highest_offset = ndr->offset;
14714
ndr->offset = _relative_save_offset;
14716
ndr->flags = _flags_save_string;
14719
uint32_t _flags_save_string_array = ndr->flags;
14720
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14721
if (r->core_driver_dependencies) {
14722
uint32_t _relative_save_offset;
14723
_relative_save_offset = ndr->offset;
14724
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->core_driver_dependencies));
14725
_mem_save_core_driver_dependencies_0 = NDR_PULL_GET_MEM_CTX(ndr);
14726
NDR_PULL_SET_MEM_CTX(ndr, r->core_driver_dependencies, 0);
14727
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->core_driver_dependencies));
14728
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_core_driver_dependencies_0, 0);
14729
if (ndr->offset > ndr->relative_highest_offset) {
14730
ndr->relative_highest_offset = ndr->offset;
14732
ndr->offset = _relative_save_offset;
14734
ndr->flags = _flags_save_string_array;
14737
return NDR_ERR_SUCCESS;
14740
_PUBLIC_ void ndr_print_spoolss_DriverInfo8(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo8 *r)
14742
ndr_print_struct(ndr, name, "spoolss_DriverInfo8");
14743
if (r == NULL) { ndr_print_null(ndr); return; }
14745
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
14746
ndr_print_ptr(ndr, "driver_name", r->driver_name);
14748
if (r->driver_name) {
14749
ndr_print_string(ndr, "driver_name", r->driver_name);
14752
ndr_print_ptr(ndr, "architecture", r->architecture);
14754
if (r->architecture) {
14755
ndr_print_string(ndr, "architecture", r->architecture);
14758
ndr_print_ptr(ndr, "driver_path", r->driver_path);
14760
if (r->driver_path) {
14761
ndr_print_string(ndr, "driver_path", r->driver_path);
14764
ndr_print_ptr(ndr, "data_file", r->data_file);
14766
if (r->data_file) {
14767
ndr_print_string(ndr, "data_file", r->data_file);
14770
ndr_print_ptr(ndr, "config_file", r->config_file);
14772
if (r->config_file) {
14773
ndr_print_string(ndr, "config_file", r->config_file);
14776
ndr_print_ptr(ndr, "help_file", r->help_file);
14778
if (r->help_file) {
14779
ndr_print_string(ndr, "help_file", r->help_file);
14782
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
14784
if (r->dependent_files) {
14785
ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
14788
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
14790
if (r->monitor_name) {
14791
ndr_print_string(ndr, "monitor_name", r->monitor_name);
14794
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
14796
if (r->default_datatype) {
14797
ndr_print_string(ndr, "default_datatype", r->default_datatype);
14800
ndr_print_ptr(ndr, "previous_names", r->previous_names);
14802
if (r->previous_names) {
14803
ndr_print_string_array(ndr, "previous_names", r->previous_names);
14806
ndr_print_NTTIME(ndr, "driver_date", r->driver_date);
14807
ndr_print_hyper(ndr, "driver_version", r->driver_version);
14808
ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name);
14810
if (r->manufacturer_name) {
14811
ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name);
14814
ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url);
14816
if (r->manufacturer_url) {
14817
ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url);
14820
ndr_print_ptr(ndr, "hardware_id", r->hardware_id);
14822
if (r->hardware_id) {
14823
ndr_print_string(ndr, "hardware_id", r->hardware_id);
14826
ndr_print_ptr(ndr, "provider", r->provider);
14829
ndr_print_string(ndr, "provider", r->provider);
14832
ndr_print_ptr(ndr, "print_processor", r->print_processor);
14834
if (r->print_processor) {
14835
ndr_print_string(ndr, "print_processor", r->print_processor);
14838
ndr_print_ptr(ndr, "vendor_setup", r->vendor_setup);
14840
if (r->vendor_setup) {
14841
ndr_print_string(ndr, "vendor_setup", r->vendor_setup);
14844
ndr_print_ptr(ndr, "color_profiles", r->color_profiles);
14846
if (r->color_profiles) {
14847
ndr_print_string_array(ndr, "color_profiles", r->color_profiles);
14850
ndr_print_ptr(ndr, "inf_path", r->inf_path);
14853
ndr_print_string(ndr, "inf_path", r->inf_path);
14856
ndr_print_uint32(ndr, "printer_driver_attributes", r->printer_driver_attributes);
14857
ndr_print_ptr(ndr, "core_driver_dependencies", r->core_driver_dependencies);
14859
if (r->core_driver_dependencies) {
14860
ndr_print_string_array(ndr, "core_driver_dependencies", r->core_driver_dependencies);
14863
ndr_print_NTTIME(ndr, "min_inbox_driver_ver_date", r->min_inbox_driver_ver_date);
14864
ndr_print_hyper(ndr, "min_inbox_driver_ver_version", r->min_inbox_driver_ver_version);
14868
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo8(const struct spoolss_DriverInfo8 *r, int flags)
14870
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo8);
14873
static enum ndr_err_code ndr_push_spoolss_DriverFileType(struct ndr_push *ndr, int ndr_flags, enum spoolss_DriverFileType r)
14875
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
14876
return NDR_ERR_SUCCESS;
14879
static enum ndr_err_code ndr_pull_spoolss_DriverFileType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DriverFileType *r)
14882
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
14884
return NDR_ERR_SUCCESS;
14887
_PUBLIC_ void ndr_print_spoolss_DriverFileType(struct ndr_print *ndr, const char *name, enum spoolss_DriverFileType r)
14889
const char *val = NULL;
14892
case SPOOLSS_DRIVER_FILE_TYPE_RENDERING: val = "SPOOLSS_DRIVER_FILE_TYPE_RENDERING"; break;
14893
case SPOOLSS_DRIVER_FILE_TYPE_CONFIGURATION: val = "SPOOLSS_DRIVER_FILE_TYPE_CONFIGURATION"; break;
14894
case SPOOLSS_DRIVER_FILE_TYPE_DATA: val = "SPOOLSS_DRIVER_FILE_TYPE_DATA"; break;
14895
case SPOOLSS_DRIVER_FILE_TYPE_HELP: val = "SPOOLSS_DRIVER_FILE_TYPE_HELP"; break;
14896
case SPOOLSS_DRIVER_FILE_TYPE_OTHER: val = "SPOOLSS_DRIVER_FILE_TYPE_OTHER"; break;
14898
ndr_print_enum(ndr, name, "ENUM", val, r);
14901
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverFileInfo(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverFileInfo *r)
14903
if (ndr_flags & NDR_SCALARS) {
14904
NDR_CHECK(ndr_push_align(ndr, 5));
14906
uint32_t _flags_save_string = ndr->flags;
14907
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14908
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->file_name));
14909
ndr->flags = _flags_save_string;
14911
NDR_CHECK(ndr_push_spoolss_DriverFileType(ndr, NDR_SCALARS, r->file_type));
14912
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->file_version));
14913
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
14915
if (ndr_flags & NDR_BUFFERS) {
14917
uint32_t _flags_save_string = ndr->flags;
14918
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14919
if (r->file_name) {
14920
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->file_name));
14921
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->file_name));
14922
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->file_name));
14924
ndr->flags = _flags_save_string;
14927
return NDR_ERR_SUCCESS;
14930
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverFileInfo(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverFileInfo *r)
14932
uint32_t _ptr_file_name;
14933
TALLOC_CTX *_mem_save_file_name_0;
14934
if (ndr_flags & NDR_SCALARS) {
14935
NDR_CHECK(ndr_pull_align(ndr, 5));
14937
uint32_t _flags_save_string = ndr->flags;
14938
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14939
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_file_name));
14940
if (_ptr_file_name) {
14941
NDR_PULL_ALLOC(ndr, r->file_name);
14942
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->file_name, _ptr_file_name));
14944
r->file_name = NULL;
14946
ndr->flags = _flags_save_string;
14948
NDR_CHECK(ndr_pull_spoolss_DriverFileType(ndr, NDR_SCALARS, &r->file_type));
14949
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->file_version));
14950
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
14952
if (ndr_flags & NDR_BUFFERS) {
14954
uint32_t _flags_save_string = ndr->flags;
14955
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14956
if (r->file_name) {
14957
uint32_t _relative_save_offset;
14958
_relative_save_offset = ndr->offset;
14959
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->file_name));
14960
_mem_save_file_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14961
NDR_PULL_SET_MEM_CTX(ndr, r->file_name, 0);
14962
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->file_name));
14963
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_file_name_0, 0);
14964
if (ndr->offset > ndr->relative_highest_offset) {
14965
ndr->relative_highest_offset = ndr->offset;
14967
ndr->offset = _relative_save_offset;
14969
ndr->flags = _flags_save_string;
14972
return NDR_ERR_SUCCESS;
14975
_PUBLIC_ void ndr_print_spoolss_DriverFileInfo(struct ndr_print *ndr, const char *name, const struct spoolss_DriverFileInfo *r)
14977
ndr_print_struct(ndr, name, "spoolss_DriverFileInfo");
14978
if (r == NULL) { ndr_print_null(ndr); return; }
14980
ndr_print_ptr(ndr, "file_name", r->file_name);
14982
if (r->file_name) {
14983
ndr_print_string(ndr, "file_name", r->file_name);
14986
ndr_print_spoolss_DriverFileType(ndr, "file_type", r->file_type);
14987
ndr_print_uint32(ndr, "file_version", r->file_version);
14991
_PUBLIC_ void ndr_print_spoolss_DriverInfo101(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo101 *r)
14993
uint32_t cntr_file_info_1;
14994
ndr_print_struct(ndr, name, "spoolss_DriverInfo101");
14995
if (r == NULL) { ndr_print_null(ndr); return; }
14997
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
14998
ndr_print_ptr(ndr, "driver_name", r->driver_name);
15000
if (r->driver_name) {
15001
ndr_print_string(ndr, "driver_name", r->driver_name);
15004
ndr_print_ptr(ndr, "architecture", r->architecture);
15006
if (r->architecture) {
15007
ndr_print_string(ndr, "architecture", r->architecture);
15010
ndr_print_ptr(ndr, "file_info", r->file_info);
15012
if (r->file_info) {
15013
ndr->print(ndr, "%s: ARRAY(%d)", "file_info", (int)r->file_count);
15015
for (cntr_file_info_1=0;cntr_file_info_1<r->file_count;cntr_file_info_1++) {
15016
ndr_print_spoolss_DriverFileInfo(ndr, "file_info", &r->file_info[cntr_file_info_1]);
15021
ndr_print_uint32(ndr, "file_count", r->file_count);
15022
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
15024
if (r->monitor_name) {
15025
ndr_print_string(ndr, "monitor_name", r->monitor_name);
15028
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
15030
if (r->default_datatype) {
15031
ndr_print_string(ndr, "default_datatype", r->default_datatype);
15034
ndr_print_ptr(ndr, "previous_names", r->previous_names);
15036
if (r->previous_names) {
15037
ndr_print_string_array(ndr, "previous_names", r->previous_names);
15040
ndr_print_NTTIME(ndr, "driver_date", r->driver_date);
15041
ndr_print_hyper(ndr, "driver_version", r->driver_version);
15042
ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name);
15044
if (r->manufacturer_name) {
15045
ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name);
15048
ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url);
15050
if (r->manufacturer_url) {
15051
ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url);
15054
ndr_print_ptr(ndr, "hardware_id", r->hardware_id);
15056
if (r->hardware_id) {
15057
ndr_print_string(ndr, "hardware_id", r->hardware_id);
15060
ndr_print_ptr(ndr, "provider", r->provider);
15063
ndr_print_string(ndr, "provider", r->provider);
15069
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo101(const struct spoolss_DriverInfo101 *r, int flags)
15071
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo101);
15074
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DriverInfo *r)
15076
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
15078
uint32_t _flags_save_UNION = ndr->flags;
15079
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
15080
if (ndr_flags & NDR_SCALARS) {
15081
uint32_t level = ndr_push_get_switch_value(ndr, r);
15082
NDR_CHECK(ndr_push_union_align(ndr, 8));
15085
NDR_CHECK(ndr_push_align(ndr, 5));
15086
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
15087
NDR_CHECK(ndr_push_spoolss_DriverInfo1(ndr, NDR_SCALARS, &r->info1));
15091
NDR_CHECK(ndr_push_align(ndr, 5));
15092
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
15093
NDR_CHECK(ndr_push_spoolss_DriverInfo2(ndr, NDR_SCALARS, &r->info2));
15097
NDR_CHECK(ndr_push_align(ndr, 5));
15098
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
15099
NDR_CHECK(ndr_push_spoolss_DriverInfo3(ndr, NDR_SCALARS, &r->info3));
15103
NDR_CHECK(ndr_push_align(ndr, 5));
15104
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
15105
NDR_CHECK(ndr_push_spoolss_DriverInfo4(ndr, NDR_SCALARS, &r->info4));
15109
NDR_CHECK(ndr_push_align(ndr, 5));
15110
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
15111
NDR_CHECK(ndr_push_spoolss_DriverInfo5(ndr, NDR_SCALARS, &r->info5));
15115
NDR_CHECK(ndr_push_align(ndr, 8));
15116
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
15117
NDR_CHECK(ndr_push_spoolss_DriverInfo6(ndr, NDR_SCALARS, &r->info6));
15121
NDR_CHECK(ndr_push_align(ndr, 5));
15122
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
15123
NDR_CHECK(ndr_push_spoolss_DriverInfo7(ndr, NDR_SCALARS, &r->info7));
15127
NDR_CHECK(ndr_push_align(ndr, 8));
15128
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
15129
NDR_CHECK(ndr_push_spoolss_DriverInfo8(ndr, NDR_SCALARS, &r->info8));
15133
NDR_CHECK(ndr_push_align(ndr, 8));
15134
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
15135
NDR_CHECK(ndr_push_spoolss_DriverInfo101(ndr, NDR_SCALARS, &r->info101));
15143
if (ndr_flags & NDR_BUFFERS) {
15144
uint32_t level = ndr_push_get_switch_value(ndr, r);
15145
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
15148
NDR_CHECK(ndr_push_spoolss_DriverInfo1(ndr, NDR_BUFFERS, &r->info1));
15152
NDR_CHECK(ndr_push_spoolss_DriverInfo2(ndr, NDR_BUFFERS, &r->info2));
15156
NDR_CHECK(ndr_push_spoolss_DriverInfo3(ndr, NDR_BUFFERS, &r->info3));
15160
NDR_CHECK(ndr_push_spoolss_DriverInfo4(ndr, NDR_BUFFERS, &r->info4));
15164
NDR_CHECK(ndr_push_spoolss_DriverInfo5(ndr, NDR_BUFFERS, &r->info5));
15168
NDR_CHECK(ndr_push_spoolss_DriverInfo6(ndr, NDR_BUFFERS, &r->info6));
15172
NDR_CHECK(ndr_push_spoolss_DriverInfo7(ndr, NDR_BUFFERS, &r->info7));
15176
NDR_CHECK(ndr_push_spoolss_DriverInfo8(ndr, NDR_BUFFERS, &r->info8));
15180
NDR_CHECK(ndr_push_spoolss_DriverInfo101(ndr, NDR_BUFFERS, &r->info101));
15188
ndr->flags = _flags_save_UNION;
15190
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
15191
return NDR_ERR_SUCCESS;
15194
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_DriverInfo *r)
15196
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
15199
uint32_t _flags_save_UNION = ndr->flags;
15200
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
15201
level = ndr_pull_get_switch_value(ndr, r);
15202
if (ndr_flags & NDR_SCALARS) {
15203
NDR_CHECK(ndr_pull_union_align(ndr, 8));
15206
NDR_CHECK(ndr_pull_align(ndr, 5));
15207
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
15208
NDR_CHECK(ndr_pull_spoolss_DriverInfo1(ndr, NDR_SCALARS, &r->info1));
15212
NDR_CHECK(ndr_pull_align(ndr, 5));
15213
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
15214
NDR_CHECK(ndr_pull_spoolss_DriverInfo2(ndr, NDR_SCALARS, &r->info2));
15218
NDR_CHECK(ndr_pull_align(ndr, 5));
15219
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
15220
NDR_CHECK(ndr_pull_spoolss_DriverInfo3(ndr, NDR_SCALARS, &r->info3));
15224
NDR_CHECK(ndr_pull_align(ndr, 5));
15225
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
15226
NDR_CHECK(ndr_pull_spoolss_DriverInfo4(ndr, NDR_SCALARS, &r->info4));
15230
NDR_CHECK(ndr_pull_align(ndr, 5));
15231
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
15232
NDR_CHECK(ndr_pull_spoolss_DriverInfo5(ndr, NDR_SCALARS, &r->info5));
15236
NDR_CHECK(ndr_pull_align(ndr, 8));
15237
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
15238
NDR_CHECK(ndr_pull_spoolss_DriverInfo6(ndr, NDR_SCALARS, &r->info6));
15242
NDR_CHECK(ndr_pull_align(ndr, 5));
15243
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
15244
NDR_CHECK(ndr_pull_spoolss_DriverInfo7(ndr, NDR_SCALARS, &r->info7));
15248
NDR_CHECK(ndr_pull_align(ndr, 8));
15249
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
15250
NDR_CHECK(ndr_pull_spoolss_DriverInfo8(ndr, NDR_SCALARS, &r->info8));
15254
NDR_CHECK(ndr_pull_align(ndr, 8));
15255
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
15256
NDR_CHECK(ndr_pull_spoolss_DriverInfo101(ndr, NDR_SCALARS, &r->info101));
15264
if (ndr_flags & NDR_BUFFERS) {
15265
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
15268
NDR_CHECK(ndr_pull_spoolss_DriverInfo1(ndr, NDR_BUFFERS, &r->info1));
15272
NDR_CHECK(ndr_pull_spoolss_DriverInfo2(ndr, NDR_BUFFERS, &r->info2));
15276
NDR_CHECK(ndr_pull_spoolss_DriverInfo3(ndr, NDR_BUFFERS, &r->info3));
15280
NDR_CHECK(ndr_pull_spoolss_DriverInfo4(ndr, NDR_BUFFERS, &r->info4));
15284
NDR_CHECK(ndr_pull_spoolss_DriverInfo5(ndr, NDR_BUFFERS, &r->info5));
15288
NDR_CHECK(ndr_pull_spoolss_DriverInfo6(ndr, NDR_BUFFERS, &r->info6));
15292
NDR_CHECK(ndr_pull_spoolss_DriverInfo7(ndr, NDR_BUFFERS, &r->info7));
15296
NDR_CHECK(ndr_pull_spoolss_DriverInfo8(ndr, NDR_BUFFERS, &r->info8));
15300
NDR_CHECK(ndr_pull_spoolss_DriverInfo101(ndr, NDR_BUFFERS, &r->info101));
15308
ndr->flags = _flags_save_UNION;
15310
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
15311
return NDR_ERR_SUCCESS;
15314
_PUBLIC_ void ndr_print_spoolss_DriverInfo(struct ndr_print *ndr, const char *name, const union spoolss_DriverInfo *r)
15318
uint32_t _flags_save_UNION = ndr->flags;
15319
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
15320
level = ndr_print_get_switch_value(ndr, r);
15321
ndr_print_union(ndr, name, level, "spoolss_DriverInfo");
15324
ndr_print_spoolss_DriverInfo1(ndr, "info1", &r->info1);
15328
ndr_print_spoolss_DriverInfo2(ndr, "info2", &r->info2);
15332
ndr_print_spoolss_DriverInfo3(ndr, "info3", &r->info3);
15336
ndr_print_spoolss_DriverInfo4(ndr, "info4", &r->info4);
15340
ndr_print_spoolss_DriverInfo5(ndr, "info5", &r->info5);
15344
ndr_print_spoolss_DriverInfo6(ndr, "info6", &r->info6);
15348
ndr_print_spoolss_DriverInfo7(ndr, "info7", &r->info7);
15352
ndr_print_spoolss_DriverInfo8(ndr, "info8", &r->info8);
15356
ndr_print_spoolss_DriverInfo101(ndr, "info101", &r->info101);
15363
ndr->flags = _flags_save_UNION;
15367
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo(const union spoolss_DriverInfo *r, uint32_t level, int flags)
15369
flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
15370
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo);
15373
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverDirectoryInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverDirectoryInfo1 *r)
15375
if (ndr_flags & NDR_SCALARS) {
15376
NDR_CHECK(ndr_push_align(ndr, 4));
15378
uint32_t _flags_save_string = ndr->flags;
15379
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15380
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->directory_name));
15381
ndr->flags = _flags_save_string;
15383
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
15385
if (ndr_flags & NDR_BUFFERS) {
15387
return NDR_ERR_SUCCESS;
15390
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverDirectoryInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverDirectoryInfo1 *r)
15392
if (ndr_flags & NDR_SCALARS) {
15393
NDR_CHECK(ndr_pull_align(ndr, 4));
15395
uint32_t _flags_save_string = ndr->flags;
15396
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15397
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->directory_name));
15398
ndr->flags = _flags_save_string;
15400
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
15402
if (ndr_flags & NDR_BUFFERS) {
15404
return NDR_ERR_SUCCESS;
15407
_PUBLIC_ void ndr_print_spoolss_DriverDirectoryInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_DriverDirectoryInfo1 *r)
15409
ndr_print_struct(ndr, name, "spoolss_DriverDirectoryInfo1");
15410
if (r == NULL) { ndr_print_null(ndr); return; }
15412
ndr_print_string(ndr, "directory_name", r->directory_name);
15416
_PUBLIC_ size_t ndr_size_spoolss_DriverDirectoryInfo1(const struct spoolss_DriverDirectoryInfo1 *r, int flags)
15418
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverDirectoryInfo1);
15421
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverDirectoryInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DriverDirectoryInfo *r)
15423
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
15425
uint32_t _flags_save_UNION = ndr->flags;
15426
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
15427
if (ndr_flags & NDR_SCALARS) {
15428
uint32_t level = ndr_push_get_switch_value(ndr, r);
15429
NDR_CHECK(ndr_push_union_align(ndr, 4));
15432
NDR_CHECK(ndr_push_align(ndr, 4));
15433
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
15434
NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
15438
NDR_CHECK(ndr_push_align(ndr, 4));
15439
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
15440
NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
15445
if (ndr_flags & NDR_BUFFERS) {
15446
uint32_t level = ndr_push_get_switch_value(ndr, r);
15447
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
15457
ndr->flags = _flags_save_UNION;
15459
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
15460
return NDR_ERR_SUCCESS;
15463
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverDirectoryInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_DriverDirectoryInfo *r)
15465
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
15468
uint32_t _flags_save_UNION = ndr->flags;
15469
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
15470
level = ndr_pull_get_switch_value(ndr, r);
15471
if (ndr_flags & NDR_SCALARS) {
15472
NDR_CHECK(ndr_pull_union_align(ndr, 4));
15475
NDR_CHECK(ndr_pull_align(ndr, 4));
15476
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
15477
NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
15481
NDR_CHECK(ndr_pull_align(ndr, 4));
15482
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
15483
NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
15488
if (ndr_flags & NDR_BUFFERS) {
15489
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
15499
ndr->flags = _flags_save_UNION;
15501
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
15502
return NDR_ERR_SUCCESS;
15505
_PUBLIC_ void ndr_print_spoolss_DriverDirectoryInfo(struct ndr_print *ndr, const char *name, const union spoolss_DriverDirectoryInfo *r)
15509
uint32_t _flags_save_UNION = ndr->flags;
15510
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
15511
level = ndr_print_get_switch_value(ndr, r);
15512
ndr_print_union(ndr, name, level, "spoolss_DriverDirectoryInfo");
15515
ndr_print_spoolss_DriverDirectoryInfo1(ndr, "info1", &r->info1);
15519
ndr_print_spoolss_DriverDirectoryInfo1(ndr, "info1", &r->info1);
15523
ndr->flags = _flags_save_UNION;
15527
_PUBLIC_ size_t ndr_size_spoolss_DriverDirectoryInfo(const union spoolss_DriverDirectoryInfo *r, uint32_t level, int flags)
15529
flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
15530
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverDirectoryInfo);
15533
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrintProcessorInfo1 *r)
15535
if (ndr_flags & NDR_SCALARS) {
15536
NDR_CHECK(ndr_push_align(ndr, 5));
15538
uint32_t _flags_save_string = ndr->flags;
15539
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15540
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor_name));
15541
ndr->flags = _flags_save_string;
15543
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
15545
if (ndr_flags & NDR_BUFFERS) {
15547
uint32_t _flags_save_string = ndr->flags;
15548
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15549
if (r->print_processor_name) {
15550
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor_name));
15551
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor_name));
15552
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor_name));
15554
ndr->flags = _flags_save_string;
15557
return NDR_ERR_SUCCESS;
15560
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcessorInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrintProcessorInfo1 *r)
15562
uint32_t _ptr_print_processor_name;
15563
TALLOC_CTX *_mem_save_print_processor_name_0;
15564
if (ndr_flags & NDR_SCALARS) {
15565
NDR_CHECK(ndr_pull_align(ndr, 5));
15567
uint32_t _flags_save_string = ndr->flags;
15568
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15569
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor_name));
15570
if (_ptr_print_processor_name) {
15571
NDR_PULL_ALLOC(ndr, r->print_processor_name);
15572
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->print_processor_name, _ptr_print_processor_name));
15574
r->print_processor_name = NULL;
15576
ndr->flags = _flags_save_string;
15578
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
15580
if (ndr_flags & NDR_BUFFERS) {
15582
uint32_t _flags_save_string = ndr->flags;
15583
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15584
if (r->print_processor_name) {
15585
uint32_t _relative_save_offset;
15586
_relative_save_offset = ndr->offset;
15587
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->print_processor_name));
15588
_mem_save_print_processor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15589
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor_name, 0);
15590
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor_name));
15591
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_name_0, 0);
15592
if (ndr->offset > ndr->relative_highest_offset) {
15593
ndr->relative_highest_offset = ndr->offset;
15595
ndr->offset = _relative_save_offset;
15597
ndr->flags = _flags_save_string;
15600
return NDR_ERR_SUCCESS;
15603
_PUBLIC_ void ndr_print_spoolss_PrintProcessorInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrintProcessorInfo1 *r)
15605
ndr_print_struct(ndr, name, "spoolss_PrintProcessorInfo1");
15606
if (r == NULL) { ndr_print_null(ndr); return; }
15608
ndr_print_ptr(ndr, "print_processor_name", r->print_processor_name);
15610
if (r->print_processor_name) {
15611
ndr_print_string(ndr, "print_processor_name", r->print_processor_name);
15617
_PUBLIC_ size_t ndr_size_spoolss_PrintProcessorInfo1(const struct spoolss_PrintProcessorInfo1 *r, int flags)
15619
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrintProcessorInfo1);
15622
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcessorInfo *r)
15624
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
15626
uint32_t _flags_save_UNION = ndr->flags;
15627
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
15628
if (ndr_flags & NDR_SCALARS) {
15629
uint32_t level = ndr_push_get_switch_value(ndr, r);
15630
NDR_CHECK(ndr_push_union_align(ndr, 5));
15633
NDR_CHECK(ndr_push_align(ndr, 5));
15634
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
15635
NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo1(ndr, NDR_SCALARS, &r->info1));
15643
if (ndr_flags & NDR_BUFFERS) {
15644
uint32_t level = ndr_push_get_switch_value(ndr, r);
15645
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
15648
NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo1(ndr, NDR_BUFFERS, &r->info1));
15656
ndr->flags = _flags_save_UNION;
15658
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
15659
return NDR_ERR_SUCCESS;
15662
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcessorInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrintProcessorInfo *r)
15664
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
15667
uint32_t _flags_save_UNION = ndr->flags;
15668
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
15669
level = ndr_pull_get_switch_value(ndr, r);
15670
if (ndr_flags & NDR_SCALARS) {
15671
NDR_CHECK(ndr_pull_union_align(ndr, 5));
15674
NDR_CHECK(ndr_pull_align(ndr, 5));
15675
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
15676
NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo1(ndr, NDR_SCALARS, &r->info1));
15684
if (ndr_flags & NDR_BUFFERS) {
15685
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
15688
NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo1(ndr, NDR_BUFFERS, &r->info1));
15696
ndr->flags = _flags_save_UNION;
15698
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
15699
return NDR_ERR_SUCCESS;
15702
_PUBLIC_ void ndr_print_spoolss_PrintProcessorInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcessorInfo *r)
15706
uint32_t _flags_save_UNION = ndr->flags;
15707
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
15708
level = ndr_print_get_switch_value(ndr, r);
15709
ndr_print_union(ndr, name, level, "spoolss_PrintProcessorInfo");
15712
ndr_print_spoolss_PrintProcessorInfo1(ndr, "info1", &r->info1);
15719
ndr->flags = _flags_save_UNION;
15723
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorDirectoryInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrintProcessorDirectoryInfo1 *r)
15725
if (ndr_flags & NDR_SCALARS) {
15726
NDR_CHECK(ndr_push_align(ndr, 4));
15728
uint32_t _flags_save_string = ndr->flags;
15729
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15730
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->directory_name));
15731
ndr->flags = _flags_save_string;
15733
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
15735
if (ndr_flags & NDR_BUFFERS) {
15737
return NDR_ERR_SUCCESS;
15740
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcessorDirectoryInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrintProcessorDirectoryInfo1 *r)
15742
if (ndr_flags & NDR_SCALARS) {
15743
NDR_CHECK(ndr_pull_align(ndr, 4));
15745
uint32_t _flags_save_string = ndr->flags;
15746
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15747
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->directory_name));
15748
ndr->flags = _flags_save_string;
15750
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
15752
if (ndr_flags & NDR_BUFFERS) {
15754
return NDR_ERR_SUCCESS;
15757
_PUBLIC_ void ndr_print_spoolss_PrintProcessorDirectoryInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrintProcessorDirectoryInfo1 *r)
15759
ndr_print_struct(ndr, name, "spoolss_PrintProcessorDirectoryInfo1");
15760
if (r == NULL) { ndr_print_null(ndr); return; }
15762
ndr_print_string(ndr, "directory_name", r->directory_name);
15766
_PUBLIC_ size_t ndr_size_spoolss_PrintProcessorDirectoryInfo1(const struct spoolss_PrintProcessorDirectoryInfo1 *r, int flags)
15768
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrintProcessorDirectoryInfo1);
15771
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorDirectoryInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcessorDirectoryInfo *r)
15773
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
15775
uint32_t _flags_save_UNION = ndr->flags;
15776
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
15777
if (ndr_flags & NDR_SCALARS) {
15778
uint32_t level = ndr_push_get_switch_value(ndr, r);
15779
NDR_CHECK(ndr_push_union_align(ndr, 4));
15782
NDR_CHECK(ndr_push_align(ndr, 4));
15783
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
15784
NDR_CHECK(ndr_push_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
15788
NDR_CHECK(ndr_push_align(ndr, 4));
15789
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
15790
NDR_CHECK(ndr_push_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
15795
if (ndr_flags & NDR_BUFFERS) {
15796
uint32_t level = ndr_push_get_switch_value(ndr, r);
15797
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
15807
ndr->flags = _flags_save_UNION;
15809
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
15810
return NDR_ERR_SUCCESS;
15813
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcessorDirectoryInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrintProcessorDirectoryInfo *r)
15815
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
15818
uint32_t _flags_save_UNION = ndr->flags;
15819
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
15820
level = ndr_pull_get_switch_value(ndr, r);
15821
if (ndr_flags & NDR_SCALARS) {
15822
NDR_CHECK(ndr_pull_union_align(ndr, 4));
15825
NDR_CHECK(ndr_pull_align(ndr, 4));
15826
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
15827
NDR_CHECK(ndr_pull_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
15831
NDR_CHECK(ndr_pull_align(ndr, 4));
15832
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
15833
NDR_CHECK(ndr_pull_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
15838
if (ndr_flags & NDR_BUFFERS) {
15839
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
15849
ndr->flags = _flags_save_UNION;
15851
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
15852
return NDR_ERR_SUCCESS;
15855
_PUBLIC_ void ndr_print_spoolss_PrintProcessorDirectoryInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcessorDirectoryInfo *r)
15859
uint32_t _flags_save_UNION = ndr->flags;
15860
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
15861
level = ndr_print_get_switch_value(ndr, r);
15862
ndr_print_union(ndr, name, level, "spoolss_PrintProcessorDirectoryInfo");
15865
ndr_print_spoolss_PrintProcessorDirectoryInfo1(ndr, "info1", &r->info1);
15869
ndr_print_spoolss_PrintProcessorDirectoryInfo1(ndr, "info1", &r->info1);
15873
ndr->flags = _flags_save_UNION;
15877
_PUBLIC_ size_t ndr_size_spoolss_PrintProcessorDirectoryInfo(const union spoolss_PrintProcessorDirectoryInfo *r, uint32_t level, int flags)
15879
flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
15880
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_PrintProcessorDirectoryInfo);
15883
static enum ndr_err_code ndr_push_spoolss_DocumentInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DocumentInfo1 *r)
15885
if (ndr_flags & NDR_SCALARS) {
15886
NDR_CHECK(ndr_push_align(ndr, 5));
15887
NDR_CHECK(ndr_push_unique_ptr(ndr, r->document_name));
15888
NDR_CHECK(ndr_push_unique_ptr(ndr, r->output_file));
15889
NDR_CHECK(ndr_push_unique_ptr(ndr, r->datatype));
15890
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
15892
if (ndr_flags & NDR_BUFFERS) {
15893
if (r->document_name) {
15894
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
15895
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15896
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
15897
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->document_name, ndr_charset_length(r->document_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15899
if (r->output_file) {
15900
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->output_file, CH_UTF16)));
15901
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15902
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->output_file, CH_UTF16)));
15903
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->output_file, ndr_charset_length(r->output_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15906
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->datatype, CH_UTF16)));
15907
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15908
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->datatype, CH_UTF16)));
15909
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->datatype, ndr_charset_length(r->datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15912
return NDR_ERR_SUCCESS;
15915
static enum ndr_err_code ndr_pull_spoolss_DocumentInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DocumentInfo1 *r)
15917
uint32_t _ptr_document_name;
15918
TALLOC_CTX *_mem_save_document_name_0;
15919
uint32_t _ptr_output_file;
15920
TALLOC_CTX *_mem_save_output_file_0;
15921
uint32_t _ptr_datatype;
15922
TALLOC_CTX *_mem_save_datatype_0;
15923
if (ndr_flags & NDR_SCALARS) {
15924
NDR_CHECK(ndr_pull_align(ndr, 5));
15925
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
15926
if (_ptr_document_name) {
15927
NDR_PULL_ALLOC(ndr, r->document_name);
15929
r->document_name = NULL;
15931
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_output_file));
15932
if (_ptr_output_file) {
15933
NDR_PULL_ALLOC(ndr, r->output_file);
15935
r->output_file = NULL;
15937
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
15938
if (_ptr_datatype) {
15939
NDR_PULL_ALLOC(ndr, r->datatype);
15941
r->datatype = NULL;
15943
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
15945
if (ndr_flags & NDR_BUFFERS) {
15946
if (r->document_name) {
15947
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15948
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
15949
NDR_CHECK(ndr_pull_array_size(ndr, &r->document_name));
15950
NDR_CHECK(ndr_pull_array_length(ndr, &r->document_name));
15951
if (ndr_get_array_length(ndr, &r->document_name) > ndr_get_array_size(ndr, &r->document_name)) {
15952
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));
15954
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t)));
15955
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->document_name, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t), CH_UTF16));
15956
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
15958
if (r->output_file) {
15959
_mem_save_output_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
15960
NDR_PULL_SET_MEM_CTX(ndr, r->output_file, 0);
15961
NDR_CHECK(ndr_pull_array_size(ndr, &r->output_file));
15962
NDR_CHECK(ndr_pull_array_length(ndr, &r->output_file));
15963
if (ndr_get_array_length(ndr, &r->output_file) > ndr_get_array_size(ndr, &r->output_file)) {
15964
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));
15966
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->output_file), sizeof(uint16_t)));
15967
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->output_file, ndr_get_array_length(ndr, &r->output_file), sizeof(uint16_t), CH_UTF16));
15968
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_output_file_0, 0);
15971
_mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
15972
NDR_PULL_SET_MEM_CTX(ndr, r->datatype, 0);
15973
NDR_CHECK(ndr_pull_array_size(ndr, &r->datatype));
15974
NDR_CHECK(ndr_pull_array_length(ndr, &r->datatype));
15975
if (ndr_get_array_length(ndr, &r->datatype) > ndr_get_array_size(ndr, &r->datatype)) {
15976
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));
15978
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->datatype), sizeof(uint16_t)));
15979
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->datatype, ndr_get_array_length(ndr, &r->datatype), sizeof(uint16_t), CH_UTF16));
15980
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
15983
return NDR_ERR_SUCCESS;
15986
_PUBLIC_ void ndr_print_spoolss_DocumentInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_DocumentInfo1 *r)
15988
ndr_print_struct(ndr, name, "spoolss_DocumentInfo1");
15989
if (r == NULL) { ndr_print_null(ndr); return; }
15991
ndr_print_ptr(ndr, "document_name", r->document_name);
15993
if (r->document_name) {
15994
ndr_print_string(ndr, "document_name", r->document_name);
15997
ndr_print_ptr(ndr, "output_file", r->output_file);
15999
if (r->output_file) {
16000
ndr_print_string(ndr, "output_file", r->output_file);
16003
ndr_print_ptr(ndr, "datatype", r->datatype);
16006
ndr_print_string(ndr, "datatype", r->datatype);
16012
static enum ndr_err_code ndr_push_spoolss_DocumentInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DocumentInfo *r)
16014
if (ndr_flags & NDR_SCALARS) {
16015
uint32_t level = ndr_push_get_switch_value(ndr, r);
16016
NDR_CHECK(ndr_push_union_align(ndr, 5));
16017
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
16018
NDR_CHECK(ndr_push_union_align(ndr, 5));
16021
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
16035
if (ndr_flags & NDR_BUFFERS) {
16036
uint32_t level = ndr_push_get_switch_value(ndr, r);
16040
NDR_CHECK(ndr_push_spoolss_DocumentInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
16055
return NDR_ERR_SUCCESS;
16058
static enum ndr_err_code ndr_pull_spoolss_DocumentInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_DocumentInfo *r)
16062
TALLOC_CTX *_mem_save_info1_0;
16063
level = ndr_pull_get_switch_value(ndr, r);
16064
if (ndr_flags & NDR_SCALARS) {
16065
NDR_CHECK(ndr_pull_union_align(ndr, 5));
16066
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
16067
if (_level != level) {
16068
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
16070
NDR_CHECK(ndr_pull_union_align(ndr, 5));
16073
uint32_t _ptr_info1;
16074
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
16076
NDR_PULL_ALLOC(ndr, r->info1);
16093
if (ndr_flags & NDR_BUFFERS) {
16097
_mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
16098
NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
16099
NDR_CHECK(ndr_pull_spoolss_DocumentInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
16100
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
16115
return NDR_ERR_SUCCESS;
16118
_PUBLIC_ void ndr_print_spoolss_DocumentInfo(struct ndr_print *ndr, const char *name, const union spoolss_DocumentInfo *r)
16121
level = ndr_print_get_switch_value(ndr, r);
16122
ndr_print_union(ndr, name, level, "spoolss_DocumentInfo");
16125
ndr_print_ptr(ndr, "info1", r->info1);
16128
ndr_print_spoolss_DocumentInfo1(ndr, "info1", r->info1);
16145
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_OSVersion(struct ndr_push *ndr, int ndr_flags, const struct spoolss_OSVersion *r)
16147
if (ndr_flags & NDR_SCALARS) {
16148
NDR_CHECK(ndr_push_align(ndr, 4));
16149
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_spoolss_OSVersion(r, ndr->flags)));
16150
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->major));
16151
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minor));
16152
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build));
16153
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
16155
uint32_t _flags_save_string = ndr->flags;
16156
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16158
struct ndr_push *_ndr_extra_string;
16159
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
16160
NDR_CHECK(ndr_push_string(_ndr_extra_string, NDR_SCALARS, r->extra_string));
16161
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_extra_string, 0, 256));
16163
ndr->flags = _flags_save_string;
16165
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
16167
if (ndr_flags & NDR_BUFFERS) {
16169
return NDR_ERR_SUCCESS;
16172
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OSVersion(struct ndr_pull *ndr, int ndr_flags, struct spoolss_OSVersion *r)
16174
if (ndr_flags & NDR_SCALARS) {
16175
NDR_CHECK(ndr_pull_align(ndr, 4));
16176
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size));
16177
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->major));
16178
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minor));
16179
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build));
16180
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->platform_id));
16182
uint32_t _flags_save_string = ndr->flags;
16183
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16185
struct ndr_pull *_ndr_extra_string;
16186
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
16187
NDR_CHECK(ndr_pull_string(_ndr_extra_string, NDR_SCALARS, &r->extra_string));
16188
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_extra_string, 0, 256));
16190
ndr->flags = _flags_save_string;
16192
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
16194
if (ndr_flags & NDR_BUFFERS) {
16196
return NDR_ERR_SUCCESS;
16199
_PUBLIC_ void ndr_print_spoolss_OSVersion(struct ndr_print *ndr, const char *name, const struct spoolss_OSVersion *r)
16201
ndr_print_struct(ndr, name, "spoolss_OSVersion");
16202
if (r == NULL) { ndr_print_null(ndr); return; }
16204
ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_spoolss_OSVersion(r, ndr->flags):r->_ndr_size);
16205
ndr_print_uint32(ndr, "major", r->major);
16206
ndr_print_uint32(ndr, "minor", r->minor);
16207
ndr_print_uint32(ndr, "build", r->build);
16208
ndr_print_uint32(ndr, "platform_id", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->platform_id);
16209
ndr_print_string(ndr, "extra_string", r->extra_string);
16213
_PUBLIC_ size_t ndr_size_spoolss_OSVersion(const struct spoolss_OSVersion *r, int flags)
16215
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_OSVersion);
16218
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_OSVersionEx(struct ndr_push *ndr, int ndr_flags, const struct spoolss_OSVersionEx *r)
16220
if (ndr_flags & NDR_SCALARS) {
16221
NDR_CHECK(ndr_push_align(ndr, 4));
16222
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_spoolss_OSVersionEx(r, ndr->flags)));
16223
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->major));
16224
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minor));
16225
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build));
16226
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
16228
uint32_t _flags_save_string = ndr->flags;
16229
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16231
struct ndr_push *_ndr_extra_string;
16232
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
16233
NDR_CHECK(ndr_push_string(_ndr_extra_string, NDR_SCALARS, r->extra_string));
16234
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_extra_string, 0, 256));
16236
ndr->flags = _flags_save_string;
16238
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->service_pack_major));
16239
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->service_pack_minor));
16240
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->suite_mask));
16241
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->product_type));
16242
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->reserved));
16243
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
16245
if (ndr_flags & NDR_BUFFERS) {
16247
return NDR_ERR_SUCCESS;
16250
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OSVersionEx(struct ndr_pull *ndr, int ndr_flags, struct spoolss_OSVersionEx *r)
16252
if (ndr_flags & NDR_SCALARS) {
16253
NDR_CHECK(ndr_pull_align(ndr, 4));
16254
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size));
16255
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->major));
16256
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minor));
16257
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build));
16258
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->platform_id));
16260
uint32_t _flags_save_string = ndr->flags;
16261
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16263
struct ndr_pull *_ndr_extra_string;
16264
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
16265
NDR_CHECK(ndr_pull_string(_ndr_extra_string, NDR_SCALARS, &r->extra_string));
16266
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_extra_string, 0, 256));
16268
ndr->flags = _flags_save_string;
16270
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->service_pack_major));
16271
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->service_pack_minor));
16272
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->suite_mask));
16273
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->product_type));
16274
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->reserved));
16275
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
16277
if (ndr_flags & NDR_BUFFERS) {
16279
return NDR_ERR_SUCCESS;
16282
_PUBLIC_ void ndr_print_spoolss_OSVersionEx(struct ndr_print *ndr, const char *name, const struct spoolss_OSVersionEx *r)
16284
ndr_print_struct(ndr, name, "spoolss_OSVersionEx");
16285
if (r == NULL) { ndr_print_null(ndr); return; }
16287
ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_spoolss_OSVersionEx(r, ndr->flags):r->_ndr_size);
16288
ndr_print_uint32(ndr, "major", r->major);
16289
ndr_print_uint32(ndr, "minor", r->minor);
16290
ndr_print_uint32(ndr, "build", r->build);
16291
ndr_print_uint32(ndr, "platform_id", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->platform_id);
16292
ndr_print_string(ndr, "extra_string", r->extra_string);
16293
ndr_print_uint16(ndr, "service_pack_major", r->service_pack_major);
16294
ndr_print_uint16(ndr, "service_pack_minor", r->service_pack_minor);
16295
ndr_print_uint16(ndr, "suite_mask", r->suite_mask);
16296
ndr_print_uint8(ndr, "product_type", r->product_type);
16297
ndr_print_uint8(ndr, "reserved", r->reserved);
16301
_PUBLIC_ size_t ndr_size_spoolss_OSVersionEx(const struct spoolss_OSVersionEx *r, int flags)
16303
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_OSVersionEx);
16306
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterData(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrinterData *r)
16308
if (ndr_flags & NDR_SCALARS) {
16309
uint32_t level = ndr_push_get_switch_value(ndr, r);
16310
NDR_CHECK(ndr_push_union_align(ndr, 4));
16317
uint32_t _flags_save_string = ndr->flags;
16318
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16319
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string));
16320
ndr->flags = _flags_save_string;
16326
uint32_t _flags_save_DATA_BLOB = ndr->flags;
16327
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
16328
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
16329
ndr->flags = _flags_save_DATA_BLOB;
16334
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->value));
16337
case REG_MULTI_SZ: {
16339
uint32_t _flags_save_string_array = ndr->flags;
16340
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16341
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string_array));
16342
ndr->flags = _flags_save_string_array;
16348
uint32_t _flags_save_DATA_BLOB = ndr->flags;
16349
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
16350
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data));
16351
ndr->flags = _flags_save_DATA_BLOB;
16357
if (ndr_flags & NDR_BUFFERS) {
16358
uint32_t level = ndr_push_get_switch_value(ndr, r);
16380
return NDR_ERR_SUCCESS;
16383
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterData(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrinterData *r)
16386
level = ndr_pull_get_switch_value(ndr, r);
16387
if (ndr_flags & NDR_SCALARS) {
16388
NDR_CHECK(ndr_pull_union_align(ndr, 4));
16395
uint32_t _flags_save_string = ndr->flags;
16396
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16397
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string));
16398
ndr->flags = _flags_save_string;
16404
uint32_t _flags_save_DATA_BLOB = ndr->flags;
16405
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
16406
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
16407
ndr->flags = _flags_save_DATA_BLOB;
16412
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value));
16415
case REG_MULTI_SZ: {
16417
uint32_t _flags_save_string_array = ndr->flags;
16418
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16419
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string_array));
16420
ndr->flags = _flags_save_string_array;
16426
uint32_t _flags_save_DATA_BLOB = ndr->flags;
16427
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
16428
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data));
16429
ndr->flags = _flags_save_DATA_BLOB;
16435
if (ndr_flags & NDR_BUFFERS) {
16457
return NDR_ERR_SUCCESS;
16460
_PUBLIC_ void ndr_print_spoolss_PrinterData(struct ndr_print *ndr, const char *name, const union spoolss_PrinterData *r)
16463
level = ndr_print_get_switch_value(ndr, r);
16464
ndr_print_union(ndr, name, level, "spoolss_PrinterData");
16470
ndr_print_string(ndr, "string", r->string);
16474
ndr_print_DATA_BLOB(ndr, "binary", r->binary);
16478
ndr_print_uint32(ndr, "value", r->value);
16482
ndr_print_string_array(ndr, "string_array", r->string_array);
16486
ndr_print_DATA_BLOB(ndr, "data", r->data);
16492
static enum ndr_err_code ndr_push_spoolss_FormFlags(struct ndr_push *ndr, int ndr_flags, enum spoolss_FormFlags r)
16494
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
16495
return NDR_ERR_SUCCESS;
16498
static enum ndr_err_code ndr_pull_spoolss_FormFlags(struct ndr_pull *ndr, int ndr_flags, enum spoolss_FormFlags *r)
16501
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
16503
return NDR_ERR_SUCCESS;
16506
_PUBLIC_ void ndr_print_spoolss_FormFlags(struct ndr_print *ndr, const char *name, enum spoolss_FormFlags r)
16508
const char *val = NULL;
16511
case SPOOLSS_FORM_USER: val = "SPOOLSS_FORM_USER"; break;
16512
case SPOOLSS_FORM_BUILTIN: val = "SPOOLSS_FORM_BUILTIN"; break;
16513
case SPOOLSS_FORM_PRINTER: val = "SPOOLSS_FORM_PRINTER"; break;
16515
ndr_print_enum(ndr, name, "ENUM", val, r);
16518
static enum ndr_err_code ndr_push_spoolss_FormSize(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormSize *r)
16520
if (ndr_flags & NDR_SCALARS) {
16521
NDR_CHECK(ndr_push_align(ndr, 4));
16522
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->width));
16523
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->height));
16524
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
16526
if (ndr_flags & NDR_BUFFERS) {
16528
return NDR_ERR_SUCCESS;
16531
static enum ndr_err_code ndr_pull_spoolss_FormSize(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormSize *r)
16533
if (ndr_flags & NDR_SCALARS) {
16534
NDR_CHECK(ndr_pull_align(ndr, 4));
16535
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->width));
16536
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->height));
16537
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
16539
if (ndr_flags & NDR_BUFFERS) {
16541
return NDR_ERR_SUCCESS;
16544
_PUBLIC_ void ndr_print_spoolss_FormSize(struct ndr_print *ndr, const char *name, const struct spoolss_FormSize *r)
16546
ndr_print_struct(ndr, name, "spoolss_FormSize");
16547
if (r == NULL) { ndr_print_null(ndr); return; }
16549
ndr_print_uint32(ndr, "width", r->width);
16550
ndr_print_uint32(ndr, "height", r->height);
16554
static enum ndr_err_code ndr_push_spoolss_FormArea(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormArea *r)
16556
if (ndr_flags & NDR_SCALARS) {
16557
NDR_CHECK(ndr_push_align(ndr, 4));
16558
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->left));
16559
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->top));
16560
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->right));
16561
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bottom));
16562
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
16564
if (ndr_flags & NDR_BUFFERS) {
16566
return NDR_ERR_SUCCESS;
16569
static enum ndr_err_code ndr_pull_spoolss_FormArea(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormArea *r)
16571
if (ndr_flags & NDR_SCALARS) {
16572
NDR_CHECK(ndr_pull_align(ndr, 4));
16573
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->left));
16574
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->top));
16575
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->right));
16576
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bottom));
16577
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
16579
if (ndr_flags & NDR_BUFFERS) {
16581
return NDR_ERR_SUCCESS;
16584
_PUBLIC_ void ndr_print_spoolss_FormArea(struct ndr_print *ndr, const char *name, const struct spoolss_FormArea *r)
16586
ndr_print_struct(ndr, name, "spoolss_FormArea");
16587
if (r == NULL) { ndr_print_null(ndr); return; }
16589
ndr_print_uint32(ndr, "left", r->left);
16590
ndr_print_uint32(ndr, "top", r->top);
16591
ndr_print_uint32(ndr, "right", r->right);
16592
ndr_print_uint32(ndr, "bottom", r->bottom);
16596
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormInfo1 *r)
16598
if (ndr_flags & NDR_SCALARS) {
16599
NDR_CHECK(ndr_push_align(ndr, 5));
16600
NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags));
16602
uint32_t _flags_save_string = ndr->flags;
16603
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16604
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->form_name));
16605
ndr->flags = _flags_save_string;
16607
NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
16608
NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
16609
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
16611
if (ndr_flags & NDR_BUFFERS) {
16613
uint32_t _flags_save_string = ndr->flags;
16614
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16615
if (r->form_name) {
16616
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->form_name));
16617
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->form_name));
16618
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->form_name));
16620
ndr->flags = _flags_save_string;
16623
return NDR_ERR_SUCCESS;
16626
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FormInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormInfo1 *r)
16628
uint32_t _ptr_form_name;
16629
TALLOC_CTX *_mem_save_form_name_0;
16630
if (ndr_flags & NDR_SCALARS) {
16631
NDR_CHECK(ndr_pull_align(ndr, 5));
16632
NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags));
16634
uint32_t _flags_save_string = ndr->flags;
16635
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16636
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name));
16637
if (_ptr_form_name) {
16638
NDR_PULL_ALLOC(ndr, r->form_name);
16639
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->form_name, _ptr_form_name));
16641
r->form_name = NULL;
16643
ndr->flags = _flags_save_string;
16645
NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
16646
NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
16647
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
16649
if (ndr_flags & NDR_BUFFERS) {
16651
uint32_t _flags_save_string = ndr->flags;
16652
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16653
if (r->form_name) {
16654
uint32_t _relative_save_offset;
16655
_relative_save_offset = ndr->offset;
16656
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->form_name));
16657
_mem_save_form_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16658
NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0);
16659
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->form_name));
16660
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0);
16661
if (ndr->offset > ndr->relative_highest_offset) {
16662
ndr->relative_highest_offset = ndr->offset;
16664
ndr->offset = _relative_save_offset;
16666
ndr->flags = _flags_save_string;
16669
return NDR_ERR_SUCCESS;
16672
_PUBLIC_ void ndr_print_spoolss_FormInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_FormInfo1 *r)
16674
ndr_print_struct(ndr, name, "spoolss_FormInfo1");
16675
if (r == NULL) { ndr_print_null(ndr); return; }
16677
ndr_print_spoolss_FormFlags(ndr, "flags", r->flags);
16678
ndr_print_ptr(ndr, "form_name", r->form_name);
16680
if (r->form_name) {
16681
ndr_print_string(ndr, "form_name", r->form_name);
16684
ndr_print_spoolss_FormSize(ndr, "size", &r->size);
16685
ndr_print_spoolss_FormArea(ndr, "area", &r->area);
16689
_PUBLIC_ size_t ndr_size_spoolss_FormInfo1(const struct spoolss_FormInfo1 *r, int flags)
16691
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_FormInfo1);
16694
static enum ndr_err_code ndr_push_spoolss_FormStringType(struct ndr_push *ndr, int ndr_flags, uint32_t r)
16696
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
16697
return NDR_ERR_SUCCESS;
16700
static enum ndr_err_code ndr_pull_spoolss_FormStringType(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
16703
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
16705
return NDR_ERR_SUCCESS;
16708
_PUBLIC_ void ndr_print_spoolss_FormStringType(struct ndr_print *ndr, const char *name, uint32_t r)
16710
ndr_print_uint32(ndr, name, r);
16712
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_FORM_STRING_TYPE_NONE", SPOOLSS_FORM_STRING_TYPE_NONE, r);
16713
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_FORM_STRING_TYPE_MUI_DLL", SPOOLSS_FORM_STRING_TYPE_MUI_DLL, r);
16714
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_FORM_STRING_TYPE_LANG_PAIR", SPOOLSS_FORM_STRING_TYPE_LANG_PAIR, r);
16718
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormInfo2 *r)
16720
if (ndr_flags & NDR_SCALARS) {
16721
NDR_CHECK(ndr_push_align(ndr, 5));
16722
NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags));
16724
uint32_t _flags_save_string = ndr->flags;
16725
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16726
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->form_name));
16727
ndr->flags = _flags_save_string;
16729
NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
16730
NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
16732
uint32_t _flags_save_string = ndr->flags;
16733
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
16734
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->keyword));
16735
ndr->flags = _flags_save_string;
16737
NDR_CHECK(ndr_push_spoolss_FormStringType(ndr, NDR_SCALARS, r->string_type));
16739
uint32_t _flags_save_string = ndr->flags;
16740
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16741
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->mui_dll));
16742
ndr->flags = _flags_save_string;
16744
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ressource_id));
16746
uint32_t _flags_save_string = ndr->flags;
16747
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16748
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->display_name));
16749
ndr->flags = _flags_save_string;
16751
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lang_id));
16752
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unused));
16753
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
16755
if (ndr_flags & NDR_BUFFERS) {
16757
uint32_t _flags_save_string = ndr->flags;
16758
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16759
if (r->form_name) {
16760
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->form_name));
16761
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->form_name));
16762
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->form_name));
16764
ndr->flags = _flags_save_string;
16767
uint32_t _flags_save_string = ndr->flags;
16768
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
16770
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->keyword));
16771
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->keyword));
16772
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->keyword));
16774
ndr->flags = _flags_save_string;
16777
uint32_t _flags_save_string = ndr->flags;
16778
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16780
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->mui_dll));
16781
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->mui_dll));
16782
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->mui_dll));
16784
ndr->flags = _flags_save_string;
16787
uint32_t _flags_save_string = ndr->flags;
16788
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16789
if (r->display_name) {
16790
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->display_name));
16791
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->display_name));
16792
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->display_name));
16794
ndr->flags = _flags_save_string;
16797
return NDR_ERR_SUCCESS;
16800
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FormInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormInfo2 *r)
16802
uint32_t _ptr_form_name;
16803
TALLOC_CTX *_mem_save_form_name_0;
16804
uint32_t _ptr_keyword;
16805
TALLOC_CTX *_mem_save_keyword_0;
16806
uint32_t _ptr_mui_dll;
16807
TALLOC_CTX *_mem_save_mui_dll_0;
16808
uint32_t _ptr_display_name;
16809
TALLOC_CTX *_mem_save_display_name_0;
16810
if (ndr_flags & NDR_SCALARS) {
16811
NDR_CHECK(ndr_pull_align(ndr, 5));
16812
NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags));
16814
uint32_t _flags_save_string = ndr->flags;
16815
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16816
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name));
16817
if (_ptr_form_name) {
16818
NDR_PULL_ALLOC(ndr, r->form_name);
16819
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->form_name, _ptr_form_name));
16821
r->form_name = NULL;
16823
ndr->flags = _flags_save_string;
16825
NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
16826
NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
16828
uint32_t _flags_save_string = ndr->flags;
16829
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
16830
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_keyword));
16831
if (_ptr_keyword) {
16832
NDR_PULL_ALLOC(ndr, r->keyword);
16833
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->keyword, _ptr_keyword));
16837
ndr->flags = _flags_save_string;
16839
NDR_CHECK(ndr_pull_spoolss_FormStringType(ndr, NDR_SCALARS, &r->string_type));
16841
uint32_t _flags_save_string = ndr->flags;
16842
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16843
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mui_dll));
16844
if (_ptr_mui_dll) {
16845
NDR_PULL_ALLOC(ndr, r->mui_dll);
16846
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->mui_dll, _ptr_mui_dll));
16850
ndr->flags = _flags_save_string;
16852
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ressource_id));
16854
uint32_t _flags_save_string = ndr->flags;
16855
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16856
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name));
16857
if (_ptr_display_name) {
16858
NDR_PULL_ALLOC(ndr, r->display_name);
16859
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->display_name, _ptr_display_name));
16861
r->display_name = NULL;
16863
ndr->flags = _flags_save_string;
16865
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lang_id));
16866
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unused));
16867
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
16869
if (ndr_flags & NDR_BUFFERS) {
16871
uint32_t _flags_save_string = ndr->flags;
16872
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16873
if (r->form_name) {
16874
uint32_t _relative_save_offset;
16875
_relative_save_offset = ndr->offset;
16876
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->form_name));
16877
_mem_save_form_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16878
NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0);
16879
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->form_name));
16880
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0);
16881
if (ndr->offset > ndr->relative_highest_offset) {
16882
ndr->relative_highest_offset = ndr->offset;
16884
ndr->offset = _relative_save_offset;
16886
ndr->flags = _flags_save_string;
16889
uint32_t _flags_save_string = ndr->flags;
16890
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
16892
uint32_t _relative_save_offset;
16893
_relative_save_offset = ndr->offset;
16894
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->keyword));
16895
_mem_save_keyword_0 = NDR_PULL_GET_MEM_CTX(ndr);
16896
NDR_PULL_SET_MEM_CTX(ndr, r->keyword, 0);
16897
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->keyword));
16898
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keyword_0, 0);
16899
if (ndr->offset > ndr->relative_highest_offset) {
16900
ndr->relative_highest_offset = ndr->offset;
16902
ndr->offset = _relative_save_offset;
16904
ndr->flags = _flags_save_string;
16907
uint32_t _flags_save_string = ndr->flags;
16908
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16910
uint32_t _relative_save_offset;
16911
_relative_save_offset = ndr->offset;
16912
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->mui_dll));
16913
_mem_save_mui_dll_0 = NDR_PULL_GET_MEM_CTX(ndr);
16914
NDR_PULL_SET_MEM_CTX(ndr, r->mui_dll, 0);
16915
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->mui_dll));
16916
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mui_dll_0, 0);
16917
if (ndr->offset > ndr->relative_highest_offset) {
16918
ndr->relative_highest_offset = ndr->offset;
16920
ndr->offset = _relative_save_offset;
16922
ndr->flags = _flags_save_string;
16925
uint32_t _flags_save_string = ndr->flags;
16926
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16927
if (r->display_name) {
16928
uint32_t _relative_save_offset;
16929
_relative_save_offset = ndr->offset;
16930
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->display_name));
16931
_mem_save_display_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16932
NDR_PULL_SET_MEM_CTX(ndr, r->display_name, 0);
16933
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->display_name));
16934
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, 0);
16935
if (ndr->offset > ndr->relative_highest_offset) {
16936
ndr->relative_highest_offset = ndr->offset;
16938
ndr->offset = _relative_save_offset;
16940
ndr->flags = _flags_save_string;
16943
return NDR_ERR_SUCCESS;
16946
_PUBLIC_ void ndr_print_spoolss_FormInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_FormInfo2 *r)
16948
ndr_print_struct(ndr, name, "spoolss_FormInfo2");
16949
if (r == NULL) { ndr_print_null(ndr); return; }
16951
ndr_print_spoolss_FormFlags(ndr, "flags", r->flags);
16952
ndr_print_ptr(ndr, "form_name", r->form_name);
16954
if (r->form_name) {
16955
ndr_print_string(ndr, "form_name", r->form_name);
16958
ndr_print_spoolss_FormSize(ndr, "size", &r->size);
16959
ndr_print_spoolss_FormArea(ndr, "area", &r->area);
16960
ndr_print_ptr(ndr, "keyword", r->keyword);
16963
ndr_print_string(ndr, "keyword", r->keyword);
16966
ndr_print_spoolss_FormStringType(ndr, "string_type", r->string_type);
16967
ndr_print_ptr(ndr, "mui_dll", r->mui_dll);
16970
ndr_print_string(ndr, "mui_dll", r->mui_dll);
16973
ndr_print_uint32(ndr, "ressource_id", r->ressource_id);
16974
ndr_print_ptr(ndr, "display_name", r->display_name);
16976
if (r->display_name) {
16977
ndr_print_string(ndr, "display_name", r->display_name);
16980
ndr_print_uint16(ndr, "lang_id", r->lang_id);
16981
ndr_print_uint16(ndr, "unused", r->unused);
16985
_PUBLIC_ size_t ndr_size_spoolss_FormInfo2(const struct spoolss_FormInfo2 *r, int flags)
16987
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_FormInfo2);
16990
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_FormInfo *r)
16992
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
16994
uint32_t _flags_save_UNION = ndr->flags;
16995
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
16996
if (ndr_flags & NDR_SCALARS) {
16997
uint32_t level = ndr_push_get_switch_value(ndr, r);
16998
NDR_CHECK(ndr_push_union_align(ndr, 5));
17001
NDR_CHECK(ndr_push_align(ndr, 5));
17002
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
17003
NDR_CHECK(ndr_push_spoolss_FormInfo1(ndr, NDR_SCALARS, &r->info1));
17007
NDR_CHECK(ndr_push_align(ndr, 5));
17008
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
17009
NDR_CHECK(ndr_push_spoolss_FormInfo2(ndr, NDR_SCALARS, &r->info2));
17017
if (ndr_flags & NDR_BUFFERS) {
17018
uint32_t level = ndr_push_get_switch_value(ndr, r);
17019
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
17022
NDR_CHECK(ndr_push_spoolss_FormInfo1(ndr, NDR_BUFFERS, &r->info1));
17026
NDR_CHECK(ndr_push_spoolss_FormInfo2(ndr, NDR_BUFFERS, &r->info2));
17034
ndr->flags = _flags_save_UNION;
17036
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
17037
return NDR_ERR_SUCCESS;
17040
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FormInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_FormInfo *r)
17042
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
17045
uint32_t _flags_save_UNION = ndr->flags;
17046
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
17047
level = ndr_pull_get_switch_value(ndr, r);
17048
if (ndr_flags & NDR_SCALARS) {
17049
NDR_CHECK(ndr_pull_union_align(ndr, 5));
17052
NDR_CHECK(ndr_pull_align(ndr, 5));
17053
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
17054
NDR_CHECK(ndr_pull_spoolss_FormInfo1(ndr, NDR_SCALARS, &r->info1));
17058
NDR_CHECK(ndr_pull_align(ndr, 5));
17059
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
17060
NDR_CHECK(ndr_pull_spoolss_FormInfo2(ndr, NDR_SCALARS, &r->info2));
17068
if (ndr_flags & NDR_BUFFERS) {
17069
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
17072
NDR_CHECK(ndr_pull_spoolss_FormInfo1(ndr, NDR_BUFFERS, &r->info1));
17076
NDR_CHECK(ndr_pull_spoolss_FormInfo2(ndr, NDR_BUFFERS, &r->info2));
17084
ndr->flags = _flags_save_UNION;
17086
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
17087
return NDR_ERR_SUCCESS;
17090
_PUBLIC_ void ndr_print_spoolss_FormInfo(struct ndr_print *ndr, const char *name, const union spoolss_FormInfo *r)
17094
uint32_t _flags_save_UNION = ndr->flags;
17095
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
17096
level = ndr_print_get_switch_value(ndr, r);
17097
ndr_print_union(ndr, name, level, "spoolss_FormInfo");
17100
ndr_print_spoolss_FormInfo1(ndr, "info1", &r->info1);
17104
ndr_print_spoolss_FormInfo2(ndr, "info2", &r->info2);
17111
ndr->flags = _flags_save_UNION;
17115
_PUBLIC_ size_t ndr_size_spoolss_FormInfo(const union spoolss_FormInfo *r, uint32_t level, int flags)
17117
flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
17118
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_FormInfo);
17121
static enum ndr_err_code ndr_push_spoolss_AddFormInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddFormInfo1 *r)
17123
if (ndr_flags & NDR_SCALARS) {
17124
NDR_CHECK(ndr_push_align(ndr, 5));
17125
NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags));
17126
NDR_CHECK(ndr_push_unique_ptr(ndr, r->form_name));
17127
NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
17128
NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
17129
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
17131
if (ndr_flags & NDR_BUFFERS) {
17132
if (r->form_name) {
17133
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->form_name, CH_UTF16)));
17134
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
17135
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->form_name, CH_UTF16)));
17136
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->form_name, ndr_charset_length(r->form_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
17139
return NDR_ERR_SUCCESS;
17142
static enum ndr_err_code ndr_pull_spoolss_AddFormInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddFormInfo1 *r)
17144
uint32_t _ptr_form_name;
17145
TALLOC_CTX *_mem_save_form_name_0;
17146
if (ndr_flags & NDR_SCALARS) {
17147
NDR_CHECK(ndr_pull_align(ndr, 5));
17148
NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags));
17149
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name));
17150
if (_ptr_form_name) {
17151
NDR_PULL_ALLOC(ndr, r->form_name);
17153
r->form_name = NULL;
17155
NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
17156
NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
17157
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
17159
if (ndr_flags & NDR_BUFFERS) {
17160
if (r->form_name) {
17161
_mem_save_form_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17162
NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0);
17163
NDR_CHECK(ndr_pull_array_size(ndr, &r->form_name));
17164
NDR_CHECK(ndr_pull_array_length(ndr, &r->form_name));
17165
if (ndr_get_array_length(ndr, &r->form_name) > ndr_get_array_size(ndr, &r->form_name)) {
17166
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));
17168
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->form_name), sizeof(uint16_t)));
17169
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->form_name, ndr_get_array_length(ndr, &r->form_name), sizeof(uint16_t), CH_UTF16));
17170
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0);
17173
return NDR_ERR_SUCCESS;
17176
_PUBLIC_ void ndr_print_spoolss_AddFormInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_AddFormInfo1 *r)
17178
ndr_print_struct(ndr, name, "spoolss_AddFormInfo1");
17179
if (r == NULL) { ndr_print_null(ndr); return; }
17181
ndr_print_spoolss_FormFlags(ndr, "flags", r->flags);
17182
ndr_print_ptr(ndr, "form_name", r->form_name);
17184
if (r->form_name) {
17185
ndr_print_string(ndr, "form_name", r->form_name);
17188
ndr_print_spoolss_FormSize(ndr, "size", &r->size);
17189
ndr_print_spoolss_FormArea(ndr, "area", &r->area);
17193
static enum ndr_err_code ndr_push_spoolss_AddFormInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddFormInfo2 *r)
17195
if (ndr_flags & NDR_SCALARS) {
17196
NDR_CHECK(ndr_push_align(ndr, 5));
17197
NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags));
17198
NDR_CHECK(ndr_push_unique_ptr(ndr, r->form_name));
17199
NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
17200
NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
17201
NDR_CHECK(ndr_push_unique_ptr(ndr, r->keyword));
17202
NDR_CHECK(ndr_push_spoolss_FormStringType(ndr, NDR_SCALARS, r->string_type));
17203
NDR_CHECK(ndr_push_unique_ptr(ndr, r->mui_dll));
17204
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ressource_id));
17205
NDR_CHECK(ndr_push_unique_ptr(ndr, r->display_name));
17206
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lang_id));
17207
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
17209
if (ndr_flags & NDR_BUFFERS) {
17210
if (r->form_name) {
17211
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->form_name, CH_UTF16)));
17212
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
17213
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->form_name, CH_UTF16)));
17214
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->form_name, ndr_charset_length(r->form_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
17217
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->keyword, CH_DOS)));
17218
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
17219
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->keyword, CH_DOS)));
17220
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->keyword, ndr_charset_length(r->keyword, CH_DOS), sizeof(uint8_t), CH_DOS));
17223
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->mui_dll, CH_UTF16)));
17224
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
17225
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->mui_dll, CH_UTF16)));
17226
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->mui_dll, ndr_charset_length(r->mui_dll, CH_UTF16), sizeof(uint16_t), CH_UTF16));
17228
if (r->display_name) {
17229
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->display_name, CH_UTF16)));
17230
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
17231
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->display_name, CH_UTF16)));
17232
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->display_name, ndr_charset_length(r->display_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
17235
return NDR_ERR_SUCCESS;
17238
static enum ndr_err_code ndr_pull_spoolss_AddFormInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddFormInfo2 *r)
17240
uint32_t _ptr_form_name;
17241
TALLOC_CTX *_mem_save_form_name_0;
17242
uint32_t _ptr_keyword;
17243
TALLOC_CTX *_mem_save_keyword_0;
17244
uint32_t _ptr_mui_dll;
17245
TALLOC_CTX *_mem_save_mui_dll_0;
17246
uint32_t _ptr_display_name;
17247
TALLOC_CTX *_mem_save_display_name_0;
17248
if (ndr_flags & NDR_SCALARS) {
17249
NDR_CHECK(ndr_pull_align(ndr, 5));
17250
NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags));
17251
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name));
17252
if (_ptr_form_name) {
17253
NDR_PULL_ALLOC(ndr, r->form_name);
17255
r->form_name = NULL;
17257
NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
17258
NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
17259
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_keyword));
17260
if (_ptr_keyword) {
17261
NDR_PULL_ALLOC(ndr, r->keyword);
17265
NDR_CHECK(ndr_pull_spoolss_FormStringType(ndr, NDR_SCALARS, &r->string_type));
17266
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mui_dll));
17267
if (_ptr_mui_dll) {
17268
NDR_PULL_ALLOC(ndr, r->mui_dll);
17272
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ressource_id));
17273
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name));
17274
if (_ptr_display_name) {
17275
NDR_PULL_ALLOC(ndr, r->display_name);
17277
r->display_name = NULL;
17279
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lang_id));
17280
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
17282
if (ndr_flags & NDR_BUFFERS) {
17283
if (r->form_name) {
17284
_mem_save_form_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17285
NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0);
17286
NDR_CHECK(ndr_pull_array_size(ndr, &r->form_name));
17287
NDR_CHECK(ndr_pull_array_length(ndr, &r->form_name));
17288
if (ndr_get_array_length(ndr, &r->form_name) > ndr_get_array_size(ndr, &r->form_name)) {
17289
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));
17291
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->form_name), sizeof(uint16_t)));
17292
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->form_name, ndr_get_array_length(ndr, &r->form_name), sizeof(uint16_t), CH_UTF16));
17293
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0);
17296
_mem_save_keyword_0 = NDR_PULL_GET_MEM_CTX(ndr);
17297
NDR_PULL_SET_MEM_CTX(ndr, r->keyword, 0);
17298
NDR_CHECK(ndr_pull_array_size(ndr, &r->keyword));
17299
NDR_CHECK(ndr_pull_array_length(ndr, &r->keyword));
17300
if (ndr_get_array_length(ndr, &r->keyword) > ndr_get_array_size(ndr, &r->keyword)) {
17301
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));
17303
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->keyword), sizeof(uint8_t)));
17304
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->keyword, ndr_get_array_length(ndr, &r->keyword), sizeof(uint8_t), CH_DOS));
17305
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keyword_0, 0);
17308
_mem_save_mui_dll_0 = NDR_PULL_GET_MEM_CTX(ndr);
17309
NDR_PULL_SET_MEM_CTX(ndr, r->mui_dll, 0);
17310
NDR_CHECK(ndr_pull_array_size(ndr, &r->mui_dll));
17311
NDR_CHECK(ndr_pull_array_length(ndr, &r->mui_dll));
17312
if (ndr_get_array_length(ndr, &r->mui_dll) > ndr_get_array_size(ndr, &r->mui_dll)) {
17313
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));
17315
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->mui_dll), sizeof(uint16_t)));
17316
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->mui_dll, ndr_get_array_length(ndr, &r->mui_dll), sizeof(uint16_t), CH_UTF16));
17317
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mui_dll_0, 0);
17319
if (r->display_name) {
17320
_mem_save_display_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17321
NDR_PULL_SET_MEM_CTX(ndr, r->display_name, 0);
17322
NDR_CHECK(ndr_pull_array_size(ndr, &r->display_name));
17323
NDR_CHECK(ndr_pull_array_length(ndr, &r->display_name));
17324
if (ndr_get_array_length(ndr, &r->display_name) > ndr_get_array_size(ndr, &r->display_name)) {
17325
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));
17327
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->display_name), sizeof(uint16_t)));
17328
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->display_name, ndr_get_array_length(ndr, &r->display_name), sizeof(uint16_t), CH_UTF16));
17329
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, 0);
17332
return NDR_ERR_SUCCESS;
17335
_PUBLIC_ void ndr_print_spoolss_AddFormInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_AddFormInfo2 *r)
17337
ndr_print_struct(ndr, name, "spoolss_AddFormInfo2");
17338
if (r == NULL) { ndr_print_null(ndr); return; }
17340
ndr_print_spoolss_FormFlags(ndr, "flags", r->flags);
17341
ndr_print_ptr(ndr, "form_name", r->form_name);
17343
if (r->form_name) {
17344
ndr_print_string(ndr, "form_name", r->form_name);
17347
ndr_print_spoolss_FormSize(ndr, "size", &r->size);
17348
ndr_print_spoolss_FormArea(ndr, "area", &r->area);
17349
ndr_print_ptr(ndr, "keyword", r->keyword);
17352
ndr_print_string(ndr, "keyword", r->keyword);
17355
ndr_print_spoolss_FormStringType(ndr, "string_type", r->string_type);
17356
ndr_print_ptr(ndr, "mui_dll", r->mui_dll);
17359
ndr_print_string(ndr, "mui_dll", r->mui_dll);
17362
ndr_print_uint32(ndr, "ressource_id", r->ressource_id);
17363
ndr_print_ptr(ndr, "display_name", r->display_name);
17365
if (r->display_name) {
17366
ndr_print_string(ndr, "display_name", r->display_name);
17369
ndr_print_uint32(ndr, "lang_id", r->lang_id);
17373
static enum ndr_err_code ndr_push_spoolss_AddFormInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_AddFormInfo *r)
17375
if (ndr_flags & NDR_SCALARS) {
17376
uint32_t level = ndr_push_get_switch_value(ndr, r);
17377
NDR_CHECK(ndr_push_union_align(ndr, 5));
17378
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
17379
NDR_CHECK(ndr_push_union_align(ndr, 5));
17382
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
17386
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
17390
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
17393
if (ndr_flags & NDR_BUFFERS) {
17394
uint32_t level = ndr_push_get_switch_value(ndr, r);
17398
NDR_CHECK(ndr_push_spoolss_AddFormInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
17404
NDR_CHECK(ndr_push_spoolss_AddFormInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
17409
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
17412
return NDR_ERR_SUCCESS;
17415
static enum ndr_err_code ndr_pull_spoolss_AddFormInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_AddFormInfo *r)
17419
TALLOC_CTX *_mem_save_info1_0;
17420
TALLOC_CTX *_mem_save_info2_0;
17421
level = ndr_pull_get_switch_value(ndr, r);
17422
if (ndr_flags & NDR_SCALARS) {
17423
NDR_CHECK(ndr_pull_union_align(ndr, 5));
17424
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
17425
if (_level != level) {
17426
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
17428
NDR_CHECK(ndr_pull_union_align(ndr, 5));
17431
uint32_t _ptr_info1;
17432
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
17434
NDR_PULL_ALLOC(ndr, r->info1);
17441
uint32_t _ptr_info2;
17442
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
17444
NDR_PULL_ALLOC(ndr, r->info2);
17451
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
17454
if (ndr_flags & NDR_BUFFERS) {
17458
_mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
17459
NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
17460
NDR_CHECK(ndr_pull_spoolss_AddFormInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
17461
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
17467
_mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
17468
NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
17469
NDR_CHECK(ndr_pull_spoolss_AddFormInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
17470
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
17475
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
17478
return NDR_ERR_SUCCESS;
17481
_PUBLIC_ void ndr_print_spoolss_AddFormInfo(struct ndr_print *ndr, const char *name, const union spoolss_AddFormInfo *r)
17484
level = ndr_print_get_switch_value(ndr, r);
17485
ndr_print_union(ndr, name, level, "spoolss_AddFormInfo");
17488
ndr_print_ptr(ndr, "info1", r->info1);
17491
ndr_print_spoolss_AddFormInfo1(ndr, "info1", r->info1);
17497
ndr_print_ptr(ndr, "info2", r->info2);
17500
ndr_print_spoolss_AddFormInfo2(ndr, "info2", r->info2);
17506
ndr_print_bad_level(ndr, name, level);
17510
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfo1 *r)
17512
if (ndr_flags & NDR_SCALARS) {
17513
NDR_CHECK(ndr_push_align(ndr, 5));
17515
uint32_t _flags_save_string = ndr->flags;
17516
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17517
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->port_name));
17518
ndr->flags = _flags_save_string;
17520
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
17522
if (ndr_flags & NDR_BUFFERS) {
17524
uint32_t _flags_save_string = ndr->flags;
17525
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17526
if (r->port_name) {
17527
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name));
17528
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name));
17529
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->port_name));
17531
ndr->flags = _flags_save_string;
17534
return NDR_ERR_SUCCESS;
17537
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfo1 *r)
17539
uint32_t _ptr_port_name;
17540
TALLOC_CTX *_mem_save_port_name_0;
17541
if (ndr_flags & NDR_SCALARS) {
17542
NDR_CHECK(ndr_pull_align(ndr, 5));
17544
uint32_t _flags_save_string = ndr->flags;
17545
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17546
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name));
17547
if (_ptr_port_name) {
17548
NDR_PULL_ALLOC(ndr, r->port_name);
17549
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->port_name, _ptr_port_name));
17551
r->port_name = NULL;
17553
ndr->flags = _flags_save_string;
17555
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
17557
if (ndr_flags & NDR_BUFFERS) {
17559
uint32_t _flags_save_string = ndr->flags;
17560
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17561
if (r->port_name) {
17562
uint32_t _relative_save_offset;
17563
_relative_save_offset = ndr->offset;
17564
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->port_name));
17565
_mem_save_port_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17566
NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0);
17567
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->port_name));
17568
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0);
17569
if (ndr->offset > ndr->relative_highest_offset) {
17570
ndr->relative_highest_offset = ndr->offset;
17572
ndr->offset = _relative_save_offset;
17574
ndr->flags = _flags_save_string;
17577
return NDR_ERR_SUCCESS;
17580
_PUBLIC_ void ndr_print_spoolss_PortInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfo1 *r)
17582
ndr_print_struct(ndr, name, "spoolss_PortInfo1");
17583
if (r == NULL) { ndr_print_null(ndr); return; }
17585
ndr_print_ptr(ndr, "port_name", r->port_name);
17587
if (r->port_name) {
17588
ndr_print_string(ndr, "port_name", r->port_name);
17594
_PUBLIC_ size_t ndr_size_spoolss_PortInfo1(const struct spoolss_PortInfo1 *r, int flags)
17596
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PortInfo1);
17599
static enum ndr_err_code ndr_push_spoolss_PortType(struct ndr_push *ndr, int ndr_flags, uint32_t r)
17601
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
17602
return NDR_ERR_SUCCESS;
17605
static enum ndr_err_code ndr_pull_spoolss_PortType(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
17608
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
17610
return NDR_ERR_SUCCESS;
17613
_PUBLIC_ void ndr_print_spoolss_PortType(struct ndr_print *ndr, const char *name, uint32_t r)
17615
ndr_print_uint32(ndr, name, r);
17617
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_WRITE", SPOOLSS_PORT_TYPE_WRITE, r);
17618
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_READ", SPOOLSS_PORT_TYPE_READ, r);
17619
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_REDIRECTED", SPOOLSS_PORT_TYPE_REDIRECTED, r);
17620
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_NET_ATTACHED", SPOOLSS_PORT_TYPE_NET_ATTACHED, r);
17624
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfo2 *r)
17626
if (ndr_flags & NDR_SCALARS) {
17627
NDR_CHECK(ndr_push_align(ndr, 5));
17629
uint32_t _flags_save_string = ndr->flags;
17630
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17631
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->port_name));
17632
ndr->flags = _flags_save_string;
17635
uint32_t _flags_save_string = ndr->flags;
17636
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17637
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
17638
ndr->flags = _flags_save_string;
17641
uint32_t _flags_save_string = ndr->flags;
17642
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17643
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->description));
17644
ndr->flags = _flags_save_string;
17646
NDR_CHECK(ndr_push_spoolss_PortType(ndr, NDR_SCALARS, r->port_type));
17647
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
17648
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
17650
if (ndr_flags & NDR_BUFFERS) {
17652
uint32_t _flags_save_string = ndr->flags;
17653
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17654
if (r->port_name) {
17655
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name));
17656
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name));
17657
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->port_name));
17659
ndr->flags = _flags_save_string;
17662
uint32_t _flags_save_string = ndr->flags;
17663
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17664
if (r->monitor_name) {
17665
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
17666
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
17667
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
17669
ndr->flags = _flags_save_string;
17672
uint32_t _flags_save_string = ndr->flags;
17673
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17674
if (r->description) {
17675
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->description));
17676
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description));
17677
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->description));
17679
ndr->flags = _flags_save_string;
17682
return NDR_ERR_SUCCESS;
17685
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfo2 *r)
17687
uint32_t _ptr_port_name;
17688
TALLOC_CTX *_mem_save_port_name_0;
17689
uint32_t _ptr_monitor_name;
17690
TALLOC_CTX *_mem_save_monitor_name_0;
17691
uint32_t _ptr_description;
17692
TALLOC_CTX *_mem_save_description_0;
17693
if (ndr_flags & NDR_SCALARS) {
17694
NDR_CHECK(ndr_pull_align(ndr, 5));
17696
uint32_t _flags_save_string = ndr->flags;
17697
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17698
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name));
17699
if (_ptr_port_name) {
17700
NDR_PULL_ALLOC(ndr, r->port_name);
17701
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->port_name, _ptr_port_name));
17703
r->port_name = NULL;
17705
ndr->flags = _flags_save_string;
17708
uint32_t _flags_save_string = ndr->flags;
17709
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17710
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
17711
if (_ptr_monitor_name) {
17712
NDR_PULL_ALLOC(ndr, r->monitor_name);
17713
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
17715
r->monitor_name = NULL;
17717
ndr->flags = _flags_save_string;
17720
uint32_t _flags_save_string = ndr->flags;
17721
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17722
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description));
17723
if (_ptr_description) {
17724
NDR_PULL_ALLOC(ndr, r->description);
17725
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->description, _ptr_description));
17727
r->description = NULL;
17729
ndr->flags = _flags_save_string;
17731
NDR_CHECK(ndr_pull_spoolss_PortType(ndr, NDR_SCALARS, &r->port_type));
17732
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
17733
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
17735
if (ndr_flags & NDR_BUFFERS) {
17737
uint32_t _flags_save_string = ndr->flags;
17738
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17739
if (r->port_name) {
17740
uint32_t _relative_save_offset;
17741
_relative_save_offset = ndr->offset;
17742
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->port_name));
17743
_mem_save_port_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17744
NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0);
17745
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->port_name));
17746
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0);
17747
if (ndr->offset > ndr->relative_highest_offset) {
17748
ndr->relative_highest_offset = ndr->offset;
17750
ndr->offset = _relative_save_offset;
17752
ndr->flags = _flags_save_string;
17755
uint32_t _flags_save_string = ndr->flags;
17756
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17757
if (r->monitor_name) {
17758
uint32_t _relative_save_offset;
17759
_relative_save_offset = ndr->offset;
17760
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
17761
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17762
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
17763
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
17764
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
17765
if (ndr->offset > ndr->relative_highest_offset) {
17766
ndr->relative_highest_offset = ndr->offset;
17768
ndr->offset = _relative_save_offset;
17770
ndr->flags = _flags_save_string;
17773
uint32_t _flags_save_string = ndr->flags;
17774
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17775
if (r->description) {
17776
uint32_t _relative_save_offset;
17777
_relative_save_offset = ndr->offset;
17778
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->description));
17779
_mem_save_description_0 = NDR_PULL_GET_MEM_CTX(ndr);
17780
NDR_PULL_SET_MEM_CTX(ndr, r->description, 0);
17781
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->description));
17782
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0);
17783
if (ndr->offset > ndr->relative_highest_offset) {
17784
ndr->relative_highest_offset = ndr->offset;
17786
ndr->offset = _relative_save_offset;
17788
ndr->flags = _flags_save_string;
17791
return NDR_ERR_SUCCESS;
17794
_PUBLIC_ void ndr_print_spoolss_PortInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfo2 *r)
17796
ndr_print_struct(ndr, name, "spoolss_PortInfo2");
17797
if (r == NULL) { ndr_print_null(ndr); return; }
17799
ndr_print_ptr(ndr, "port_name", r->port_name);
17801
if (r->port_name) {
17802
ndr_print_string(ndr, "port_name", r->port_name);
17805
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
17807
if (r->monitor_name) {
17808
ndr_print_string(ndr, "monitor_name", r->monitor_name);
17811
ndr_print_ptr(ndr, "description", r->description);
17813
if (r->description) {
17814
ndr_print_string(ndr, "description", r->description);
17817
ndr_print_spoolss_PortType(ndr, "port_type", r->port_type);
17818
ndr_print_uint32(ndr, "reserved", r->reserved);
17822
_PUBLIC_ size_t ndr_size_spoolss_PortInfo2(const struct spoolss_PortInfo2 *r, int flags)
17824
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PortInfo2);
17827
static enum ndr_err_code ndr_push_spoolss_PortStatus(struct ndr_push *ndr, int ndr_flags, enum spoolss_PortStatus r)
17829
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
17830
return NDR_ERR_SUCCESS;
17833
static enum ndr_err_code ndr_pull_spoolss_PortStatus(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PortStatus *r)
17836
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
17838
return NDR_ERR_SUCCESS;
17841
_PUBLIC_ void ndr_print_spoolss_PortStatus(struct ndr_print *ndr, const char *name, enum spoolss_PortStatus r)
17843
const char *val = NULL;
17846
case PORT_STATUS_CLEAR: val = "PORT_STATUS_CLEAR"; break;
17847
case PORT_STATUS_OFFLINE: val = "PORT_STATUS_OFFLINE"; break;
17848
case PORT_STATUS_PAPER_JAM: val = "PORT_STATUS_PAPER_JAM"; break;
17849
case PORT_STATUS_PAPER_OUT: val = "PORT_STATUS_PAPER_OUT"; break;
17850
case PORT_STATUS_OUTPUT_BIN_FULL: val = "PORT_STATUS_OUTPUT_BIN_FULL"; break;
17851
case PORT_STATUS_PAPER_PROBLEM: val = "PORT_STATUS_PAPER_PROBLEM"; break;
17852
case PORT_STATUS_NO_TONER: val = "PORT_STATUS_NO_TONER"; break;
17853
case PORT_STATUS_DOOR_OPEN: val = "PORT_STATUS_DOOR_OPEN"; break;
17854
case PORT_STATUS_USER_INTERVENTION: val = "PORT_STATUS_USER_INTERVENTION"; break;
17855
case PORT_STATUS_OUT_OF_MEMORY: val = "PORT_STATUS_OUT_OF_MEMORY"; break;
17856
case PORT_STATUS_TONER_LOW: val = "PORT_STATUS_TONER_LOW"; break;
17857
case PORT_STATUS_WARMING_UP: val = "PORT_STATUS_WARMING_UP"; break;
17858
case PORT_STATUS_POWER_SAVE: val = "PORT_STATUS_POWER_SAVE"; break;
17860
ndr_print_enum(ndr, name, "ENUM", val, r);
17863
static enum ndr_err_code ndr_push_spoolss_PortSeverity(struct ndr_push *ndr, int ndr_flags, enum spoolss_PortSeverity r)
17865
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
17866
return NDR_ERR_SUCCESS;
17869
static enum ndr_err_code ndr_pull_spoolss_PortSeverity(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PortSeverity *r)
17872
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
17874
return NDR_ERR_SUCCESS;
17877
_PUBLIC_ void ndr_print_spoolss_PortSeverity(struct ndr_print *ndr, const char *name, enum spoolss_PortSeverity r)
17879
const char *val = NULL;
17882
case PORT_STATUS_TYPE_ERROR: val = "PORT_STATUS_TYPE_ERROR"; break;
17883
case PORT_STATUS_TYPE_WARNING: val = "PORT_STATUS_TYPE_WARNING"; break;
17884
case PORT_STATUS_TYPE_INFO: val = "PORT_STATUS_TYPE_INFO"; break;
17886
ndr_print_enum(ndr, name, "ENUM", val, r);
17889
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfo3 *r)
17891
if (ndr_flags & NDR_SCALARS) {
17892
NDR_CHECK(ndr_push_align(ndr, 5));
17893
NDR_CHECK(ndr_push_spoolss_PortStatus(ndr, NDR_SCALARS, r->status));
17895
uint32_t _flags_save_string = ndr->flags;
17896
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17897
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->status_string));
17898
ndr->flags = _flags_save_string;
17900
NDR_CHECK(ndr_push_spoolss_PortSeverity(ndr, NDR_SCALARS, r->severity));
17901
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
17903
if (ndr_flags & NDR_BUFFERS) {
17905
uint32_t _flags_save_string = ndr->flags;
17906
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17907
if (r->status_string) {
17908
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->status_string));
17909
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->status_string));
17910
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->status_string));
17912
ndr->flags = _flags_save_string;
17915
return NDR_ERR_SUCCESS;
17918
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfo3 *r)
17920
uint32_t _ptr_status_string;
17921
TALLOC_CTX *_mem_save_status_string_0;
17922
if (ndr_flags & NDR_SCALARS) {
17923
NDR_CHECK(ndr_pull_align(ndr, 5));
17924
NDR_CHECK(ndr_pull_spoolss_PortStatus(ndr, NDR_SCALARS, &r->status));
17926
uint32_t _flags_save_string = ndr->flags;
17927
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17928
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_status_string));
17929
if (_ptr_status_string) {
17930
NDR_PULL_ALLOC(ndr, r->status_string);
17931
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->status_string, _ptr_status_string));
17933
r->status_string = NULL;
17935
ndr->flags = _flags_save_string;
17937
NDR_CHECK(ndr_pull_spoolss_PortSeverity(ndr, NDR_SCALARS, &r->severity));
17938
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
17940
if (ndr_flags & NDR_BUFFERS) {
17942
uint32_t _flags_save_string = ndr->flags;
17943
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17944
if (r->status_string) {
17945
uint32_t _relative_save_offset;
17946
_relative_save_offset = ndr->offset;
17947
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->status_string));
17948
_mem_save_status_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
17949
NDR_PULL_SET_MEM_CTX(ndr, r->status_string, 0);
17950
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->status_string));
17951
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_status_string_0, 0);
17952
if (ndr->offset > ndr->relative_highest_offset) {
17953
ndr->relative_highest_offset = ndr->offset;
17955
ndr->offset = _relative_save_offset;
17957
ndr->flags = _flags_save_string;
17960
return NDR_ERR_SUCCESS;
17963
_PUBLIC_ void ndr_print_spoolss_PortInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfo3 *r)
17965
ndr_print_struct(ndr, name, "spoolss_PortInfo3");
17966
if (r == NULL) { ndr_print_null(ndr); return; }
17968
ndr_print_spoolss_PortStatus(ndr, "status", r->status);
17969
ndr_print_ptr(ndr, "status_string", r->status_string);
17971
if (r->status_string) {
17972
ndr_print_string(ndr, "status_string", r->status_string);
17975
ndr_print_spoolss_PortSeverity(ndr, "severity", r->severity);
17979
_PUBLIC_ size_t ndr_size_spoolss_PortInfo3(const struct spoolss_PortInfo3 *r, int flags)
17981
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PortInfo3);
17984
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfoFF(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfoFF *r)
17986
if (ndr_flags & NDR_SCALARS) {
17987
NDR_CHECK(ndr_push_align(ndr, 5));
17989
uint32_t _flags_save_string = ndr->flags;
17990
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17991
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->port_name));
17992
ndr->flags = _flags_save_string;
17994
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->monitor_data));
17995
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
17997
if (ndr_flags & NDR_BUFFERS) {
17999
uint32_t _flags_save_string = ndr->flags;
18000
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18001
if (r->port_name) {
18002
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name));
18003
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name));
18004
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->port_name));
18006
ndr->flags = _flags_save_string;
18009
return NDR_ERR_SUCCESS;
18012
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfoFF(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfoFF *r)
18014
uint32_t _ptr_port_name;
18015
TALLOC_CTX *_mem_save_port_name_0;
18016
if (ndr_flags & NDR_SCALARS) {
18017
NDR_CHECK(ndr_pull_align(ndr, 5));
18019
uint32_t _flags_save_string = ndr->flags;
18020
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18021
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name));
18022
if (_ptr_port_name) {
18023
NDR_PULL_ALLOC(ndr, r->port_name);
18024
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->port_name, _ptr_port_name));
18026
r->port_name = NULL;
18028
ndr->flags = _flags_save_string;
18030
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->monitor_data));
18031
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
18033
if (ndr_flags & NDR_BUFFERS) {
18035
uint32_t _flags_save_string = ndr->flags;
18036
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18037
if (r->port_name) {
18038
uint32_t _relative_save_offset;
18039
_relative_save_offset = ndr->offset;
18040
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->port_name));
18041
_mem_save_port_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
18042
NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0);
18043
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->port_name));
18044
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0);
18045
if (ndr->offset > ndr->relative_highest_offset) {
18046
ndr->relative_highest_offset = ndr->offset;
18048
ndr->offset = _relative_save_offset;
18050
ndr->flags = _flags_save_string;
18053
return NDR_ERR_SUCCESS;
18056
_PUBLIC_ void ndr_print_spoolss_PortInfoFF(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfoFF *r)
18058
ndr_print_struct(ndr, name, "spoolss_PortInfoFF");
18059
if (r == NULL) { ndr_print_null(ndr); return; }
18061
ndr_print_ptr(ndr, "port_name", r->port_name);
18063
if (r->port_name) {
18064
ndr_print_string(ndr, "port_name", r->port_name);
18067
ndr_print_DATA_BLOB(ndr, "monitor_data", r->monitor_data);
18071
_PUBLIC_ size_t ndr_size_spoolss_PortInfoFF(const struct spoolss_PortInfoFF *r, int flags)
18073
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PortInfoFF);
18076
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PortInfo *r)
18078
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
18080
uint32_t _flags_save_UNION = ndr->flags;
18081
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
18082
if (ndr_flags & NDR_SCALARS) {
18083
uint32_t level = ndr_push_get_switch_value(ndr, r);
18084
NDR_CHECK(ndr_push_union_align(ndr, 5));
18087
NDR_CHECK(ndr_push_align(ndr, 5));
18088
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
18089
NDR_CHECK(ndr_push_spoolss_PortInfo1(ndr, NDR_SCALARS, &r->info1));
18093
NDR_CHECK(ndr_push_align(ndr, 5));
18094
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
18095
NDR_CHECK(ndr_push_spoolss_PortInfo2(ndr, NDR_SCALARS, &r->info2));
18099
NDR_CHECK(ndr_push_align(ndr, 5));
18100
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
18101
NDR_CHECK(ndr_push_spoolss_PortInfo3(ndr, NDR_SCALARS, &r->info3));
18105
NDR_CHECK(ndr_push_align(ndr, 5));
18106
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
18107
NDR_CHECK(ndr_push_spoolss_PortInfoFF(ndr, NDR_SCALARS, &r->infoFF));
18115
if (ndr_flags & NDR_BUFFERS) {
18116
uint32_t level = ndr_push_get_switch_value(ndr, r);
18117
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
18120
NDR_CHECK(ndr_push_spoolss_PortInfo1(ndr, NDR_BUFFERS, &r->info1));
18124
NDR_CHECK(ndr_push_spoolss_PortInfo2(ndr, NDR_BUFFERS, &r->info2));
18128
NDR_CHECK(ndr_push_spoolss_PortInfo3(ndr, NDR_BUFFERS, &r->info3));
18132
NDR_CHECK(ndr_push_spoolss_PortInfoFF(ndr, NDR_BUFFERS, &r->infoFF));
18140
ndr->flags = _flags_save_UNION;
18142
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
18143
return NDR_ERR_SUCCESS;
18146
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PortInfo *r)
18148
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
18151
uint32_t _flags_save_UNION = ndr->flags;
18152
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
18153
level = ndr_pull_get_switch_value(ndr, r);
18154
if (ndr_flags & NDR_SCALARS) {
18155
NDR_CHECK(ndr_pull_union_align(ndr, 5));
18158
NDR_CHECK(ndr_pull_align(ndr, 5));
18159
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
18160
NDR_CHECK(ndr_pull_spoolss_PortInfo1(ndr, NDR_SCALARS, &r->info1));
18164
NDR_CHECK(ndr_pull_align(ndr, 5));
18165
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
18166
NDR_CHECK(ndr_pull_spoolss_PortInfo2(ndr, NDR_SCALARS, &r->info2));
18170
NDR_CHECK(ndr_pull_align(ndr, 5));
18171
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
18172
NDR_CHECK(ndr_pull_spoolss_PortInfo3(ndr, NDR_SCALARS, &r->info3));
18176
NDR_CHECK(ndr_pull_align(ndr, 5));
18177
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
18178
NDR_CHECK(ndr_pull_spoolss_PortInfoFF(ndr, NDR_SCALARS, &r->infoFF));
18186
if (ndr_flags & NDR_BUFFERS) {
18187
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
18190
NDR_CHECK(ndr_pull_spoolss_PortInfo1(ndr, NDR_BUFFERS, &r->info1));
18194
NDR_CHECK(ndr_pull_spoolss_PortInfo2(ndr, NDR_BUFFERS, &r->info2));
18198
NDR_CHECK(ndr_pull_spoolss_PortInfo3(ndr, NDR_BUFFERS, &r->info3));
18202
NDR_CHECK(ndr_pull_spoolss_PortInfoFF(ndr, NDR_BUFFERS, &r->infoFF));
18210
ndr->flags = _flags_save_UNION;
18212
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
18213
return NDR_ERR_SUCCESS;
18216
_PUBLIC_ void ndr_print_spoolss_PortInfo(struct ndr_print *ndr, const char *name, const union spoolss_PortInfo *r)
18220
uint32_t _flags_save_UNION = ndr->flags;
18221
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
18222
level = ndr_print_get_switch_value(ndr, r);
18223
ndr_print_union(ndr, name, level, "spoolss_PortInfo");
18226
ndr_print_spoolss_PortInfo1(ndr, "info1", &r->info1);
18230
ndr_print_spoolss_PortInfo2(ndr, "info2", &r->info2);
18234
ndr_print_spoolss_PortInfo3(ndr, "info3", &r->info3);
18238
ndr_print_spoolss_PortInfoFF(ndr, "infoFF", &r->infoFF);
18245
ndr->flags = _flags_save_UNION;
18249
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorInfo1 *r)
18251
if (ndr_flags & NDR_SCALARS) {
18252
NDR_CHECK(ndr_push_align(ndr, 5));
18254
uint32_t _flags_save_string = ndr->flags;
18255
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18256
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
18257
ndr->flags = _flags_save_string;
18259
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
18261
if (ndr_flags & NDR_BUFFERS) {
18263
uint32_t _flags_save_string = ndr->flags;
18264
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18265
if (r->monitor_name) {
18266
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
18267
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
18268
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
18270
ndr->flags = _flags_save_string;
18273
return NDR_ERR_SUCCESS;
18276
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_MonitorInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorInfo1 *r)
18278
uint32_t _ptr_monitor_name;
18279
TALLOC_CTX *_mem_save_monitor_name_0;
18280
if (ndr_flags & NDR_SCALARS) {
18281
NDR_CHECK(ndr_pull_align(ndr, 5));
18283
uint32_t _flags_save_string = ndr->flags;
18284
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18285
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
18286
if (_ptr_monitor_name) {
18287
NDR_PULL_ALLOC(ndr, r->monitor_name);
18288
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
18290
r->monitor_name = NULL;
18292
ndr->flags = _flags_save_string;
18294
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
18296
if (ndr_flags & NDR_BUFFERS) {
18298
uint32_t _flags_save_string = ndr->flags;
18299
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18300
if (r->monitor_name) {
18301
uint32_t _relative_save_offset;
18302
_relative_save_offset = ndr->offset;
18303
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
18304
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
18305
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
18306
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
18307
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
18308
if (ndr->offset > ndr->relative_highest_offset) {
18309
ndr->relative_highest_offset = ndr->offset;
18311
ndr->offset = _relative_save_offset;
18313
ndr->flags = _flags_save_string;
18316
return NDR_ERR_SUCCESS;
18319
_PUBLIC_ void ndr_print_spoolss_MonitorInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_MonitorInfo1 *r)
18321
ndr_print_struct(ndr, name, "spoolss_MonitorInfo1");
18322
if (r == NULL) { ndr_print_null(ndr); return; }
18324
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
18326
if (r->monitor_name) {
18327
ndr_print_string(ndr, "monitor_name", r->monitor_name);
18333
_PUBLIC_ size_t ndr_size_spoolss_MonitorInfo1(const struct spoolss_MonitorInfo1 *r, int flags)
18335
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_MonitorInfo1);
18338
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorInfo2 *r)
18340
if (ndr_flags & NDR_SCALARS) {
18341
NDR_CHECK(ndr_push_align(ndr, 5));
18343
uint32_t _flags_save_string = ndr->flags;
18344
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18345
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
18346
ndr->flags = _flags_save_string;
18349
uint32_t _flags_save_string = ndr->flags;
18350
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18351
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->environment));
18352
ndr->flags = _flags_save_string;
18355
uint32_t _flags_save_string = ndr->flags;
18356
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18357
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dll_name));
18358
ndr->flags = _flags_save_string;
18360
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
18362
if (ndr_flags & NDR_BUFFERS) {
18364
uint32_t _flags_save_string = ndr->flags;
18365
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18366
if (r->monitor_name) {
18367
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
18368
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
18369
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
18371
ndr->flags = _flags_save_string;
18374
uint32_t _flags_save_string = ndr->flags;
18375
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18376
if (r->environment) {
18377
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->environment));
18378
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->environment));
18379
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->environment));
18381
ndr->flags = _flags_save_string;
18384
uint32_t _flags_save_string = ndr->flags;
18385
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18387
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dll_name));
18388
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dll_name));
18389
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dll_name));
18391
ndr->flags = _flags_save_string;
18394
return NDR_ERR_SUCCESS;
18397
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_MonitorInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorInfo2 *r)
18399
uint32_t _ptr_monitor_name;
18400
TALLOC_CTX *_mem_save_monitor_name_0;
18401
uint32_t _ptr_environment;
18402
TALLOC_CTX *_mem_save_environment_0;
18403
uint32_t _ptr_dll_name;
18404
TALLOC_CTX *_mem_save_dll_name_0;
18405
if (ndr_flags & NDR_SCALARS) {
18406
NDR_CHECK(ndr_pull_align(ndr, 5));
18408
uint32_t _flags_save_string = ndr->flags;
18409
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18410
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
18411
if (_ptr_monitor_name) {
18412
NDR_PULL_ALLOC(ndr, r->monitor_name);
18413
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
18415
r->monitor_name = NULL;
18417
ndr->flags = _flags_save_string;
18420
uint32_t _flags_save_string = ndr->flags;
18421
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18422
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
18423
if (_ptr_environment) {
18424
NDR_PULL_ALLOC(ndr, r->environment);
18425
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->environment, _ptr_environment));
18427
r->environment = NULL;
18429
ndr->flags = _flags_save_string;
18432
uint32_t _flags_save_string = ndr->flags;
18433
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18434
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dll_name));
18435
if (_ptr_dll_name) {
18436
NDR_PULL_ALLOC(ndr, r->dll_name);
18437
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dll_name, _ptr_dll_name));
18439
r->dll_name = NULL;
18441
ndr->flags = _flags_save_string;
18443
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
18445
if (ndr_flags & NDR_BUFFERS) {
18447
uint32_t _flags_save_string = ndr->flags;
18448
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18449
if (r->monitor_name) {
18450
uint32_t _relative_save_offset;
18451
_relative_save_offset = ndr->offset;
18452
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
18453
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
18454
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
18455
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
18456
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
18457
if (ndr->offset > ndr->relative_highest_offset) {
18458
ndr->relative_highest_offset = ndr->offset;
18460
ndr->offset = _relative_save_offset;
18462
ndr->flags = _flags_save_string;
18465
uint32_t _flags_save_string = ndr->flags;
18466
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18467
if (r->environment) {
18468
uint32_t _relative_save_offset;
18469
_relative_save_offset = ndr->offset;
18470
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->environment));
18471
_mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
18472
NDR_PULL_SET_MEM_CTX(ndr, r->environment, 0);
18473
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->environment));
18474
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
18475
if (ndr->offset > ndr->relative_highest_offset) {
18476
ndr->relative_highest_offset = ndr->offset;
18478
ndr->offset = _relative_save_offset;
18480
ndr->flags = _flags_save_string;
18483
uint32_t _flags_save_string = ndr->flags;
18484
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
18486
uint32_t _relative_save_offset;
18487
_relative_save_offset = ndr->offset;
18488
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dll_name));
18489
_mem_save_dll_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
18490
NDR_PULL_SET_MEM_CTX(ndr, r->dll_name, 0);
18491
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dll_name));
18492
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dll_name_0, 0);
18493
if (ndr->offset > ndr->relative_highest_offset) {
18494
ndr->relative_highest_offset = ndr->offset;
18496
ndr->offset = _relative_save_offset;
18498
ndr->flags = _flags_save_string;
18501
return NDR_ERR_SUCCESS;
18504
_PUBLIC_ void ndr_print_spoolss_MonitorInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_MonitorInfo2 *r)
18506
ndr_print_struct(ndr, name, "spoolss_MonitorInfo2");
18507
if (r == NULL) { ndr_print_null(ndr); return; }
18509
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
18511
if (r->monitor_name) {
18512
ndr_print_string(ndr, "monitor_name", r->monitor_name);
18515
ndr_print_ptr(ndr, "environment", r->environment);
18517
if (r->environment) {
18518
ndr_print_string(ndr, "environment", r->environment);
18521
ndr_print_ptr(ndr, "dll_name", r->dll_name);
18524
ndr_print_string(ndr, "dll_name", r->dll_name);
18530
_PUBLIC_ size_t ndr_size_spoolss_MonitorInfo2(const struct spoolss_MonitorInfo2 *r, int flags)
18532
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_MonitorInfo2);
18535
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_MonitorInfo *r)
18537
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
18539
uint32_t _flags_save_UNION = ndr->flags;
18540
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
18541
if (ndr_flags & NDR_SCALARS) {
18542
uint32_t level = ndr_push_get_switch_value(ndr, r);
18543
NDR_CHECK(ndr_push_union_align(ndr, 5));
18546
NDR_CHECK(ndr_push_align(ndr, 5));
18547
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
18548
NDR_CHECK(ndr_push_spoolss_MonitorInfo1(ndr, NDR_SCALARS, &r->info1));
18552
NDR_CHECK(ndr_push_align(ndr, 5));
18553
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
18554
NDR_CHECK(ndr_push_spoolss_MonitorInfo2(ndr, NDR_SCALARS, &r->info2));
18562
if (ndr_flags & NDR_BUFFERS) {
18563
uint32_t level = ndr_push_get_switch_value(ndr, r);
18564
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
18567
NDR_CHECK(ndr_push_spoolss_MonitorInfo1(ndr, NDR_BUFFERS, &r->info1));
18571
NDR_CHECK(ndr_push_spoolss_MonitorInfo2(ndr, NDR_BUFFERS, &r->info2));
18579
ndr->flags = _flags_save_UNION;
18581
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
18582
return NDR_ERR_SUCCESS;
18585
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_MonitorInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_MonitorInfo *r)
18587
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
18590
uint32_t _flags_save_UNION = ndr->flags;
18591
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
18592
level = ndr_pull_get_switch_value(ndr, r);
18593
if (ndr_flags & NDR_SCALARS) {
18594
NDR_CHECK(ndr_pull_union_align(ndr, 5));
18597
NDR_CHECK(ndr_pull_align(ndr, 5));
18598
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
18599
NDR_CHECK(ndr_pull_spoolss_MonitorInfo1(ndr, NDR_SCALARS, &r->info1));
18603
NDR_CHECK(ndr_pull_align(ndr, 5));
18604
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
18605
NDR_CHECK(ndr_pull_spoolss_MonitorInfo2(ndr, NDR_SCALARS, &r->info2));
18613
if (ndr_flags & NDR_BUFFERS) {
18614
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
18617
NDR_CHECK(ndr_pull_spoolss_MonitorInfo1(ndr, NDR_BUFFERS, &r->info1));
18621
NDR_CHECK(ndr_pull_spoolss_MonitorInfo2(ndr, NDR_BUFFERS, &r->info2));
18629
ndr->flags = _flags_save_UNION;
18631
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
18632
return NDR_ERR_SUCCESS;
18635
_PUBLIC_ void ndr_print_spoolss_MonitorInfo(struct ndr_print *ndr, const char *name, const union spoolss_MonitorInfo *r)
18639
uint32_t _flags_save_UNION = ndr->flags;
18640
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
18641
level = ndr_print_get_switch_value(ndr, r);
18642
ndr_print_union(ndr, name, level, "spoolss_MonitorInfo");
18645
ndr_print_spoolss_MonitorInfo1(ndr, "info1", &r->info1);
18649
ndr_print_spoolss_MonitorInfo2(ndr, "info2", &r->info2);
18656
ndr->flags = _flags_save_UNION;
18660
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_SetPortInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPortInfo1 *r)
18662
if (ndr_flags & NDR_SCALARS) {
18663
NDR_CHECK(ndr_push_align(ndr, 5));
18664
NDR_CHECK(ndr_push_unique_ptr(ndr, r->port_name));
18665
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
18667
if (ndr_flags & NDR_BUFFERS) {
18668
if (r->port_name) {
18669
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->port_name, CH_UTF16)));
18670
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
18671
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->port_name, CH_UTF16)));
18672
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->port_name, ndr_charset_length(r->port_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
18675
return NDR_ERR_SUCCESS;
18678
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_SetPortInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPortInfo1 *r)
18680
uint32_t _ptr_port_name;
18681
TALLOC_CTX *_mem_save_port_name_0;
18682
if (ndr_flags & NDR_SCALARS) {
18683
NDR_CHECK(ndr_pull_align(ndr, 5));
18684
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name));
18685
if (_ptr_port_name) {
18686
NDR_PULL_ALLOC(ndr, r->port_name);
18688
r->port_name = NULL;
18690
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
18692
if (ndr_flags & NDR_BUFFERS) {
18693
if (r->port_name) {
18694
_mem_save_port_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
18695
NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0);
18696
NDR_CHECK(ndr_pull_array_size(ndr, &r->port_name));
18697
NDR_CHECK(ndr_pull_array_length(ndr, &r->port_name));
18698
if (ndr_get_array_length(ndr, &r->port_name) > ndr_get_array_size(ndr, &r->port_name)) {
18699
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->port_name), ndr_get_array_length(ndr, &r->port_name));
18701
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->port_name), sizeof(uint16_t)));
18702
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->port_name, ndr_get_array_length(ndr, &r->port_name), sizeof(uint16_t), CH_UTF16));
18703
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0);
18706
return NDR_ERR_SUCCESS;
18709
_PUBLIC_ void ndr_print_spoolss_SetPortInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_SetPortInfo1 *r)
18711
ndr_print_struct(ndr, name, "spoolss_SetPortInfo1");
18712
if (r == NULL) { ndr_print_null(ndr); return; }
18714
ndr_print_ptr(ndr, "port_name", r->port_name);
18716
if (r->port_name) {
18717
ndr_print_string(ndr, "port_name", r->port_name);
18723
_PUBLIC_ size_t ndr_size_spoolss_SetPortInfo1(const struct spoolss_SetPortInfo1 *r, int flags)
18725
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_SetPortInfo1);
18728
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_SetPortInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPortInfo2 *r)
18730
if (ndr_flags & NDR_SCALARS) {
18731
NDR_CHECK(ndr_push_align(ndr, 5));
18732
NDR_CHECK(ndr_push_unique_ptr(ndr, r->port_name));
18733
NDR_CHECK(ndr_push_unique_ptr(ndr, r->monitor_name));
18734
NDR_CHECK(ndr_push_unique_ptr(ndr, r->description));
18735
NDR_CHECK(ndr_push_spoolss_PortType(ndr, NDR_SCALARS, r->port_type));
18736
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
18737
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
18739
if (ndr_flags & NDR_BUFFERS) {
18740
if (r->port_name) {
18741
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->port_name, CH_UTF16)));
18742
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
18743
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->port_name, CH_UTF16)));
18744
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->port_name, ndr_charset_length(r->port_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
18746
if (r->monitor_name) {
18747
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
18748
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
18749
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
18750
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->monitor_name, ndr_charset_length(r->monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
18752
if (r->description) {
18753
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->description, CH_UTF16)));
18754
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
18755
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->description, CH_UTF16)));
18756
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->description, ndr_charset_length(r->description, CH_UTF16), sizeof(uint16_t), CH_UTF16));
18759
return NDR_ERR_SUCCESS;
18762
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_SetPortInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPortInfo2 *r)
18764
uint32_t _ptr_port_name;
18765
TALLOC_CTX *_mem_save_port_name_0;
18766
uint32_t _ptr_monitor_name;
18767
TALLOC_CTX *_mem_save_monitor_name_0;
18768
uint32_t _ptr_description;
18769
TALLOC_CTX *_mem_save_description_0;
18770
if (ndr_flags & NDR_SCALARS) {
18771
NDR_CHECK(ndr_pull_align(ndr, 5));
18772
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name));
18773
if (_ptr_port_name) {
18774
NDR_PULL_ALLOC(ndr, r->port_name);
18776
r->port_name = NULL;
18778
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
18779
if (_ptr_monitor_name) {
18780
NDR_PULL_ALLOC(ndr, r->monitor_name);
18782
r->monitor_name = NULL;
18784
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description));
18785
if (_ptr_description) {
18786
NDR_PULL_ALLOC(ndr, r->description);
18788
r->description = NULL;
18790
NDR_CHECK(ndr_pull_spoolss_PortType(ndr, NDR_SCALARS, &r->port_type));
18791
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
18792
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
18794
if (ndr_flags & NDR_BUFFERS) {
18795
if (r->port_name) {
18796
_mem_save_port_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
18797
NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0);
18798
NDR_CHECK(ndr_pull_array_size(ndr, &r->port_name));
18799
NDR_CHECK(ndr_pull_array_length(ndr, &r->port_name));
18800
if (ndr_get_array_length(ndr, &r->port_name) > ndr_get_array_size(ndr, &r->port_name)) {
18801
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->port_name), ndr_get_array_length(ndr, &r->port_name));
18803
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->port_name), sizeof(uint16_t)));
18804
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->port_name, ndr_get_array_length(ndr, &r->port_name), sizeof(uint16_t), CH_UTF16));
18805
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0);
18807
if (r->monitor_name) {
18808
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
18809
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
18810
NDR_CHECK(ndr_pull_array_size(ndr, &r->monitor_name));
18811
NDR_CHECK(ndr_pull_array_length(ndr, &r->monitor_name));
18812
if (ndr_get_array_length(ndr, &r->monitor_name) > ndr_get_array_size(ndr, &r->monitor_name)) {
18813
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));
18815
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t)));
18816
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->monitor_name, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t), CH_UTF16));
18817
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
18819
if (r->description) {
18820
_mem_save_description_0 = NDR_PULL_GET_MEM_CTX(ndr);
18821
NDR_PULL_SET_MEM_CTX(ndr, r->description, 0);
18822
NDR_CHECK(ndr_pull_array_size(ndr, &r->description));
18823
NDR_CHECK(ndr_pull_array_length(ndr, &r->description));
18824
if (ndr_get_array_length(ndr, &r->description) > ndr_get_array_size(ndr, &r->description)) {
18825
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));
18827
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->description), sizeof(uint16_t)));
18828
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->description, ndr_get_array_length(ndr, &r->description), sizeof(uint16_t), CH_UTF16));
18829
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0);
18832
return NDR_ERR_SUCCESS;
18835
_PUBLIC_ void ndr_print_spoolss_SetPortInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_SetPortInfo2 *r)
18837
ndr_print_struct(ndr, name, "spoolss_SetPortInfo2");
18838
if (r == NULL) { ndr_print_null(ndr); return; }
18840
ndr_print_ptr(ndr, "port_name", r->port_name);
18842
if (r->port_name) {
18843
ndr_print_string(ndr, "port_name", r->port_name);
18846
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
18848
if (r->monitor_name) {
18849
ndr_print_string(ndr, "monitor_name", r->monitor_name);
18852
ndr_print_ptr(ndr, "description", r->description);
18854
if (r->description) {
18855
ndr_print_string(ndr, "description", r->description);
18858
ndr_print_spoolss_PortType(ndr, "port_type", r->port_type);
18859
ndr_print_uint32(ndr, "reserved", r->reserved);
18863
_PUBLIC_ size_t ndr_size_spoolss_SetPortInfo2(const struct spoolss_SetPortInfo2 *r, int flags)
18865
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_SetPortInfo2);
18868
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_SetPortInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPortInfo3 *r)
18870
if (ndr_flags & NDR_SCALARS) {
18871
NDR_CHECK(ndr_push_align(ndr, 5));
18872
NDR_CHECK(ndr_push_spoolss_PortStatus(ndr, NDR_SCALARS, r->status));
18873
NDR_CHECK(ndr_push_unique_ptr(ndr, r->status_string));
18874
NDR_CHECK(ndr_push_spoolss_PortSeverity(ndr, NDR_SCALARS, r->severity));
18875
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
18877
if (ndr_flags & NDR_BUFFERS) {
18878
if (r->status_string) {
18879
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->status_string, CH_UTF16)));
18880
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
18881
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->status_string, CH_UTF16)));
18882
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->status_string, ndr_charset_length(r->status_string, CH_UTF16), sizeof(uint16_t), CH_UTF16));
18885
return NDR_ERR_SUCCESS;
18888
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_SetPortInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPortInfo3 *r)
18890
uint32_t _ptr_status_string;
18891
TALLOC_CTX *_mem_save_status_string_0;
18892
if (ndr_flags & NDR_SCALARS) {
18893
NDR_CHECK(ndr_pull_align(ndr, 5));
18894
NDR_CHECK(ndr_pull_spoolss_PortStatus(ndr, NDR_SCALARS, &r->status));
18895
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_status_string));
18896
if (_ptr_status_string) {
18897
NDR_PULL_ALLOC(ndr, r->status_string);
18899
r->status_string = NULL;
18901
NDR_CHECK(ndr_pull_spoolss_PortSeverity(ndr, NDR_SCALARS, &r->severity));
18902
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
18904
if (ndr_flags & NDR_BUFFERS) {
18905
if (r->status_string) {
18906
_mem_save_status_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
18907
NDR_PULL_SET_MEM_CTX(ndr, r->status_string, 0);
18908
NDR_CHECK(ndr_pull_array_size(ndr, &r->status_string));
18909
NDR_CHECK(ndr_pull_array_length(ndr, &r->status_string));
18910
if (ndr_get_array_length(ndr, &r->status_string) > ndr_get_array_size(ndr, &r->status_string)) {
18911
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->status_string), ndr_get_array_length(ndr, &r->status_string));
18913
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->status_string), sizeof(uint16_t)));
18914
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->status_string, ndr_get_array_length(ndr, &r->status_string), sizeof(uint16_t), CH_UTF16));
18915
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_status_string_0, 0);
18918
return NDR_ERR_SUCCESS;
18921
_PUBLIC_ void ndr_print_spoolss_SetPortInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_SetPortInfo3 *r)
18923
ndr_print_struct(ndr, name, "spoolss_SetPortInfo3");
18924
if (r == NULL) { ndr_print_null(ndr); return; }
18926
ndr_print_spoolss_PortStatus(ndr, "status", r->status);
18927
ndr_print_ptr(ndr, "status_string", r->status_string);
18929
if (r->status_string) {
18930
ndr_print_string(ndr, "status_string", r->status_string);
18933
ndr_print_spoolss_PortSeverity(ndr, "severity", r->severity);
18937
_PUBLIC_ size_t ndr_size_spoolss_SetPortInfo3(const struct spoolss_SetPortInfo3 *r, int flags)
18939
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_SetPortInfo3);
18942
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_SetPortInfoFF(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPortInfoFF *r)
18944
if (ndr_flags & NDR_SCALARS) {
18945
NDR_CHECK(ndr_push_align(ndr, 5));
18946
NDR_CHECK(ndr_push_unique_ptr(ndr, r->port_name));
18947
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->monitor_data));
18948
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
18950
if (ndr_flags & NDR_BUFFERS) {
18951
if (r->port_name) {
18952
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->port_name, CH_UTF16)));
18953
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
18954
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->port_name, CH_UTF16)));
18955
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->port_name, ndr_charset_length(r->port_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
18958
return NDR_ERR_SUCCESS;
18961
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_SetPortInfoFF(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPortInfoFF *r)
18963
uint32_t _ptr_port_name;
18964
TALLOC_CTX *_mem_save_port_name_0;
18965
if (ndr_flags & NDR_SCALARS) {
18966
NDR_CHECK(ndr_pull_align(ndr, 5));
18967
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name));
18968
if (_ptr_port_name) {
18969
NDR_PULL_ALLOC(ndr, r->port_name);
18971
r->port_name = NULL;
18973
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->monitor_data));
18974
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
18976
if (ndr_flags & NDR_BUFFERS) {
18977
if (r->port_name) {
18978
_mem_save_port_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
18979
NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0);
18980
NDR_CHECK(ndr_pull_array_size(ndr, &r->port_name));
18981
NDR_CHECK(ndr_pull_array_length(ndr, &r->port_name));
18982
if (ndr_get_array_length(ndr, &r->port_name) > ndr_get_array_size(ndr, &r->port_name)) {
18983
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->port_name), ndr_get_array_length(ndr, &r->port_name));
18985
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->port_name), sizeof(uint16_t)));
18986
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->port_name, ndr_get_array_length(ndr, &r->port_name), sizeof(uint16_t), CH_UTF16));
18987
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0);
18990
return NDR_ERR_SUCCESS;
18993
_PUBLIC_ void ndr_print_spoolss_SetPortInfoFF(struct ndr_print *ndr, const char *name, const struct spoolss_SetPortInfoFF *r)
18995
ndr_print_struct(ndr, name, "spoolss_SetPortInfoFF");
18996
if (r == NULL) { ndr_print_null(ndr); return; }
18998
ndr_print_ptr(ndr, "port_name", r->port_name);
19000
if (r->port_name) {
19001
ndr_print_string(ndr, "port_name", r->port_name);
19004
ndr_print_DATA_BLOB(ndr, "monitor_data", r->monitor_data);
19008
_PUBLIC_ size_t ndr_size_spoolss_SetPortInfoFF(const struct spoolss_SetPortInfoFF *r, int flags)
19010
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_SetPortInfoFF);
19013
static enum ndr_err_code ndr_push_spoolss_SetPortInfoContainer(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPortInfoContainer *r)
19015
if (ndr_flags & NDR_SCALARS) {
19016
NDR_CHECK(ndr_push_align(ndr, 5));
19017
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
19018
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level));
19019
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo(ndr, NDR_SCALARS, &r->info));
19020
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
19022
if (ndr_flags & NDR_BUFFERS) {
19023
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo(ndr, NDR_BUFFERS, &r->info));
19025
return NDR_ERR_SUCCESS;
19028
static enum ndr_err_code ndr_pull_spoolss_SetPortInfoContainer(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPortInfoContainer *r)
19030
if (ndr_flags & NDR_SCALARS) {
19031
NDR_CHECK(ndr_pull_align(ndr, 5));
19032
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
19033
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level));
19034
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo(ndr, NDR_SCALARS, &r->info));
19035
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
19037
if (ndr_flags & NDR_BUFFERS) {
19038
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo(ndr, NDR_BUFFERS, &r->info));
19040
return NDR_ERR_SUCCESS;
19043
_PUBLIC_ void ndr_print_spoolss_SetPortInfoContainer(struct ndr_print *ndr, const char *name, const struct spoolss_SetPortInfoContainer *r)
19045
ndr_print_struct(ndr, name, "spoolss_SetPortInfoContainer");
19046
if (r == NULL) { ndr_print_null(ndr); return; }
19048
ndr_print_uint32(ndr, "level", r->level);
19049
ndr_print_set_switch_value(ndr, &r->info, r->level);
19050
ndr_print_spoolss_SetPrinterInfo(ndr, "info", &r->info);
19054
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcDataTypesInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrintProcDataTypesInfo1 *r)
19056
if (ndr_flags & NDR_SCALARS) {
19057
NDR_CHECK(ndr_push_align(ndr, 5));
19059
uint32_t _flags_save_string = ndr->flags;
19060
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19061
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->name_array));
19062
ndr->flags = _flags_save_string;
19064
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
19066
if (ndr_flags & NDR_BUFFERS) {
19068
uint32_t _flags_save_string = ndr->flags;
19069
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19070
if (r->name_array) {
19071
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->name_array));
19072
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name_array));
19073
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->name_array));
19075
ndr->flags = _flags_save_string;
19078
return NDR_ERR_SUCCESS;
19081
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcDataTypesInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrintProcDataTypesInfo1 *r)
19083
uint32_t _ptr_name_array;
19084
TALLOC_CTX *_mem_save_name_array_0;
19085
if (ndr_flags & NDR_SCALARS) {
19086
NDR_CHECK(ndr_pull_align(ndr, 5));
19088
uint32_t _flags_save_string = ndr->flags;
19089
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19090
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name_array));
19091
if (_ptr_name_array) {
19092
NDR_PULL_ALLOC(ndr, r->name_array);
19093
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->name_array, _ptr_name_array));
19095
r->name_array = NULL;
19097
ndr->flags = _flags_save_string;
19099
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
19101
if (ndr_flags & NDR_BUFFERS) {
19103
uint32_t _flags_save_string = ndr->flags;
19104
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19105
if (r->name_array) {
19106
uint32_t _relative_save_offset;
19107
_relative_save_offset = ndr->offset;
19108
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->name_array));
19109
_mem_save_name_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
19110
NDR_PULL_SET_MEM_CTX(ndr, r->name_array, 0);
19111
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name_array));
19112
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_array_0, 0);
19113
if (ndr->offset > ndr->relative_highest_offset) {
19114
ndr->relative_highest_offset = ndr->offset;
19116
ndr->offset = _relative_save_offset;
19118
ndr->flags = _flags_save_string;
19121
return NDR_ERR_SUCCESS;
19124
_PUBLIC_ void ndr_print_spoolss_PrintProcDataTypesInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrintProcDataTypesInfo1 *r)
19126
ndr_print_struct(ndr, name, "spoolss_PrintProcDataTypesInfo1");
19127
if (r == NULL) { ndr_print_null(ndr); return; }
19129
ndr_print_ptr(ndr, "name_array", r->name_array);
19131
if (r->name_array) {
19132
ndr_print_string(ndr, "name_array", r->name_array);
19138
_PUBLIC_ size_t ndr_size_spoolss_PrintProcDataTypesInfo1(const struct spoolss_PrintProcDataTypesInfo1 *r, int flags)
19140
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrintProcDataTypesInfo1);
19143
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcDataTypesInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcDataTypesInfo *r)
19145
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
19147
uint32_t _flags_save_UNION = ndr->flags;
19148
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
19149
if (ndr_flags & NDR_SCALARS) {
19150
uint32_t level = ndr_push_get_switch_value(ndr, r);
19151
NDR_CHECK(ndr_push_union_align(ndr, 5));
19154
NDR_CHECK(ndr_push_align(ndr, 5));
19155
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
19156
NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo1(ndr, NDR_SCALARS, &r->info1));
19164
if (ndr_flags & NDR_BUFFERS) {
19165
uint32_t level = ndr_push_get_switch_value(ndr, r);
19166
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
19169
NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo1(ndr, NDR_BUFFERS, &r->info1));
19177
ndr->flags = _flags_save_UNION;
19179
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
19180
return NDR_ERR_SUCCESS;
19183
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcDataTypesInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrintProcDataTypesInfo *r)
19185
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
19188
uint32_t _flags_save_UNION = ndr->flags;
19189
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
19190
level = ndr_pull_get_switch_value(ndr, r);
19191
if (ndr_flags & NDR_SCALARS) {
19192
NDR_CHECK(ndr_pull_union_align(ndr, 5));
19195
NDR_CHECK(ndr_pull_align(ndr, 5));
19196
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
19197
NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo1(ndr, NDR_SCALARS, &r->info1));
19205
if (ndr_flags & NDR_BUFFERS) {
19206
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
19209
NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo1(ndr, NDR_BUFFERS, &r->info1));
19217
ndr->flags = _flags_save_UNION;
19219
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
19220
return NDR_ERR_SUCCESS;
19223
_PUBLIC_ void ndr_print_spoolss_PrintProcDataTypesInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcDataTypesInfo *r)
19227
uint32_t _flags_save_UNION = ndr->flags;
19228
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
19229
level = ndr_print_get_switch_value(ndr, r);
19230
ndr_print_union(ndr, name, level, "spoolss_PrintProcDataTypesInfo");
19233
ndr_print_spoolss_PrintProcDataTypesInfo1(ndr, "info1", &r->info1);
19240
ndr->flags = _flags_save_UNION;
19244
static enum ndr_err_code ndr_push_spoolss_PrinterChangeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
19246
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
19247
return NDR_ERR_SUCCESS;
19250
static enum ndr_err_code ndr_pull_spoolss_PrinterChangeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
19253
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
19255
return NDR_ERR_SUCCESS;
19258
_PUBLIC_ void ndr_print_spoolss_PrinterChangeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
19260
ndr_print_uint32(ndr, name, r);
19262
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_PRINTER", PRINTER_CHANGE_ADD_PRINTER, r);
19263
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SET_PRINTER", PRINTER_CHANGE_SET_PRINTER, r);
19264
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_PRINTER", PRINTER_CHANGE_DELETE_PRINTER, r);
19265
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_FAILED_CONNECTION_PRINTER", PRINTER_CHANGE_FAILED_CONNECTION_PRINTER, r);
19266
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_JOB", PRINTER_CHANGE_ADD_JOB, r);
19267
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SET_JOB", PRINTER_CHANGE_SET_JOB, r);
19268
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_JOB", PRINTER_CHANGE_DELETE_JOB, r);
19269
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_WRITE_JOB", PRINTER_CHANGE_WRITE_JOB, r);
19270
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_FORM", PRINTER_CHANGE_ADD_FORM, r);
19271
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SET_FORM", PRINTER_CHANGE_SET_FORM, r);
19272
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_FORM", PRINTER_CHANGE_DELETE_FORM, r);
19273
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_PORT", PRINTER_CHANGE_ADD_PORT, r);
19274
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_CONFIGURE_PORT", PRINTER_CHANGE_CONFIGURE_PORT, r);
19275
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_PORT", PRINTER_CHANGE_DELETE_PORT, r);
19276
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_PRINT_PROCESSOR", PRINTER_CHANGE_ADD_PRINT_PROCESSOR, r);
19277
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_PRINT_PROCESSOR", PRINTER_CHANGE_DELETE_PRINT_PROCESSOR, r);
19278
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SERVER", PRINTER_CHANGE_SERVER, r);
19279
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_PRINTER_DRIVER", PRINTER_CHANGE_ADD_PRINTER_DRIVER, r);
19280
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SET_PRINTER_DRIVER", PRINTER_CHANGE_SET_PRINTER_DRIVER, r);
19281
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_PRINTER_DRIVER", PRINTER_CHANGE_DELETE_PRINTER_DRIVER, r);
19282
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_TIMEOUT", PRINTER_CHANGE_TIMEOUT, r);
19286
static enum ndr_err_code ndr_push_spoolss_PortVarContainer(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortVarContainer *r)
19288
if (ndr_flags & NDR_SCALARS) {
19289
NDR_CHECK(ndr_push_align(ndr, 5));
19290
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->monitor_data_size));
19291
NDR_CHECK(ndr_push_unique_ptr(ndr, r->monitor_data));
19292
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
19294
if (ndr_flags & NDR_BUFFERS) {
19295
if (r->monitor_data) {
19296
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->monitor_data_size));
19297
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->monitor_data, r->monitor_data_size));
19300
return NDR_ERR_SUCCESS;
19303
static enum ndr_err_code ndr_pull_spoolss_PortVarContainer(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortVarContainer *r)
19305
uint32_t _ptr_monitor_data;
19306
TALLOC_CTX *_mem_save_monitor_data_0;
19307
if (ndr_flags & NDR_SCALARS) {
19308
NDR_CHECK(ndr_pull_align(ndr, 5));
19309
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->monitor_data_size));
19310
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_data));
19311
if (_ptr_monitor_data) {
19312
NDR_PULL_ALLOC(ndr, r->monitor_data);
19314
r->monitor_data = NULL;
19316
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
19318
if (ndr_flags & NDR_BUFFERS) {
19319
if (r->monitor_data) {
19320
_mem_save_monitor_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
19321
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_data, 0);
19322
NDR_CHECK(ndr_pull_array_size(ndr, &r->monitor_data));
19323
NDR_PULL_ALLOC_N(ndr, r->monitor_data, ndr_get_array_size(ndr, &r->monitor_data));
19324
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->monitor_data, ndr_get_array_size(ndr, &r->monitor_data)));
19325
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_data_0, 0);
19327
if (r->monitor_data) {
19328
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->monitor_data, r->monitor_data_size));
19331
return NDR_ERR_SUCCESS;
19334
_PUBLIC_ void ndr_print_spoolss_PortVarContainer(struct ndr_print *ndr, const char *name, const struct spoolss_PortVarContainer *r)
19336
ndr_print_struct(ndr, name, "spoolss_PortVarContainer");
19337
if (r == NULL) { ndr_print_null(ndr); return; }
19339
ndr_print_uint32(ndr, "monitor_data_size", r->monitor_data_size);
19340
ndr_print_ptr(ndr, "monitor_data", r->monitor_data);
19342
if (r->monitor_data) {
19343
ndr_print_array_uint8(ndr, "monitor_data", r->monitor_data, r->monitor_data_size);
19349
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobNotifyField(struct ndr_push *ndr, int ndr_flags, enum spoolss_JobNotifyField r)
19351
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
19352
return NDR_ERR_SUCCESS;
19355
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobNotifyField(struct ndr_pull *ndr, int ndr_flags, enum spoolss_JobNotifyField *r)
19358
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
19360
return NDR_ERR_SUCCESS;
19363
_PUBLIC_ void ndr_print_spoolss_JobNotifyField(struct ndr_print *ndr, const char *name, enum spoolss_JobNotifyField r)
19365
const char *val = NULL;
19368
case JOB_NOTIFY_FIELD_PRINTER_NAME: val = "JOB_NOTIFY_FIELD_PRINTER_NAME"; break;
19369
case JOB_NOTIFY_FIELD_MACHINE_NAME: val = "JOB_NOTIFY_FIELD_MACHINE_NAME"; break;
19370
case JOB_NOTIFY_FIELD_PORT_NAME: val = "JOB_NOTIFY_FIELD_PORT_NAME"; break;
19371
case JOB_NOTIFY_FIELD_USER_NAME: val = "JOB_NOTIFY_FIELD_USER_NAME"; break;
19372
case JOB_NOTIFY_FIELD_NOTIFY_NAME: val = "JOB_NOTIFY_FIELD_NOTIFY_NAME"; break;
19373
case JOB_NOTIFY_FIELD_DATATYPE: val = "JOB_NOTIFY_FIELD_DATATYPE"; break;
19374
case JOB_NOTIFY_FIELD_PRINT_PROCESSOR: val = "JOB_NOTIFY_FIELD_PRINT_PROCESSOR"; break;
19375
case JOB_NOTIFY_FIELD_PARAMETERS: val = "JOB_NOTIFY_FIELD_PARAMETERS"; break;
19376
case JOB_NOTIFY_FIELD_DRIVER_NAME: val = "JOB_NOTIFY_FIELD_DRIVER_NAME"; break;
19377
case JOB_NOTIFY_FIELD_DEVMODE: val = "JOB_NOTIFY_FIELD_DEVMODE"; break;
19378
case JOB_NOTIFY_FIELD_STATUS: val = "JOB_NOTIFY_FIELD_STATUS"; break;
19379
case JOB_NOTIFY_FIELD_STATUS_STRING: val = "JOB_NOTIFY_FIELD_STATUS_STRING"; break;
19380
case JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR: val = "JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR"; break;
19381
case JOB_NOTIFY_FIELD_DOCUMENT: val = "JOB_NOTIFY_FIELD_DOCUMENT"; break;
19382
case JOB_NOTIFY_FIELD_PRIORITY: val = "JOB_NOTIFY_FIELD_PRIORITY"; break;
19383
case JOB_NOTIFY_FIELD_POSITION: val = "JOB_NOTIFY_FIELD_POSITION"; break;
19384
case JOB_NOTIFY_FIELD_SUBMITTED: val = "JOB_NOTIFY_FIELD_SUBMITTED"; break;
19385
case JOB_NOTIFY_FIELD_START_TIME: val = "JOB_NOTIFY_FIELD_START_TIME"; break;
19386
case JOB_NOTIFY_FIELD_UNTIL_TIME: val = "JOB_NOTIFY_FIELD_UNTIL_TIME"; break;
19387
case JOB_NOTIFY_FIELD_TIME: val = "JOB_NOTIFY_FIELD_TIME"; break;
19388
case JOB_NOTIFY_FIELD_TOTAL_PAGES: val = "JOB_NOTIFY_FIELD_TOTAL_PAGES"; break;
19389
case JOB_NOTIFY_FIELD_PAGES_PRINTED: val = "JOB_NOTIFY_FIELD_PAGES_PRINTED"; break;
19390
case JOB_NOTIFY_FIELD_TOTAL_BYTES: val = "JOB_NOTIFY_FIELD_TOTAL_BYTES"; break;
19391
case JOB_NOTIFY_FIELD_BYTES_PRINTED: val = "JOB_NOTIFY_FIELD_BYTES_PRINTED"; break;
19393
ndr_print_enum(ndr, name, "ENUM", val, r);
19396
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintNotifyField(struct ndr_push *ndr, int ndr_flags, enum spoolss_PrintNotifyField r)
19398
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
19399
return NDR_ERR_SUCCESS;
19402
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintNotifyField(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PrintNotifyField *r)
19405
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
19407
return NDR_ERR_SUCCESS;
19410
_PUBLIC_ void ndr_print_spoolss_PrintNotifyField(struct ndr_print *ndr, const char *name, enum spoolss_PrintNotifyField r)
19412
const char *val = NULL;
19415
case PRINTER_NOTIFY_FIELD_SERVER_NAME: val = "PRINTER_NOTIFY_FIELD_SERVER_NAME"; break;
19416
case PRINTER_NOTIFY_FIELD_PRINTER_NAME: val = "PRINTER_NOTIFY_FIELD_PRINTER_NAME"; break;
19417
case PRINTER_NOTIFY_FIELD_SHARE_NAME: val = "PRINTER_NOTIFY_FIELD_SHARE_NAME"; break;
19418
case PRINTER_NOTIFY_FIELD_PORT_NAME: val = "PRINTER_NOTIFY_FIELD_PORT_NAME"; break;
19419
case PRINTER_NOTIFY_FIELD_DRIVER_NAME: val = "PRINTER_NOTIFY_FIELD_DRIVER_NAME"; break;
19420
case PRINTER_NOTIFY_FIELD_COMMENT: val = "PRINTER_NOTIFY_FIELD_COMMENT"; break;
19421
case PRINTER_NOTIFY_FIELD_LOCATION: val = "PRINTER_NOTIFY_FIELD_LOCATION"; break;
19422
case PRINTER_NOTIFY_FIELD_DEVMODE: val = "PRINTER_NOTIFY_FIELD_DEVMODE"; break;
19423
case PRINTER_NOTIFY_FIELD_SEPFILE: val = "PRINTER_NOTIFY_FIELD_SEPFILE"; break;
19424
case PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR: val = "PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR"; break;
19425
case PRINTER_NOTIFY_FIELD_PARAMETERS: val = "PRINTER_NOTIFY_FIELD_PARAMETERS"; break;
19426
case PRINTER_NOTIFY_FIELD_DATATYPE: val = "PRINTER_NOTIFY_FIELD_DATATYPE"; break;
19427
case PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR: val = "PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR"; break;
19428
case PRINTER_NOTIFY_FIELD_ATTRIBUTES: val = "PRINTER_NOTIFY_FIELD_ATTRIBUTES"; break;
19429
case PRINTER_NOTIFY_FIELD_PRIORITY: val = "PRINTER_NOTIFY_FIELD_PRIORITY"; break;
19430
case PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY: val = "PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY"; break;
19431
case PRINTER_NOTIFY_FIELD_START_TIME: val = "PRINTER_NOTIFY_FIELD_START_TIME"; break;
19432
case PRINTER_NOTIFY_FIELD_UNTIL_TIME: val = "PRINTER_NOTIFY_FIELD_UNTIL_TIME"; break;
19433
case PRINTER_NOTIFY_FIELD_STATUS: val = "PRINTER_NOTIFY_FIELD_STATUS"; break;
19434
case PRINTER_NOTIFY_FIELD_STATUS_STRING: val = "PRINTER_NOTIFY_FIELD_STATUS_STRING"; break;
19435
case PRINTER_NOTIFY_FIELD_CJOBS: val = "PRINTER_NOTIFY_FIELD_CJOBS"; break;
19436
case PRINTER_NOTIFY_FIELD_AVERAGE_PPM: val = "PRINTER_NOTIFY_FIELD_AVERAGE_PPM"; break;
19437
case PRINTER_NOTIFY_FIELD_TOTAL_PAGES: val = "PRINTER_NOTIFY_FIELD_TOTAL_PAGES"; break;
19438
case PRINTER_NOTIFY_FIELD_PAGES_PRINTED: val = "PRINTER_NOTIFY_FIELD_PAGES_PRINTED"; break;
19439
case PRINTER_NOTIFY_FIELD_TOTAL_BYTES: val = "PRINTER_NOTIFY_FIELD_TOTAL_BYTES"; break;
19440
case PRINTER_NOTIFY_FIELD_BYTES_PRINTED: val = "PRINTER_NOTIFY_FIELD_BYTES_PRINTED"; break;
19441
case PRINTER_NOTIFY_FIELD_OBJECT_GUID: val = "PRINTER_NOTIFY_FIELD_OBJECT_GUID"; break;
19442
case PRINTER_NOTIFY_FIELD_FRIENDLY_NAME: val = "PRINTER_NOTIFY_FIELD_FRIENDLY_NAME"; break;
19444
ndr_print_enum(ndr, name, "ENUM", val, r);
19447
static enum ndr_err_code ndr_push_spoolss_NotifyType(struct ndr_push *ndr, int ndr_flags, enum spoolss_NotifyType r)
19449
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
19450
return NDR_ERR_SUCCESS;
19453
static enum ndr_err_code ndr_pull_spoolss_NotifyType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_NotifyType *r)
19456
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
19458
return NDR_ERR_SUCCESS;
19461
_PUBLIC_ void ndr_print_spoolss_NotifyType(struct ndr_print *ndr, const char *name, enum spoolss_NotifyType r)
19463
const char *val = NULL;
19466
case PRINTER_NOTIFY_TYPE: val = "PRINTER_NOTIFY_TYPE"; break;
19467
case JOB_NOTIFY_TYPE: val = "JOB_NOTIFY_TYPE"; break;
19469
ndr_print_enum(ndr, name, "ENUM", val, r);
19472
static enum ndr_err_code ndr_push_spoolss_Field(struct ndr_push *ndr, int ndr_flags, const union spoolss_Field *r)
19474
if (ndr_flags & NDR_SCALARS) {
19475
uint32_t level = ndr_push_get_switch_value(ndr, r);
19476
NDR_CHECK(ndr_push_union_align(ndr, 2));
19478
case PRINTER_NOTIFY_TYPE: {
19479
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->field));
19482
case JOB_NOTIFY_TYPE: {
19483
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->field));
19487
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->field));
19492
if (ndr_flags & NDR_BUFFERS) {
19493
uint32_t level = ndr_push_get_switch_value(ndr, r);
19495
case PRINTER_NOTIFY_TYPE:
19498
case JOB_NOTIFY_TYPE:
19506
return NDR_ERR_SUCCESS;
19509
static enum ndr_err_code ndr_pull_spoolss_Field(struct ndr_pull *ndr, int ndr_flags, union spoolss_Field *r)
19512
level = ndr_pull_get_switch_value(ndr, r);
19513
if (ndr_flags & NDR_SCALARS) {
19514
NDR_CHECK(ndr_pull_union_align(ndr, 2));
19516
case PRINTER_NOTIFY_TYPE: {
19517
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->field));
19520
case JOB_NOTIFY_TYPE: {
19521
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->field));
19525
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->field));
19530
if (ndr_flags & NDR_BUFFERS) {
19532
case PRINTER_NOTIFY_TYPE:
19535
case JOB_NOTIFY_TYPE:
19543
return NDR_ERR_SUCCESS;
19546
static enum ndr_err_code ndr_push_spoolss_NotifyOptionType(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyOptionType *r)
19548
uint32_t cntr_fields_1;
19549
if (ndr_flags & NDR_SCALARS) {
19550
NDR_CHECK(ndr_push_align(ndr, 5));
19551
NDR_CHECK(ndr_push_spoolss_NotifyType(ndr, NDR_SCALARS, r->type));
19552
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->u1));
19553
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
19554
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
19555
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
19556
NDR_CHECK(ndr_push_unique_ptr(ndr, r->fields));
19557
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
19559
if (ndr_flags & NDR_BUFFERS) {
19561
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
19562
for (cntr_fields_1 = 0; cntr_fields_1 < r->count; cntr_fields_1++) {
19563
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->fields[cntr_fields_1], r->type));
19564
NDR_CHECK(ndr_push_spoolss_Field(ndr, NDR_SCALARS, &r->fields[cntr_fields_1]));
19568
return NDR_ERR_SUCCESS;
19571
static enum ndr_err_code ndr_pull_spoolss_NotifyOptionType(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyOptionType *r)
19573
uint32_t _ptr_fields;
19574
uint32_t cntr_fields_1;
19575
TALLOC_CTX *_mem_save_fields_0;
19576
TALLOC_CTX *_mem_save_fields_1;
19577
if (ndr_flags & NDR_SCALARS) {
19578
NDR_CHECK(ndr_pull_align(ndr, 5));
19579
NDR_CHECK(ndr_pull_spoolss_NotifyType(ndr, NDR_SCALARS, &r->type));
19580
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->u1));
19581
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
19582
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
19583
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
19584
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_fields));
19586
NDR_PULL_ALLOC(ndr, r->fields);
19590
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
19592
if (ndr_flags & NDR_BUFFERS) {
19594
_mem_save_fields_0 = NDR_PULL_GET_MEM_CTX(ndr);
19595
NDR_PULL_SET_MEM_CTX(ndr, r->fields, 0);
19596
NDR_CHECK(ndr_pull_array_size(ndr, &r->fields));
19597
NDR_PULL_ALLOC_N(ndr, r->fields, ndr_get_array_size(ndr, &r->fields));
19598
_mem_save_fields_1 = NDR_PULL_GET_MEM_CTX(ndr);
19599
NDR_PULL_SET_MEM_CTX(ndr, r->fields, 0);
19600
for (cntr_fields_1 = 0; cntr_fields_1 < r->count; cntr_fields_1++) {
19601
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->fields[cntr_fields_1], r->type));
19602
NDR_CHECK(ndr_pull_spoolss_Field(ndr, NDR_SCALARS, &r->fields[cntr_fields_1]));
19604
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_fields_1, 0);
19605
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_fields_0, 0);
19608
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->fields, r->count));
19611
return NDR_ERR_SUCCESS;
19614
_PUBLIC_ void ndr_print_spoolss_NotifyOptionType(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyOptionType *r)
19616
uint32_t cntr_fields_1;
19617
ndr_print_struct(ndr, name, "spoolss_NotifyOptionType");
19618
if (r == NULL) { ndr_print_null(ndr); return; }
19620
ndr_print_spoolss_NotifyType(ndr, "type", r->type);
19621
ndr_print_uint16(ndr, "u1", r->u1);
19622
ndr_print_uint32(ndr, "u2", r->u2);
19623
ndr_print_uint32(ndr, "u3", r->u3);
19624
ndr_print_uint32(ndr, "count", r->count);
19625
ndr_print_ptr(ndr, "fields", r->fields);
19628
ndr->print(ndr, "%s: ARRAY(%d)", "fields", (int)r->count);
19630
for (cntr_fields_1=0;cntr_fields_1<r->count;cntr_fields_1++) {
19631
ndr_print_set_switch_value(ndr, &r->fields[cntr_fields_1], r->type);
19632
ndr_print_spoolss_Field(ndr, "fields", &r->fields[cntr_fields_1]);
19640
static enum ndr_err_code ndr_push_spoolssNotifyOptionFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
19642
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
19643
return NDR_ERR_SUCCESS;
19646
static enum ndr_err_code ndr_pull_spoolssNotifyOptionFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
19649
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
19651
return NDR_ERR_SUCCESS;
19654
_PUBLIC_ void ndr_print_spoolssNotifyOptionFlags(struct ndr_print *ndr, const char *name, uint32_t r)
19656
ndr_print_uint32(ndr, name, r);
19658
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_NOTIFY_OPTIONS_REFRESH", PRINTER_NOTIFY_OPTIONS_REFRESH, r);
19662
static enum ndr_err_code ndr_push_spoolss_NotifyOption(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyOption *r)
19664
uint32_t cntr_types_1;
19665
if (ndr_flags & NDR_SCALARS) {
19666
NDR_CHECK(ndr_push_align(ndr, 5));
19667
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
19668
NDR_CHECK(ndr_push_spoolssNotifyOptionFlags(ndr, NDR_SCALARS, r->flags));
19669
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
19670
NDR_CHECK(ndr_push_unique_ptr(ndr, r->types));
19671
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
19673
if (ndr_flags & NDR_BUFFERS) {
19675
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
19676
for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
19677
NDR_CHECK(ndr_push_spoolss_NotifyOptionType(ndr, NDR_SCALARS, &r->types[cntr_types_1]));
19679
for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
19680
NDR_CHECK(ndr_push_spoolss_NotifyOptionType(ndr, NDR_BUFFERS, &r->types[cntr_types_1]));
19684
return NDR_ERR_SUCCESS;
19687
static enum ndr_err_code ndr_pull_spoolss_NotifyOption(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyOption *r)
19689
uint32_t _ptr_types;
19690
uint32_t cntr_types_1;
19691
TALLOC_CTX *_mem_save_types_0;
19692
TALLOC_CTX *_mem_save_types_1;
19693
if (ndr_flags & NDR_SCALARS) {
19694
NDR_CHECK(ndr_pull_align(ndr, 5));
19695
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
19696
NDR_CHECK(ndr_pull_spoolssNotifyOptionFlags(ndr, NDR_SCALARS, &r->flags));
19697
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
19698
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_types));
19700
NDR_PULL_ALLOC(ndr, r->types);
19704
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
19706
if (ndr_flags & NDR_BUFFERS) {
19708
_mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
19709
NDR_PULL_SET_MEM_CTX(ndr, r->types, 0);
19710
NDR_CHECK(ndr_pull_array_size(ndr, &r->types));
19711
NDR_PULL_ALLOC_N(ndr, r->types, ndr_get_array_size(ndr, &r->types));
19712
_mem_save_types_1 = NDR_PULL_GET_MEM_CTX(ndr);
19713
NDR_PULL_SET_MEM_CTX(ndr, r->types, 0);
19714
for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
19715
NDR_CHECK(ndr_pull_spoolss_NotifyOptionType(ndr, NDR_SCALARS, &r->types[cntr_types_1]));
19717
for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
19718
NDR_CHECK(ndr_pull_spoolss_NotifyOptionType(ndr, NDR_BUFFERS, &r->types[cntr_types_1]));
19720
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_1, 0);
19721
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, 0);
19724
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->types, r->count));
19727
return NDR_ERR_SUCCESS;
19730
_PUBLIC_ void ndr_print_spoolss_NotifyOption(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyOption *r)
19732
uint32_t cntr_types_1;
19733
ndr_print_struct(ndr, name, "spoolss_NotifyOption");
19734
if (r == NULL) { ndr_print_null(ndr); return; }
19736
ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
19737
ndr_print_spoolssNotifyOptionFlags(ndr, "flags", r->flags);
19738
ndr_print_uint32(ndr, "count", r->count);
19739
ndr_print_ptr(ndr, "types", r->types);
19742
ndr->print(ndr, "%s: ARRAY(%d)", "types", (int)r->count);
19744
for (cntr_types_1=0;cntr_types_1<r->count;cntr_types_1++) {
19745
ndr_print_spoolss_NotifyOptionType(ndr, "types", &r->types[cntr_types_1]);
19753
static enum ndr_err_code ndr_push_spoolss_NotifyString(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyString *r)
19755
if (ndr_flags & NDR_SCALARS) {
19756
NDR_CHECK(ndr_push_align(ndr, 5));
19757
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
19758
NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
19759
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
19761
if (ndr_flags & NDR_BUFFERS) {
19763
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size / 2));
19764
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, r->size / 2, sizeof(uint16_t), CH_UTF16));
19767
return NDR_ERR_SUCCESS;
19770
static enum ndr_err_code ndr_pull_spoolss_NotifyString(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyString *r)
19772
uint32_t _ptr_string;
19773
TALLOC_CTX *_mem_save_string_0;
19774
if (ndr_flags & NDR_SCALARS) {
19775
NDR_CHECK(ndr_pull_align(ndr, 5));
19776
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
19777
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
19779
NDR_PULL_ALLOC(ndr, r->string);
19783
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
19785
if (ndr_flags & NDR_BUFFERS) {
19787
_mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
19788
NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
19789
NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
19790
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_size(ndr, &r->string), sizeof(uint16_t), CH_UTF16));
19791
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
19794
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->size / 2));
19797
return NDR_ERR_SUCCESS;
19800
_PUBLIC_ void ndr_print_spoolss_NotifyString(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyString *r)
19802
ndr_print_struct(ndr, name, "spoolss_NotifyString");
19803
if (r == NULL) { ndr_print_null(ndr); return; }
19805
ndr_print_uint32(ndr, "size", r->size);
19806
ndr_print_ptr(ndr, "string", r->string);
19809
ndr_print_string(ndr, "string", r->string);
19815
static enum ndr_err_code ndr_push_spoolss_NotifyTable(struct ndr_push *ndr, int ndr_flags, enum spoolss_NotifyTable r)
19817
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
19818
return NDR_ERR_SUCCESS;
19821
static enum ndr_err_code ndr_pull_spoolss_NotifyTable(struct ndr_pull *ndr, int ndr_flags, enum spoolss_NotifyTable *r)
19824
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
19826
return NDR_ERR_SUCCESS;
19829
_PUBLIC_ void ndr_print_spoolss_NotifyTable(struct ndr_print *ndr, const char *name, enum spoolss_NotifyTable r)
19831
const char *val = NULL;
19834
case NOTIFY_TABLE_DWORD: val = "NOTIFY_TABLE_DWORD"; break;
19835
case NOTIFY_TABLE_STRING: val = "NOTIFY_TABLE_STRING"; break;
19836
case NOTIFY_TABLE_DEVMODE: val = "NOTIFY_TABLE_DEVMODE"; break;
19837
case NOTIFY_TABLE_TIME: val = "NOTIFY_TABLE_TIME"; break;
19838
case NOTIFY_TABLE_SECURITYDESCRIPTOR: val = "NOTIFY_TABLE_SECURITYDESCRIPTOR"; break;
19840
ndr_print_enum(ndr, name, "ENUM", val, r);
19843
static enum ndr_err_code ndr_push_spoolss_NotifyData(struct ndr_push *ndr, int ndr_flags, const union spoolss_NotifyData *r)
19845
if (ndr_flags & NDR_SCALARS) {
19846
uint32_t level = ndr_push_get_switch_value(ndr, r);
19847
NDR_CHECK(ndr_push_union_align(ndr, 5));
19848
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
19849
NDR_CHECK(ndr_push_union_align(ndr, 5));
19852
uint32_t cntr_integer_0;
19853
for (cntr_integer_0 = 0; cntr_integer_0 < 2; cntr_integer_0++) {
19854
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->integer[cntr_integer_0]));
19859
NDR_CHECK(ndr_push_spoolss_NotifyString(ndr, NDR_SCALARS, &r->string));
19863
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS, &r->devmode));
19867
NDR_CHECK(ndr_push_spoolss_TimeCtr(ndr, NDR_SCALARS, &r->time));
19871
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sd));
19875
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
19878
if (ndr_flags & NDR_BUFFERS) {
19879
uint32_t level = ndr_push_get_switch_value(ndr, r);
19885
NDR_CHECK(ndr_push_spoolss_NotifyString(ndr, NDR_BUFFERS, &r->string));
19889
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_BUFFERS, &r->devmode));
19893
NDR_CHECK(ndr_push_spoolss_TimeCtr(ndr, NDR_BUFFERS, &r->time));
19897
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sd));
19901
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
19904
return NDR_ERR_SUCCESS;
19907
static enum ndr_err_code ndr_pull_spoolss_NotifyData(struct ndr_pull *ndr, int ndr_flags, union spoolss_NotifyData *r)
19911
level = ndr_pull_get_switch_value(ndr, r);
19912
if (ndr_flags & NDR_SCALARS) {
19913
NDR_CHECK(ndr_pull_union_align(ndr, 5));
19914
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
19915
if (_level != level) {
19916
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
19918
NDR_CHECK(ndr_pull_union_align(ndr, 5));
19921
uint32_t cntr_integer_0;
19922
for (cntr_integer_0 = 0; cntr_integer_0 < 2; cntr_integer_0++) {
19923
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->integer[cntr_integer_0]));
19928
NDR_CHECK(ndr_pull_spoolss_NotifyString(ndr, NDR_SCALARS, &r->string));
19932
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS, &r->devmode));
19936
NDR_CHECK(ndr_pull_spoolss_TimeCtr(ndr, NDR_SCALARS, &r->time));
19940
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sd));
19944
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
19947
if (ndr_flags & NDR_BUFFERS) {
19953
NDR_CHECK(ndr_pull_spoolss_NotifyString(ndr, NDR_BUFFERS, &r->string));
19957
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_BUFFERS, &r->devmode));
19961
NDR_CHECK(ndr_pull_spoolss_TimeCtr(ndr, NDR_BUFFERS, &r->time));
19965
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sd));
19969
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
19972
return NDR_ERR_SUCCESS;
19975
_PUBLIC_ void ndr_print_spoolss_NotifyData(struct ndr_print *ndr, const char *name, const union spoolss_NotifyData *r)
19978
uint32_t cntr_integer_0;
19979
level = ndr_print_get_switch_value(ndr, r);
19980
ndr_print_union(ndr, name, level, "spoolss_NotifyData");
19983
ndr->print(ndr, "%s: ARRAY(%d)", "integer", (int)2);
19985
for (cntr_integer_0=0;cntr_integer_0<2;cntr_integer_0++) {
19986
ndr_print_uint32(ndr, "integer", r->integer[cntr_integer_0]);
19992
ndr_print_spoolss_NotifyString(ndr, "string", &r->string);
19996
ndr_print_spoolss_DevmodeContainer(ndr, "devmode", &r->devmode);
20000
ndr_print_spoolss_TimeCtr(ndr, "time", &r->time);
20004
ndr_print_sec_desc_buf(ndr, "sd", &r->sd);
20008
ndr_print_bad_level(ndr, name, level);
20012
static enum ndr_err_code ndr_push_spoolss_Notify(struct ndr_push *ndr, int ndr_flags, const struct spoolss_Notify *r)
20014
if (ndr_flags & NDR_SCALARS) {
20015
NDR_CHECK(ndr_push_align(ndr, 5));
20016
NDR_CHECK(ndr_push_spoolss_NotifyType(ndr, NDR_SCALARS, r->type));
20017
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->field, r->type));
20018
NDR_CHECK(ndr_push_spoolss_Field(ndr, NDR_SCALARS, &r->field));
20019
NDR_CHECK(ndr_push_spoolss_NotifyTable(ndr, NDR_SCALARS, r->variable_type));
20020
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
20021
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->data, r->variable_type));
20022
NDR_CHECK(ndr_push_spoolss_NotifyData(ndr, NDR_SCALARS, &r->data));
20023
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
20025
if (ndr_flags & NDR_BUFFERS) {
20026
NDR_CHECK(ndr_push_spoolss_NotifyData(ndr, NDR_BUFFERS, &r->data));
20028
return NDR_ERR_SUCCESS;
20031
static enum ndr_err_code ndr_pull_spoolss_Notify(struct ndr_pull *ndr, int ndr_flags, struct spoolss_Notify *r)
20033
if (ndr_flags & NDR_SCALARS) {
20034
NDR_CHECK(ndr_pull_align(ndr, 5));
20035
NDR_CHECK(ndr_pull_spoolss_NotifyType(ndr, NDR_SCALARS, &r->type));
20036
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->field, r->type));
20037
NDR_CHECK(ndr_pull_spoolss_Field(ndr, NDR_SCALARS, &r->field));
20038
NDR_CHECK(ndr_pull_spoolss_NotifyTable(ndr, NDR_SCALARS, &r->variable_type));
20039
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
20040
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->data, r->variable_type));
20041
NDR_CHECK(ndr_pull_spoolss_NotifyData(ndr, NDR_SCALARS, &r->data));
20042
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
20044
if (ndr_flags & NDR_BUFFERS) {
20045
NDR_CHECK(ndr_pull_spoolss_NotifyData(ndr, NDR_BUFFERS, &r->data));
20047
return NDR_ERR_SUCCESS;
20050
_PUBLIC_ void ndr_print_spoolss_Notify(struct ndr_print *ndr, const char *name, const struct spoolss_Notify *r)
20052
ndr_print_struct(ndr, name, "spoolss_Notify");
20053
if (r == NULL) { ndr_print_null(ndr); return; }
20055
ndr_print_spoolss_NotifyType(ndr, "type", r->type);
20056
ndr_print_set_switch_value(ndr, &r->field, r->type);
20057
ndr_print_spoolss_Field(ndr, "field", &r->field);
20058
ndr_print_spoolss_NotifyTable(ndr, "variable_type", r->variable_type);
20059
ndr_print_uint32(ndr, "job_id", r->job_id);
20060
ndr_print_set_switch_value(ndr, &r->data, r->variable_type);
20061
ndr_print_spoolss_NotifyData(ndr, "data", &r->data);
20065
static enum ndr_err_code ndr_push_spoolss_NotifyInfo(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyInfo *r)
20067
uint32_t cntr_notifies_0;
20068
if (ndr_flags & NDR_SCALARS) {
20069
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
20070
NDR_CHECK(ndr_push_align(ndr, 5));
20071
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
20072
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
20073
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
20074
for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) {
20075
NDR_CHECK(ndr_push_spoolss_Notify(ndr, NDR_SCALARS, &r->notifies[cntr_notifies_0]));
20077
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
20079
if (ndr_flags & NDR_BUFFERS) {
20080
for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) {
20081
NDR_CHECK(ndr_push_spoolss_Notify(ndr, NDR_BUFFERS, &r->notifies[cntr_notifies_0]));
20084
return NDR_ERR_SUCCESS;
20087
static enum ndr_err_code ndr_pull_spoolss_NotifyInfo(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyInfo *r)
20089
uint32_t cntr_notifies_0;
20090
TALLOC_CTX *_mem_save_notifies_0;
20091
if (ndr_flags & NDR_SCALARS) {
20092
NDR_CHECK(ndr_pull_array_size(ndr, &r->notifies));
20093
NDR_CHECK(ndr_pull_align(ndr, 5));
20094
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
20095
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
20096
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
20097
NDR_PULL_ALLOC_N(ndr, r->notifies, ndr_get_array_size(ndr, &r->notifies));
20098
_mem_save_notifies_0 = NDR_PULL_GET_MEM_CTX(ndr);
20099
NDR_PULL_SET_MEM_CTX(ndr, r->notifies, 0);
20100
for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) {
20101
NDR_CHECK(ndr_pull_spoolss_Notify(ndr, NDR_SCALARS, &r->notifies[cntr_notifies_0]));
20103
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notifies_0, 0);
20105
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->notifies, r->count));
20107
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
20109
if (ndr_flags & NDR_BUFFERS) {
20110
_mem_save_notifies_0 = NDR_PULL_GET_MEM_CTX(ndr);
20111
NDR_PULL_SET_MEM_CTX(ndr, r->notifies, 0);
20112
for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) {
20113
NDR_CHECK(ndr_pull_spoolss_Notify(ndr, NDR_BUFFERS, &r->notifies[cntr_notifies_0]));
20115
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notifies_0, 0);
20117
return NDR_ERR_SUCCESS;
20120
_PUBLIC_ void ndr_print_spoolss_NotifyInfo(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyInfo *r)
20122
uint32_t cntr_notifies_0;
20123
ndr_print_struct(ndr, name, "spoolss_NotifyInfo");
20124
if (r == NULL) { ndr_print_null(ndr); return; }
20126
ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
20127
ndr_print_uint32(ndr, "flags", r->flags);
20128
ndr_print_uint32(ndr, "count", r->count);
20129
ndr->print(ndr, "%s: ARRAY(%d)", "notifies", (int)r->count);
20131
for (cntr_notifies_0=0;cntr_notifies_0<r->count;cntr_notifies_0++) {
20132
ndr_print_spoolss_Notify(ndr, "notifies", &r->notifies[cntr_notifies_0]);
20138
static enum ndr_err_code ndr_push_spoolss_ReplyPrinterInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_ReplyPrinterInfo *r)
20140
if (ndr_flags & NDR_SCALARS) {
20141
uint32_t level = ndr_push_get_switch_value(ndr, r);
20142
NDR_CHECK(ndr_push_union_align(ndr, 5));
20143
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
20144
NDR_CHECK(ndr_push_union_align(ndr, 5));
20147
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
20151
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
20154
if (ndr_flags & NDR_BUFFERS) {
20155
uint32_t level = ndr_push_get_switch_value(ndr, r);
20159
NDR_CHECK(ndr_push_spoolss_NotifyInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
20164
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
20167
return NDR_ERR_SUCCESS;
20170
static enum ndr_err_code ndr_pull_spoolss_ReplyPrinterInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_ReplyPrinterInfo *r)
20174
TALLOC_CTX *_mem_save_info0_0;
20175
level = ndr_pull_get_switch_value(ndr, r);
20176
if (ndr_flags & NDR_SCALARS) {
20177
NDR_CHECK(ndr_pull_union_align(ndr, 5));
20178
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
20179
if (_level != level) {
20180
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
20182
NDR_CHECK(ndr_pull_union_align(ndr, 5));
20185
uint32_t _ptr_info0;
20186
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
20188
NDR_PULL_ALLOC(ndr, r->info0);
20195
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
20198
if (ndr_flags & NDR_BUFFERS) {
20202
_mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
20203
NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
20204
NDR_CHECK(ndr_pull_spoolss_NotifyInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
20205
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
20210
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
20213
return NDR_ERR_SUCCESS;
20216
_PUBLIC_ void ndr_print_spoolss_ReplyPrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_ReplyPrinterInfo *r)
20219
level = ndr_print_get_switch_value(ndr, r);
20220
ndr_print_union(ndr, name, level, "spoolss_ReplyPrinterInfo");
20223
ndr_print_ptr(ndr, "info0", r->info0);
20226
ndr_print_spoolss_NotifyInfo(ndr, "info0", r->info0);
20232
ndr_print_bad_level(ndr, name, level);
20236
static enum ndr_err_code ndr_push_spoolss_PrinterNotifyFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
20238
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
20239
return NDR_ERR_SUCCESS;
20242
static enum ndr_err_code ndr_pull_spoolss_PrinterNotifyFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
20245
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
20247
return NDR_ERR_SUCCESS;
20250
_PUBLIC_ void ndr_print_spoolss_PrinterNotifyFlags(struct ndr_print *ndr, const char *name, uint32_t r)
20252
ndr_print_uint32(ndr, name, r);
20254
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_NOTIFY_INFO_DISCARDED", PRINTER_NOTIFY_INFO_DISCARDED, r);
20255
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_NOTIFY_INFO_DISCARDNOTED", PRINTER_NOTIFY_INFO_DISCARDNOTED, r);
20256
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_NOTIFY_INFO_COLOR_MISMATCH", PRINTER_NOTIFY_INFO_COLOR_MISMATCH, r);
20260
static enum ndr_err_code ndr_push_spoolss_UserLevel1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UserLevel1 *r)
20262
if (ndr_flags & NDR_SCALARS) {
20263
NDR_CHECK(ndr_push_align(ndr, 5));
20264
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
20265
NDR_CHECK(ndr_push_unique_ptr(ndr, r->client));
20266
NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
20267
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build));
20268
NDR_CHECK(ndr_push_spoolss_MajorVersion(ndr, NDR_SCALARS, r->major));
20269
NDR_CHECK(ndr_push_spoolss_MinorVersion(ndr, NDR_SCALARS, r->minor));
20270
NDR_CHECK(ndr_push_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, r->processor));
20271
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
20273
if (ndr_flags & NDR_BUFFERS) {
20275
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16)));
20276
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
20277
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16)));
20278
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client, ndr_charset_length(r->client, CH_UTF16), sizeof(uint16_t), CH_UTF16));
20281
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
20282
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
20283
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
20284
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16));
20287
return NDR_ERR_SUCCESS;
20290
static enum ndr_err_code ndr_pull_spoolss_UserLevel1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UserLevel1 *r)
20292
uint32_t _ptr_client;
20293
TALLOC_CTX *_mem_save_client_0;
20294
uint32_t _ptr_user;
20295
TALLOC_CTX *_mem_save_user_0;
20296
if (ndr_flags & NDR_SCALARS) {
20297
NDR_CHECK(ndr_pull_align(ndr, 5));
20298
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
20299
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client));
20301
NDR_PULL_ALLOC(ndr, r->client);
20305
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
20307
NDR_PULL_ALLOC(ndr, r->user);
20311
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build));
20312
NDR_CHECK(ndr_pull_spoolss_MajorVersion(ndr, NDR_SCALARS, &r->major));
20313
NDR_CHECK(ndr_pull_spoolss_MinorVersion(ndr, NDR_SCALARS, &r->minor));
20314
NDR_CHECK(ndr_pull_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, &r->processor));
20315
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
20317
if (ndr_flags & NDR_BUFFERS) {
20319
_mem_save_client_0 = NDR_PULL_GET_MEM_CTX(ndr);
20320
NDR_PULL_SET_MEM_CTX(ndr, r->client, 0);
20321
NDR_CHECK(ndr_pull_array_size(ndr, &r->client));
20322
NDR_CHECK(ndr_pull_array_length(ndr, &r->client));
20323
if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) {
20324
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));
20326
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t)));
20327
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16));
20328
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0);
20331
_mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
20332
NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
20333
NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
20334
NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
20335
if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
20336
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));
20338
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
20339
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
20340
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
20343
return NDR_ERR_SUCCESS;
20346
_PUBLIC_ void ndr_print_spoolss_UserLevel1(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevel1 *r)
20348
ndr_print_struct(ndr, name, "spoolss_UserLevel1");
20349
if (r == NULL) { ndr_print_null(ndr); return; }
20351
ndr_print_uint32(ndr, "size", r->size);
20352
ndr_print_ptr(ndr, "client", r->client);
20355
ndr_print_string(ndr, "client", r->client);
20358
ndr_print_ptr(ndr, "user", r->user);
20361
ndr_print_string(ndr, "user", r->user);
20364
ndr_print_uint32(ndr, "build", r->build);
20365
ndr_print_spoolss_MajorVersion(ndr, "major", r->major);
20366
ndr_print_spoolss_MinorVersion(ndr, "minor", r->minor);
20367
ndr_print_spoolss_ProcessorArchitecture(ndr, "processor", r->processor);
20371
static enum ndr_err_code ndr_push_spoolss_UserLevel2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UserLevel2 *r)
20373
if (ndr_flags & NDR_SCALARS) {
20374
NDR_CHECK(ndr_push_align(ndr, 4));
20375
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->not_used));
20376
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
20378
if (ndr_flags & NDR_BUFFERS) {
20380
return NDR_ERR_SUCCESS;
20383
static enum ndr_err_code ndr_pull_spoolss_UserLevel2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UserLevel2 *r)
20385
if (ndr_flags & NDR_SCALARS) {
20386
NDR_CHECK(ndr_pull_align(ndr, 4));
20387
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->not_used));
20388
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
20390
if (ndr_flags & NDR_BUFFERS) {
20392
return NDR_ERR_SUCCESS;
20395
_PUBLIC_ void ndr_print_spoolss_UserLevel2(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevel2 *r)
20397
ndr_print_struct(ndr, name, "spoolss_UserLevel2");
20398
if (r == NULL) { ndr_print_null(ndr); return; }
20400
ndr_print_uint32(ndr, "not_used", r->not_used);
20404
static enum ndr_err_code ndr_push_spoolss_UserLevel3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UserLevel3 *r)
20406
if (ndr_flags & NDR_SCALARS) {
20407
NDR_CHECK(ndr_push_align(ndr, 5));
20408
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
20409
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
20410
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size2));
20411
NDR_CHECK(ndr_push_unique_ptr(ndr, r->client));
20412
NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
20413
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build));
20414
NDR_CHECK(ndr_push_spoolss_MajorVersion(ndr, NDR_SCALARS, r->major));
20415
NDR_CHECK(ndr_push_spoolss_MinorVersion(ndr, NDR_SCALARS, r->minor));
20416
NDR_CHECK(ndr_push_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, r->processor));
20417
NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->reserved));
20418
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
20420
if (ndr_flags & NDR_BUFFERS) {
20422
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16)));
20423
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
20424
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16)));
20425
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client, ndr_charset_length(r->client, CH_UTF16), sizeof(uint16_t), CH_UTF16));
20428
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
20429
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
20430
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
20431
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16));
20434
return NDR_ERR_SUCCESS;
20437
static enum ndr_err_code ndr_pull_spoolss_UserLevel3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UserLevel3 *r)
20439
uint32_t _ptr_client;
20440
TALLOC_CTX *_mem_save_client_0;
20441
uint32_t _ptr_user;
20442
TALLOC_CTX *_mem_save_user_0;
20443
if (ndr_flags & NDR_SCALARS) {
20444
NDR_CHECK(ndr_pull_align(ndr, 5));
20445
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
20446
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
20447
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size2));
20448
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client));
20450
NDR_PULL_ALLOC(ndr, r->client);
20454
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
20456
NDR_PULL_ALLOC(ndr, r->user);
20460
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build));
20461
NDR_CHECK(ndr_pull_spoolss_MajorVersion(ndr, NDR_SCALARS, &r->major));
20462
NDR_CHECK(ndr_pull_spoolss_MinorVersion(ndr, NDR_SCALARS, &r->minor));
20463
NDR_CHECK(ndr_pull_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, &r->processor));
20464
NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->reserved));
20465
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
20467
if (ndr_flags & NDR_BUFFERS) {
20469
_mem_save_client_0 = NDR_PULL_GET_MEM_CTX(ndr);
20470
NDR_PULL_SET_MEM_CTX(ndr, r->client, 0);
20471
NDR_CHECK(ndr_pull_array_size(ndr, &r->client));
20472
NDR_CHECK(ndr_pull_array_length(ndr, &r->client));
20473
if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) {
20474
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));
20476
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t)));
20477
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16));
20478
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0);
20481
_mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
20482
NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
20483
NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
20484
NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
20485
if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
20486
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));
20488
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
20489
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
20490
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
20493
return NDR_ERR_SUCCESS;
20496
_PUBLIC_ void ndr_print_spoolss_UserLevel3(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevel3 *r)
20498
ndr_print_struct(ndr, name, "spoolss_UserLevel3");
20499
if (r == NULL) { ndr_print_null(ndr); return; }
20501
ndr_print_uint32(ndr, "size", r->size);
20502
ndr_print_uint32(ndr, "flags", r->flags);
20503
ndr_print_uint32(ndr, "size2", r->size2);
20504
ndr_print_ptr(ndr, "client", r->client);
20507
ndr_print_string(ndr, "client", r->client);
20510
ndr_print_ptr(ndr, "user", r->user);
20513
ndr_print_string(ndr, "user", r->user);
20516
ndr_print_uint32(ndr, "build", r->build);
20517
ndr_print_spoolss_MajorVersion(ndr, "major", r->major);
20518
ndr_print_spoolss_MinorVersion(ndr, "minor", r->minor);
20519
ndr_print_spoolss_ProcessorArchitecture(ndr, "processor", r->processor);
20520
ndr_print_udlong(ndr, "reserved", r->reserved);
20524
static enum ndr_err_code ndr_push_spoolss_UserLevel(struct ndr_push *ndr, int ndr_flags, const union spoolss_UserLevel *r)
20526
if (ndr_flags & NDR_SCALARS) {
20527
uint32_t level = ndr_push_get_switch_value(ndr, r);
20528
NDR_CHECK(ndr_push_union_align(ndr, 5));
20529
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
20530
NDR_CHECK(ndr_push_union_align(ndr, 5));
20533
NDR_CHECK(ndr_push_unique_ptr(ndr, r->level1));
20537
NDR_CHECK(ndr_push_unique_ptr(ndr, r->level2));
20541
NDR_CHECK(ndr_push_unique_ptr(ndr, r->level3));
20545
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
20548
if (ndr_flags & NDR_BUFFERS) {
20549
uint32_t level = ndr_push_get_switch_value(ndr, r);
20553
NDR_CHECK(ndr_push_spoolss_UserLevel1(ndr, NDR_SCALARS|NDR_BUFFERS, r->level1));
20559
NDR_CHECK(ndr_push_spoolss_UserLevel2(ndr, NDR_SCALARS, r->level2));
20565
NDR_CHECK(ndr_push_spoolss_UserLevel3(ndr, NDR_SCALARS|NDR_BUFFERS, r->level3));
20570
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
20573
return NDR_ERR_SUCCESS;
20576
static enum ndr_err_code ndr_pull_spoolss_UserLevel(struct ndr_pull *ndr, int ndr_flags, union spoolss_UserLevel *r)
20580
TALLOC_CTX *_mem_save_level1_0;
20581
TALLOC_CTX *_mem_save_level2_0;
20582
TALLOC_CTX *_mem_save_level3_0;
20583
level = ndr_pull_get_switch_value(ndr, r);
20584
if (ndr_flags & NDR_SCALARS) {
20585
NDR_CHECK(ndr_pull_union_align(ndr, 5));
20586
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
20587
if (_level != level) {
20588
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
20590
NDR_CHECK(ndr_pull_union_align(ndr, 5));
20593
uint32_t _ptr_level1;
20594
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_level1));
20596
NDR_PULL_ALLOC(ndr, r->level1);
20603
uint32_t _ptr_level2;
20604
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_level2));
20606
NDR_PULL_ALLOC(ndr, r->level2);
20613
uint32_t _ptr_level3;
20614
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_level3));
20616
NDR_PULL_ALLOC(ndr, r->level3);
20623
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
20626
if (ndr_flags & NDR_BUFFERS) {
20630
_mem_save_level1_0 = NDR_PULL_GET_MEM_CTX(ndr);
20631
NDR_PULL_SET_MEM_CTX(ndr, r->level1, 0);
20632
NDR_CHECK(ndr_pull_spoolss_UserLevel1(ndr, NDR_SCALARS|NDR_BUFFERS, r->level1));
20633
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level1_0, 0);
20639
_mem_save_level2_0 = NDR_PULL_GET_MEM_CTX(ndr);
20640
NDR_PULL_SET_MEM_CTX(ndr, r->level2, 0);
20641
NDR_CHECK(ndr_pull_spoolss_UserLevel2(ndr, NDR_SCALARS, r->level2));
20642
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level2_0, 0);
20648
_mem_save_level3_0 = NDR_PULL_GET_MEM_CTX(ndr);
20649
NDR_PULL_SET_MEM_CTX(ndr, r->level3, 0);
20650
NDR_CHECK(ndr_pull_spoolss_UserLevel3(ndr, NDR_SCALARS|NDR_BUFFERS, r->level3));
20651
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level3_0, 0);
20656
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
20659
return NDR_ERR_SUCCESS;
20662
_PUBLIC_ void ndr_print_spoolss_UserLevel(struct ndr_print *ndr, const char *name, const union spoolss_UserLevel *r)
20665
level = ndr_print_get_switch_value(ndr, r);
20666
ndr_print_union(ndr, name, level, "spoolss_UserLevel");
20669
ndr_print_ptr(ndr, "level1", r->level1);
20672
ndr_print_spoolss_UserLevel1(ndr, "level1", r->level1);
20678
ndr_print_ptr(ndr, "level2", r->level2);
20681
ndr_print_spoolss_UserLevel2(ndr, "level2", r->level2);
20687
ndr_print_ptr(ndr, "level3", r->level3);
20690
ndr_print_spoolss_UserLevel3(ndr, "level3", r->level3);
20696
ndr_print_bad_level(ndr, name, level);
20700
static enum ndr_err_code ndr_push_spoolss_UserLevelCtr(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UserLevelCtr *r)
20702
if (ndr_flags & NDR_SCALARS) {
20703
NDR_CHECK(ndr_push_align(ndr, 5));
20704
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
20705
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->user_info, r->level));
20706
NDR_CHECK(ndr_push_spoolss_UserLevel(ndr, NDR_SCALARS, &r->user_info));
20707
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
20709
if (ndr_flags & NDR_BUFFERS) {
20710
NDR_CHECK(ndr_push_spoolss_UserLevel(ndr, NDR_BUFFERS, &r->user_info));
20712
return NDR_ERR_SUCCESS;
20715
static enum ndr_err_code ndr_pull_spoolss_UserLevelCtr(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UserLevelCtr *r)
20717
if (ndr_flags & NDR_SCALARS) {
20718
NDR_CHECK(ndr_pull_align(ndr, 5));
20719
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
20720
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->user_info, r->level));
20721
NDR_CHECK(ndr_pull_spoolss_UserLevel(ndr, NDR_SCALARS, &r->user_info));
20722
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
20724
if (ndr_flags & NDR_BUFFERS) {
20725
NDR_CHECK(ndr_pull_spoolss_UserLevel(ndr, NDR_BUFFERS, &r->user_info));
20727
return NDR_ERR_SUCCESS;
20730
_PUBLIC_ void ndr_print_spoolss_UserLevelCtr(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevelCtr *r)
20732
ndr_print_struct(ndr, name, "spoolss_UserLevelCtr");
20733
if (r == NULL) { ndr_print_null(ndr); return; }
20735
ndr_print_uint32(ndr, "level", r->level);
20736
ndr_print_set_switch_value(ndr, &r->user_info, r->level);
20737
ndr_print_spoolss_UserLevel(ndr, "user_info", &r->user_info);
20741
static enum ndr_err_code ndr_push_spoolss_AccessRights(struct ndr_push *ndr, int ndr_flags, uint32_t r)
20743
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
20744
return NDR_ERR_SUCCESS;
20747
static enum ndr_err_code ndr_pull_spoolss_AccessRights(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
20750
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
20752
return NDR_ERR_SUCCESS;
20755
_PUBLIC_ void ndr_print_spoolss_AccessRights(struct ndr_print *ndr, const char *name, uint32_t r)
20757
ndr_print_uint32(ndr, name, r);
20759
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SERVER_ACCESS_ADMINISTER", SERVER_ACCESS_ADMINISTER, r);
20760
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SERVER_ACCESS_ENUMERATE", SERVER_ACCESS_ENUMERATE, r);
20761
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ACCESS_ADMINISTER", PRINTER_ACCESS_ADMINISTER, r);
20762
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ACCESS_USE", PRINTER_ACCESS_USE, r);
20763
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_ACCESS_ADMINISTER", JOB_ACCESS_ADMINISTER, r);
20764
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_ACCESS_READ", JOB_ACCESS_READ, r);
20768
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterEnumValues(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterEnumValues *r)
20770
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
20771
if (ndr_flags & NDR_SCALARS) {
20772
NDR_CHECK(ndr_push_align(ndr, 5));
20773
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
20775
uint32_t _flags_save_string = ndr->flags;
20776
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
20777
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->value_name));
20778
ndr->flags = _flags_save_string;
20780
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2 * strlen_m_term(r->value_name)));
20781
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->type));
20783
uint32_t _flags_save_DATA_BLOB = ndr->flags;
20784
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING|ndr_spoolss_PrinterEnumValues_align(r->type));
20785
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data));
20786
ndr->flags = _flags_save_DATA_BLOB;
20788
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data?r->data->length:0));
20789
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
20791
if (ndr_flags & NDR_BUFFERS) {
20792
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
20794
uint32_t _flags_save_string = ndr->flags;
20795
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
20796
if (r->value_name) {
20797
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value_name));
20798
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->value_name));
20799
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value_name));
20801
ndr->flags = _flags_save_string;
20804
uint32_t _flags_save_DATA_BLOB = ndr->flags;
20805
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING|ndr_spoolss_PrinterEnumValues_align(r->type));
20807
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data));
20809
struct ndr_push *_ndr_data;
20810
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_data, 0, r->data?r->data->length:0));
20811
NDR_CHECK(ndr_push_DATA_BLOB(_ndr_data, NDR_SCALARS, *r->data));
20812
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_data, 0, r->data?r->data->length:0));
20814
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data));
20816
ndr->flags = _flags_save_DATA_BLOB;
20819
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
20820
return NDR_ERR_SUCCESS;
20823
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterEnumValues(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterEnumValues *r)
20825
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
20826
uint32_t _ptr_value_name;
20827
TALLOC_CTX *_mem_save_value_name_0;
20828
uint32_t _ptr_data;
20829
TALLOC_CTX *_mem_save_data_0;
20830
if (ndr_flags & NDR_SCALARS) {
20831
NDR_CHECK(ndr_pull_align(ndr, 5));
20832
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
20834
uint32_t _flags_save_string = ndr->flags;
20835
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
20836
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value_name));
20837
if (_ptr_value_name) {
20838
NDR_PULL_ALLOC(ndr, r->value_name);
20839
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->value_name, _ptr_value_name));
20841
r->value_name = NULL;
20843
ndr->flags = _flags_save_string;
20845
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value_name_len));
20846
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->type));
20848
uint32_t _flags_save_DATA_BLOB = ndr->flags;
20849
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING|ndr_spoolss_PrinterEnumValues_align(r->type));
20850
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
20852
NDR_PULL_ALLOC(ndr, r->data);
20853
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data, _ptr_data));
20857
ndr->flags = _flags_save_DATA_BLOB;
20859
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data_length));
20860
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
20862
if (ndr_flags & NDR_BUFFERS) {
20863
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
20865
uint32_t _flags_save_string = ndr->flags;
20866
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
20867
if (r->value_name) {
20868
uint32_t _relative_save_offset;
20869
_relative_save_offset = ndr->offset;
20870
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->value_name));
20871
_mem_save_value_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
20872
NDR_PULL_SET_MEM_CTX(ndr, r->value_name, 0);
20873
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->value_name));
20874
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_name_0, 0);
20875
if (ndr->offset > ndr->relative_highest_offset) {
20876
ndr->relative_highest_offset = ndr->offset;
20878
ndr->offset = _relative_save_offset;
20880
ndr->flags = _flags_save_string;
20883
uint32_t _flags_save_DATA_BLOB = ndr->flags;
20884
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING|ndr_spoolss_PrinterEnumValues_align(r->type));
20886
uint32_t _relative_save_offset;
20887
_relative_save_offset = ndr->offset;
20888
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data));
20889
_mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
20890
NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
20892
struct ndr_pull *_ndr_data;
20893
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_data, 0, r->data_length));
20894
NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_data, NDR_SCALARS, r->data));
20895
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_data, 0, r->data_length));
20897
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
20898
if (ndr->offset > ndr->relative_highest_offset) {
20899
ndr->relative_highest_offset = ndr->offset;
20901
ndr->offset = _relative_save_offset;
20903
ndr->flags = _flags_save_DATA_BLOB;
20906
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
20907
return NDR_ERR_SUCCESS;
20910
_PUBLIC_ void ndr_print_spoolss_PrinterEnumValues(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterEnumValues *r)
20912
ndr_print_struct(ndr, name, "spoolss_PrinterEnumValues");
20913
if (r == NULL) { ndr_print_null(ndr); return; }
20915
ndr_print_ptr(ndr, "value_name", r->value_name);
20917
if (r->value_name) {
20918
ndr_print_string(ndr, "value_name", r->value_name);
20921
ndr_print_uint32(ndr, "value_name_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m_term(r->value_name):r->value_name_len);
20922
ndr_print_winreg_Type(ndr, "type", r->type);
20923
ndr_print_ptr(ndr, "data", r->data);
20926
ndr_print_DATA_BLOB(ndr, "data", *r->data);
20929
ndr_print_uint32(ndr, "data_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->data?r->data->length:0:r->data_length);
20933
_PUBLIC_ size_t ndr_size_spoolss_PrinterEnumValues(const struct spoolss_PrinterEnumValues *r, int flags)
20935
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterEnumValues);
20938
static enum ndr_err_code ndr_push_spoolss_KeyNames(struct ndr_push *ndr, int ndr_flags, const union spoolss_KeyNames *r)
20940
if (ndr_flags & NDR_SCALARS) {
20941
uint32_t level = ndr_push_get_switch_value(ndr, r);
20942
NDR_CHECK(ndr_push_union_align(ndr, 4));
20952
uint32_t _flags_save_string_array = ndr->flags;
20953
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
20954
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string_array));
20955
ndr->flags = _flags_save_string_array;
20961
if (ndr_flags & NDR_BUFFERS) {
20962
uint32_t level = ndr_push_get_switch_value(ndr, r);
20975
return NDR_ERR_SUCCESS;
20978
static enum ndr_err_code ndr_pull_spoolss_KeyNames(struct ndr_pull *ndr, int ndr_flags, union spoolss_KeyNames *r)
20981
level = ndr_pull_get_switch_value(ndr, r);
20982
if (ndr_flags & NDR_SCALARS) {
20983
NDR_CHECK(ndr_pull_union_align(ndr, 4));
20993
uint32_t _flags_save_string_array = ndr->flags;
20994
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
20995
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string_array));
20996
ndr->flags = _flags_save_string_array;
21002
if (ndr_flags & NDR_BUFFERS) {
21015
return NDR_ERR_SUCCESS;
21018
_PUBLIC_ void ndr_print_spoolss_KeyNames(struct ndr_print *ndr, const char *name, const union spoolss_KeyNames *r)
21021
level = ndr_print_get_switch_value(ndr, r);
21022
ndr_print_union(ndr, name, level, "spoolss_KeyNames");
21031
ndr_print_string_array(ndr, "string_array", r->string_array);
21037
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DeleteDriverFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
21039
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
21040
return NDR_ERR_SUCCESS;
21043
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DeleteDriverFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
21046
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
21048
return NDR_ERR_SUCCESS;
21051
_PUBLIC_ void ndr_print_spoolss_DeleteDriverFlags(struct ndr_print *ndr, const char *name, uint32_t r)
21053
ndr_print_uint32(ndr, name, r);
21055
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DPD_DELETE_UNUSED_FILES", DPD_DELETE_UNUSED_FILES, r);
21056
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DPD_DELETE_SPECIFIC_VERSION", DPD_DELETE_SPECIFIC_VERSION, r);
21057
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DPD_DELETE_ALL_FILES", DPD_DELETE_ALL_FILES, r);
21061
static enum ndr_err_code ndr_push_spoolss_PortProtocol(struct ndr_push *ndr, int ndr_flags, enum spoolss_PortProtocol r)
21063
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
21064
return NDR_ERR_SUCCESS;
21067
static enum ndr_err_code ndr_pull_spoolss_PortProtocol(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PortProtocol *r)
21070
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
21072
return NDR_ERR_SUCCESS;
21075
_PUBLIC_ void ndr_print_spoolss_PortProtocol(struct ndr_print *ndr, const char *name, enum spoolss_PortProtocol r)
21077
const char *val = NULL;
21080
case PROTOCOL_RAWTCP_TYPE: val = "PROTOCOL_RAWTCP_TYPE"; break;
21081
case PROTOCOL_LPR_TYPE: val = "PROTOCOL_LPR_TYPE"; break;
21083
ndr_print_enum(ndr, name, "ENUM", val, r);
21086
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortData1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortData1 *r)
21088
if (ndr_flags & NDR_SCALARS) {
21089
NDR_CHECK(ndr_push_align(ndr, 4));
21090
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->portname, 64, sizeof(uint16_t), CH_UTF16));
21091
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x00000001));
21092
NDR_CHECK(ndr_push_spoolss_PortProtocol(ndr, NDR_SCALARS, r->protocol));
21093
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, sizeof(r)));
21094
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
21095
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hostaddress, 49, sizeof(uint16_t), CH_UTF16));
21096
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->snmpcommunity, 33, sizeof(uint16_t), CH_UTF16));
21097
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dblspool));
21098
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->queue, 33, sizeof(uint16_t), CH_UTF16));
21099
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ip_address, 16, sizeof(uint16_t), CH_UTF16));
21100
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hardware_address, 13, sizeof(uint16_t), CH_UTF16));
21101
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->device_type, 257, sizeof(uint16_t), CH_UTF16));
21102
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->port_number));
21103
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_enabled));
21104
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_dev_index));
21105
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
21107
if (ndr_flags & NDR_BUFFERS) {
21109
return NDR_ERR_SUCCESS;
21112
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortData1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortData1 *r)
21114
if (ndr_flags & NDR_SCALARS) {
21115
NDR_CHECK(ndr_pull_align(ndr, 4));
21116
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->portname, 64, sizeof(uint16_t), CH_UTF16));
21117
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
21118
NDR_CHECK(ndr_pull_spoolss_PortProtocol(ndr, NDR_SCALARS, &r->protocol));
21119
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
21120
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
21121
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hostaddress, 49, sizeof(uint16_t), CH_UTF16));
21122
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->snmpcommunity, 33, sizeof(uint16_t), CH_UTF16));
21123
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dblspool));
21124
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->queue, 33, sizeof(uint16_t), CH_UTF16));
21125
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ip_address, 16, sizeof(uint16_t), CH_UTF16));
21126
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hardware_address, 13, sizeof(uint16_t), CH_UTF16));
21127
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device_type, 257, sizeof(uint16_t), CH_UTF16));
21128
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->port_number));
21129
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_enabled));
21130
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_dev_index));
21131
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
21133
if (ndr_flags & NDR_BUFFERS) {
21135
return NDR_ERR_SUCCESS;
21138
_PUBLIC_ void ndr_print_spoolss_PortData1(struct ndr_print *ndr, const char *name, const struct spoolss_PortData1 *r)
21140
ndr_print_struct(ndr, name, "spoolss_PortData1");
21141
if (r == NULL) { ndr_print_null(ndr); return; }
21143
ndr_print_string(ndr, "portname", r->portname);
21144
ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x00000001:r->version);
21145
ndr_print_spoolss_PortProtocol(ndr, "protocol", r->protocol);
21146
ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?sizeof(r):r->size);
21147
ndr_print_uint32(ndr, "reserved", r->reserved);
21148
ndr_print_string(ndr, "hostaddress", r->hostaddress);
21149
ndr_print_string(ndr, "snmpcommunity", r->snmpcommunity);
21150
ndr_print_uint32(ndr, "dblspool", r->dblspool);
21151
ndr_print_string(ndr, "queue", r->queue);
21152
ndr_print_string(ndr, "ip_address", r->ip_address);
21153
ndr_print_string(ndr, "hardware_address", r->hardware_address);
21154
ndr_print_string(ndr, "device_type", r->device_type);
21155
ndr_print_uint32(ndr, "port_number", r->port_number);
21156
ndr_print_uint32(ndr, "snmp_enabled", r->snmp_enabled);
21157
ndr_print_uint32(ndr, "snmp_dev_index", r->snmp_dev_index);
21161
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortData2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortData2 *r)
21163
if (ndr_flags & NDR_SCALARS) {
21164
NDR_CHECK(ndr_push_align(ndr, 4));
21165
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->portname, 64, sizeof(uint16_t), CH_UTF16));
21166
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x00000002));
21167
NDR_CHECK(ndr_push_spoolss_PortProtocol(ndr, NDR_SCALARS, r->protocol));
21168
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, sizeof(r)));
21169
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
21170
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hostaddress, 128, sizeof(uint16_t), CH_UTF16));
21171
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->snmpcommunity, 33, sizeof(uint16_t), CH_UTF16));
21172
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dblspool));
21173
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->queue, 33, sizeof(uint16_t), CH_UTF16));
21174
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->device_type, 257, sizeof(uint16_t), CH_UTF16));
21175
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->port_number));
21176
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_enabled));
21177
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_dev_index));
21178
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->port_monitor_mib_index));
21179
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
21181
if (ndr_flags & NDR_BUFFERS) {
21183
return NDR_ERR_SUCCESS;
21186
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortData2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortData2 *r)
21188
if (ndr_flags & NDR_SCALARS) {
21189
NDR_CHECK(ndr_pull_align(ndr, 4));
21190
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->portname, 64, sizeof(uint16_t), CH_UTF16));
21191
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
21192
NDR_CHECK(ndr_pull_spoolss_PortProtocol(ndr, NDR_SCALARS, &r->protocol));
21193
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
21194
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
21195
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hostaddress, 128, sizeof(uint16_t), CH_UTF16));
21196
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->snmpcommunity, 33, sizeof(uint16_t), CH_UTF16));
21197
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dblspool));
21198
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->queue, 33, sizeof(uint16_t), CH_UTF16));
21199
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device_type, 257, sizeof(uint16_t), CH_UTF16));
21200
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->port_number));
21201
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_enabled));
21202
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_dev_index));
21203
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->port_monitor_mib_index));
21204
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
21206
if (ndr_flags & NDR_BUFFERS) {
21208
return NDR_ERR_SUCCESS;
21211
_PUBLIC_ void ndr_print_spoolss_PortData2(struct ndr_print *ndr, const char *name, const struct spoolss_PortData2 *r)
21213
ndr_print_struct(ndr, name, "spoolss_PortData2");
21214
if (r == NULL) { ndr_print_null(ndr); return; }
21216
ndr_print_string(ndr, "portname", r->portname);
21217
ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x00000002:r->version);
21218
ndr_print_spoolss_PortProtocol(ndr, "protocol", r->protocol);
21219
ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?sizeof(r):r->size);
21220
ndr_print_uint32(ndr, "reserved", r->reserved);
21221
ndr_print_string(ndr, "hostaddress", r->hostaddress);
21222
ndr_print_string(ndr, "snmpcommunity", r->snmpcommunity);
21223
ndr_print_uint32(ndr, "dblspool", r->dblspool);
21224
ndr_print_string(ndr, "queue", r->queue);
21225
ndr_print_string(ndr, "device_type", r->device_type);
21226
ndr_print_uint32(ndr, "port_number", r->port_number);
21227
ndr_print_uint32(ndr, "snmp_enabled", r->snmp_enabled);
21228
ndr_print_uint32(ndr, "snmp_dev_index", r->snmp_dev_index);
21229
ndr_print_uint32(ndr, "port_monitor_mib_index", r->port_monitor_mib_index);
21233
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorUi(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorUi *r)
21235
if (ndr_flags & NDR_SCALARS) {
21236
NDR_CHECK(ndr_push_align(ndr, 4));
21238
uint32_t _flags_save_string = ndr->flags;
21239
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
21240
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dll_name));
21241
ndr->flags = _flags_save_string;
21243
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
21245
if (ndr_flags & NDR_BUFFERS) {
21247
return NDR_ERR_SUCCESS;
21250
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_MonitorUi(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorUi *r)
21252
if (ndr_flags & NDR_SCALARS) {
21253
NDR_CHECK(ndr_pull_align(ndr, 4));
21255
uint32_t _flags_save_string = ndr->flags;
21256
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
21257
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dll_name));
21258
ndr->flags = _flags_save_string;
21260
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
21262
if (ndr_flags & NDR_BUFFERS) {
21264
return NDR_ERR_SUCCESS;
21267
_PUBLIC_ void ndr_print_spoolss_MonitorUi(struct ndr_print *ndr, const char *name, const struct spoolss_MonitorUi *r)
21269
ndr_print_struct(ndr, name, "spoolss_MonitorUi");
21270
if (r == NULL) { ndr_print_null(ndr); return; }
21272
ndr_print_string(ndr, "dll_name", r->dll_name);
21276
static enum ndr_err_code ndr_push_spoolss_AddPrinterDriverExFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
21278
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
21279
return NDR_ERR_SUCCESS;
21282
static enum ndr_err_code ndr_pull_spoolss_AddPrinterDriverExFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
21285
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
21287
return NDR_ERR_SUCCESS;
21290
_PUBLIC_ void ndr_print_spoolss_AddPrinterDriverExFlags(struct ndr_print *ndr, const char *name, uint32_t r)
21292
ndr_print_uint32(ndr, name, r);
21294
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_STRICT_UPGRADE", APD_STRICT_UPGRADE, r);
21295
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_STRICT_DOWNGRADE", APD_STRICT_DOWNGRADE, r);
21296
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_COPY_ALL_FILES", APD_COPY_ALL_FILES, r);
21297
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_COPY_NEW_FILES", APD_COPY_NEW_FILES, r);
21298
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_COPY_FROM_DIRECTORY", APD_COPY_FROM_DIRECTORY, r);
21299
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_DONT_COPY_FILES_TO_CLUSTER", APD_DONT_COPY_FILES_TO_CLUSTER, r);
21300
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_COPY_TO_ALL_SPOOLERS", APD_COPY_TO_ALL_SPOOLERS, r);
21301
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_RETURN_BLOCKING_STATUS_CODE", APD_RETURN_BLOCKING_STATUS_CODE, r);
21305
static enum ndr_err_code ndr_push_spoolss_CorePrinterDriver(struct ndr_push *ndr, int ndr_flags, const struct spoolss_CorePrinterDriver *r)
21307
if (ndr_flags & NDR_SCALARS) {
21308
NDR_CHECK(ndr_push_align(ndr, 8));
21309
NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->core_driver_guid));
21310
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date));
21311
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
21312
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->formname, 520, sizeof(uint8_t), CH_UTF8));
21313
NDR_CHECK(ndr_push_trailer_align(ndr, 8));
21315
if (ndr_flags & NDR_BUFFERS) {
21317
return NDR_ERR_SUCCESS;
21320
static enum ndr_err_code ndr_pull_spoolss_CorePrinterDriver(struct ndr_pull *ndr, int ndr_flags, struct spoolss_CorePrinterDriver *r)
21322
if (ndr_flags & NDR_SCALARS) {
21323
NDR_CHECK(ndr_pull_align(ndr, 8));
21324
NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->core_driver_guid));
21325
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date));
21326
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
21327
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->formname, 520, sizeof(uint8_t), CH_UTF8));
21328
NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
21330
if (ndr_flags & NDR_BUFFERS) {
21332
return NDR_ERR_SUCCESS;
21335
_PUBLIC_ void ndr_print_spoolss_CorePrinterDriver(struct ndr_print *ndr, const char *name, const struct spoolss_CorePrinterDriver *r)
21337
ndr_print_struct(ndr, name, "spoolss_CorePrinterDriver");
21338
if (r == NULL) { ndr_print_null(ndr); return; }
21340
ndr_print_GUID(ndr, "core_driver_guid", &r->core_driver_guid);
21341
ndr_print_NTTIME(ndr, "driver_date", r->driver_date);
21342
ndr_print_hyper(ndr, "driver_version", r->driver_version);
21343
ndr_print_string(ndr, "formname", r->formname);
21347
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrinters(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrinters *r)
21349
if (flags & NDR_IN) {
21350
NDR_CHECK(ndr_push_spoolss_EnumPrinterFlags(ndr, NDR_SCALARS, r->in.flags));
21351
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
21352
if (r->in.server) {
21353
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
21354
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
21355
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
21356
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
21358
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
21359
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
21360
if (r->in.buffer) {
21361
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
21363
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
21365
if (flags & NDR_OUT) {
21366
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
21368
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
21370
if (r->out.needed == NULL) {
21371
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21373
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
21374
if (r->out.count == NULL) {
21375
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21377
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
21378
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21380
return NDR_ERR_SUCCESS;
21383
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrinters(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrinters *r)
21385
uint32_t _ptr_server;
21386
uint32_t _ptr_buffer;
21387
uint32_t _ptr_info;
21388
TALLOC_CTX *_mem_save_server_0;
21389
TALLOC_CTX *_mem_save_buffer_0;
21390
TALLOC_CTX *_mem_save_info_0;
21391
TALLOC_CTX *_mem_save_needed_0;
21392
TALLOC_CTX *_mem_save_count_0;
21393
if (flags & NDR_IN) {
21394
ZERO_STRUCT(r->out);
21396
NDR_CHECK(ndr_pull_spoolss_EnumPrinterFlags(ndr, NDR_SCALARS, &r->in.flags));
21397
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
21399
NDR_PULL_ALLOC(ndr, r->in.server);
21401
r->in.server = NULL;
21403
if (r->in.server) {
21404
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
21405
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
21406
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
21407
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
21408
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
21409
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));
21411
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
21412
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
21413
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
21415
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
21416
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
21418
NDR_PULL_ALLOC(ndr, r->in.buffer);
21420
r->in.buffer = NULL;
21422
if (r->in.buffer) {
21423
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
21424
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
21425
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
21426
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
21428
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
21429
NDR_PULL_ALLOC(ndr, r->out.needed);
21430
ZERO_STRUCTP(r->out.needed);
21431
NDR_PULL_ALLOC(ndr, r->out.count);
21432
ZERO_STRUCTP(r->out.count);
21434
if (flags & NDR_OUT) {
21435
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
21437
NDR_PULL_ALLOC(ndr, r->out.info);
21439
r->out.info = NULL;
21442
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
21443
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
21444
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
21445
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
21447
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21448
NDR_PULL_ALLOC(ndr, r->out.needed);
21450
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
21451
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
21452
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
21453
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
21454
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21455
NDR_PULL_ALLOC(ndr, r->out.count);
21457
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
21458
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
21459
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
21460
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
21461
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
21463
return NDR_ERR_SUCCESS;
21466
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrinters(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrinters *r)
21468
uint32_t cntr_info_0;
21469
if (flags & NDR_IN) {
21470
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
21471
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
21473
if (flags & NDR_OUT) {
21474
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
21475
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
21476
NDR_CHECK(ndr_push_spoolss_PrinterInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
21478
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
21479
NDR_CHECK(ndr_push_spoolss_PrinterInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
21482
return NDR_ERR_SUCCESS;
21485
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrinters(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrinters *r)
21487
uint32_t cntr_info_0;
21488
TALLOC_CTX *_mem_save_info_0;
21489
if (flags & NDR_IN) {
21490
ZERO_STRUCT(r->out);
21492
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
21493
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
21495
if (flags & NDR_OUT) {
21496
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
21497
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
21498
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
21499
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
21500
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
21501
NDR_CHECK(ndr_pull_spoolss_PrinterInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
21503
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
21504
NDR_CHECK(ndr_pull_spoolss_PrinterInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
21506
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
21508
return NDR_ERR_SUCCESS;
21511
_PUBLIC_ void ndr_print_spoolss_EnumPrinters(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinters *r)
21513
uint32_t cntr_info_2;
21514
ndr_print_struct(ndr, name, "spoolss_EnumPrinters");
21515
if (r == NULL) { ndr_print_null(ndr); return; }
21517
if (flags & NDR_SET_VALUES) {
21518
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
21520
if (flags & NDR_IN) {
21521
ndr_print_struct(ndr, "in", "spoolss_EnumPrinters");
21523
ndr_print_spoolss_EnumPrinterFlags(ndr, "flags", r->in.flags);
21524
ndr_print_ptr(ndr, "server", r->in.server);
21526
if (r->in.server) {
21527
ndr_print_string(ndr, "server", r->in.server);
21530
ndr_print_uint32(ndr, "level", r->in.level);
21531
ndr_print_ptr(ndr, "buffer", r->in.buffer);
21533
if (r->in.buffer) {
21534
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
21537
ndr_print_uint32(ndr, "offered", r->in.offered);
21540
if (flags & NDR_OUT) {
21541
ndr_print_struct(ndr, "out", "spoolss_EnumPrinters");
21543
ndr_print_ptr(ndr, "count", r->out.count);
21545
ndr_print_uint32(ndr, "count", *r->out.count);
21547
ndr_print_ptr(ndr, "info", r->out.info);
21549
ndr_print_ptr(ndr, "info", *r->out.info);
21551
if (*r->out.info) {
21552
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
21554
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
21555
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
21556
ndr_print_spoolss_PrinterInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
21562
ndr_print_ptr(ndr, "needed", r->out.needed);
21564
ndr_print_uint32(ndr, "needed", *r->out.needed);
21566
ndr_print_WERROR(ndr, "result", r->out.result);
21572
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_OpenPrinter(struct ndr_push *ndr, int flags, const struct spoolss_OpenPrinter *r)
21574
if (flags & NDR_IN) {
21575
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.printername));
21576
if (r->in.printername) {
21577
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
21578
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
21579
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
21580
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.printername, ndr_charset_length(r->in.printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
21582
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.datatype));
21583
if (r->in.datatype) {
21584
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16)));
21585
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
21586
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16)));
21587
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.datatype, ndr_charset_length(r->in.datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
21589
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
21590
NDR_CHECK(ndr_push_spoolss_AccessRights(ndr, NDR_SCALARS, r->in.access_mask));
21592
if (flags & NDR_OUT) {
21593
if (r->out.handle == NULL) {
21594
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21596
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
21597
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21599
return NDR_ERR_SUCCESS;
21602
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OpenPrinter(struct ndr_pull *ndr, int flags, struct spoolss_OpenPrinter *r)
21604
uint32_t _ptr_printername;
21605
uint32_t _ptr_datatype;
21606
TALLOC_CTX *_mem_save_printername_0;
21607
TALLOC_CTX *_mem_save_datatype_0;
21608
TALLOC_CTX *_mem_save_handle_0;
21609
if (flags & NDR_IN) {
21610
ZERO_STRUCT(r->out);
21612
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
21613
if (_ptr_printername) {
21614
NDR_PULL_ALLOC(ndr, r->in.printername);
21616
r->in.printername = NULL;
21618
if (r->in.printername) {
21619
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
21620
NDR_PULL_SET_MEM_CTX(ndr, r->in.printername, 0);
21621
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.printername));
21622
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.printername));
21623
if (ndr_get_array_length(ndr, &r->in.printername) > ndr_get_array_size(ndr, &r->in.printername)) {
21624
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));
21626
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t)));
21627
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.printername, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t), CH_UTF16));
21628
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
21630
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
21631
if (_ptr_datatype) {
21632
NDR_PULL_ALLOC(ndr, r->in.datatype);
21634
r->in.datatype = NULL;
21636
if (r->in.datatype) {
21637
_mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
21638
NDR_PULL_SET_MEM_CTX(ndr, r->in.datatype, 0);
21639
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.datatype));
21640
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.datatype));
21641
if (ndr_get_array_length(ndr, &r->in.datatype) > ndr_get_array_size(ndr, &r->in.datatype)) {
21642
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));
21644
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t)));
21645
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.datatype, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t), CH_UTF16));
21646
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
21648
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
21649
NDR_CHECK(ndr_pull_spoolss_AccessRights(ndr, NDR_SCALARS, &r->in.access_mask));
21650
NDR_PULL_ALLOC(ndr, r->out.handle);
21651
ZERO_STRUCTP(r->out.handle);
21653
if (flags & NDR_OUT) {
21654
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21655
NDR_PULL_ALLOC(ndr, r->out.handle);
21657
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
21658
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
21659
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
21660
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
21661
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
21663
return NDR_ERR_SUCCESS;
21666
_PUBLIC_ void ndr_print_spoolss_OpenPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_OpenPrinter *r)
21668
ndr_print_struct(ndr, name, "spoolss_OpenPrinter");
21669
if (r == NULL) { ndr_print_null(ndr); return; }
21671
if (flags & NDR_SET_VALUES) {
21672
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
21674
if (flags & NDR_IN) {
21675
ndr_print_struct(ndr, "in", "spoolss_OpenPrinter");
21677
ndr_print_ptr(ndr, "printername", r->in.printername);
21679
if (r->in.printername) {
21680
ndr_print_string(ndr, "printername", r->in.printername);
21683
ndr_print_ptr(ndr, "datatype", r->in.datatype);
21685
if (r->in.datatype) {
21686
ndr_print_string(ndr, "datatype", r->in.datatype);
21689
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", &r->in.devmode_ctr);
21690
ndr_print_spoolss_AccessRights(ndr, "access_mask", r->in.access_mask);
21693
if (flags & NDR_OUT) {
21694
ndr_print_struct(ndr, "out", "spoolss_OpenPrinter");
21696
ndr_print_ptr(ndr, "handle", r->out.handle);
21698
ndr_print_policy_handle(ndr, "handle", r->out.handle);
21700
ndr_print_WERROR(ndr, "result", r->out.result);
21706
static enum ndr_err_code ndr_push_spoolss_SetJob(struct ndr_push *ndr, int flags, const struct spoolss_SetJob *r)
21708
if (flags & NDR_IN) {
21709
if (r->in.handle == NULL) {
21710
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21712
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21713
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.job_id));
21714
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.ctr));
21716
NDR_CHECK(ndr_push_spoolss_JobInfoContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
21718
NDR_CHECK(ndr_push_spoolss_JobControl(ndr, NDR_SCALARS, r->in.command));
21720
if (flags & NDR_OUT) {
21721
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21723
return NDR_ERR_SUCCESS;
21726
static enum ndr_err_code ndr_pull_spoolss_SetJob(struct ndr_pull *ndr, int flags, struct spoolss_SetJob *r)
21729
TALLOC_CTX *_mem_save_handle_0;
21730
TALLOC_CTX *_mem_save_ctr_0;
21731
if (flags & NDR_IN) {
21732
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21733
NDR_PULL_ALLOC(ndr, r->in.handle);
21735
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
21736
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
21737
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21738
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
21739
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.job_id));
21740
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
21742
NDR_PULL_ALLOC(ndr, r->in.ctr);
21747
_mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
21748
NDR_PULL_SET_MEM_CTX(ndr, r->in.ctr, 0);
21749
NDR_CHECK(ndr_pull_spoolss_JobInfoContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
21750
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, 0);
21752
NDR_CHECK(ndr_pull_spoolss_JobControl(ndr, NDR_SCALARS, &r->in.command));
21754
if (flags & NDR_OUT) {
21755
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
21757
return NDR_ERR_SUCCESS;
21760
_PUBLIC_ void ndr_print_spoolss_SetJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetJob *r)
21762
ndr_print_struct(ndr, name, "spoolss_SetJob");
21763
if (r == NULL) { ndr_print_null(ndr); return; }
21765
if (flags & NDR_SET_VALUES) {
21766
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
21768
if (flags & NDR_IN) {
21769
ndr_print_struct(ndr, "in", "spoolss_SetJob");
21771
ndr_print_ptr(ndr, "handle", r->in.handle);
21773
ndr_print_policy_handle(ndr, "handle", r->in.handle);
21775
ndr_print_uint32(ndr, "job_id", r->in.job_id);
21776
ndr_print_ptr(ndr, "ctr", r->in.ctr);
21779
ndr_print_spoolss_JobInfoContainer(ndr, "ctr", r->in.ctr);
21782
ndr_print_spoolss_JobControl(ndr, "command", r->in.command);
21785
if (flags & NDR_OUT) {
21786
ndr_print_struct(ndr, "out", "spoolss_SetJob");
21788
ndr_print_WERROR(ndr, "result", r->out.result);
21794
static enum ndr_err_code ndr_push_spoolss_GetJob(struct ndr_push *ndr, int flags, const struct spoolss_GetJob *r)
21796
if (flags & NDR_IN) {
21797
if (r->in.handle == NULL) {
21798
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21800
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21801
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.job_id));
21802
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
21803
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
21804
if (r->in.buffer) {
21805
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
21807
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
21809
if (flags & NDR_OUT) {
21810
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
21813
struct ndr_push *_ndr_info;
21814
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
21815
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
21816
NDR_CHECK(ndr_push_spoolss_JobInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
21817
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
21820
if (r->out.needed == NULL) {
21821
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21823
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
21824
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21826
return NDR_ERR_SUCCESS;
21829
static enum ndr_err_code ndr_pull_spoolss_GetJob(struct ndr_pull *ndr, int flags, struct spoolss_GetJob *r)
21831
uint32_t _ptr_buffer;
21832
uint32_t _ptr_info;
21833
TALLOC_CTX *_mem_save_handle_0;
21834
TALLOC_CTX *_mem_save_buffer_0;
21835
TALLOC_CTX *_mem_save_info_0;
21836
TALLOC_CTX *_mem_save_needed_0;
21837
if (flags & NDR_IN) {
21838
ZERO_STRUCT(r->out);
21840
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21841
NDR_PULL_ALLOC(ndr, r->in.handle);
21843
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
21844
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
21845
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21846
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
21847
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.job_id));
21848
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
21849
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
21851
NDR_PULL_ALLOC(ndr, r->in.buffer);
21853
r->in.buffer = NULL;
21855
if (r->in.buffer) {
21856
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
21857
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
21858
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
21859
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
21861
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
21862
NDR_PULL_ALLOC(ndr, r->out.needed);
21863
ZERO_STRUCTP(r->out.needed);
21865
if (flags & NDR_OUT) {
21866
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
21868
NDR_PULL_ALLOC(ndr, r->out.info);
21870
r->out.info = NULL;
21873
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
21874
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
21876
struct ndr_pull *_ndr_info;
21877
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
21878
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
21879
NDR_CHECK(ndr_pull_spoolss_JobInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
21880
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
21882
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
21884
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21885
NDR_PULL_ALLOC(ndr, r->out.needed);
21887
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
21888
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
21889
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
21890
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
21891
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
21893
return NDR_ERR_SUCCESS;
21896
_PUBLIC_ void ndr_print_spoolss_GetJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetJob *r)
21898
ndr_print_struct(ndr, name, "spoolss_GetJob");
21899
if (r == NULL) { ndr_print_null(ndr); return; }
21901
if (flags & NDR_SET_VALUES) {
21902
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
21904
if (flags & NDR_IN) {
21905
ndr_print_struct(ndr, "in", "spoolss_GetJob");
21907
ndr_print_ptr(ndr, "handle", r->in.handle);
21909
ndr_print_policy_handle(ndr, "handle", r->in.handle);
21911
ndr_print_uint32(ndr, "job_id", r->in.job_id);
21912
ndr_print_uint32(ndr, "level", r->in.level);
21913
ndr_print_ptr(ndr, "buffer", r->in.buffer);
21915
if (r->in.buffer) {
21916
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
21919
ndr_print_uint32(ndr, "offered", r->in.offered);
21922
if (flags & NDR_OUT) {
21923
ndr_print_struct(ndr, "out", "spoolss_GetJob");
21925
ndr_print_ptr(ndr, "info", r->out.info);
21928
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
21929
ndr_print_spoolss_JobInfo(ndr, "info", r->out.info);
21932
ndr_print_ptr(ndr, "needed", r->out.needed);
21934
ndr_print_uint32(ndr, "needed", *r->out.needed);
21936
ndr_print_WERROR(ndr, "result", r->out.result);
21942
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumJobs(struct ndr_push *ndr, int flags, const struct _spoolss_EnumJobs *r)
21944
if (flags & NDR_IN) {
21945
if (r->in.handle == NULL) {
21946
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21948
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21949
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.firstjob));
21950
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.numjobs));
21951
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
21952
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
21953
if (r->in.buffer) {
21954
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
21956
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
21958
if (flags & NDR_OUT) {
21959
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
21961
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
21963
if (r->out.needed == NULL) {
21964
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21966
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
21967
if (r->out.count == NULL) {
21968
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21970
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
21971
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21973
return NDR_ERR_SUCCESS;
21976
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumJobs(struct ndr_pull *ndr, int flags, struct _spoolss_EnumJobs *r)
21978
uint32_t _ptr_buffer;
21979
uint32_t _ptr_info;
21980
TALLOC_CTX *_mem_save_handle_0;
21981
TALLOC_CTX *_mem_save_buffer_0;
21982
TALLOC_CTX *_mem_save_info_0;
21983
TALLOC_CTX *_mem_save_needed_0;
21984
TALLOC_CTX *_mem_save_count_0;
21985
if (flags & NDR_IN) {
21986
ZERO_STRUCT(r->out);
21988
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21989
NDR_PULL_ALLOC(ndr, r->in.handle);
21991
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
21992
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
21993
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21994
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
21995
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.firstjob));
21996
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.numjobs));
21997
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
21998
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
22000
NDR_PULL_ALLOC(ndr, r->in.buffer);
22002
r->in.buffer = NULL;
22004
if (r->in.buffer) {
22005
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
22006
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
22007
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
22008
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
22010
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
22011
NDR_PULL_ALLOC(ndr, r->out.needed);
22012
ZERO_STRUCTP(r->out.needed);
22013
NDR_PULL_ALLOC(ndr, r->out.count);
22014
ZERO_STRUCTP(r->out.count);
22016
if (flags & NDR_OUT) {
22017
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
22019
NDR_PULL_ALLOC(ndr, r->out.info);
22021
r->out.info = NULL;
22024
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
22025
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
22026
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
22027
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
22029
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22030
NDR_PULL_ALLOC(ndr, r->out.needed);
22032
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
22033
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
22034
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
22035
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
22036
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22037
NDR_PULL_ALLOC(ndr, r->out.count);
22039
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
22040
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
22041
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
22042
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
22043
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22045
return NDR_ERR_SUCCESS;
22048
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumJobs(struct ndr_push *ndr, int flags, const struct __spoolss_EnumJobs *r)
22050
uint32_t cntr_info_0;
22051
if (flags & NDR_IN) {
22052
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
22053
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
22055
if (flags & NDR_OUT) {
22056
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
22057
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
22058
NDR_CHECK(ndr_push_spoolss_JobInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
22060
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
22061
NDR_CHECK(ndr_push_spoolss_JobInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
22064
return NDR_ERR_SUCCESS;
22067
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumJobs(struct ndr_pull *ndr, int flags, struct __spoolss_EnumJobs *r)
22069
uint32_t cntr_info_0;
22070
TALLOC_CTX *_mem_save_info_0;
22071
if (flags & NDR_IN) {
22072
ZERO_STRUCT(r->out);
22074
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
22075
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
22077
if (flags & NDR_OUT) {
22078
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
22079
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
22080
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
22081
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
22082
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
22083
NDR_CHECK(ndr_pull_spoolss_JobInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
22085
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
22086
NDR_CHECK(ndr_pull_spoolss_JobInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
22088
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
22090
return NDR_ERR_SUCCESS;
22093
_PUBLIC_ void ndr_print_spoolss_EnumJobs(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumJobs *r)
22095
uint32_t cntr_info_2;
22096
ndr_print_struct(ndr, name, "spoolss_EnumJobs");
22097
if (r == NULL) { ndr_print_null(ndr); return; }
22099
if (flags & NDR_SET_VALUES) {
22100
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22102
if (flags & NDR_IN) {
22103
ndr_print_struct(ndr, "in", "spoolss_EnumJobs");
22105
ndr_print_ptr(ndr, "handle", r->in.handle);
22107
ndr_print_policy_handle(ndr, "handle", r->in.handle);
22109
ndr_print_uint32(ndr, "firstjob", r->in.firstjob);
22110
ndr_print_uint32(ndr, "numjobs", r->in.numjobs);
22111
ndr_print_uint32(ndr, "level", r->in.level);
22112
ndr_print_ptr(ndr, "buffer", r->in.buffer);
22114
if (r->in.buffer) {
22115
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
22118
ndr_print_uint32(ndr, "offered", r->in.offered);
22121
if (flags & NDR_OUT) {
22122
ndr_print_struct(ndr, "out", "spoolss_EnumJobs");
22124
ndr_print_ptr(ndr, "count", r->out.count);
22126
ndr_print_uint32(ndr, "count", *r->out.count);
22128
ndr_print_ptr(ndr, "info", r->out.info);
22130
ndr_print_ptr(ndr, "info", *r->out.info);
22132
if (*r->out.info) {
22133
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
22135
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
22136
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
22137
ndr_print_spoolss_JobInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
22143
ndr_print_ptr(ndr, "needed", r->out.needed);
22145
ndr_print_uint32(ndr, "needed", *r->out.needed);
22147
ndr_print_WERROR(ndr, "result", r->out.result);
22153
static enum ndr_err_code ndr_push_spoolss_AddPrinter(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinter *r)
22155
if (flags & NDR_IN) {
22156
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
22157
if (r->in.server) {
22158
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
22159
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22160
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
22161
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22163
if (r->in.info_ctr == NULL) {
22164
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22166
NDR_CHECK(ndr_push_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
22167
if (r->in.devmode_ctr == NULL) {
22168
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22170
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
22171
if (r->in.secdesc_ctr == NULL) {
22172
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22174
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr));
22176
if (flags & NDR_OUT) {
22177
if (r->out.handle == NULL) {
22178
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22180
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
22181
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22183
return NDR_ERR_SUCCESS;
22186
static enum ndr_err_code ndr_pull_spoolss_AddPrinter(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinter *r)
22188
uint32_t _ptr_server;
22189
TALLOC_CTX *_mem_save_server_0;
22190
TALLOC_CTX *_mem_save_info_ctr_0;
22191
TALLOC_CTX *_mem_save_devmode_ctr_0;
22192
TALLOC_CTX *_mem_save_secdesc_ctr_0;
22193
TALLOC_CTX *_mem_save_handle_0;
22194
if (flags & NDR_IN) {
22195
ZERO_STRUCT(r->out);
22197
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
22199
NDR_PULL_ALLOC(ndr, r->in.server);
22201
r->in.server = NULL;
22203
if (r->in.server) {
22204
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
22205
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
22206
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
22207
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
22208
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
22209
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));
22211
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
22212
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
22213
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
22215
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22216
NDR_PULL_ALLOC(ndr, r->in.info_ctr);
22218
_mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
22219
NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC);
22220
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
22221
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
22222
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22223
NDR_PULL_ALLOC(ndr, r->in.devmode_ctr);
22225
_mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
22226
NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC);
22227
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
22228
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC);
22229
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22230
NDR_PULL_ALLOC(ndr, r->in.secdesc_ctr);
22232
_mem_save_secdesc_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
22233
NDR_PULL_SET_MEM_CTX(ndr, r->in.secdesc_ctr, LIBNDR_FLAG_REF_ALLOC);
22234
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr));
22235
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_ctr_0, LIBNDR_FLAG_REF_ALLOC);
22236
NDR_PULL_ALLOC(ndr, r->out.handle);
22237
ZERO_STRUCTP(r->out.handle);
22239
if (flags & NDR_OUT) {
22240
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22241
NDR_PULL_ALLOC(ndr, r->out.handle);
22243
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
22244
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
22245
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
22246
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
22247
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22249
return NDR_ERR_SUCCESS;
22252
_PUBLIC_ void ndr_print_spoolss_AddPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinter *r)
22254
ndr_print_struct(ndr, name, "spoolss_AddPrinter");
22255
if (r == NULL) { ndr_print_null(ndr); return; }
22257
if (flags & NDR_SET_VALUES) {
22258
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22260
if (flags & NDR_IN) {
22261
ndr_print_struct(ndr, "in", "spoolss_AddPrinter");
22263
ndr_print_ptr(ndr, "server", r->in.server);
22265
if (r->in.server) {
22266
ndr_print_string(ndr, "server", r->in.server);
22269
ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr);
22271
ndr_print_spoolss_SetPrinterInfoCtr(ndr, "info_ctr", r->in.info_ctr);
22273
ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr);
22275
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr);
22277
ndr_print_ptr(ndr, "secdesc_ctr", r->in.secdesc_ctr);
22279
ndr_print_sec_desc_buf(ndr, "secdesc_ctr", r->in.secdesc_ctr);
22283
if (flags & NDR_OUT) {
22284
ndr_print_struct(ndr, "out", "spoolss_AddPrinter");
22286
ndr_print_ptr(ndr, "handle", r->out.handle);
22288
ndr_print_policy_handle(ndr, "handle", r->out.handle);
22290
ndr_print_WERROR(ndr, "result", r->out.result);
22296
static enum ndr_err_code ndr_push_spoolss_DeletePrinter(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinter *r)
22298
if (flags & NDR_IN) {
22299
if (r->in.handle == NULL) {
22300
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22302
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22304
if (flags & NDR_OUT) {
22305
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22307
return NDR_ERR_SUCCESS;
22310
static enum ndr_err_code ndr_pull_spoolss_DeletePrinter(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinter *r)
22312
TALLOC_CTX *_mem_save_handle_0;
22313
if (flags & NDR_IN) {
22314
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22315
NDR_PULL_ALLOC(ndr, r->in.handle);
22317
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
22318
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
22319
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22320
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
22322
if (flags & NDR_OUT) {
22323
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22325
return NDR_ERR_SUCCESS;
22328
_PUBLIC_ void ndr_print_spoolss_DeletePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinter *r)
22330
ndr_print_struct(ndr, name, "spoolss_DeletePrinter");
22331
if (r == NULL) { ndr_print_null(ndr); return; }
22333
if (flags & NDR_SET_VALUES) {
22334
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22336
if (flags & NDR_IN) {
22337
ndr_print_struct(ndr, "in", "spoolss_DeletePrinter");
22339
ndr_print_ptr(ndr, "handle", r->in.handle);
22341
ndr_print_policy_handle(ndr, "handle", r->in.handle);
22345
if (flags & NDR_OUT) {
22346
ndr_print_struct(ndr, "out", "spoolss_DeletePrinter");
22348
ndr_print_WERROR(ndr, "result", r->out.result);
22354
static enum ndr_err_code ndr_push_spoolss_SetPrinter(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinter *r)
22356
if (flags & NDR_IN) {
22357
if (r->in.handle == NULL) {
22358
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22360
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22361
if (r->in.info_ctr == NULL) {
22362
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22364
NDR_CHECK(ndr_push_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
22365
if (r->in.devmode_ctr == NULL) {
22366
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22368
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
22369
if (r->in.secdesc_ctr == NULL) {
22370
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22372
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr));
22373
NDR_CHECK(ndr_push_spoolss_PrinterControl(ndr, NDR_SCALARS, r->in.command));
22375
if (flags & NDR_OUT) {
22376
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22378
return NDR_ERR_SUCCESS;
22381
static enum ndr_err_code ndr_pull_spoolss_SetPrinter(struct ndr_pull *ndr, int flags, struct spoolss_SetPrinter *r)
22383
TALLOC_CTX *_mem_save_handle_0;
22384
TALLOC_CTX *_mem_save_info_ctr_0;
22385
TALLOC_CTX *_mem_save_devmode_ctr_0;
22386
TALLOC_CTX *_mem_save_secdesc_ctr_0;
22387
if (flags & NDR_IN) {
22388
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22389
NDR_PULL_ALLOC(ndr, r->in.handle);
22391
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
22392
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
22393
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22394
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
22395
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22396
NDR_PULL_ALLOC(ndr, r->in.info_ctr);
22398
_mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
22399
NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC);
22400
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
22401
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
22402
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22403
NDR_PULL_ALLOC(ndr, r->in.devmode_ctr);
22405
_mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
22406
NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC);
22407
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
22408
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC);
22409
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22410
NDR_PULL_ALLOC(ndr, r->in.secdesc_ctr);
22412
_mem_save_secdesc_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
22413
NDR_PULL_SET_MEM_CTX(ndr, r->in.secdesc_ctr, LIBNDR_FLAG_REF_ALLOC);
22414
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr));
22415
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_ctr_0, LIBNDR_FLAG_REF_ALLOC);
22416
NDR_CHECK(ndr_pull_spoolss_PrinterControl(ndr, NDR_SCALARS, &r->in.command));
22418
if (flags & NDR_OUT) {
22419
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22421
return NDR_ERR_SUCCESS;
22424
_PUBLIC_ void ndr_print_spoolss_SetPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinter *r)
22426
ndr_print_struct(ndr, name, "spoolss_SetPrinter");
22427
if (r == NULL) { ndr_print_null(ndr); return; }
22429
if (flags & NDR_SET_VALUES) {
22430
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22432
if (flags & NDR_IN) {
22433
ndr_print_struct(ndr, "in", "spoolss_SetPrinter");
22435
ndr_print_ptr(ndr, "handle", r->in.handle);
22437
ndr_print_policy_handle(ndr, "handle", r->in.handle);
22439
ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr);
22441
ndr_print_spoolss_SetPrinterInfoCtr(ndr, "info_ctr", r->in.info_ctr);
22443
ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr);
22445
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr);
22447
ndr_print_ptr(ndr, "secdesc_ctr", r->in.secdesc_ctr);
22449
ndr_print_sec_desc_buf(ndr, "secdesc_ctr", r->in.secdesc_ctr);
22451
ndr_print_spoolss_PrinterControl(ndr, "command", r->in.command);
22454
if (flags & NDR_OUT) {
22455
ndr_print_struct(ndr, "out", "spoolss_SetPrinter");
22457
ndr_print_WERROR(ndr, "result", r->out.result);
22463
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_GetPrinter(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinter *r)
22465
if (flags & NDR_IN) {
22466
if (r->in.handle == NULL) {
22467
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22469
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22470
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
22471
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
22472
if (r->in.buffer) {
22473
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
22475
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
22477
if (flags & NDR_OUT) {
22478
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
22481
struct ndr_push *_ndr_info;
22482
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
22483
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
22484
NDR_CHECK(ndr_push_spoolss_PrinterInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
22485
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
22488
if (r->out.needed == NULL) {
22489
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22491
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
22492
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22494
return NDR_ERR_SUCCESS;
22497
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_GetPrinter(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinter *r)
22499
uint32_t _ptr_buffer;
22500
uint32_t _ptr_info;
22501
TALLOC_CTX *_mem_save_handle_0;
22502
TALLOC_CTX *_mem_save_buffer_0;
22503
TALLOC_CTX *_mem_save_info_0;
22504
TALLOC_CTX *_mem_save_needed_0;
22505
if (flags & NDR_IN) {
22506
ZERO_STRUCT(r->out);
22508
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22509
NDR_PULL_ALLOC(ndr, r->in.handle);
22511
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
22512
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
22513
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22514
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
22515
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
22516
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
22518
NDR_PULL_ALLOC(ndr, r->in.buffer);
22520
r->in.buffer = NULL;
22522
if (r->in.buffer) {
22523
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
22524
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
22525
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
22526
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
22528
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
22529
NDR_PULL_ALLOC(ndr, r->out.needed);
22530
ZERO_STRUCTP(r->out.needed);
22532
if (flags & NDR_OUT) {
22533
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
22535
NDR_PULL_ALLOC(ndr, r->out.info);
22537
r->out.info = NULL;
22540
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
22541
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
22543
struct ndr_pull *_ndr_info;
22544
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
22545
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
22546
NDR_CHECK(ndr_pull_spoolss_PrinterInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
22547
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
22549
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
22551
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22552
NDR_PULL_ALLOC(ndr, r->out.needed);
22554
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
22555
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
22556
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
22557
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
22558
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22560
return NDR_ERR_SUCCESS;
22563
_PUBLIC_ void ndr_print_spoolss_GetPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinter *r)
22565
ndr_print_struct(ndr, name, "spoolss_GetPrinter");
22566
if (r == NULL) { ndr_print_null(ndr); return; }
22568
if (flags & NDR_SET_VALUES) {
22569
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22571
if (flags & NDR_IN) {
22572
ndr_print_struct(ndr, "in", "spoolss_GetPrinter");
22574
ndr_print_ptr(ndr, "handle", r->in.handle);
22576
ndr_print_policy_handle(ndr, "handle", r->in.handle);
22578
ndr_print_uint32(ndr, "level", r->in.level);
22579
ndr_print_ptr(ndr, "buffer", r->in.buffer);
22581
if (r->in.buffer) {
22582
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
22585
ndr_print_uint32(ndr, "offered", r->in.offered);
22588
if (flags & NDR_OUT) {
22589
ndr_print_struct(ndr, "out", "spoolss_GetPrinter");
22591
ndr_print_ptr(ndr, "info", r->out.info);
22594
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
22595
ndr_print_spoolss_PrinterInfo(ndr, "info", r->out.info);
22598
ndr_print_ptr(ndr, "needed", r->out.needed);
22600
ndr_print_uint32(ndr, "needed", *r->out.needed);
22602
ndr_print_WERROR(ndr, "result", r->out.result);
22608
static enum ndr_err_code ndr_push_spoolss_AddPrinterDriver(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterDriver *r)
22610
if (flags & NDR_IN) {
22611
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
22612
if (r->in.servername) {
22613
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
22614
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22615
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
22616
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22618
if (r->in.info_ctr == NULL) {
22619
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22621
NDR_CHECK(ndr_push_spoolss_AddDriverInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
22623
if (flags & NDR_OUT) {
22624
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22626
return NDR_ERR_SUCCESS;
22629
static enum ndr_err_code ndr_pull_spoolss_AddPrinterDriver(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterDriver *r)
22631
uint32_t _ptr_servername;
22632
TALLOC_CTX *_mem_save_servername_0;
22633
TALLOC_CTX *_mem_save_info_ctr_0;
22634
if (flags & NDR_IN) {
22635
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
22636
if (_ptr_servername) {
22637
NDR_PULL_ALLOC(ndr, r->in.servername);
22639
r->in.servername = NULL;
22641
if (r->in.servername) {
22642
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
22643
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
22644
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
22645
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
22646
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
22647
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));
22649
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
22650
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
22651
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
22653
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22654
NDR_PULL_ALLOC(ndr, r->in.info_ctr);
22656
_mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
22657
NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC);
22658
NDR_CHECK(ndr_pull_spoolss_AddDriverInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
22659
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
22661
if (flags & NDR_OUT) {
22662
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22664
return NDR_ERR_SUCCESS;
22667
_PUBLIC_ void ndr_print_spoolss_AddPrinterDriver(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterDriver *r)
22669
ndr_print_struct(ndr, name, "spoolss_AddPrinterDriver");
22670
if (r == NULL) { ndr_print_null(ndr); return; }
22672
if (flags & NDR_SET_VALUES) {
22673
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22675
if (flags & NDR_IN) {
22676
ndr_print_struct(ndr, "in", "spoolss_AddPrinterDriver");
22678
ndr_print_ptr(ndr, "servername", r->in.servername);
22680
if (r->in.servername) {
22681
ndr_print_string(ndr, "servername", r->in.servername);
22684
ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr);
22686
ndr_print_spoolss_AddDriverInfoCtr(ndr, "info_ctr", r->in.info_ctr);
22690
if (flags & NDR_OUT) {
22691
ndr_print_struct(ndr, "out", "spoolss_AddPrinterDriver");
22693
ndr_print_WERROR(ndr, "result", r->out.result);
22699
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrinterDrivers(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrinterDrivers *r)
22701
if (flags & NDR_IN) {
22702
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
22703
if (r->in.server) {
22704
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
22705
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22706
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
22707
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22709
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment));
22710
if (r->in.environment) {
22711
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
22712
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22713
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
22714
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22716
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
22717
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
22718
if (r->in.buffer) {
22719
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
22721
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
22723
if (flags & NDR_OUT) {
22724
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
22726
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
22728
if (r->out.needed == NULL) {
22729
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22731
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
22732
if (r->out.count == NULL) {
22733
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22735
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
22736
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22738
return NDR_ERR_SUCCESS;
22741
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrinterDrivers(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrinterDrivers *r)
22743
uint32_t _ptr_server;
22744
uint32_t _ptr_environment;
22745
uint32_t _ptr_buffer;
22746
uint32_t _ptr_info;
22747
TALLOC_CTX *_mem_save_server_0;
22748
TALLOC_CTX *_mem_save_environment_0;
22749
TALLOC_CTX *_mem_save_buffer_0;
22750
TALLOC_CTX *_mem_save_info_0;
22751
TALLOC_CTX *_mem_save_needed_0;
22752
TALLOC_CTX *_mem_save_count_0;
22753
if (flags & NDR_IN) {
22754
ZERO_STRUCT(r->out);
22756
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
22758
NDR_PULL_ALLOC(ndr, r->in.server);
22760
r->in.server = NULL;
22762
if (r->in.server) {
22763
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
22764
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
22765
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
22766
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
22767
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
22768
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));
22770
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
22771
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
22772
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
22774
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
22775
if (_ptr_environment) {
22776
NDR_PULL_ALLOC(ndr, r->in.environment);
22778
r->in.environment = NULL;
22780
if (r->in.environment) {
22781
_mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
22782
NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0);
22783
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment));
22784
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment));
22785
if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) {
22786
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));
22788
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t)));
22789
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16));
22790
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
22792
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
22793
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
22795
NDR_PULL_ALLOC(ndr, r->in.buffer);
22797
r->in.buffer = NULL;
22799
if (r->in.buffer) {
22800
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
22801
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
22802
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
22803
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
22805
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
22806
NDR_PULL_ALLOC(ndr, r->out.needed);
22807
ZERO_STRUCTP(r->out.needed);
22808
NDR_PULL_ALLOC(ndr, r->out.count);
22809
ZERO_STRUCTP(r->out.count);
22811
if (flags & NDR_OUT) {
22812
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
22814
NDR_PULL_ALLOC(ndr, r->out.info);
22816
r->out.info = NULL;
22819
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
22820
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
22821
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
22822
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
22824
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22825
NDR_PULL_ALLOC(ndr, r->out.needed);
22827
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
22828
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
22829
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
22830
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
22831
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22832
NDR_PULL_ALLOC(ndr, r->out.count);
22834
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
22835
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
22836
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
22837
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
22838
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22840
return NDR_ERR_SUCCESS;
22843
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrinterDrivers(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrinterDrivers *r)
22845
uint32_t cntr_info_0;
22846
if (flags & NDR_IN) {
22847
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
22848
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
22850
if (flags & NDR_OUT) {
22851
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
22852
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
22853
NDR_CHECK(ndr_push_spoolss_DriverInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
22855
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
22856
NDR_CHECK(ndr_push_spoolss_DriverInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
22859
return NDR_ERR_SUCCESS;
22862
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrinterDrivers(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrinterDrivers *r)
22864
uint32_t cntr_info_0;
22865
TALLOC_CTX *_mem_save_info_0;
22866
if (flags & NDR_IN) {
22867
ZERO_STRUCT(r->out);
22869
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
22870
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
22872
if (flags & NDR_OUT) {
22873
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
22874
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
22875
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
22876
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
22877
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
22878
NDR_CHECK(ndr_pull_spoolss_DriverInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
22880
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
22881
NDR_CHECK(ndr_pull_spoolss_DriverInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
22883
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
22885
return NDR_ERR_SUCCESS;
22888
_PUBLIC_ void ndr_print_spoolss_EnumPrinterDrivers(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterDrivers *r)
22890
uint32_t cntr_info_2;
22891
ndr_print_struct(ndr, name, "spoolss_EnumPrinterDrivers");
22892
if (r == NULL) { ndr_print_null(ndr); return; }
22894
if (flags & NDR_SET_VALUES) {
22895
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22897
if (flags & NDR_IN) {
22898
ndr_print_struct(ndr, "in", "spoolss_EnumPrinterDrivers");
22900
ndr_print_ptr(ndr, "server", r->in.server);
22902
if (r->in.server) {
22903
ndr_print_string(ndr, "server", r->in.server);
22906
ndr_print_ptr(ndr, "environment", r->in.environment);
22908
if (r->in.environment) {
22909
ndr_print_string(ndr, "environment", r->in.environment);
22912
ndr_print_uint32(ndr, "level", r->in.level);
22913
ndr_print_ptr(ndr, "buffer", r->in.buffer);
22915
if (r->in.buffer) {
22916
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
22919
ndr_print_uint32(ndr, "offered", r->in.offered);
22922
if (flags & NDR_OUT) {
22923
ndr_print_struct(ndr, "out", "spoolss_EnumPrinterDrivers");
22925
ndr_print_ptr(ndr, "count", r->out.count);
22927
ndr_print_uint32(ndr, "count", *r->out.count);
22929
ndr_print_ptr(ndr, "info", r->out.info);
22931
ndr_print_ptr(ndr, "info", *r->out.info);
22933
if (*r->out.info) {
22934
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
22936
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
22937
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
22938
ndr_print_spoolss_DriverInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
22944
ndr_print_ptr(ndr, "needed", r->out.needed);
22946
ndr_print_uint32(ndr, "needed", *r->out.needed);
22948
ndr_print_WERROR(ndr, "result", r->out.result);
22954
static enum ndr_err_code ndr_push_spoolss_GetPrinterDriver(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriver *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));
22961
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.architecture));
22962
if (r->in.architecture) {
22963
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
22964
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22965
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
22966
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22968
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
22969
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
22970
if (r->in.buffer) {
22971
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
22973
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
22975
if (flags & NDR_OUT) {
22976
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
22979
struct ndr_push *_ndr_info;
22980
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
22981
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
22982
NDR_CHECK(ndr_push_spoolss_DriverInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
22983
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
22986
if (r->out.needed == NULL) {
22987
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22989
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
22990
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22992
return NDR_ERR_SUCCESS;
22995
static enum ndr_err_code ndr_pull_spoolss_GetPrinterDriver(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriver *r)
22997
uint32_t _ptr_architecture;
22998
uint32_t _ptr_buffer;
22999
uint32_t _ptr_info;
23000
TALLOC_CTX *_mem_save_handle_0;
23001
TALLOC_CTX *_mem_save_architecture_0;
23002
TALLOC_CTX *_mem_save_buffer_0;
23003
TALLOC_CTX *_mem_save_info_0;
23004
TALLOC_CTX *_mem_save_needed_0;
23005
if (flags & NDR_IN) {
23006
ZERO_STRUCT(r->out);
23008
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23009
NDR_PULL_ALLOC(ndr, r->in.handle);
23011
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23012
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23013
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23014
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23015
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
23016
if (_ptr_architecture) {
23017
NDR_PULL_ALLOC(ndr, r->in.architecture);
23019
r->in.architecture = NULL;
23021
if (r->in.architecture) {
23022
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
23023
NDR_PULL_SET_MEM_CTX(ndr, r->in.architecture, 0);
23024
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
23025
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
23026
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
23027
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));
23029
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
23030
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
23031
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
23033
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
23034
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
23036
NDR_PULL_ALLOC(ndr, r->in.buffer);
23038
r->in.buffer = NULL;
23040
if (r->in.buffer) {
23041
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
23042
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
23043
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
23044
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
23046
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
23047
NDR_PULL_ALLOC(ndr, r->out.needed);
23048
ZERO_STRUCTP(r->out.needed);
23050
if (flags & NDR_OUT) {
23051
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
23053
NDR_PULL_ALLOC(ndr, r->out.info);
23055
r->out.info = NULL;
23058
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
23059
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
23061
struct ndr_pull *_ndr_info;
23062
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
23063
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
23064
NDR_CHECK(ndr_pull_spoolss_DriverInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
23065
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
23067
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
23069
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23070
NDR_PULL_ALLOC(ndr, r->out.needed);
23072
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
23073
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
23074
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
23075
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
23076
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23078
return NDR_ERR_SUCCESS;
23081
_PUBLIC_ void ndr_print_spoolss_GetPrinterDriver(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriver *r)
23083
ndr_print_struct(ndr, name, "spoolss_GetPrinterDriver");
23084
if (r == NULL) { ndr_print_null(ndr); return; }
23086
if (flags & NDR_SET_VALUES) {
23087
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23089
if (flags & NDR_IN) {
23090
ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriver");
23092
ndr_print_ptr(ndr, "handle", r->in.handle);
23094
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23096
ndr_print_ptr(ndr, "architecture", r->in.architecture);
23098
if (r->in.architecture) {
23099
ndr_print_string(ndr, "architecture", r->in.architecture);
23102
ndr_print_uint32(ndr, "level", r->in.level);
23103
ndr_print_ptr(ndr, "buffer", r->in.buffer);
23105
if (r->in.buffer) {
23106
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
23109
ndr_print_uint32(ndr, "offered", r->in.offered);
23112
if (flags & NDR_OUT) {
23113
ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriver");
23115
ndr_print_ptr(ndr, "info", r->out.info);
23118
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
23119
ndr_print_spoolss_DriverInfo(ndr, "info", r->out.info);
23122
ndr_print_ptr(ndr, "needed", r->out.needed);
23124
ndr_print_uint32(ndr, "needed", *r->out.needed);
23126
ndr_print_WERROR(ndr, "result", r->out.result);
23132
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_GetPrinterDriverDirectory(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriverDirectory *r)
23134
if (flags & NDR_IN) {
23135
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
23136
if (r->in.server) {
23137
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
23138
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23139
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
23140
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
23142
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment));
23143
if (r->in.environment) {
23144
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
23145
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23146
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
23147
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
23149
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
23150
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
23151
if (r->in.buffer) {
23152
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
23154
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
23156
if (flags & NDR_OUT) {
23157
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
23160
struct ndr_push *_ndr_info;
23161
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
23162
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
23163
NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo(_ndr_info, NDR_SCALARS, r->out.info));
23164
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
23167
if (r->out.needed == NULL) {
23168
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23170
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
23171
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23173
return NDR_ERR_SUCCESS;
23176
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_GetPrinterDriverDirectory(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriverDirectory *r)
23178
uint32_t _ptr_server;
23179
uint32_t _ptr_environment;
23180
uint32_t _ptr_buffer;
23181
uint32_t _ptr_info;
23182
TALLOC_CTX *_mem_save_server_0;
23183
TALLOC_CTX *_mem_save_environment_0;
23184
TALLOC_CTX *_mem_save_buffer_0;
23185
TALLOC_CTX *_mem_save_info_0;
23186
TALLOC_CTX *_mem_save_needed_0;
23187
if (flags & NDR_IN) {
23188
ZERO_STRUCT(r->out);
23190
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
23192
NDR_PULL_ALLOC(ndr, r->in.server);
23194
r->in.server = NULL;
23196
if (r->in.server) {
23197
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
23198
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
23199
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
23200
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
23201
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
23202
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));
23204
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
23205
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
23206
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
23208
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
23209
if (_ptr_environment) {
23210
NDR_PULL_ALLOC(ndr, r->in.environment);
23212
r->in.environment = NULL;
23214
if (r->in.environment) {
23215
_mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
23216
NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0);
23217
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment));
23218
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment));
23219
if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) {
23220
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));
23222
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t)));
23223
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16));
23224
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
23226
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
23227
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
23229
NDR_PULL_ALLOC(ndr, r->in.buffer);
23231
r->in.buffer = NULL;
23233
if (r->in.buffer) {
23234
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
23235
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
23236
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
23237
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
23239
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
23240
NDR_PULL_ALLOC(ndr, r->out.needed);
23241
ZERO_STRUCTP(r->out.needed);
23243
if (flags & NDR_OUT) {
23244
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
23246
NDR_PULL_ALLOC(ndr, r->out.info);
23248
r->out.info = NULL;
23251
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
23252
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
23254
struct ndr_pull *_ndr_info;
23255
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
23256
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
23257
NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo(_ndr_info, NDR_SCALARS, r->out.info));
23258
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
23260
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
23262
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23263
NDR_PULL_ALLOC(ndr, r->out.needed);
23265
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
23266
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
23267
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
23268
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
23269
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23271
return NDR_ERR_SUCCESS;
23274
_PUBLIC_ void ndr_print_spoolss_GetPrinterDriverDirectory(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriverDirectory *r)
23276
ndr_print_struct(ndr, name, "spoolss_GetPrinterDriverDirectory");
23277
if (r == NULL) { ndr_print_null(ndr); return; }
23279
if (flags & NDR_SET_VALUES) {
23280
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23282
if (flags & NDR_IN) {
23283
ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriverDirectory");
23285
ndr_print_ptr(ndr, "server", r->in.server);
23287
if (r->in.server) {
23288
ndr_print_string(ndr, "server", r->in.server);
23291
ndr_print_ptr(ndr, "environment", r->in.environment);
23293
if (r->in.environment) {
23294
ndr_print_string(ndr, "environment", r->in.environment);
23297
ndr_print_uint32(ndr, "level", r->in.level);
23298
ndr_print_ptr(ndr, "buffer", r->in.buffer);
23300
if (r->in.buffer) {
23301
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
23304
ndr_print_uint32(ndr, "offered", r->in.offered);
23307
if (flags & NDR_OUT) {
23308
ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriverDirectory");
23310
ndr_print_ptr(ndr, "info", r->out.info);
23313
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
23314
ndr_print_spoolss_DriverDirectoryInfo(ndr, "info", r->out.info);
23317
ndr_print_ptr(ndr, "needed", r->out.needed);
23319
ndr_print_uint32(ndr, "needed", *r->out.needed);
23321
ndr_print_WERROR(ndr, "result", r->out.result);
23327
static enum ndr_err_code ndr_push_spoolss_DeletePrinterDriver(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterDriver *r)
23329
if (flags & NDR_IN) {
23330
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
23331
if (r->in.server) {
23332
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
23333
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23334
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
23335
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
23337
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
23338
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23339
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
23340
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
23341
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.driver, CH_UTF16)));
23342
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23343
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.driver, CH_UTF16)));
23344
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.driver, ndr_charset_length(r->in.driver, CH_UTF16), sizeof(uint16_t), CH_UTF16));
23346
if (flags & NDR_OUT) {
23347
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23349
return NDR_ERR_SUCCESS;
23352
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterDriver(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterDriver *r)
23354
uint32_t _ptr_server;
23355
TALLOC_CTX *_mem_save_server_0;
23356
if (flags & NDR_IN) {
23357
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
23359
NDR_PULL_ALLOC(ndr, r->in.server);
23361
r->in.server = NULL;
23363
if (r->in.server) {
23364
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
23365
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
23366
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
23367
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
23368
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
23369
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));
23371
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
23372
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
23373
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
23375
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
23376
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
23377
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
23378
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));
23380
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
23381
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
23382
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.driver));
23383
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.driver));
23384
if (ndr_get_array_length(ndr, &r->in.driver) > ndr_get_array_size(ndr, &r->in.driver)) {
23385
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));
23387
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.driver), sizeof(uint16_t)));
23388
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.driver, ndr_get_array_length(ndr, &r->in.driver), sizeof(uint16_t), CH_UTF16));
23390
if (flags & NDR_OUT) {
23391
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23393
return NDR_ERR_SUCCESS;
23396
_PUBLIC_ void ndr_print_spoolss_DeletePrinterDriver(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterDriver *r)
23398
ndr_print_struct(ndr, name, "spoolss_DeletePrinterDriver");
23399
if (r == NULL) { ndr_print_null(ndr); return; }
23401
if (flags & NDR_SET_VALUES) {
23402
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23404
if (flags & NDR_IN) {
23405
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterDriver");
23407
ndr_print_ptr(ndr, "server", r->in.server);
23409
if (r->in.server) {
23410
ndr_print_string(ndr, "server", r->in.server);
23413
ndr_print_string(ndr, "architecture", r->in.architecture);
23414
ndr_print_string(ndr, "driver", r->in.driver);
23417
if (flags & NDR_OUT) {
23418
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterDriver");
23420
ndr_print_WERROR(ndr, "result", r->out.result);
23426
static enum ndr_err_code ndr_push_spoolss_AddPrintProcessor(struct ndr_push *ndr, int flags, const struct spoolss_AddPrintProcessor *r)
23428
if (flags & NDR_IN) {
23429
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
23430
if (r->in.server) {
23431
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
23432
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23433
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
23434
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
23436
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
23437
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23438
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
23439
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
23440
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path_name, CH_UTF16)));
23441
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23442
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path_name, CH_UTF16)));
23443
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));
23444
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.print_processor_name, CH_UTF16)));
23445
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23446
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.print_processor_name, CH_UTF16)));
23447
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));
23449
if (flags & NDR_OUT) {
23450
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23452
return NDR_ERR_SUCCESS;
23455
static enum ndr_err_code ndr_pull_spoolss_AddPrintProcessor(struct ndr_pull *ndr, int flags, struct spoolss_AddPrintProcessor *r)
23457
uint32_t _ptr_server;
23458
TALLOC_CTX *_mem_save_server_0;
23459
if (flags & NDR_IN) {
23460
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
23462
NDR_PULL_ALLOC(ndr, r->in.server);
23464
r->in.server = NULL;
23466
if (r->in.server) {
23467
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
23468
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
23469
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
23470
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
23471
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
23472
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));
23474
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
23475
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
23476
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
23478
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
23479
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
23480
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
23481
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));
23483
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
23484
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
23485
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path_name));
23486
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path_name));
23487
if (ndr_get_array_length(ndr, &r->in.path_name) > ndr_get_array_size(ndr, &r->in.path_name)) {
23488
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));
23490
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path_name), sizeof(uint16_t)));
23491
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));
23492
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.print_processor_name));
23493
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.print_processor_name));
23494
if (ndr_get_array_length(ndr, &r->in.print_processor_name) > ndr_get_array_size(ndr, &r->in.print_processor_name)) {
23495
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));
23497
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.print_processor_name), sizeof(uint16_t)));
23498
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));
23500
if (flags & NDR_OUT) {
23501
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23503
return NDR_ERR_SUCCESS;
23506
_PUBLIC_ void ndr_print_spoolss_AddPrintProcessor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrintProcessor *r)
23508
ndr_print_struct(ndr, name, "spoolss_AddPrintProcessor");
23509
if (r == NULL) { ndr_print_null(ndr); return; }
23511
if (flags & NDR_SET_VALUES) {
23512
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23514
if (flags & NDR_IN) {
23515
ndr_print_struct(ndr, "in", "spoolss_AddPrintProcessor");
23517
ndr_print_ptr(ndr, "server", r->in.server);
23519
if (r->in.server) {
23520
ndr_print_string(ndr, "server", r->in.server);
23523
ndr_print_string(ndr, "architecture", r->in.architecture);
23524
ndr_print_string(ndr, "path_name", r->in.path_name);
23525
ndr_print_string(ndr, "print_processor_name", r->in.print_processor_name);
23528
if (flags & NDR_OUT) {
23529
ndr_print_struct(ndr, "out", "spoolss_AddPrintProcessor");
23531
ndr_print_WERROR(ndr, "result", r->out.result);
23537
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrintProcessors(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrintProcessors *r)
23539
if (flags & NDR_IN) {
23540
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
23541
if (r->in.servername) {
23542
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
23543
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23544
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
23545
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
23547
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment));
23548
if (r->in.environment) {
23549
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
23550
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23551
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
23552
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
23554
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
23555
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
23556
if (r->in.buffer) {
23557
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
23559
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
23561
if (flags & NDR_OUT) {
23562
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
23564
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
23566
if (r->out.needed == NULL) {
23567
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23569
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
23570
if (r->out.count == NULL) {
23571
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23573
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
23574
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23576
return NDR_ERR_SUCCESS;
23579
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrintProcessors(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrintProcessors *r)
23581
uint32_t _ptr_servername;
23582
uint32_t _ptr_environment;
23583
uint32_t _ptr_buffer;
23584
uint32_t _ptr_info;
23585
TALLOC_CTX *_mem_save_servername_0;
23586
TALLOC_CTX *_mem_save_environment_0;
23587
TALLOC_CTX *_mem_save_buffer_0;
23588
TALLOC_CTX *_mem_save_info_0;
23589
TALLOC_CTX *_mem_save_needed_0;
23590
TALLOC_CTX *_mem_save_count_0;
23591
if (flags & NDR_IN) {
23592
ZERO_STRUCT(r->out);
23594
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
23595
if (_ptr_servername) {
23596
NDR_PULL_ALLOC(ndr, r->in.servername);
23598
r->in.servername = NULL;
23600
if (r->in.servername) {
23601
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
23602
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
23603
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
23604
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
23605
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
23606
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));
23608
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
23609
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
23610
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
23612
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
23613
if (_ptr_environment) {
23614
NDR_PULL_ALLOC(ndr, r->in.environment);
23616
r->in.environment = NULL;
23618
if (r->in.environment) {
23619
_mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
23620
NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0);
23621
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment));
23622
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment));
23623
if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) {
23624
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));
23626
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t)));
23627
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16));
23628
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
23630
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
23631
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
23633
NDR_PULL_ALLOC(ndr, r->in.buffer);
23635
r->in.buffer = NULL;
23637
if (r->in.buffer) {
23638
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
23639
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
23640
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
23641
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
23643
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
23644
NDR_PULL_ALLOC(ndr, r->out.needed);
23645
ZERO_STRUCTP(r->out.needed);
23646
NDR_PULL_ALLOC(ndr, r->out.count);
23647
ZERO_STRUCTP(r->out.count);
23649
if (flags & NDR_OUT) {
23650
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
23652
NDR_PULL_ALLOC(ndr, r->out.info);
23654
r->out.info = NULL;
23657
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
23658
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
23659
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
23660
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
23662
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23663
NDR_PULL_ALLOC(ndr, r->out.needed);
23665
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
23666
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
23667
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
23668
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
23669
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23670
NDR_PULL_ALLOC(ndr, r->out.count);
23672
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
23673
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
23674
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
23675
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
23676
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23678
return NDR_ERR_SUCCESS;
23681
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrintProcessors(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrintProcessors *r)
23683
uint32_t cntr_info_0;
23684
if (flags & NDR_IN) {
23685
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
23686
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
23688
if (flags & NDR_OUT) {
23689
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
23690
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
23691
NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
23693
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
23694
NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
23697
return NDR_ERR_SUCCESS;
23700
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrintProcessors(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrintProcessors *r)
23702
uint32_t cntr_info_0;
23703
TALLOC_CTX *_mem_save_info_0;
23704
if (flags & NDR_IN) {
23705
ZERO_STRUCT(r->out);
23707
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
23708
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
23710
if (flags & NDR_OUT) {
23711
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
23712
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
23713
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
23714
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
23715
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
23716
NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
23718
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
23719
NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
23721
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
23723
return NDR_ERR_SUCCESS;
23726
_PUBLIC_ void ndr_print_spoolss_EnumPrintProcessors(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrintProcessors *r)
23728
uint32_t cntr_info_2;
23729
ndr_print_struct(ndr, name, "spoolss_EnumPrintProcessors");
23730
if (r == NULL) { ndr_print_null(ndr); return; }
23732
if (flags & NDR_SET_VALUES) {
23733
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23735
if (flags & NDR_IN) {
23736
ndr_print_struct(ndr, "in", "spoolss_EnumPrintProcessors");
23738
ndr_print_ptr(ndr, "servername", r->in.servername);
23740
if (r->in.servername) {
23741
ndr_print_string(ndr, "servername", r->in.servername);
23744
ndr_print_ptr(ndr, "environment", r->in.environment);
23746
if (r->in.environment) {
23747
ndr_print_string(ndr, "environment", r->in.environment);
23750
ndr_print_uint32(ndr, "level", r->in.level);
23751
ndr_print_ptr(ndr, "buffer", r->in.buffer);
23753
if (r->in.buffer) {
23754
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
23757
ndr_print_uint32(ndr, "offered", r->in.offered);
23760
if (flags & NDR_OUT) {
23761
ndr_print_struct(ndr, "out", "spoolss_EnumPrintProcessors");
23763
ndr_print_ptr(ndr, "count", r->out.count);
23765
ndr_print_uint32(ndr, "count", *r->out.count);
23767
ndr_print_ptr(ndr, "info", r->out.info);
23769
ndr_print_ptr(ndr, "info", *r->out.info);
23771
if (*r->out.info) {
23772
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
23774
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
23775
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
23776
ndr_print_spoolss_PrintProcessorInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
23782
ndr_print_ptr(ndr, "needed", r->out.needed);
23784
ndr_print_uint32(ndr, "needed", *r->out.needed);
23786
ndr_print_WERROR(ndr, "result", r->out.result);
23792
static enum ndr_err_code ndr_push_spoolss_GetPrintProcessorDirectory(struct ndr_push *ndr, int flags, const struct spoolss_GetPrintProcessorDirectory *r)
23794
if (flags & NDR_IN) {
23795
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
23796
if (r->in.server) {
23797
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
23798
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23799
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
23800
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
23802
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment));
23803
if (r->in.environment) {
23804
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
23805
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23806
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
23807
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
23809
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
23810
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
23811
if (r->in.buffer) {
23812
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
23814
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
23816
if (flags & NDR_OUT) {
23817
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
23820
struct ndr_push *_ndr_info;
23821
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
23822
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
23823
NDR_CHECK(ndr_push_spoolss_PrintProcessorDirectoryInfo(_ndr_info, NDR_SCALARS, r->out.info));
23824
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
23827
if (r->out.needed == NULL) {
23828
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23830
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
23831
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23833
return NDR_ERR_SUCCESS;
23836
static enum ndr_err_code ndr_pull_spoolss_GetPrintProcessorDirectory(struct ndr_pull *ndr, int flags, struct spoolss_GetPrintProcessorDirectory *r)
23838
uint32_t _ptr_server;
23839
uint32_t _ptr_environment;
23840
uint32_t _ptr_buffer;
23841
uint32_t _ptr_info;
23842
TALLOC_CTX *_mem_save_server_0;
23843
TALLOC_CTX *_mem_save_environment_0;
23844
TALLOC_CTX *_mem_save_buffer_0;
23845
TALLOC_CTX *_mem_save_info_0;
23846
TALLOC_CTX *_mem_save_needed_0;
23847
if (flags & NDR_IN) {
23848
ZERO_STRUCT(r->out);
23850
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
23852
NDR_PULL_ALLOC(ndr, r->in.server);
23854
r->in.server = NULL;
23856
if (r->in.server) {
23857
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
23858
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
23859
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
23860
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
23861
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
23862
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));
23864
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
23865
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
23866
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
23868
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
23869
if (_ptr_environment) {
23870
NDR_PULL_ALLOC(ndr, r->in.environment);
23872
r->in.environment = NULL;
23874
if (r->in.environment) {
23875
_mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
23876
NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0);
23877
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment));
23878
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment));
23879
if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) {
23880
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));
23882
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t)));
23883
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16));
23884
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
23886
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
23887
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
23889
NDR_PULL_ALLOC(ndr, r->in.buffer);
23891
r->in.buffer = NULL;
23893
if (r->in.buffer) {
23894
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
23895
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
23896
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
23897
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
23899
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
23900
NDR_PULL_ALLOC(ndr, r->out.needed);
23901
ZERO_STRUCTP(r->out.needed);
23903
if (flags & NDR_OUT) {
23904
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
23906
NDR_PULL_ALLOC(ndr, r->out.info);
23908
r->out.info = NULL;
23911
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
23912
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
23914
struct ndr_pull *_ndr_info;
23915
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
23916
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
23917
NDR_CHECK(ndr_pull_spoolss_PrintProcessorDirectoryInfo(_ndr_info, NDR_SCALARS, r->out.info));
23918
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
23920
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
23922
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23923
NDR_PULL_ALLOC(ndr, r->out.needed);
23925
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
23926
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
23927
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
23928
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
23929
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23931
return NDR_ERR_SUCCESS;
23934
_PUBLIC_ void ndr_print_spoolss_GetPrintProcessorDirectory(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrintProcessorDirectory *r)
23936
ndr_print_struct(ndr, name, "spoolss_GetPrintProcessorDirectory");
23937
if (r == NULL) { ndr_print_null(ndr); return; }
23939
if (flags & NDR_SET_VALUES) {
23940
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23942
if (flags & NDR_IN) {
23943
ndr_print_struct(ndr, "in", "spoolss_GetPrintProcessorDirectory");
23945
ndr_print_ptr(ndr, "server", r->in.server);
23947
if (r->in.server) {
23948
ndr_print_string(ndr, "server", r->in.server);
23951
ndr_print_ptr(ndr, "environment", r->in.environment);
23953
if (r->in.environment) {
23954
ndr_print_string(ndr, "environment", r->in.environment);
23957
ndr_print_uint32(ndr, "level", r->in.level);
23958
ndr_print_ptr(ndr, "buffer", r->in.buffer);
23960
if (r->in.buffer) {
23961
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
23964
ndr_print_uint32(ndr, "offered", r->in.offered);
23967
if (flags & NDR_OUT) {
23968
ndr_print_struct(ndr, "out", "spoolss_GetPrintProcessorDirectory");
23970
ndr_print_ptr(ndr, "info", r->out.info);
23973
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
23974
ndr_print_spoolss_PrintProcessorDirectoryInfo(ndr, "info", r->out.info);
23977
ndr_print_ptr(ndr, "needed", r->out.needed);
23979
ndr_print_uint32(ndr, "needed", *r->out.needed);
23981
ndr_print_WERROR(ndr, "result", r->out.result);
23987
static enum ndr_err_code ndr_push_spoolss_StartDocPrinter(struct ndr_push *ndr, int flags, const struct spoolss_StartDocPrinter *r)
23989
if (flags & NDR_IN) {
23990
if (r->in.handle == NULL) {
23991
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23993
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23994
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
23995
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level));
23996
NDR_CHECK(ndr_push_spoolss_DocumentInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
23998
if (flags & NDR_OUT) {
23999
if (r->out.job_id == NULL) {
24000
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24002
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.job_id));
24003
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24005
return NDR_ERR_SUCCESS;
24008
static enum ndr_err_code ndr_pull_spoolss_StartDocPrinter(struct ndr_pull *ndr, int flags, struct spoolss_StartDocPrinter *r)
24010
TALLOC_CTX *_mem_save_handle_0;
24011
TALLOC_CTX *_mem_save_job_id_0;
24012
if (flags & NDR_IN) {
24013
ZERO_STRUCT(r->out);
24015
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24016
NDR_PULL_ALLOC(ndr, r->in.handle);
24018
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24019
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
24020
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24021
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
24022
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
24023
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level));
24024
NDR_CHECK(ndr_pull_spoolss_DocumentInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
24025
NDR_PULL_ALLOC(ndr, r->out.job_id);
24026
ZERO_STRUCTP(r->out.job_id);
24028
if (flags & NDR_OUT) {
24029
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24030
NDR_PULL_ALLOC(ndr, r->out.job_id);
24032
_mem_save_job_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
24033
NDR_PULL_SET_MEM_CTX(ndr, r->out.job_id, LIBNDR_FLAG_REF_ALLOC);
24034
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.job_id));
24035
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_job_id_0, LIBNDR_FLAG_REF_ALLOC);
24036
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24038
return NDR_ERR_SUCCESS;
24041
_PUBLIC_ void ndr_print_spoolss_StartDocPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_StartDocPrinter *r)
24043
ndr_print_struct(ndr, name, "spoolss_StartDocPrinter");
24044
if (r == NULL) { ndr_print_null(ndr); return; }
24046
if (flags & NDR_SET_VALUES) {
24047
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24049
if (flags & NDR_IN) {
24050
ndr_print_struct(ndr, "in", "spoolss_StartDocPrinter");
24052
ndr_print_ptr(ndr, "handle", r->in.handle);
24054
ndr_print_policy_handle(ndr, "handle", r->in.handle);
24056
ndr_print_uint32(ndr, "level", r->in.level);
24057
ndr_print_set_switch_value(ndr, &r->in.info, r->in.level);
24058
ndr_print_spoolss_DocumentInfo(ndr, "info", &r->in.info);
24061
if (flags & NDR_OUT) {
24062
ndr_print_struct(ndr, "out", "spoolss_StartDocPrinter");
24064
ndr_print_ptr(ndr, "job_id", r->out.job_id);
24066
ndr_print_uint32(ndr, "job_id", *r->out.job_id);
24068
ndr_print_WERROR(ndr, "result", r->out.result);
24074
static enum ndr_err_code ndr_push_spoolss_StartPagePrinter(struct ndr_push *ndr, int flags, const struct spoolss_StartPagePrinter *r)
24076
if (flags & NDR_IN) {
24077
if (r->in.handle == NULL) {
24078
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24080
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24082
if (flags & NDR_OUT) {
24083
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24085
return NDR_ERR_SUCCESS;
24088
static enum ndr_err_code ndr_pull_spoolss_StartPagePrinter(struct ndr_pull *ndr, int flags, struct spoolss_StartPagePrinter *r)
24090
TALLOC_CTX *_mem_save_handle_0;
24091
if (flags & NDR_IN) {
24092
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24093
NDR_PULL_ALLOC(ndr, r->in.handle);
24095
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24096
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
24097
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24098
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
24100
if (flags & NDR_OUT) {
24101
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24103
return NDR_ERR_SUCCESS;
24106
_PUBLIC_ void ndr_print_spoolss_StartPagePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_StartPagePrinter *r)
24108
ndr_print_struct(ndr, name, "spoolss_StartPagePrinter");
24109
if (r == NULL) { ndr_print_null(ndr); return; }
24111
if (flags & NDR_SET_VALUES) {
24112
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24114
if (flags & NDR_IN) {
24115
ndr_print_struct(ndr, "in", "spoolss_StartPagePrinter");
24117
ndr_print_ptr(ndr, "handle", r->in.handle);
24119
ndr_print_policy_handle(ndr, "handle", r->in.handle);
24123
if (flags & NDR_OUT) {
24124
ndr_print_struct(ndr, "out", "spoolss_StartPagePrinter");
24126
ndr_print_WERROR(ndr, "result", r->out.result);
24132
static enum ndr_err_code ndr_push_spoolss_WritePrinter(struct ndr_push *ndr, int flags, const struct spoolss_WritePrinter *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_DATA_BLOB(ndr, NDR_SCALARS, r->in.data));
24140
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.data.length));
24142
if (flags & NDR_OUT) {
24143
if (r->out.num_written == NULL) {
24144
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24146
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_written));
24147
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24149
return NDR_ERR_SUCCESS;
24152
static enum ndr_err_code ndr_pull_spoolss_WritePrinter(struct ndr_pull *ndr, int flags, struct spoolss_WritePrinter *r)
24154
TALLOC_CTX *_mem_save_handle_0;
24155
TALLOC_CTX *_mem_save_num_written_0;
24156
if (flags & NDR_IN) {
24157
ZERO_STRUCT(r->out);
24159
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24160
NDR_PULL_ALLOC(ndr, r->in.handle);
24162
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24163
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
24164
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24165
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
24166
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.data));
24167
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in._data_size));
24168
NDR_PULL_ALLOC(ndr, r->out.num_written);
24169
ZERO_STRUCTP(r->out.num_written);
24171
if (flags & NDR_OUT) {
24172
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24173
NDR_PULL_ALLOC(ndr, r->out.num_written);
24175
_mem_save_num_written_0 = NDR_PULL_GET_MEM_CTX(ndr);
24176
NDR_PULL_SET_MEM_CTX(ndr, r->out.num_written, LIBNDR_FLAG_REF_ALLOC);
24177
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_written));
24178
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_written_0, LIBNDR_FLAG_REF_ALLOC);
24179
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24181
return NDR_ERR_SUCCESS;
24184
_PUBLIC_ void ndr_print_spoolss_WritePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_WritePrinter *r)
24186
ndr_print_struct(ndr, name, "spoolss_WritePrinter");
24187
if (r == NULL) { ndr_print_null(ndr); return; }
24189
if (flags & NDR_SET_VALUES) {
24190
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24192
if (flags & NDR_IN) {
24193
ndr_print_struct(ndr, "in", "spoolss_WritePrinter");
24195
ndr_print_ptr(ndr, "handle", r->in.handle);
24197
ndr_print_policy_handle(ndr, "handle", r->in.handle);
24199
ndr_print_DATA_BLOB(ndr, "data", r->in.data);
24200
ndr_print_uint32(ndr, "_data_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->in.data.length:r->in._data_size);
24203
if (flags & NDR_OUT) {
24204
ndr_print_struct(ndr, "out", "spoolss_WritePrinter");
24206
ndr_print_ptr(ndr, "num_written", r->out.num_written);
24208
ndr_print_uint32(ndr, "num_written", *r->out.num_written);
24210
ndr_print_WERROR(ndr, "result", r->out.result);
24216
static enum ndr_err_code ndr_push_spoolss_EndPagePrinter(struct ndr_push *ndr, int flags, const struct spoolss_EndPagePrinter *r)
24218
if (flags & NDR_IN) {
24219
if (r->in.handle == NULL) {
24220
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24222
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24224
if (flags & NDR_OUT) {
24225
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24227
return NDR_ERR_SUCCESS;
24230
static enum ndr_err_code ndr_pull_spoolss_EndPagePrinter(struct ndr_pull *ndr, int flags, struct spoolss_EndPagePrinter *r)
24232
TALLOC_CTX *_mem_save_handle_0;
24233
if (flags & NDR_IN) {
24234
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24235
NDR_PULL_ALLOC(ndr, r->in.handle);
24237
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24238
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
24239
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24240
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
24242
if (flags & NDR_OUT) {
24243
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24245
return NDR_ERR_SUCCESS;
24248
_PUBLIC_ void ndr_print_spoolss_EndPagePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EndPagePrinter *r)
24250
ndr_print_struct(ndr, name, "spoolss_EndPagePrinter");
24251
if (r == NULL) { ndr_print_null(ndr); return; }
24253
if (flags & NDR_SET_VALUES) {
24254
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24256
if (flags & NDR_IN) {
24257
ndr_print_struct(ndr, "in", "spoolss_EndPagePrinter");
24259
ndr_print_ptr(ndr, "handle", r->in.handle);
24261
ndr_print_policy_handle(ndr, "handle", r->in.handle);
24265
if (flags & NDR_OUT) {
24266
ndr_print_struct(ndr, "out", "spoolss_EndPagePrinter");
24268
ndr_print_WERROR(ndr, "result", r->out.result);
24274
static enum ndr_err_code ndr_push_spoolss_AbortPrinter(struct ndr_push *ndr, int flags, const struct spoolss_AbortPrinter *r)
24276
if (flags & NDR_IN) {
24277
if (r->in.handle == NULL) {
24278
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24280
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24282
if (flags & NDR_OUT) {
24283
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24285
return NDR_ERR_SUCCESS;
24288
static enum ndr_err_code ndr_pull_spoolss_AbortPrinter(struct ndr_pull *ndr, int flags, struct spoolss_AbortPrinter *r)
24290
TALLOC_CTX *_mem_save_handle_0;
24291
if (flags & NDR_IN) {
24292
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24293
NDR_PULL_ALLOC(ndr, r->in.handle);
24295
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24296
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
24297
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24298
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
24300
if (flags & NDR_OUT) {
24301
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24303
return NDR_ERR_SUCCESS;
24306
_PUBLIC_ void ndr_print_spoolss_AbortPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AbortPrinter *r)
24308
ndr_print_struct(ndr, name, "spoolss_AbortPrinter");
24309
if (r == NULL) { ndr_print_null(ndr); return; }
24311
if (flags & NDR_SET_VALUES) {
24312
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24314
if (flags & NDR_IN) {
24315
ndr_print_struct(ndr, "in", "spoolss_AbortPrinter");
24317
ndr_print_ptr(ndr, "handle", r->in.handle);
24319
ndr_print_policy_handle(ndr, "handle", r->in.handle);
24323
if (flags & NDR_OUT) {
24324
ndr_print_struct(ndr, "out", "spoolss_AbortPrinter");
24326
ndr_print_WERROR(ndr, "result", r->out.result);
24332
static enum ndr_err_code ndr_push_spoolss_ReadPrinter(struct ndr_push *ndr, int flags, const struct spoolss_ReadPrinter *r)
24334
if (flags & NDR_IN) {
24335
if (r->in.handle == NULL) {
24336
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24338
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24339
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.data_size));
24341
if (flags & NDR_OUT) {
24342
if (r->out.data == NULL) {
24343
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24345
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.data_size));
24346
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.data_size));
24347
if (r->out._data_size == NULL) {
24348
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24350
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out._data_size));
24351
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24353
return NDR_ERR_SUCCESS;
24356
static enum ndr_err_code ndr_pull_spoolss_ReadPrinter(struct ndr_pull *ndr, int flags, struct spoolss_ReadPrinter *r)
24358
TALLOC_CTX *_mem_save_handle_0;
24359
TALLOC_CTX *_mem_save__data_size_0;
24360
if (flags & NDR_IN) {
24361
ZERO_STRUCT(r->out);
24363
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24364
NDR_PULL_ALLOC(ndr, r->in.handle);
24366
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24367
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
24368
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24369
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
24370
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.data_size));
24371
NDR_PULL_ALLOC_N(ndr, r->out.data, r->in.data_size);
24372
memset(r->out.data, 0, (r->in.data_size) * sizeof(*r->out.data));
24373
NDR_PULL_ALLOC(ndr, r->out._data_size);
24374
ZERO_STRUCTP(r->out._data_size);
24376
if (flags & NDR_OUT) {
24377
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data));
24378
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24379
NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data));
24381
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data)));
24382
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24383
NDR_PULL_ALLOC(ndr, r->out._data_size);
24385
_mem_save__data_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
24386
NDR_PULL_SET_MEM_CTX(ndr, r->out._data_size, LIBNDR_FLAG_REF_ALLOC);
24387
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out._data_size));
24388
NDR_PULL_SET_MEM_CTX(ndr, _mem_save__data_size_0, LIBNDR_FLAG_REF_ALLOC);
24389
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24391
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.data_size));
24394
return NDR_ERR_SUCCESS;
24397
_PUBLIC_ void ndr_print_spoolss_ReadPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ReadPrinter *r)
24399
ndr_print_struct(ndr, name, "spoolss_ReadPrinter");
24400
if (r == NULL) { ndr_print_null(ndr); return; }
24402
if (flags & NDR_SET_VALUES) {
24403
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24405
if (flags & NDR_IN) {
24406
ndr_print_struct(ndr, "in", "spoolss_ReadPrinter");
24408
ndr_print_ptr(ndr, "handle", r->in.handle);
24410
ndr_print_policy_handle(ndr, "handle", r->in.handle);
24412
ndr_print_uint32(ndr, "data_size", r->in.data_size);
24415
if (flags & NDR_OUT) {
24416
ndr_print_struct(ndr, "out", "spoolss_ReadPrinter");
24418
ndr_print_ptr(ndr, "data", r->out.data);
24420
ndr_print_array_uint8(ndr, "data", r->out.data, r->in.data_size);
24422
ndr_print_ptr(ndr, "_data_size", r->out._data_size);
24424
ndr_print_uint32(ndr, "_data_size", *r->out._data_size);
24426
ndr_print_WERROR(ndr, "result", r->out.result);
24432
static enum ndr_err_code ndr_push_spoolss_EndDocPrinter(struct ndr_push *ndr, int flags, const struct spoolss_EndDocPrinter *r)
24434
if (flags & NDR_IN) {
24435
if (r->in.handle == NULL) {
24436
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24438
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24440
if (flags & NDR_OUT) {
24441
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24443
return NDR_ERR_SUCCESS;
24446
static enum ndr_err_code ndr_pull_spoolss_EndDocPrinter(struct ndr_pull *ndr, int flags, struct spoolss_EndDocPrinter *r)
24448
TALLOC_CTX *_mem_save_handle_0;
24449
if (flags & NDR_IN) {
24450
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24451
NDR_PULL_ALLOC(ndr, r->in.handle);
24453
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24454
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
24455
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24456
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
24458
if (flags & NDR_OUT) {
24459
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24461
return NDR_ERR_SUCCESS;
24464
_PUBLIC_ void ndr_print_spoolss_EndDocPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EndDocPrinter *r)
24466
ndr_print_struct(ndr, name, "spoolss_EndDocPrinter");
24467
if (r == NULL) { ndr_print_null(ndr); return; }
24469
if (flags & NDR_SET_VALUES) {
24470
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24472
if (flags & NDR_IN) {
24473
ndr_print_struct(ndr, "in", "spoolss_EndDocPrinter");
24475
ndr_print_ptr(ndr, "handle", r->in.handle);
24477
ndr_print_policy_handle(ndr, "handle", r->in.handle);
24481
if (flags & NDR_OUT) {
24482
ndr_print_struct(ndr, "out", "spoolss_EndDocPrinter");
24484
ndr_print_WERROR(ndr, "result", r->out.result);
24490
static enum ndr_err_code ndr_push_spoolss_AddJob(struct ndr_push *ndr, int flags, const struct spoolss_AddJob *r)
24492
if (flags & NDR_IN) {
24493
if (r->in.handle == NULL) {
24494
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24496
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24497
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
24498
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
24499
if (r->in.buffer) {
24500
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
24501
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.buffer, r->in.offered));
24503
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
24505
if (flags & NDR_OUT) {
24506
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.buffer));
24507
if (r->out.buffer) {
24508
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
24509
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.buffer, r->in.offered));
24511
if (r->out.needed == NULL) {
24512
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24514
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
24515
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24517
return NDR_ERR_SUCCESS;
24520
static enum ndr_err_code ndr_pull_spoolss_AddJob(struct ndr_pull *ndr, int flags, struct spoolss_AddJob *r)
24522
uint32_t _ptr_buffer;
24523
TALLOC_CTX *_mem_save_handle_0;
24524
TALLOC_CTX *_mem_save_buffer_0;
24525
TALLOC_CTX *_mem_save_needed_0;
24526
if (flags & NDR_IN) {
24527
ZERO_STRUCT(r->out);
24529
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24530
NDR_PULL_ALLOC(ndr, r->in.handle);
24532
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24533
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
24534
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24535
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
24536
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
24537
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
24539
NDR_PULL_ALLOC(ndr, r->in.buffer);
24541
r->in.buffer = NULL;
24543
if (r->in.buffer) {
24544
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
24545
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
24546
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer));
24547
NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer));
24548
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer)));
24549
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
24551
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
24552
NDR_PULL_ALLOC(ndr, r->out.needed);
24553
ZERO_STRUCTP(r->out.needed);
24554
if (r->in.buffer) {
24555
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, r->in.offered));
24558
if (flags & NDR_OUT) {
24559
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
24561
NDR_PULL_ALLOC(ndr, r->out.buffer);
24563
r->out.buffer = NULL;
24565
if (r->out.buffer) {
24566
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
24567
NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, 0);
24568
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.buffer));
24569
NDR_PULL_ALLOC_N(ndr, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer));
24570
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer)));
24571
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
24573
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24574
NDR_PULL_ALLOC(ndr, r->out.needed);
24576
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
24577
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
24578
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
24579
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
24580
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24581
if (r->out.buffer) {
24582
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.buffer, r->in.offered));
24585
return NDR_ERR_SUCCESS;
24588
_PUBLIC_ void ndr_print_spoolss_AddJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddJob *r)
24590
ndr_print_struct(ndr, name, "spoolss_AddJob");
24591
if (r == NULL) { ndr_print_null(ndr); return; }
24593
if (flags & NDR_SET_VALUES) {
24594
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24596
if (flags & NDR_IN) {
24597
ndr_print_struct(ndr, "in", "spoolss_AddJob");
24599
ndr_print_ptr(ndr, "handle", r->in.handle);
24601
ndr_print_policy_handle(ndr, "handle", r->in.handle);
24603
ndr_print_uint32(ndr, "level", r->in.level);
24604
ndr_print_ptr(ndr, "buffer", r->in.buffer);
24606
if (r->in.buffer) {
24607
ndr_print_array_uint8(ndr, "buffer", r->in.buffer, r->in.offered);
24610
ndr_print_uint32(ndr, "offered", r->in.offered);
24613
if (flags & NDR_OUT) {
24614
ndr_print_struct(ndr, "out", "spoolss_AddJob");
24616
ndr_print_ptr(ndr, "buffer", r->out.buffer);
24618
if (r->out.buffer) {
24619
ndr_print_array_uint8(ndr, "buffer", r->out.buffer, r->in.offered);
24622
ndr_print_ptr(ndr, "needed", r->out.needed);
24624
ndr_print_uint32(ndr, "needed", *r->out.needed);
24626
ndr_print_WERROR(ndr, "result", r->out.result);
24632
static enum ndr_err_code ndr_push_spoolss_ScheduleJob(struct ndr_push *ndr, int flags, const struct spoolss_ScheduleJob *r)
24634
if (flags & NDR_IN) {
24635
if (r->in.handle == NULL) {
24636
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24638
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24639
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.jobid));
24641
if (flags & NDR_OUT) {
24642
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24644
return NDR_ERR_SUCCESS;
24647
static enum ndr_err_code ndr_pull_spoolss_ScheduleJob(struct ndr_pull *ndr, int flags, struct spoolss_ScheduleJob *r)
24649
TALLOC_CTX *_mem_save_handle_0;
24650
if (flags & NDR_IN) {
24651
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24652
NDR_PULL_ALLOC(ndr, r->in.handle);
24654
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24655
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
24656
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24657
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
24658
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.jobid));
24660
if (flags & NDR_OUT) {
24661
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24663
return NDR_ERR_SUCCESS;
24666
_PUBLIC_ void ndr_print_spoolss_ScheduleJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ScheduleJob *r)
24668
ndr_print_struct(ndr, name, "spoolss_ScheduleJob");
24669
if (r == NULL) { ndr_print_null(ndr); return; }
24671
if (flags & NDR_SET_VALUES) {
24672
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24674
if (flags & NDR_IN) {
24675
ndr_print_struct(ndr, "in", "spoolss_ScheduleJob");
24677
ndr_print_ptr(ndr, "handle", r->in.handle);
24679
ndr_print_policy_handle(ndr, "handle", r->in.handle);
24681
ndr_print_uint32(ndr, "jobid", r->in.jobid);
24684
if (flags & NDR_OUT) {
24685
ndr_print_struct(ndr, "out", "spoolss_ScheduleJob");
24687
ndr_print_WERROR(ndr, "result", r->out.result);
24693
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_GetPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterData *r)
24695
if (flags & NDR_IN) {
24696
if (r->in.handle == NULL) {
24697
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24699
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24700
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
24701
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
24702
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
24703
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));
24704
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
24706
if (flags & NDR_OUT) {
24707
if (r->out.type == NULL) {
24708
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24710
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type));
24711
if (r->out.data == NULL) {
24712
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24714
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
24715
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.offered));
24716
if (r->out.needed == NULL) {
24717
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24719
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
24720
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24722
return NDR_ERR_SUCCESS;
24725
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_GetPrinterData(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterData *r)
24727
TALLOC_CTX *_mem_save_handle_0;
24728
TALLOC_CTX *_mem_save_type_0;
24729
TALLOC_CTX *_mem_save_needed_0;
24730
if (flags & NDR_IN) {
24731
ZERO_STRUCT(r->out);
24733
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24734
NDR_PULL_ALLOC(ndr, r->in.handle);
24736
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24737
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
24738
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24739
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
24740
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
24741
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
24742
if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
24743
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));
24745
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
24746
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));
24747
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
24748
NDR_PULL_ALLOC(ndr, r->out.type);
24749
ZERO_STRUCTP(r->out.type);
24750
NDR_PULL_ALLOC_N(ndr, r->out.data, r->in.offered);
24751
memset(r->out.data, 0, (r->in.offered) * sizeof(*r->out.data));
24752
NDR_PULL_ALLOC(ndr, r->out.needed);
24753
ZERO_STRUCTP(r->out.needed);
24755
if (flags & NDR_OUT) {
24756
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24757
NDR_PULL_ALLOC(ndr, r->out.type);
24759
_mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
24760
NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC);
24761
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type));
24762
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC);
24763
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data));
24764
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24765
NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data));
24767
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data)));
24768
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24769
NDR_PULL_ALLOC(ndr, r->out.needed);
24771
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
24772
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
24773
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
24774
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
24775
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24777
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.offered));
24780
return NDR_ERR_SUCCESS;
24783
_PUBLIC_ void ndr_print_spoolss_GetPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterData *r)
24785
ndr_print_struct(ndr, name, "spoolss_GetPrinterData");
24786
if (r == NULL) { ndr_print_null(ndr); return; }
24788
if (flags & NDR_SET_VALUES) {
24789
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24791
if (flags & NDR_IN) {
24792
ndr_print_struct(ndr, "in", "spoolss_GetPrinterData");
24794
ndr_print_ptr(ndr, "handle", r->in.handle);
24796
ndr_print_policy_handle(ndr, "handle", r->in.handle);
24798
ndr_print_string(ndr, "value_name", r->in.value_name);
24799
ndr_print_uint32(ndr, "offered", r->in.offered);
24802
if (flags & NDR_OUT) {
24803
ndr_print_struct(ndr, "out", "spoolss_GetPrinterData");
24805
ndr_print_ptr(ndr, "type", r->out.type);
24807
ndr_print_winreg_Type(ndr, "type", *r->out.type);
24809
ndr_print_ptr(ndr, "data", r->out.data);
24811
ndr_print_array_uint8(ndr, "data", r->out.data, r->in.offered);
24813
ndr_print_ptr(ndr, "needed", r->out.needed);
24815
ndr_print_uint32(ndr, "needed", *r->out.needed);
24817
ndr_print_WERROR(ndr, "result", r->out.result);
24823
static enum ndr_err_code ndr_push_spoolss_SetPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinterData *r)
24825
if (flags & NDR_IN) {
24826
if (r->in.handle == NULL) {
24827
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24829
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24830
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
24831
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
24832
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
24833
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));
24834
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type));
24835
if (r->in.data == NULL) {
24836
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24838
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
24839
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.offered));
24840
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
24842
if (flags & NDR_OUT) {
24843
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24845
return NDR_ERR_SUCCESS;
24848
static enum ndr_err_code ndr_pull_spoolss_SetPrinterData(struct ndr_pull *ndr, int flags, struct spoolss_SetPrinterData *r)
24850
TALLOC_CTX *_mem_save_handle_0;
24851
if (flags & NDR_IN) {
24852
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24853
NDR_PULL_ALLOC(ndr, r->in.handle);
24855
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24856
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
24857
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24858
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
24859
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
24860
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
24861
if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
24862
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));
24864
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
24865
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));
24866
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type));
24867
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data));
24868
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24869
NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data));
24871
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_size(ndr, &r->in.data)));
24872
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
24874
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.offered));
24877
if (flags & NDR_OUT) {
24878
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24880
return NDR_ERR_SUCCESS;
24883
_PUBLIC_ void ndr_print_spoolss_SetPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinterData *r)
24885
ndr_print_struct(ndr, name, "spoolss_SetPrinterData");
24886
if (r == NULL) { ndr_print_null(ndr); return; }
24888
if (flags & NDR_SET_VALUES) {
24889
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24891
if (flags & NDR_IN) {
24892
ndr_print_struct(ndr, "in", "spoolss_SetPrinterData");
24894
ndr_print_ptr(ndr, "handle", r->in.handle);
24896
ndr_print_policy_handle(ndr, "handle", r->in.handle);
24898
ndr_print_string(ndr, "value_name", r->in.value_name);
24899
ndr_print_winreg_Type(ndr, "type", r->in.type);
24900
ndr_print_ptr(ndr, "data", r->in.data);
24902
ndr_print_array_uint8(ndr, "data", r->in.data, r->in.offered);
24904
ndr_print_uint32(ndr, "offered", r->in.offered);
24907
if (flags & NDR_OUT) {
24908
ndr_print_struct(ndr, "out", "spoolss_SetPrinterData");
24910
ndr_print_WERROR(ndr, "result", r->out.result);
24916
static enum ndr_err_code ndr_push_spoolss_WaitForPrinterChange(struct ndr_push *ndr, int flags, const struct spoolss_WaitForPrinterChange *r)
24918
if (flags & NDR_IN) {
24920
if (flags & NDR_OUT) {
24921
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24923
return NDR_ERR_SUCCESS;
24926
static enum ndr_err_code ndr_pull_spoolss_WaitForPrinterChange(struct ndr_pull *ndr, int flags, struct spoolss_WaitForPrinterChange *r)
24928
if (flags & NDR_IN) {
24930
if (flags & NDR_OUT) {
24931
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24933
return NDR_ERR_SUCCESS;
24936
_PUBLIC_ void ndr_print_spoolss_WaitForPrinterChange(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_WaitForPrinterChange *r)
24938
ndr_print_struct(ndr, name, "spoolss_WaitForPrinterChange");
24939
if (r == NULL) { ndr_print_null(ndr); return; }
24941
if (flags & NDR_SET_VALUES) {
24942
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24944
if (flags & NDR_IN) {
24945
ndr_print_struct(ndr, "in", "spoolss_WaitForPrinterChange");
24949
if (flags & NDR_OUT) {
24950
ndr_print_struct(ndr, "out", "spoolss_WaitForPrinterChange");
24952
ndr_print_WERROR(ndr, "result", r->out.result);
24958
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_ClosePrinter(struct ndr_push *ndr, int flags, const struct spoolss_ClosePrinter *r)
24960
if (flags & NDR_IN) {
24961
if (r->in.handle == NULL) {
24962
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24964
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24966
if (flags & NDR_OUT) {
24967
if (r->out.handle == NULL) {
24968
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24970
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
24971
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24973
return NDR_ERR_SUCCESS;
24976
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_ClosePrinter(struct ndr_pull *ndr, int flags, struct spoolss_ClosePrinter *r)
24978
TALLOC_CTX *_mem_save_handle_0;
24979
if (flags & NDR_IN) {
24980
ZERO_STRUCT(r->out);
24982
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24983
NDR_PULL_ALLOC(ndr, r->in.handle);
24985
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24986
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
24987
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24988
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
24989
NDR_PULL_ALLOC(ndr, r->out.handle);
24990
*r->out.handle = *r->in.handle;
24992
if (flags & NDR_OUT) {
24993
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24994
NDR_PULL_ALLOC(ndr, r->out.handle);
24996
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24997
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
24998
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
24999
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
25000
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25002
return NDR_ERR_SUCCESS;
25005
_PUBLIC_ void ndr_print_spoolss_ClosePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ClosePrinter *r)
25007
ndr_print_struct(ndr, name, "spoolss_ClosePrinter");
25008
if (r == NULL) { ndr_print_null(ndr); return; }
25010
if (flags & NDR_SET_VALUES) {
25011
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25013
if (flags & NDR_IN) {
25014
ndr_print_struct(ndr, "in", "spoolss_ClosePrinter");
25016
ndr_print_ptr(ndr, "handle", r->in.handle);
25018
ndr_print_policy_handle(ndr, "handle", r->in.handle);
25022
if (flags & NDR_OUT) {
25023
ndr_print_struct(ndr, "out", "spoolss_ClosePrinter");
25025
ndr_print_ptr(ndr, "handle", r->out.handle);
25027
ndr_print_policy_handle(ndr, "handle", r->out.handle);
25029
ndr_print_WERROR(ndr, "result", r->out.result);
25035
static enum ndr_err_code ndr_push_spoolss_AddForm(struct ndr_push *ndr, int flags, const struct spoolss_AddForm *r)
25037
if (flags & NDR_IN) {
25038
if (r->in.handle == NULL) {
25039
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25041
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
25042
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
25043
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level));
25044
NDR_CHECK(ndr_push_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
25046
if (flags & NDR_OUT) {
25047
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25049
return NDR_ERR_SUCCESS;
25052
static enum ndr_err_code ndr_pull_spoolss_AddForm(struct ndr_pull *ndr, int flags, struct spoolss_AddForm *r)
25054
TALLOC_CTX *_mem_save_handle_0;
25055
if (flags & NDR_IN) {
25056
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25057
NDR_PULL_ALLOC(ndr, r->in.handle);
25059
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
25060
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
25061
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
25062
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
25063
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
25064
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level));
25065
NDR_CHECK(ndr_pull_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
25067
if (flags & NDR_OUT) {
25068
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25070
return NDR_ERR_SUCCESS;
25073
_PUBLIC_ void ndr_print_spoolss_AddForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddForm *r)
25075
ndr_print_struct(ndr, name, "spoolss_AddForm");
25076
if (r == NULL) { ndr_print_null(ndr); return; }
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_AddForm");
25084
ndr_print_ptr(ndr, "handle", r->in.handle);
25086
ndr_print_policy_handle(ndr, "handle", r->in.handle);
25088
ndr_print_uint32(ndr, "level", r->in.level);
25089
ndr_print_set_switch_value(ndr, &r->in.info, r->in.level);
25090
ndr_print_spoolss_AddFormInfo(ndr, "info", &r->in.info);
25093
if (flags & NDR_OUT) {
25094
ndr_print_struct(ndr, "out", "spoolss_AddForm");
25096
ndr_print_WERROR(ndr, "result", r->out.result);
25102
static enum ndr_err_code ndr_push_spoolss_DeleteForm(struct ndr_push *ndr, int flags, const struct spoolss_DeleteForm *r)
25104
if (flags & NDR_IN) {
25105
if (r->in.handle == NULL) {
25106
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25108
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
25109
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
25110
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
25111
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
25112
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));
25114
if (flags & NDR_OUT) {
25115
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25117
return NDR_ERR_SUCCESS;
25120
static enum ndr_err_code ndr_pull_spoolss_DeleteForm(struct ndr_pull *ndr, int flags, struct spoolss_DeleteForm *r)
25122
TALLOC_CTX *_mem_save_handle_0;
25123
if (flags & NDR_IN) {
25124
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25125
NDR_PULL_ALLOC(ndr, r->in.handle);
25127
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
25128
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
25129
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
25130
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
25131
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.form_name));
25132
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.form_name));
25133
if (ndr_get_array_length(ndr, &r->in.form_name) > ndr_get_array_size(ndr, &r->in.form_name)) {
25134
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));
25136
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t)));
25137
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));
25139
if (flags & NDR_OUT) {
25140
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25142
return NDR_ERR_SUCCESS;
25145
_PUBLIC_ void ndr_print_spoolss_DeleteForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeleteForm *r)
25147
ndr_print_struct(ndr, name, "spoolss_DeleteForm");
25148
if (r == NULL) { ndr_print_null(ndr); return; }
25150
if (flags & NDR_SET_VALUES) {
25151
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25153
if (flags & NDR_IN) {
25154
ndr_print_struct(ndr, "in", "spoolss_DeleteForm");
25156
ndr_print_ptr(ndr, "handle", r->in.handle);
25158
ndr_print_policy_handle(ndr, "handle", r->in.handle);
25160
ndr_print_string(ndr, "form_name", r->in.form_name);
25163
if (flags & NDR_OUT) {
25164
ndr_print_struct(ndr, "out", "spoolss_DeleteForm");
25166
ndr_print_WERROR(ndr, "result", r->out.result);
25172
static enum ndr_err_code ndr_push_spoolss_GetForm(struct ndr_push *ndr, int flags, const struct spoolss_GetForm *r)
25174
if (flags & NDR_IN) {
25175
if (r->in.handle == NULL) {
25176
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25178
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
25179
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
25180
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
25181
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
25182
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));
25183
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
25184
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
25185
if (r->in.buffer) {
25186
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
25188
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
25190
if (flags & NDR_OUT) {
25191
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
25194
struct ndr_push *_ndr_info;
25195
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
25196
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
25197
NDR_CHECK(ndr_push_spoolss_FormInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
25198
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
25201
if (r->out.needed == NULL) {
25202
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25204
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
25205
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25207
return NDR_ERR_SUCCESS;
25210
static enum ndr_err_code ndr_pull_spoolss_GetForm(struct ndr_pull *ndr, int flags, struct spoolss_GetForm *r)
25212
uint32_t _ptr_buffer;
25213
uint32_t _ptr_info;
25214
TALLOC_CTX *_mem_save_handle_0;
25215
TALLOC_CTX *_mem_save_buffer_0;
25216
TALLOC_CTX *_mem_save_info_0;
25217
TALLOC_CTX *_mem_save_needed_0;
25218
if (flags & NDR_IN) {
25219
ZERO_STRUCT(r->out);
25221
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25222
NDR_PULL_ALLOC(ndr, r->in.handle);
25224
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
25225
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
25226
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
25227
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
25228
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.form_name));
25229
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.form_name));
25230
if (ndr_get_array_length(ndr, &r->in.form_name) > ndr_get_array_size(ndr, &r->in.form_name)) {
25231
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));
25233
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t)));
25234
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));
25235
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
25236
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
25238
NDR_PULL_ALLOC(ndr, r->in.buffer);
25240
r->in.buffer = NULL;
25242
if (r->in.buffer) {
25243
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
25244
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
25245
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
25246
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
25248
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
25249
NDR_PULL_ALLOC(ndr, r->out.needed);
25250
ZERO_STRUCTP(r->out.needed);
25252
if (flags & NDR_OUT) {
25253
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
25255
NDR_PULL_ALLOC(ndr, r->out.info);
25257
r->out.info = NULL;
25260
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
25261
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
25263
struct ndr_pull *_ndr_info;
25264
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
25265
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
25266
NDR_CHECK(ndr_pull_spoolss_FormInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
25267
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
25269
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
25271
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25272
NDR_PULL_ALLOC(ndr, r->out.needed);
25274
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
25275
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
25276
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
25277
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
25278
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25280
return NDR_ERR_SUCCESS;
25283
_PUBLIC_ void ndr_print_spoolss_GetForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetForm *r)
25285
ndr_print_struct(ndr, name, "spoolss_GetForm");
25286
if (r == NULL) { ndr_print_null(ndr); return; }
25288
if (flags & NDR_SET_VALUES) {
25289
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25291
if (flags & NDR_IN) {
25292
ndr_print_struct(ndr, "in", "spoolss_GetForm");
25294
ndr_print_ptr(ndr, "handle", r->in.handle);
25296
ndr_print_policy_handle(ndr, "handle", r->in.handle);
25298
ndr_print_string(ndr, "form_name", r->in.form_name);
25299
ndr_print_uint32(ndr, "level", r->in.level);
25300
ndr_print_ptr(ndr, "buffer", r->in.buffer);
25302
if (r->in.buffer) {
25303
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
25306
ndr_print_uint32(ndr, "offered", r->in.offered);
25309
if (flags & NDR_OUT) {
25310
ndr_print_struct(ndr, "out", "spoolss_GetForm");
25312
ndr_print_ptr(ndr, "info", r->out.info);
25315
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
25316
ndr_print_spoolss_FormInfo(ndr, "info", r->out.info);
25319
ndr_print_ptr(ndr, "needed", r->out.needed);
25321
ndr_print_uint32(ndr, "needed", *r->out.needed);
25323
ndr_print_WERROR(ndr, "result", r->out.result);
25329
static enum ndr_err_code ndr_push_spoolss_SetForm(struct ndr_push *ndr, int flags, const struct spoolss_SetForm *r)
25331
if (flags & NDR_IN) {
25332
if (r->in.handle == NULL) {
25333
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25335
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
25336
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
25337
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
25338
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
25339
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));
25340
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
25341
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level));
25342
NDR_CHECK(ndr_push_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
25344
if (flags & NDR_OUT) {
25345
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25347
return NDR_ERR_SUCCESS;
25350
static enum ndr_err_code ndr_pull_spoolss_SetForm(struct ndr_pull *ndr, int flags, struct spoolss_SetForm *r)
25352
TALLOC_CTX *_mem_save_handle_0;
25353
if (flags & NDR_IN) {
25354
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25355
NDR_PULL_ALLOC(ndr, r->in.handle);
25357
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
25358
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
25359
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
25360
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
25361
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.form_name));
25362
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.form_name));
25363
if (ndr_get_array_length(ndr, &r->in.form_name) > ndr_get_array_size(ndr, &r->in.form_name)) {
25364
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));
25366
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t)));
25367
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));
25368
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
25369
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level));
25370
NDR_CHECK(ndr_pull_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
25372
if (flags & NDR_OUT) {
25373
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25375
return NDR_ERR_SUCCESS;
25378
_PUBLIC_ void ndr_print_spoolss_SetForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetForm *r)
25380
ndr_print_struct(ndr, name, "spoolss_SetForm");
25381
if (r == NULL) { ndr_print_null(ndr); return; }
25383
if (flags & NDR_SET_VALUES) {
25384
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25386
if (flags & NDR_IN) {
25387
ndr_print_struct(ndr, "in", "spoolss_SetForm");
25389
ndr_print_ptr(ndr, "handle", r->in.handle);
25391
ndr_print_policy_handle(ndr, "handle", r->in.handle);
25393
ndr_print_string(ndr, "form_name", r->in.form_name);
25394
ndr_print_uint32(ndr, "level", r->in.level);
25395
ndr_print_set_switch_value(ndr, &r->in.info, r->in.level);
25396
ndr_print_spoolss_AddFormInfo(ndr, "info", &r->in.info);
25399
if (flags & NDR_OUT) {
25400
ndr_print_struct(ndr, "out", "spoolss_SetForm");
25402
ndr_print_WERROR(ndr, "result", r->out.result);
25408
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumForms(struct ndr_push *ndr, int flags, const struct _spoolss_EnumForms *r)
25410
if (flags & NDR_IN) {
25411
if (r->in.handle == NULL) {
25412
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25414
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
25415
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
25416
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
25417
if (r->in.buffer) {
25418
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
25420
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
25422
if (flags & NDR_OUT) {
25423
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
25425
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
25427
if (r->out.needed == NULL) {
25428
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25430
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
25431
if (r->out.count == NULL) {
25432
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25434
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
25435
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25437
return NDR_ERR_SUCCESS;
25440
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumForms(struct ndr_pull *ndr, int flags, struct _spoolss_EnumForms *r)
25442
uint32_t _ptr_buffer;
25443
uint32_t _ptr_info;
25444
TALLOC_CTX *_mem_save_handle_0;
25445
TALLOC_CTX *_mem_save_buffer_0;
25446
TALLOC_CTX *_mem_save_info_0;
25447
TALLOC_CTX *_mem_save_needed_0;
25448
TALLOC_CTX *_mem_save_count_0;
25449
if (flags & NDR_IN) {
25450
ZERO_STRUCT(r->out);
25452
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25453
NDR_PULL_ALLOC(ndr, r->in.handle);
25455
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
25456
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
25457
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
25458
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
25459
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
25460
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
25462
NDR_PULL_ALLOC(ndr, r->in.buffer);
25464
r->in.buffer = NULL;
25466
if (r->in.buffer) {
25467
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
25468
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
25469
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
25470
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
25472
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
25473
NDR_PULL_ALLOC(ndr, r->out.needed);
25474
ZERO_STRUCTP(r->out.needed);
25475
NDR_PULL_ALLOC(ndr, r->out.count);
25476
ZERO_STRUCTP(r->out.count);
25478
if (flags & NDR_OUT) {
25479
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
25481
NDR_PULL_ALLOC(ndr, r->out.info);
25483
r->out.info = NULL;
25486
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
25487
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
25488
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
25489
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
25491
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25492
NDR_PULL_ALLOC(ndr, r->out.needed);
25494
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
25495
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
25496
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
25497
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
25498
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25499
NDR_PULL_ALLOC(ndr, r->out.count);
25501
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
25502
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
25503
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
25504
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
25505
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25507
return NDR_ERR_SUCCESS;
25510
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumForms(struct ndr_push *ndr, int flags, const struct __spoolss_EnumForms *r)
25512
uint32_t cntr_info_0;
25513
if (flags & NDR_IN) {
25514
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
25515
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
25517
if (flags & NDR_OUT) {
25518
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25519
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
25520
NDR_CHECK(ndr_push_spoolss_FormInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
25522
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25523
NDR_CHECK(ndr_push_spoolss_FormInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
25526
return NDR_ERR_SUCCESS;
25529
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumForms(struct ndr_pull *ndr, int flags, struct __spoolss_EnumForms *r)
25531
uint32_t cntr_info_0;
25532
TALLOC_CTX *_mem_save_info_0;
25533
if (flags & NDR_IN) {
25534
ZERO_STRUCT(r->out);
25536
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
25537
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
25539
if (flags & NDR_OUT) {
25540
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
25541
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
25542
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
25543
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25544
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
25545
NDR_CHECK(ndr_pull_spoolss_FormInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
25547
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25548
NDR_CHECK(ndr_pull_spoolss_FormInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
25550
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
25552
return NDR_ERR_SUCCESS;
25555
_PUBLIC_ void ndr_print_spoolss_EnumForms(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumForms *r)
25557
uint32_t cntr_info_2;
25558
ndr_print_struct(ndr, name, "spoolss_EnumForms");
25559
if (r == NULL) { ndr_print_null(ndr); return; }
25561
if (flags & NDR_SET_VALUES) {
25562
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25564
if (flags & NDR_IN) {
25565
ndr_print_struct(ndr, "in", "spoolss_EnumForms");
25567
ndr_print_ptr(ndr, "handle", r->in.handle);
25569
ndr_print_policy_handle(ndr, "handle", r->in.handle);
25571
ndr_print_uint32(ndr, "level", r->in.level);
25572
ndr_print_ptr(ndr, "buffer", r->in.buffer);
25574
if (r->in.buffer) {
25575
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
25578
ndr_print_uint32(ndr, "offered", r->in.offered);
25581
if (flags & NDR_OUT) {
25582
ndr_print_struct(ndr, "out", "spoolss_EnumForms");
25584
ndr_print_ptr(ndr, "count", r->out.count);
25586
ndr_print_uint32(ndr, "count", *r->out.count);
25588
ndr_print_ptr(ndr, "info", r->out.info);
25590
ndr_print_ptr(ndr, "info", *r->out.info);
25592
if (*r->out.info) {
25593
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
25595
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
25596
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
25597
ndr_print_spoolss_FormInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
25603
ndr_print_ptr(ndr, "needed", r->out.needed);
25605
ndr_print_uint32(ndr, "needed", *r->out.needed);
25607
ndr_print_WERROR(ndr, "result", r->out.result);
25613
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPorts(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPorts *r)
25615
if (flags & NDR_IN) {
25616
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
25617
if (r->in.servername) {
25618
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
25619
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
25620
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
25621
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
25623
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
25624
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
25625
if (r->in.buffer) {
25626
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
25628
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
25630
if (flags & NDR_OUT) {
25631
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
25633
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
25635
if (r->out.needed == NULL) {
25636
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25638
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
25639
if (r->out.count == NULL) {
25640
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25642
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
25643
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25645
return NDR_ERR_SUCCESS;
25648
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPorts(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPorts *r)
25650
uint32_t _ptr_servername;
25651
uint32_t _ptr_buffer;
25652
uint32_t _ptr_info;
25653
TALLOC_CTX *_mem_save_servername_0;
25654
TALLOC_CTX *_mem_save_buffer_0;
25655
TALLOC_CTX *_mem_save_info_0;
25656
TALLOC_CTX *_mem_save_needed_0;
25657
TALLOC_CTX *_mem_save_count_0;
25658
if (flags & NDR_IN) {
25659
ZERO_STRUCT(r->out);
25661
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
25662
if (_ptr_servername) {
25663
NDR_PULL_ALLOC(ndr, r->in.servername);
25665
r->in.servername = NULL;
25667
if (r->in.servername) {
25668
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
25669
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
25670
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
25671
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
25672
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
25673
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));
25675
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
25676
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
25677
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
25679
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
25680
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
25682
NDR_PULL_ALLOC(ndr, r->in.buffer);
25684
r->in.buffer = NULL;
25686
if (r->in.buffer) {
25687
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
25688
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
25689
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
25690
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
25692
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
25693
NDR_PULL_ALLOC(ndr, r->out.needed);
25694
ZERO_STRUCTP(r->out.needed);
25695
NDR_PULL_ALLOC(ndr, r->out.count);
25696
ZERO_STRUCTP(r->out.count);
25698
if (flags & NDR_OUT) {
25699
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
25701
NDR_PULL_ALLOC(ndr, r->out.info);
25703
r->out.info = NULL;
25706
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
25707
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
25708
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
25709
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
25711
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25712
NDR_PULL_ALLOC(ndr, r->out.needed);
25714
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
25715
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
25716
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
25717
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
25718
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25719
NDR_PULL_ALLOC(ndr, r->out.count);
25721
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
25722
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
25723
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
25724
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
25725
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25727
return NDR_ERR_SUCCESS;
25730
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPorts(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPorts *r)
25732
uint32_t cntr_info_0;
25733
if (flags & NDR_IN) {
25734
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
25735
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
25737
if (flags & NDR_OUT) {
25738
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25739
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
25740
NDR_CHECK(ndr_push_spoolss_PortInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
25742
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25743
NDR_CHECK(ndr_push_spoolss_PortInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
25746
return NDR_ERR_SUCCESS;
25749
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPorts(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPorts *r)
25751
uint32_t cntr_info_0;
25752
TALLOC_CTX *_mem_save_info_0;
25753
if (flags & NDR_IN) {
25754
ZERO_STRUCT(r->out);
25756
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
25757
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
25759
if (flags & NDR_OUT) {
25760
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
25761
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
25762
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
25763
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25764
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
25765
NDR_CHECK(ndr_pull_spoolss_PortInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
25767
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25768
NDR_CHECK(ndr_pull_spoolss_PortInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
25770
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
25772
return NDR_ERR_SUCCESS;
25775
_PUBLIC_ void ndr_print_spoolss_EnumPorts(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPorts *r)
25777
uint32_t cntr_info_2;
25778
ndr_print_struct(ndr, name, "spoolss_EnumPorts");
25779
if (r == NULL) { ndr_print_null(ndr); return; }
25781
if (flags & NDR_SET_VALUES) {
25782
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25784
if (flags & NDR_IN) {
25785
ndr_print_struct(ndr, "in", "spoolss_EnumPorts");
25787
ndr_print_ptr(ndr, "servername", r->in.servername);
25789
if (r->in.servername) {
25790
ndr_print_string(ndr, "servername", r->in.servername);
25793
ndr_print_uint32(ndr, "level", r->in.level);
25794
ndr_print_ptr(ndr, "buffer", r->in.buffer);
25796
if (r->in.buffer) {
25797
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
25800
ndr_print_uint32(ndr, "offered", r->in.offered);
25803
if (flags & NDR_OUT) {
25804
ndr_print_struct(ndr, "out", "spoolss_EnumPorts");
25806
ndr_print_ptr(ndr, "count", r->out.count);
25808
ndr_print_uint32(ndr, "count", *r->out.count);
25810
ndr_print_ptr(ndr, "info", r->out.info);
25812
ndr_print_ptr(ndr, "info", *r->out.info);
25814
if (*r->out.info) {
25815
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
25817
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
25818
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
25819
ndr_print_spoolss_PortInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
25825
ndr_print_ptr(ndr, "needed", r->out.needed);
25827
ndr_print_uint32(ndr, "needed", *r->out.needed);
25829
ndr_print_WERROR(ndr, "result", r->out.result);
25835
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumMonitors(struct ndr_push *ndr, int flags, const struct _spoolss_EnumMonitors *r)
25837
if (flags & NDR_IN) {
25838
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
25839
if (r->in.servername) {
25840
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
25841
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
25842
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
25843
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
25845
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
25846
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
25847
if (r->in.buffer) {
25848
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
25850
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
25852
if (flags & NDR_OUT) {
25853
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
25855
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
25857
if (r->out.needed == NULL) {
25858
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25860
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
25861
if (r->out.count == NULL) {
25862
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25864
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
25865
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25867
return NDR_ERR_SUCCESS;
25870
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumMonitors(struct ndr_pull *ndr, int flags, struct _spoolss_EnumMonitors *r)
25872
uint32_t _ptr_servername;
25873
uint32_t _ptr_buffer;
25874
uint32_t _ptr_info;
25875
TALLOC_CTX *_mem_save_servername_0;
25876
TALLOC_CTX *_mem_save_buffer_0;
25877
TALLOC_CTX *_mem_save_info_0;
25878
TALLOC_CTX *_mem_save_needed_0;
25879
TALLOC_CTX *_mem_save_count_0;
25880
if (flags & NDR_IN) {
25881
ZERO_STRUCT(r->out);
25883
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
25884
if (_ptr_servername) {
25885
NDR_PULL_ALLOC(ndr, r->in.servername);
25887
r->in.servername = NULL;
25889
if (r->in.servername) {
25890
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
25891
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
25892
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
25893
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
25894
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
25895
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));
25897
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
25898
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
25899
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
25901
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
25902
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
25904
NDR_PULL_ALLOC(ndr, r->in.buffer);
25906
r->in.buffer = NULL;
25908
if (r->in.buffer) {
25909
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
25910
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
25911
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
25912
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
25914
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
25915
NDR_PULL_ALLOC(ndr, r->out.needed);
25916
ZERO_STRUCTP(r->out.needed);
25917
NDR_PULL_ALLOC(ndr, r->out.count);
25918
ZERO_STRUCTP(r->out.count);
25920
if (flags & NDR_OUT) {
25921
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
25923
NDR_PULL_ALLOC(ndr, r->out.info);
25925
r->out.info = NULL;
25928
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
25929
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
25930
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
25931
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
25933
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25934
NDR_PULL_ALLOC(ndr, r->out.needed);
25936
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
25937
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
25938
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
25939
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
25940
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25941
NDR_PULL_ALLOC(ndr, r->out.count);
25943
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
25944
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
25945
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
25946
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
25947
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25949
return NDR_ERR_SUCCESS;
25952
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumMonitors(struct ndr_push *ndr, int flags, const struct __spoolss_EnumMonitors *r)
25954
uint32_t cntr_info_0;
25955
if (flags & NDR_IN) {
25956
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
25957
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
25959
if (flags & NDR_OUT) {
25960
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25961
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
25962
NDR_CHECK(ndr_push_spoolss_MonitorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
25964
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25965
NDR_CHECK(ndr_push_spoolss_MonitorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
25968
return NDR_ERR_SUCCESS;
25971
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumMonitors(struct ndr_pull *ndr, int flags, struct __spoolss_EnumMonitors *r)
25973
uint32_t cntr_info_0;
25974
TALLOC_CTX *_mem_save_info_0;
25975
if (flags & NDR_IN) {
25976
ZERO_STRUCT(r->out);
25978
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
25979
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
25981
if (flags & NDR_OUT) {
25982
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
25983
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
25984
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
25985
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25986
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
25987
NDR_CHECK(ndr_pull_spoolss_MonitorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
25989
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25990
NDR_CHECK(ndr_pull_spoolss_MonitorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
25992
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
25994
return NDR_ERR_SUCCESS;
25997
_PUBLIC_ void ndr_print_spoolss_EnumMonitors(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumMonitors *r)
25999
uint32_t cntr_info_2;
26000
ndr_print_struct(ndr, name, "spoolss_EnumMonitors");
26001
if (r == NULL) { ndr_print_null(ndr); return; }
26003
if (flags & NDR_SET_VALUES) {
26004
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26006
if (flags & NDR_IN) {
26007
ndr_print_struct(ndr, "in", "spoolss_EnumMonitors");
26009
ndr_print_ptr(ndr, "servername", r->in.servername);
26011
if (r->in.servername) {
26012
ndr_print_string(ndr, "servername", r->in.servername);
26015
ndr_print_uint32(ndr, "level", r->in.level);
26016
ndr_print_ptr(ndr, "buffer", r->in.buffer);
26018
if (r->in.buffer) {
26019
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
26022
ndr_print_uint32(ndr, "offered", r->in.offered);
26025
if (flags & NDR_OUT) {
26026
ndr_print_struct(ndr, "out", "spoolss_EnumMonitors");
26028
ndr_print_ptr(ndr, "count", r->out.count);
26030
ndr_print_uint32(ndr, "count", *r->out.count);
26032
ndr_print_ptr(ndr, "info", r->out.info);
26034
ndr_print_ptr(ndr, "info", *r->out.info);
26036
if (*r->out.info) {
26037
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
26039
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
26040
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
26041
ndr_print_spoolss_MonitorInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
26047
ndr_print_ptr(ndr, "needed", r->out.needed);
26049
ndr_print_uint32(ndr, "needed", *r->out.needed);
26051
ndr_print_WERROR(ndr, "result", r->out.result);
26057
static enum ndr_err_code ndr_push_spoolss_AddPort(struct ndr_push *ndr, int flags, const struct spoolss_AddPort *r)
26059
if (flags & NDR_IN) {
26060
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
26061
if (r->in.server_name) {
26062
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
26063
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
26064
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
26065
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));
26067
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
26068
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.monitor_name, CH_UTF16)));
26069
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
26070
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.monitor_name, CH_UTF16)));
26071
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));
26073
if (flags & NDR_OUT) {
26074
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26076
return NDR_ERR_SUCCESS;
26079
static enum ndr_err_code ndr_pull_spoolss_AddPort(struct ndr_pull *ndr, int flags, struct spoolss_AddPort *r)
26081
uint32_t _ptr_server_name;
26082
TALLOC_CTX *_mem_save_server_name_0;
26083
if (flags & NDR_IN) {
26084
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
26085
if (_ptr_server_name) {
26086
NDR_PULL_ALLOC(ndr, r->in.server_name);
26088
r->in.server_name = NULL;
26090
if (r->in.server_name) {
26091
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
26092
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
26093
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
26094
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
26095
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
26096
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));
26098
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
26099
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));
26100
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
26102
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
26103
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.monitor_name));
26104
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.monitor_name));
26105
if (ndr_get_array_length(ndr, &r->in.monitor_name) > ndr_get_array_size(ndr, &r->in.monitor_name)) {
26106
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));
26108
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.monitor_name), sizeof(uint16_t)));
26109
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));
26111
if (flags & NDR_OUT) {
26112
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26114
return NDR_ERR_SUCCESS;
26117
_PUBLIC_ void ndr_print_spoolss_AddPort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPort *r)
26119
ndr_print_struct(ndr, name, "spoolss_AddPort");
26120
if (r == NULL) { ndr_print_null(ndr); return; }
26122
if (flags & NDR_SET_VALUES) {
26123
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26125
if (flags & NDR_IN) {
26126
ndr_print_struct(ndr, "in", "spoolss_AddPort");
26128
ndr_print_ptr(ndr, "server_name", r->in.server_name);
26130
if (r->in.server_name) {
26131
ndr_print_string(ndr, "server_name", r->in.server_name);
26134
ndr_print_uint32(ndr, "unknown", r->in.unknown);
26135
ndr_print_string(ndr, "monitor_name", r->in.monitor_name);
26138
if (flags & NDR_OUT) {
26139
ndr_print_struct(ndr, "out", "spoolss_AddPort");
26141
ndr_print_WERROR(ndr, "result", r->out.result);
26147
static enum ndr_err_code ndr_push_spoolss_ConfigurePort(struct ndr_push *ndr, int flags, const struct spoolss_ConfigurePort *r)
26149
if (flags & NDR_IN) {
26151
if (flags & NDR_OUT) {
26152
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26154
return NDR_ERR_SUCCESS;
26157
static enum ndr_err_code ndr_pull_spoolss_ConfigurePort(struct ndr_pull *ndr, int flags, struct spoolss_ConfigurePort *r)
26159
if (flags & NDR_IN) {
26161
if (flags & NDR_OUT) {
26162
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26164
return NDR_ERR_SUCCESS;
26167
_PUBLIC_ void ndr_print_spoolss_ConfigurePort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ConfigurePort *r)
26169
ndr_print_struct(ndr, name, "spoolss_ConfigurePort");
26170
if (r == NULL) { ndr_print_null(ndr); return; }
26172
if (flags & NDR_SET_VALUES) {
26173
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26175
if (flags & NDR_IN) {
26176
ndr_print_struct(ndr, "in", "spoolss_ConfigurePort");
26180
if (flags & NDR_OUT) {
26181
ndr_print_struct(ndr, "out", "spoolss_ConfigurePort");
26183
ndr_print_WERROR(ndr, "result", r->out.result);
26189
static enum ndr_err_code ndr_push_spoolss_DeletePort(struct ndr_push *ndr, int flags, const struct spoolss_DeletePort *r)
26191
if (flags & NDR_IN) {
26192
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
26193
if (r->in.server_name) {
26194
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
26195
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
26196
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
26197
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));
26199
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.ptr));
26200
if (r->in.port_name == NULL) {
26201
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26203
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.port_name, CH_UTF16)));
26204
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
26205
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.port_name, CH_UTF16)));
26206
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.port_name, ndr_charset_length(r->in.port_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
26208
if (flags & NDR_OUT) {
26209
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26211
return NDR_ERR_SUCCESS;
26214
static enum ndr_err_code ndr_pull_spoolss_DeletePort(struct ndr_pull *ndr, int flags, struct spoolss_DeletePort *r)
26216
uint32_t _ptr_server_name;
26217
TALLOC_CTX *_mem_save_server_name_0;
26218
if (flags & NDR_IN) {
26219
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
26220
if (_ptr_server_name) {
26221
NDR_PULL_ALLOC(ndr, r->in.server_name);
26223
r->in.server_name = NULL;
26225
if (r->in.server_name) {
26226
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
26227
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
26228
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
26229
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
26230
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
26231
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));
26233
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
26234
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));
26235
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
26237
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.ptr));
26238
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.port_name));
26239
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.port_name));
26240
if (ndr_get_array_length(ndr, &r->in.port_name) > ndr_get_array_size(ndr, &r->in.port_name)) {
26241
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.port_name), ndr_get_array_length(ndr, &r->in.port_name));
26243
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.port_name), sizeof(uint16_t)));
26244
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.port_name, ndr_get_array_length(ndr, &r->in.port_name), sizeof(uint16_t), CH_UTF16));
26246
if (flags & NDR_OUT) {
26247
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26249
return NDR_ERR_SUCCESS;
26252
_PUBLIC_ void ndr_print_spoolss_DeletePort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePort *r)
26254
ndr_print_struct(ndr, name, "spoolss_DeletePort");
26255
if (r == NULL) { ndr_print_null(ndr); return; }
26257
if (flags & NDR_SET_VALUES) {
26258
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26260
if (flags & NDR_IN) {
26261
ndr_print_struct(ndr, "in", "spoolss_DeletePort");
26263
ndr_print_ptr(ndr, "server_name", r->in.server_name);
26265
if (r->in.server_name) {
26266
ndr_print_string(ndr, "server_name", r->in.server_name);
26269
ndr_print_uint32(ndr, "ptr", r->in.ptr);
26270
ndr_print_ptr(ndr, "port_name", r->in.port_name);
26272
ndr_print_string(ndr, "port_name", r->in.port_name);
26276
if (flags & NDR_OUT) {
26277
ndr_print_struct(ndr, "out", "spoolss_DeletePort");
26279
ndr_print_WERROR(ndr, "result", r->out.result);
26285
static enum ndr_err_code ndr_push_spoolss_CreatePrinterIC(struct ndr_push *ndr, int flags, const struct spoolss_CreatePrinterIC *r)
26287
if (flags & NDR_IN) {
26288
if (r->in.handle == NULL) {
26289
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26291
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26292
if (r->in.devmode_ctr == NULL) {
26293
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26295
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
26297
if (flags & NDR_OUT) {
26298
if (r->out.gdi_handle == NULL) {
26299
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26301
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.gdi_handle));
26302
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26304
return NDR_ERR_SUCCESS;
26307
static enum ndr_err_code ndr_pull_spoolss_CreatePrinterIC(struct ndr_pull *ndr, int flags, struct spoolss_CreatePrinterIC *r)
26309
TALLOC_CTX *_mem_save_handle_0;
26310
TALLOC_CTX *_mem_save_gdi_handle_0;
26311
TALLOC_CTX *_mem_save_devmode_ctr_0;
26312
if (flags & NDR_IN) {
26313
ZERO_STRUCT(r->out);
26315
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26316
NDR_PULL_ALLOC(ndr, r->in.handle);
26318
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26319
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
26320
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26321
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
26322
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26323
NDR_PULL_ALLOC(ndr, r->in.devmode_ctr);
26325
_mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
26326
NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC);
26327
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
26328
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC);
26329
NDR_PULL_ALLOC(ndr, r->out.gdi_handle);
26330
ZERO_STRUCTP(r->out.gdi_handle);
26332
if (flags & NDR_OUT) {
26333
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26334
NDR_PULL_ALLOC(ndr, r->out.gdi_handle);
26336
_mem_save_gdi_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26337
NDR_PULL_SET_MEM_CTX(ndr, r->out.gdi_handle, LIBNDR_FLAG_REF_ALLOC);
26338
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.gdi_handle));
26339
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gdi_handle_0, LIBNDR_FLAG_REF_ALLOC);
26340
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26342
return NDR_ERR_SUCCESS;
26345
_PUBLIC_ void ndr_print_spoolss_CreatePrinterIC(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_CreatePrinterIC *r)
26347
ndr_print_struct(ndr, name, "spoolss_CreatePrinterIC");
26348
if (r == NULL) { ndr_print_null(ndr); return; }
26350
if (flags & NDR_SET_VALUES) {
26351
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26353
if (flags & NDR_IN) {
26354
ndr_print_struct(ndr, "in", "spoolss_CreatePrinterIC");
26356
ndr_print_ptr(ndr, "handle", r->in.handle);
26358
ndr_print_policy_handle(ndr, "handle", r->in.handle);
26360
ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr);
26362
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr);
26366
if (flags & NDR_OUT) {
26367
ndr_print_struct(ndr, "out", "spoolss_CreatePrinterIC");
26369
ndr_print_ptr(ndr, "gdi_handle", r->out.gdi_handle);
26371
ndr_print_policy_handle(ndr, "gdi_handle", r->out.gdi_handle);
26373
ndr_print_WERROR(ndr, "result", r->out.result);
26379
static enum ndr_err_code ndr_push_spoolss_PlayGDIScriptOnPrinterIC(struct ndr_push *ndr, int flags, const struct spoolss_PlayGDIScriptOnPrinterIC *r)
26381
if (flags & NDR_IN) {
26383
if (flags & NDR_OUT) {
26384
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26386
return NDR_ERR_SUCCESS;
26389
static enum ndr_err_code ndr_pull_spoolss_PlayGDIScriptOnPrinterIC(struct ndr_pull *ndr, int flags, struct spoolss_PlayGDIScriptOnPrinterIC *r)
26391
if (flags & NDR_IN) {
26393
if (flags & NDR_OUT) {
26394
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26396
return NDR_ERR_SUCCESS;
26399
_PUBLIC_ void ndr_print_spoolss_PlayGDIScriptOnPrinterIC(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_PlayGDIScriptOnPrinterIC *r)
26401
ndr_print_struct(ndr, name, "spoolss_PlayGDIScriptOnPrinterIC");
26402
if (r == NULL) { ndr_print_null(ndr); return; }
26404
if (flags & NDR_SET_VALUES) {
26405
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26407
if (flags & NDR_IN) {
26408
ndr_print_struct(ndr, "in", "spoolss_PlayGDIScriptOnPrinterIC");
26412
if (flags & NDR_OUT) {
26413
ndr_print_struct(ndr, "out", "spoolss_PlayGDIScriptOnPrinterIC");
26415
ndr_print_WERROR(ndr, "result", r->out.result);
26421
static enum ndr_err_code ndr_push_spoolss_DeletePrinterIC(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterIC *r)
26423
if (flags & NDR_IN) {
26424
if (r->in.gdi_handle == NULL) {
26425
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26427
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.gdi_handle));
26429
if (flags & NDR_OUT) {
26430
if (r->out.gdi_handle == NULL) {
26431
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26433
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.gdi_handle));
26434
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26436
return NDR_ERR_SUCCESS;
26439
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterIC(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterIC *r)
26441
TALLOC_CTX *_mem_save_gdi_handle_0;
26442
if (flags & NDR_IN) {
26443
ZERO_STRUCT(r->out);
26445
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26446
NDR_PULL_ALLOC(ndr, r->in.gdi_handle);
26448
_mem_save_gdi_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26449
NDR_PULL_SET_MEM_CTX(ndr, r->in.gdi_handle, LIBNDR_FLAG_REF_ALLOC);
26450
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.gdi_handle));
26451
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gdi_handle_0, LIBNDR_FLAG_REF_ALLOC);
26452
NDR_PULL_ALLOC(ndr, r->out.gdi_handle);
26453
*r->out.gdi_handle = *r->in.gdi_handle;
26455
if (flags & NDR_OUT) {
26456
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26457
NDR_PULL_ALLOC(ndr, r->out.gdi_handle);
26459
_mem_save_gdi_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26460
NDR_PULL_SET_MEM_CTX(ndr, r->out.gdi_handle, LIBNDR_FLAG_REF_ALLOC);
26461
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.gdi_handle));
26462
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gdi_handle_0, LIBNDR_FLAG_REF_ALLOC);
26463
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26465
return NDR_ERR_SUCCESS;
26468
_PUBLIC_ void ndr_print_spoolss_DeletePrinterIC(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterIC *r)
26470
ndr_print_struct(ndr, name, "spoolss_DeletePrinterIC");
26471
if (r == NULL) { ndr_print_null(ndr); return; }
26473
if (flags & NDR_SET_VALUES) {
26474
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26476
if (flags & NDR_IN) {
26477
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterIC");
26479
ndr_print_ptr(ndr, "gdi_handle", r->in.gdi_handle);
26481
ndr_print_policy_handle(ndr, "gdi_handle", r->in.gdi_handle);
26485
if (flags & NDR_OUT) {
26486
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterIC");
26488
ndr_print_ptr(ndr, "gdi_handle", r->out.gdi_handle);
26490
ndr_print_policy_handle(ndr, "gdi_handle", r->out.gdi_handle);
26492
ndr_print_WERROR(ndr, "result", r->out.result);
26498
static enum ndr_err_code ndr_push_spoolss_AddPrinterConnection(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterConnection *r)
26500
if (flags & NDR_IN) {
26502
if (flags & NDR_OUT) {
26503
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26505
return NDR_ERR_SUCCESS;
26508
static enum ndr_err_code ndr_pull_spoolss_AddPrinterConnection(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterConnection *r)
26510
if (flags & NDR_IN) {
26512
if (flags & NDR_OUT) {
26513
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26515
return NDR_ERR_SUCCESS;
26518
_PUBLIC_ void ndr_print_spoolss_AddPrinterConnection(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterConnection *r)
26520
ndr_print_struct(ndr, name, "spoolss_AddPrinterConnection");
26521
if (r == NULL) { ndr_print_null(ndr); return; }
26523
if (flags & NDR_SET_VALUES) {
26524
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26526
if (flags & NDR_IN) {
26527
ndr_print_struct(ndr, "in", "spoolss_AddPrinterConnection");
26531
if (flags & NDR_OUT) {
26532
ndr_print_struct(ndr, "out", "spoolss_AddPrinterConnection");
26534
ndr_print_WERROR(ndr, "result", r->out.result);
26540
static enum ndr_err_code ndr_push_spoolss_DeletePrinterConnection(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterConnection *r)
26542
if (flags & NDR_IN) {
26544
if (flags & NDR_OUT) {
26545
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26547
return NDR_ERR_SUCCESS;
26550
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterConnection(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterConnection *r)
26552
if (flags & NDR_IN) {
26554
if (flags & NDR_OUT) {
26555
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26557
return NDR_ERR_SUCCESS;
26560
_PUBLIC_ void ndr_print_spoolss_DeletePrinterConnection(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterConnection *r)
26562
ndr_print_struct(ndr, name, "spoolss_DeletePrinterConnection");
26563
if (r == NULL) { ndr_print_null(ndr); return; }
26565
if (flags & NDR_SET_VALUES) {
26566
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26568
if (flags & NDR_IN) {
26569
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterConnection");
26573
if (flags & NDR_OUT) {
26574
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterConnection");
26576
ndr_print_WERROR(ndr, "result", r->out.result);
26582
static enum ndr_err_code ndr_push_spoolss_PrinterMessageBox(struct ndr_push *ndr, int flags, const struct spoolss_PrinterMessageBox *r)
26584
if (flags & NDR_IN) {
26586
if (flags & NDR_OUT) {
26587
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26589
return NDR_ERR_SUCCESS;
26592
static enum ndr_err_code ndr_pull_spoolss_PrinterMessageBox(struct ndr_pull *ndr, int flags, struct spoolss_PrinterMessageBox *r)
26594
if (flags & NDR_IN) {
26596
if (flags & NDR_OUT) {
26597
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26599
return NDR_ERR_SUCCESS;
26602
_PUBLIC_ void ndr_print_spoolss_PrinterMessageBox(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_PrinterMessageBox *r)
26604
ndr_print_struct(ndr, name, "spoolss_PrinterMessageBox");
26605
if (r == NULL) { ndr_print_null(ndr); return; }
26607
if (flags & NDR_SET_VALUES) {
26608
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26610
if (flags & NDR_IN) {
26611
ndr_print_struct(ndr, "in", "spoolss_PrinterMessageBox");
26615
if (flags & NDR_OUT) {
26616
ndr_print_struct(ndr, "out", "spoolss_PrinterMessageBox");
26618
ndr_print_WERROR(ndr, "result", r->out.result);
26624
static enum ndr_err_code ndr_push_spoolss_AddMonitor(struct ndr_push *ndr, int flags, const struct spoolss_AddMonitor *r)
26626
if (flags & NDR_IN) {
26628
if (flags & NDR_OUT) {
26629
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26631
return NDR_ERR_SUCCESS;
26634
static enum ndr_err_code ndr_pull_spoolss_AddMonitor(struct ndr_pull *ndr, int flags, struct spoolss_AddMonitor *r)
26636
if (flags & NDR_IN) {
26638
if (flags & NDR_OUT) {
26639
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26641
return NDR_ERR_SUCCESS;
26644
_PUBLIC_ void ndr_print_spoolss_AddMonitor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddMonitor *r)
26646
ndr_print_struct(ndr, name, "spoolss_AddMonitor");
26647
if (r == NULL) { ndr_print_null(ndr); return; }
26649
if (flags & NDR_SET_VALUES) {
26650
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26652
if (flags & NDR_IN) {
26653
ndr_print_struct(ndr, "in", "spoolss_AddMonitor");
26657
if (flags & NDR_OUT) {
26658
ndr_print_struct(ndr, "out", "spoolss_AddMonitor");
26660
ndr_print_WERROR(ndr, "result", r->out.result);
26666
static enum ndr_err_code ndr_push_spoolss_DeleteMonitor(struct ndr_push *ndr, int flags, const struct spoolss_DeleteMonitor *r)
26668
if (flags & NDR_IN) {
26670
if (flags & NDR_OUT) {
26671
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26673
return NDR_ERR_SUCCESS;
26676
static enum ndr_err_code ndr_pull_spoolss_DeleteMonitor(struct ndr_pull *ndr, int flags, struct spoolss_DeleteMonitor *r)
26678
if (flags & NDR_IN) {
26680
if (flags & NDR_OUT) {
26681
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26683
return NDR_ERR_SUCCESS;
26686
_PUBLIC_ void ndr_print_spoolss_DeleteMonitor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeleteMonitor *r)
26688
ndr_print_struct(ndr, name, "spoolss_DeleteMonitor");
26689
if (r == NULL) { ndr_print_null(ndr); return; }
26691
if (flags & NDR_SET_VALUES) {
26692
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26694
if (flags & NDR_IN) {
26695
ndr_print_struct(ndr, "in", "spoolss_DeleteMonitor");
26699
if (flags & NDR_OUT) {
26700
ndr_print_struct(ndr, "out", "spoolss_DeleteMonitor");
26702
ndr_print_WERROR(ndr, "result", r->out.result);
26708
static enum ndr_err_code ndr_push_spoolss_DeletePrintProcessor(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrintProcessor *r)
26710
if (flags & NDR_IN) {
26712
if (flags & NDR_OUT) {
26713
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26715
return NDR_ERR_SUCCESS;
26718
static enum ndr_err_code ndr_pull_spoolss_DeletePrintProcessor(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrintProcessor *r)
26720
if (flags & NDR_IN) {
26722
if (flags & NDR_OUT) {
26723
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26725
return NDR_ERR_SUCCESS;
26728
_PUBLIC_ void ndr_print_spoolss_DeletePrintProcessor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrintProcessor *r)
26730
ndr_print_struct(ndr, name, "spoolss_DeletePrintProcessor");
26731
if (r == NULL) { ndr_print_null(ndr); return; }
26733
if (flags & NDR_SET_VALUES) {
26734
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26736
if (flags & NDR_IN) {
26737
ndr_print_struct(ndr, "in", "spoolss_DeletePrintProcessor");
26741
if (flags & NDR_OUT) {
26742
ndr_print_struct(ndr, "out", "spoolss_DeletePrintProcessor");
26744
ndr_print_WERROR(ndr, "result", r->out.result);
26750
static enum ndr_err_code ndr_push_spoolss_AddPrintProvidor(struct ndr_push *ndr, int flags, const struct spoolss_AddPrintProvidor *r)
26752
if (flags & NDR_IN) {
26754
if (flags & NDR_OUT) {
26755
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26757
return NDR_ERR_SUCCESS;
26760
static enum ndr_err_code ndr_pull_spoolss_AddPrintProvidor(struct ndr_pull *ndr, int flags, struct spoolss_AddPrintProvidor *r)
26762
if (flags & NDR_IN) {
26764
if (flags & NDR_OUT) {
26765
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26767
return NDR_ERR_SUCCESS;
26770
_PUBLIC_ void ndr_print_spoolss_AddPrintProvidor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrintProvidor *r)
26772
ndr_print_struct(ndr, name, "spoolss_AddPrintProvidor");
26773
if (r == NULL) { ndr_print_null(ndr); return; }
26775
if (flags & NDR_SET_VALUES) {
26776
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26778
if (flags & NDR_IN) {
26779
ndr_print_struct(ndr, "in", "spoolss_AddPrintProvidor");
26783
if (flags & NDR_OUT) {
26784
ndr_print_struct(ndr, "out", "spoolss_AddPrintProvidor");
26786
ndr_print_WERROR(ndr, "result", r->out.result);
26792
static enum ndr_err_code ndr_push_spoolss_DeletePrintProvidor(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrintProvidor *r)
26794
if (flags & NDR_IN) {
26796
if (flags & NDR_OUT) {
26797
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26799
return NDR_ERR_SUCCESS;
26802
static enum ndr_err_code ndr_pull_spoolss_DeletePrintProvidor(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrintProvidor *r)
26804
if (flags & NDR_IN) {
26806
if (flags & NDR_OUT) {
26807
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26809
return NDR_ERR_SUCCESS;
26812
_PUBLIC_ void ndr_print_spoolss_DeletePrintProvidor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrintProvidor *r)
26814
ndr_print_struct(ndr, name, "spoolss_DeletePrintProvidor");
26815
if (r == NULL) { ndr_print_null(ndr); return; }
26817
if (flags & NDR_SET_VALUES) {
26818
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26820
if (flags & NDR_IN) {
26821
ndr_print_struct(ndr, "in", "spoolss_DeletePrintProvidor");
26825
if (flags & NDR_OUT) {
26826
ndr_print_struct(ndr, "out", "spoolss_DeletePrintProvidor");
26828
ndr_print_WERROR(ndr, "result", r->out.result);
26834
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrintProcDataTypes(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrintProcDataTypes *r)
26836
if (flags & NDR_IN) {
26837
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
26838
if (r->in.servername) {
26839
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
26840
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
26841
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
26842
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
26844
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.print_processor_name));
26845
if (r->in.print_processor_name) {
26846
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.print_processor_name, CH_UTF16)));
26847
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
26848
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.print_processor_name, CH_UTF16)));
26849
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));
26851
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
26852
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
26853
if (r->in.buffer) {
26854
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
26856
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
26858
if (flags & NDR_OUT) {
26859
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
26861
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
26863
if (r->out.needed == NULL) {
26864
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26866
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
26867
if (r->out.count == NULL) {
26868
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26870
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
26871
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26873
return NDR_ERR_SUCCESS;
26876
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrintProcDataTypes(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrintProcDataTypes *r)
26878
uint32_t _ptr_servername;
26879
uint32_t _ptr_print_processor_name;
26880
uint32_t _ptr_buffer;
26881
uint32_t _ptr_info;
26882
TALLOC_CTX *_mem_save_servername_0;
26883
TALLOC_CTX *_mem_save_print_processor_name_0;
26884
TALLOC_CTX *_mem_save_buffer_0;
26885
TALLOC_CTX *_mem_save_info_0;
26886
TALLOC_CTX *_mem_save_needed_0;
26887
TALLOC_CTX *_mem_save_count_0;
26888
if (flags & NDR_IN) {
26889
ZERO_STRUCT(r->out);
26891
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
26892
if (_ptr_servername) {
26893
NDR_PULL_ALLOC(ndr, r->in.servername);
26895
r->in.servername = NULL;
26897
if (r->in.servername) {
26898
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
26899
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
26900
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
26901
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
26902
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
26903
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));
26905
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
26906
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
26907
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
26909
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor_name));
26910
if (_ptr_print_processor_name) {
26911
NDR_PULL_ALLOC(ndr, r->in.print_processor_name);
26913
r->in.print_processor_name = NULL;
26915
if (r->in.print_processor_name) {
26916
_mem_save_print_processor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
26917
NDR_PULL_SET_MEM_CTX(ndr, r->in.print_processor_name, 0);
26918
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.print_processor_name));
26919
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.print_processor_name));
26920
if (ndr_get_array_length(ndr, &r->in.print_processor_name) > ndr_get_array_size(ndr, &r->in.print_processor_name)) {
26921
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));
26923
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.print_processor_name), sizeof(uint16_t)));
26924
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));
26925
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_name_0, 0);
26927
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
26928
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
26930
NDR_PULL_ALLOC(ndr, r->in.buffer);
26932
r->in.buffer = NULL;
26934
if (r->in.buffer) {
26935
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
26936
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
26937
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
26938
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
26940
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
26941
NDR_PULL_ALLOC(ndr, r->out.needed);
26942
ZERO_STRUCTP(r->out.needed);
26943
NDR_PULL_ALLOC(ndr, r->out.count);
26944
ZERO_STRUCTP(r->out.count);
26946
if (flags & NDR_OUT) {
26947
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
26949
NDR_PULL_ALLOC(ndr, r->out.info);
26951
r->out.info = NULL;
26954
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
26955
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
26956
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
26957
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
26959
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26960
NDR_PULL_ALLOC(ndr, r->out.needed);
26962
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
26963
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
26964
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
26965
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
26966
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26967
NDR_PULL_ALLOC(ndr, r->out.count);
26969
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
26970
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
26971
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
26972
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
26973
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26975
return NDR_ERR_SUCCESS;
26978
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrintProcDataTypes(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrintProcDataTypes *r)
26980
uint32_t cntr_info_0;
26981
if (flags & NDR_IN) {
26982
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
26983
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
26985
if (flags & NDR_OUT) {
26986
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
26987
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
26988
NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
26990
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
26991
NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
26994
return NDR_ERR_SUCCESS;
26997
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrintProcDataTypes(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrintProcDataTypes *r)
26999
uint32_t cntr_info_0;
27000
TALLOC_CTX *_mem_save_info_0;
27001
if (flags & NDR_IN) {
27002
ZERO_STRUCT(r->out);
27004
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
27005
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
27007
if (flags & NDR_OUT) {
27008
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
27009
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
27010
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
27011
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
27012
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
27013
NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
27015
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
27016
NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
27018
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
27020
return NDR_ERR_SUCCESS;
27023
_PUBLIC_ void ndr_print_spoolss_EnumPrintProcDataTypes(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrintProcDataTypes *r)
27025
uint32_t cntr_info_2;
27026
ndr_print_struct(ndr, name, "spoolss_EnumPrintProcDataTypes");
27027
if (r == NULL) { ndr_print_null(ndr); return; }
27029
if (flags & NDR_SET_VALUES) {
27030
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27032
if (flags & NDR_IN) {
27033
ndr_print_struct(ndr, "in", "spoolss_EnumPrintProcDataTypes");
27035
ndr_print_ptr(ndr, "servername", r->in.servername);
27037
if (r->in.servername) {
27038
ndr_print_string(ndr, "servername", r->in.servername);
27041
ndr_print_ptr(ndr, "print_processor_name", r->in.print_processor_name);
27043
if (r->in.print_processor_name) {
27044
ndr_print_string(ndr, "print_processor_name", r->in.print_processor_name);
27047
ndr_print_uint32(ndr, "level", r->in.level);
27048
ndr_print_ptr(ndr, "buffer", r->in.buffer);
27050
if (r->in.buffer) {
27051
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
27054
ndr_print_uint32(ndr, "offered", r->in.offered);
27057
if (flags & NDR_OUT) {
27058
ndr_print_struct(ndr, "out", "spoolss_EnumPrintProcDataTypes");
27060
ndr_print_ptr(ndr, "count", r->out.count);
27062
ndr_print_uint32(ndr, "count", *r->out.count);
27064
ndr_print_ptr(ndr, "info", r->out.info);
27066
ndr_print_ptr(ndr, "info", *r->out.info);
27068
if (*r->out.info) {
27069
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
27071
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
27072
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
27073
ndr_print_spoolss_PrintProcDataTypesInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
27079
ndr_print_ptr(ndr, "needed", r->out.needed);
27081
ndr_print_uint32(ndr, "needed", *r->out.needed);
27083
ndr_print_WERROR(ndr, "result", r->out.result);
27089
static enum ndr_err_code ndr_push_spoolss_ResetPrinter(struct ndr_push *ndr, int flags, const struct spoolss_ResetPrinter *r)
27091
if (flags & NDR_IN) {
27092
if (r->in.handle == NULL) {
27093
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27095
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27096
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.data_type));
27097
if (r->in.data_type) {
27098
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.data_type, CH_UTF16)));
27099
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27100
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.data_type, CH_UTF16)));
27101
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));
27103
if (r->in.devmode_ctr == NULL) {
27104
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27106
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
27108
if (flags & NDR_OUT) {
27109
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27111
return NDR_ERR_SUCCESS;
27114
static enum ndr_err_code ndr_pull_spoolss_ResetPrinter(struct ndr_pull *ndr, int flags, struct spoolss_ResetPrinter *r)
27116
uint32_t _ptr_data_type;
27117
TALLOC_CTX *_mem_save_handle_0;
27118
TALLOC_CTX *_mem_save_data_type_0;
27119
TALLOC_CTX *_mem_save_devmode_ctr_0;
27120
if (flags & NDR_IN) {
27121
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27122
NDR_PULL_ALLOC(ndr, r->in.handle);
27124
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27125
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
27126
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27127
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27128
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
27129
if (_ptr_data_type) {
27130
NDR_PULL_ALLOC(ndr, r->in.data_type);
27132
r->in.data_type = NULL;
27134
if (r->in.data_type) {
27135
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
27136
NDR_PULL_SET_MEM_CTX(ndr, r->in.data_type, 0);
27137
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data_type));
27138
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.data_type));
27139
if (ndr_get_array_length(ndr, &r->in.data_type) > ndr_get_array_size(ndr, &r->in.data_type)) {
27140
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));
27142
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.data_type), sizeof(uint16_t)));
27143
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));
27144
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
27146
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27147
NDR_PULL_ALLOC(ndr, r->in.devmode_ctr);
27149
_mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
27150
NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC);
27151
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
27152
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC);
27154
if (flags & NDR_OUT) {
27155
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27157
return NDR_ERR_SUCCESS;
27160
_PUBLIC_ void ndr_print_spoolss_ResetPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ResetPrinter *r)
27162
ndr_print_struct(ndr, name, "spoolss_ResetPrinter");
27163
if (r == NULL) { ndr_print_null(ndr); return; }
27165
if (flags & NDR_SET_VALUES) {
27166
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27168
if (flags & NDR_IN) {
27169
ndr_print_struct(ndr, "in", "spoolss_ResetPrinter");
27171
ndr_print_ptr(ndr, "handle", r->in.handle);
27173
ndr_print_policy_handle(ndr, "handle", r->in.handle);
27175
ndr_print_ptr(ndr, "data_type", r->in.data_type);
27177
if (r->in.data_type) {
27178
ndr_print_string(ndr, "data_type", r->in.data_type);
27181
ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr);
27183
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr);
27187
if (flags & NDR_OUT) {
27188
ndr_print_struct(ndr, "out", "spoolss_ResetPrinter");
27190
ndr_print_WERROR(ndr, "result", r->out.result);
27196
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_GetPrinterDriver2(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriver2 *r)
27198
if (flags & NDR_IN) {
27199
if (r->in.handle == NULL) {
27200
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27202
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27203
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.architecture));
27204
if (r->in.architecture) {
27205
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
27206
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27207
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
27208
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
27210
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
27211
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
27212
if (r->in.buffer) {
27213
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
27215
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
27216
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.client_major_version));
27217
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.client_minor_version));
27219
if (flags & NDR_OUT) {
27220
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
27223
struct ndr_push *_ndr_info;
27224
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
27225
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
27226
NDR_CHECK(ndr_push_spoolss_DriverInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
27227
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
27230
if (r->out.needed == NULL) {
27231
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27233
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
27234
if (r->out.server_major_version == NULL) {
27235
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27237
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.server_major_version));
27238
if (r->out.server_minor_version == NULL) {
27239
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27241
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.server_minor_version));
27242
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27244
return NDR_ERR_SUCCESS;
27247
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_GetPrinterDriver2(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriver2 *r)
27249
uint32_t _ptr_architecture;
27250
uint32_t _ptr_buffer;
27251
uint32_t _ptr_info;
27252
TALLOC_CTX *_mem_save_handle_0;
27253
TALLOC_CTX *_mem_save_architecture_0;
27254
TALLOC_CTX *_mem_save_buffer_0;
27255
TALLOC_CTX *_mem_save_info_0;
27256
TALLOC_CTX *_mem_save_needed_0;
27257
TALLOC_CTX *_mem_save_server_major_version_0;
27258
TALLOC_CTX *_mem_save_server_minor_version_0;
27259
if (flags & NDR_IN) {
27260
ZERO_STRUCT(r->out);
27262
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27263
NDR_PULL_ALLOC(ndr, r->in.handle);
27265
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27266
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
27267
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27268
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27269
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
27270
if (_ptr_architecture) {
27271
NDR_PULL_ALLOC(ndr, r->in.architecture);
27273
r->in.architecture = NULL;
27275
if (r->in.architecture) {
27276
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
27277
NDR_PULL_SET_MEM_CTX(ndr, r->in.architecture, 0);
27278
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
27279
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
27280
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
27281
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));
27283
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
27284
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
27285
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
27287
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
27288
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
27290
NDR_PULL_ALLOC(ndr, r->in.buffer);
27292
r->in.buffer = NULL;
27294
if (r->in.buffer) {
27295
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
27296
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
27297
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
27298
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
27300
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
27301
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.client_major_version));
27302
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.client_minor_version));
27303
NDR_PULL_ALLOC(ndr, r->out.needed);
27304
ZERO_STRUCTP(r->out.needed);
27305
NDR_PULL_ALLOC(ndr, r->out.server_major_version);
27306
ZERO_STRUCTP(r->out.server_major_version);
27307
NDR_PULL_ALLOC(ndr, r->out.server_minor_version);
27308
ZERO_STRUCTP(r->out.server_minor_version);
27310
if (flags & NDR_OUT) {
27311
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
27313
NDR_PULL_ALLOC(ndr, r->out.info);
27315
r->out.info = NULL;
27318
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
27319
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
27321
struct ndr_pull *_ndr_info;
27322
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
27323
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
27324
NDR_CHECK(ndr_pull_spoolss_DriverInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
27325
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
27327
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
27329
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27330
NDR_PULL_ALLOC(ndr, r->out.needed);
27332
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
27333
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
27334
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
27335
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
27336
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27337
NDR_PULL_ALLOC(ndr, r->out.server_major_version);
27339
_mem_save_server_major_version_0 = NDR_PULL_GET_MEM_CTX(ndr);
27340
NDR_PULL_SET_MEM_CTX(ndr, r->out.server_major_version, LIBNDR_FLAG_REF_ALLOC);
27341
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.server_major_version));
27342
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_major_version_0, LIBNDR_FLAG_REF_ALLOC);
27343
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27344
NDR_PULL_ALLOC(ndr, r->out.server_minor_version);
27346
_mem_save_server_minor_version_0 = NDR_PULL_GET_MEM_CTX(ndr);
27347
NDR_PULL_SET_MEM_CTX(ndr, r->out.server_minor_version, LIBNDR_FLAG_REF_ALLOC);
27348
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.server_minor_version));
27349
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_minor_version_0, LIBNDR_FLAG_REF_ALLOC);
27350
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27352
return NDR_ERR_SUCCESS;
27355
_PUBLIC_ void ndr_print_spoolss_GetPrinterDriver2(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriver2 *r)
27357
ndr_print_struct(ndr, name, "spoolss_GetPrinterDriver2");
27358
if (r == NULL) { ndr_print_null(ndr); return; }
27360
if (flags & NDR_SET_VALUES) {
27361
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27363
if (flags & NDR_IN) {
27364
ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriver2");
27366
ndr_print_ptr(ndr, "handle", r->in.handle);
27368
ndr_print_policy_handle(ndr, "handle", r->in.handle);
27370
ndr_print_ptr(ndr, "architecture", r->in.architecture);
27372
if (r->in.architecture) {
27373
ndr_print_string(ndr, "architecture", r->in.architecture);
27376
ndr_print_uint32(ndr, "level", r->in.level);
27377
ndr_print_ptr(ndr, "buffer", r->in.buffer);
27379
if (r->in.buffer) {
27380
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
27383
ndr_print_uint32(ndr, "offered", r->in.offered);
27384
ndr_print_uint32(ndr, "client_major_version", r->in.client_major_version);
27385
ndr_print_uint32(ndr, "client_minor_version", r->in.client_minor_version);
27388
if (flags & NDR_OUT) {
27389
ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriver2");
27391
ndr_print_ptr(ndr, "info", r->out.info);
27394
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
27395
ndr_print_spoolss_DriverInfo(ndr, "info", r->out.info);
27398
ndr_print_ptr(ndr, "needed", r->out.needed);
27400
ndr_print_uint32(ndr, "needed", *r->out.needed);
27402
ndr_print_ptr(ndr, "server_major_version", r->out.server_major_version);
27404
ndr_print_uint32(ndr, "server_major_version", *r->out.server_major_version);
27406
ndr_print_ptr(ndr, "server_minor_version", r->out.server_minor_version);
27408
ndr_print_uint32(ndr, "server_minor_version", *r->out.server_minor_version);
27410
ndr_print_WERROR(ndr, "result", r->out.result);
27416
static enum ndr_err_code ndr_push_spoolss_FindFirstPrinterChangeNotification(struct ndr_push *ndr, int flags, const struct spoolss_FindFirstPrinterChangeNotification *r)
27418
if (flags & NDR_IN) {
27420
if (flags & NDR_OUT) {
27421
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27423
return NDR_ERR_SUCCESS;
27426
static enum ndr_err_code ndr_pull_spoolss_FindFirstPrinterChangeNotification(struct ndr_pull *ndr, int flags, struct spoolss_FindFirstPrinterChangeNotification *r)
27428
if (flags & NDR_IN) {
27430
if (flags & NDR_OUT) {
27431
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27433
return NDR_ERR_SUCCESS;
27436
_PUBLIC_ void ndr_print_spoolss_FindFirstPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_FindFirstPrinterChangeNotification *r)
27438
ndr_print_struct(ndr, name, "spoolss_FindFirstPrinterChangeNotification");
27439
if (r == NULL) { ndr_print_null(ndr); return; }
27441
if (flags & NDR_SET_VALUES) {
27442
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27444
if (flags & NDR_IN) {
27445
ndr_print_struct(ndr, "in", "spoolss_FindFirstPrinterChangeNotification");
27449
if (flags & NDR_OUT) {
27450
ndr_print_struct(ndr, "out", "spoolss_FindFirstPrinterChangeNotification");
27452
ndr_print_WERROR(ndr, "result", r->out.result);
27458
static enum ndr_err_code ndr_push_spoolss_FindNextPrinterChangeNotification(struct ndr_push *ndr, int flags, const struct spoolss_FindNextPrinterChangeNotification *r)
27460
if (flags & NDR_IN) {
27462
if (flags & NDR_OUT) {
27463
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27465
return NDR_ERR_SUCCESS;
27468
static enum ndr_err_code ndr_pull_spoolss_FindNextPrinterChangeNotification(struct ndr_pull *ndr, int flags, struct spoolss_FindNextPrinterChangeNotification *r)
27470
if (flags & NDR_IN) {
27472
if (flags & NDR_OUT) {
27473
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27475
return NDR_ERR_SUCCESS;
27478
_PUBLIC_ void ndr_print_spoolss_FindNextPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_FindNextPrinterChangeNotification *r)
27480
ndr_print_struct(ndr, name, "spoolss_FindNextPrinterChangeNotification");
27481
if (r == NULL) { ndr_print_null(ndr); return; }
27483
if (flags & NDR_SET_VALUES) {
27484
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27486
if (flags & NDR_IN) {
27487
ndr_print_struct(ndr, "in", "spoolss_FindNextPrinterChangeNotification");
27491
if (flags & NDR_OUT) {
27492
ndr_print_struct(ndr, "out", "spoolss_FindNextPrinterChangeNotification");
27494
ndr_print_WERROR(ndr, "result", r->out.result);
27500
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_FindClosePrinterNotify(struct ndr_push *ndr, int flags, const struct spoolss_FindClosePrinterNotify *r)
27502
if (flags & NDR_IN) {
27503
if (r->in.handle == NULL) {
27504
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27506
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27508
if (flags & NDR_OUT) {
27509
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27511
return NDR_ERR_SUCCESS;
27514
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FindClosePrinterNotify(struct ndr_pull *ndr, int flags, struct spoolss_FindClosePrinterNotify *r)
27516
TALLOC_CTX *_mem_save_handle_0;
27517
if (flags & NDR_IN) {
27518
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27519
NDR_PULL_ALLOC(ndr, r->in.handle);
27521
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27522
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
27523
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27524
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27526
if (flags & NDR_OUT) {
27527
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27529
return NDR_ERR_SUCCESS;
27532
_PUBLIC_ void ndr_print_spoolss_FindClosePrinterNotify(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_FindClosePrinterNotify *r)
27534
ndr_print_struct(ndr, name, "spoolss_FindClosePrinterNotify");
27535
if (r == NULL) { ndr_print_null(ndr); return; }
27537
if (flags & NDR_SET_VALUES) {
27538
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27540
if (flags & NDR_IN) {
27541
ndr_print_struct(ndr, "in", "spoolss_FindClosePrinterNotify");
27543
ndr_print_ptr(ndr, "handle", r->in.handle);
27545
ndr_print_policy_handle(ndr, "handle", r->in.handle);
27549
if (flags & NDR_OUT) {
27550
ndr_print_struct(ndr, "out", "spoolss_FindClosePrinterNotify");
27552
ndr_print_WERROR(ndr, "result", r->out.result);
27558
static enum ndr_err_code ndr_push_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct ndr_push *ndr, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r)
27560
if (flags & NDR_IN) {
27562
if (flags & NDR_OUT) {
27563
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27565
return NDR_ERR_SUCCESS;
27568
static enum ndr_err_code ndr_pull_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct ndr_pull *ndr, int flags, struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r)
27570
if (flags & NDR_IN) {
27572
if (flags & NDR_OUT) {
27573
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27575
return NDR_ERR_SUCCESS;
27578
_PUBLIC_ void ndr_print_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r)
27580
ndr_print_struct(ndr, name, "spoolss_RouterFindFirstPrinterChangeNotificationOld");
27581
if (r == NULL) { ndr_print_null(ndr); return; }
27583
if (flags & NDR_SET_VALUES) {
27584
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27586
if (flags & NDR_IN) {
27587
ndr_print_struct(ndr, "in", "spoolss_RouterFindFirstPrinterChangeNotificationOld");
27591
if (flags & NDR_OUT) {
27592
ndr_print_struct(ndr, "out", "spoolss_RouterFindFirstPrinterChangeNotificationOld");
27594
ndr_print_WERROR(ndr, "result", r->out.result);
27600
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_ReplyOpenPrinter(struct ndr_push *ndr, int flags, const struct spoolss_ReplyOpenPrinter *r)
27602
if (flags & NDR_IN) {
27603
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
27604
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27605
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
27606
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));
27607
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.printer_local));
27608
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type));
27609
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.bufsize));
27610
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
27611
if (r->in.buffer) {
27612
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.bufsize));
27613
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.buffer, r->in.bufsize));
27616
if (flags & NDR_OUT) {
27617
if (r->out.handle == NULL) {
27618
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27620
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
27621
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27623
return NDR_ERR_SUCCESS;
27626
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_ReplyOpenPrinter(struct ndr_pull *ndr, int flags, struct spoolss_ReplyOpenPrinter *r)
27628
uint32_t _ptr_buffer;
27629
TALLOC_CTX *_mem_save_buffer_0;
27630
TALLOC_CTX *_mem_save_handle_0;
27631
if (flags & NDR_IN) {
27632
ZERO_STRUCT(r->out);
27634
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
27635
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
27636
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
27637
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));
27639
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
27640
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));
27641
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.printer_local));
27642
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type));
27643
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bufsize));
27644
if (r->in.bufsize > 512) {
27645
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
27647
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
27649
NDR_PULL_ALLOC(ndr, r->in.buffer);
27651
r->in.buffer = NULL;
27653
if (r->in.buffer) {
27654
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
27655
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
27656
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer));
27657
NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer));
27658
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer)));
27659
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
27661
NDR_PULL_ALLOC(ndr, r->out.handle);
27662
ZERO_STRUCTP(r->out.handle);
27663
if (r->in.buffer) {
27664
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, r->in.bufsize));
27667
if (flags & NDR_OUT) {
27668
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27669
NDR_PULL_ALLOC(ndr, r->out.handle);
27671
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27672
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
27673
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
27674
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27675
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27677
return NDR_ERR_SUCCESS;
27680
_PUBLIC_ void ndr_print_spoolss_ReplyOpenPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ReplyOpenPrinter *r)
27682
ndr_print_struct(ndr, name, "spoolss_ReplyOpenPrinter");
27683
if (r == NULL) { ndr_print_null(ndr); return; }
27685
if (flags & NDR_SET_VALUES) {
27686
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27688
if (flags & NDR_IN) {
27689
ndr_print_struct(ndr, "in", "spoolss_ReplyOpenPrinter");
27691
ndr_print_string(ndr, "server_name", r->in.server_name);
27692
ndr_print_uint32(ndr, "printer_local", r->in.printer_local);
27693
ndr_print_winreg_Type(ndr, "type", r->in.type);
27694
ndr_print_uint32(ndr, "bufsize", r->in.bufsize);
27695
ndr_print_ptr(ndr, "buffer", r->in.buffer);
27697
if (r->in.buffer) {
27698
ndr_print_array_uint8(ndr, "buffer", r->in.buffer, r->in.bufsize);
27703
if (flags & NDR_OUT) {
27704
ndr_print_struct(ndr, "out", "spoolss_ReplyOpenPrinter");
27706
ndr_print_ptr(ndr, "handle", r->out.handle);
27708
ndr_print_policy_handle(ndr, "handle", r->out.handle);
27710
ndr_print_WERROR(ndr, "result", r->out.result);
27716
static enum ndr_err_code ndr_push_spoolss_RouterReplyPrinter(struct ndr_push *ndr, int flags, const struct spoolss_RouterReplyPrinter *r)
27718
if (flags & NDR_IN) {
27719
if (r->in.handle == NULL) {
27720
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27722
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27723
NDR_CHECK(ndr_push_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, r->in.flags));
27724
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.bufsize));
27725
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
27726
if (r->in.buffer) {
27727
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.bufsize));
27728
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.buffer, r->in.bufsize));
27731
if (flags & NDR_OUT) {
27732
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27734
return NDR_ERR_SUCCESS;
27737
static enum ndr_err_code ndr_pull_spoolss_RouterReplyPrinter(struct ndr_pull *ndr, int flags, struct spoolss_RouterReplyPrinter *r)
27739
uint32_t _ptr_buffer;
27740
TALLOC_CTX *_mem_save_handle_0;
27741
TALLOC_CTX *_mem_save_buffer_0;
27742
if (flags & NDR_IN) {
27743
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27744
NDR_PULL_ALLOC(ndr, r->in.handle);
27746
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27747
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
27748
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27749
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27750
NDR_CHECK(ndr_pull_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, &r->in.flags));
27751
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bufsize));
27752
if (r->in.bufsize > 512) {
27753
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
27755
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
27757
NDR_PULL_ALLOC(ndr, r->in.buffer);
27759
r->in.buffer = NULL;
27761
if (r->in.buffer) {
27762
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
27763
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
27764
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer));
27765
NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer));
27766
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer)));
27767
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
27769
if (r->in.buffer) {
27770
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, r->in.bufsize));
27773
if (flags & NDR_OUT) {
27774
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27776
return NDR_ERR_SUCCESS;
27779
_PUBLIC_ void ndr_print_spoolss_RouterReplyPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterReplyPrinter *r)
27781
ndr_print_struct(ndr, name, "spoolss_RouterReplyPrinter");
27782
if (r == NULL) { ndr_print_null(ndr); return; }
27784
if (flags & NDR_SET_VALUES) {
27785
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27787
if (flags & NDR_IN) {
27788
ndr_print_struct(ndr, "in", "spoolss_RouterReplyPrinter");
27790
ndr_print_ptr(ndr, "handle", r->in.handle);
27792
ndr_print_policy_handle(ndr, "handle", r->in.handle);
27794
ndr_print_spoolss_PrinterChangeFlags(ndr, "flags", r->in.flags);
27795
ndr_print_uint32(ndr, "bufsize", r->in.bufsize);
27796
ndr_print_ptr(ndr, "buffer", r->in.buffer);
27798
if (r->in.buffer) {
27799
ndr_print_array_uint8(ndr, "buffer", r->in.buffer, r->in.bufsize);
27804
if (flags & NDR_OUT) {
27805
ndr_print_struct(ndr, "out", "spoolss_RouterReplyPrinter");
27807
ndr_print_WERROR(ndr, "result", r->out.result);
27813
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_ReplyClosePrinter(struct ndr_push *ndr, int flags, const struct spoolss_ReplyClosePrinter *r)
27815
if (flags & NDR_IN) {
27816
if (r->in.handle == NULL) {
27817
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27819
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27821
if (flags & NDR_OUT) {
27822
if (r->out.handle == NULL) {
27823
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27825
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
27826
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27828
return NDR_ERR_SUCCESS;
27831
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_ReplyClosePrinter(struct ndr_pull *ndr, int flags, struct spoolss_ReplyClosePrinter *r)
27833
TALLOC_CTX *_mem_save_handle_0;
27834
if (flags & NDR_IN) {
27835
ZERO_STRUCT(r->out);
27837
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27838
NDR_PULL_ALLOC(ndr, r->in.handle);
27840
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27841
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
27842
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27843
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27844
NDR_PULL_ALLOC(ndr, r->out.handle);
27845
*r->out.handle = *r->in.handle;
27847
if (flags & NDR_OUT) {
27848
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27849
NDR_PULL_ALLOC(ndr, r->out.handle);
27851
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27852
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
27853
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
27854
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27855
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27857
return NDR_ERR_SUCCESS;
27860
_PUBLIC_ void ndr_print_spoolss_ReplyClosePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ReplyClosePrinter *r)
27862
ndr_print_struct(ndr, name, "spoolss_ReplyClosePrinter");
27863
if (r == NULL) { ndr_print_null(ndr); return; }
27865
if (flags & NDR_SET_VALUES) {
27866
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27868
if (flags & NDR_IN) {
27869
ndr_print_struct(ndr, "in", "spoolss_ReplyClosePrinter");
27871
ndr_print_ptr(ndr, "handle", r->in.handle);
27873
ndr_print_policy_handle(ndr, "handle", r->in.handle);
27877
if (flags & NDR_OUT) {
27878
ndr_print_struct(ndr, "out", "spoolss_ReplyClosePrinter");
27880
ndr_print_ptr(ndr, "handle", r->out.handle);
27882
ndr_print_policy_handle(ndr, "handle", r->out.handle);
27884
ndr_print_WERROR(ndr, "result", r->out.result);
27890
static enum ndr_err_code ndr_push_spoolss_AddPortEx(struct ndr_push *ndr, int flags, const struct spoolss_AddPortEx *r)
27892
if (flags & NDR_IN) {
27893
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
27894
if (r->in.servername) {
27895
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
27896
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27897
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
27898
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
27900
if (r->in.port_ctr == NULL) {
27901
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27903
NDR_CHECK(ndr_push_spoolss_SetPortInfoContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.port_ctr));
27904
if (r->in.port_var_ctr == NULL) {
27905
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27907
NDR_CHECK(ndr_push_spoolss_PortVarContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.port_var_ctr));
27908
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.monitor_name));
27909
if (r->in.monitor_name) {
27910
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.monitor_name, CH_UTF16)));
27911
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27912
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.monitor_name, CH_UTF16)));
27913
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));
27916
if (flags & NDR_OUT) {
27917
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27919
return NDR_ERR_SUCCESS;
27922
static enum ndr_err_code ndr_pull_spoolss_AddPortEx(struct ndr_pull *ndr, int flags, struct spoolss_AddPortEx *r)
27924
uint32_t _ptr_servername;
27925
uint32_t _ptr_monitor_name;
27926
TALLOC_CTX *_mem_save_servername_0;
27927
TALLOC_CTX *_mem_save_port_ctr_0;
27928
TALLOC_CTX *_mem_save_port_var_ctr_0;
27929
TALLOC_CTX *_mem_save_monitor_name_0;
27930
if (flags & NDR_IN) {
27931
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
27932
if (_ptr_servername) {
27933
NDR_PULL_ALLOC(ndr, r->in.servername);
27935
r->in.servername = NULL;
27937
if (r->in.servername) {
27938
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
27939
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
27940
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
27941
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
27942
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
27943
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));
27945
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
27946
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
27947
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
27949
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27950
NDR_PULL_ALLOC(ndr, r->in.port_ctr);
27952
_mem_save_port_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
27953
NDR_PULL_SET_MEM_CTX(ndr, r->in.port_ctr, LIBNDR_FLAG_REF_ALLOC);
27954
NDR_CHECK(ndr_pull_spoolss_SetPortInfoContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.port_ctr));
27955
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_ctr_0, LIBNDR_FLAG_REF_ALLOC);
27956
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27957
NDR_PULL_ALLOC(ndr, r->in.port_var_ctr);
27959
_mem_save_port_var_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
27960
NDR_PULL_SET_MEM_CTX(ndr, r->in.port_var_ctr, LIBNDR_FLAG_REF_ALLOC);
27961
NDR_CHECK(ndr_pull_spoolss_PortVarContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.port_var_ctr));
27962
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_var_ctr_0, LIBNDR_FLAG_REF_ALLOC);
27963
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
27964
if (_ptr_monitor_name) {
27965
NDR_PULL_ALLOC(ndr, r->in.monitor_name);
27967
r->in.monitor_name = NULL;
27969
if (r->in.monitor_name) {
27970
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
27971
NDR_PULL_SET_MEM_CTX(ndr, r->in.monitor_name, 0);
27972
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.monitor_name));
27973
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.monitor_name));
27974
if (ndr_get_array_length(ndr, &r->in.monitor_name) > ndr_get_array_size(ndr, &r->in.monitor_name)) {
27975
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));
27977
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.monitor_name), sizeof(uint16_t)));
27978
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));
27979
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
27982
if (flags & NDR_OUT) {
27983
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27985
return NDR_ERR_SUCCESS;
27988
_PUBLIC_ void ndr_print_spoolss_AddPortEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPortEx *r)
27990
ndr_print_struct(ndr, name, "spoolss_AddPortEx");
27991
if (r == NULL) { ndr_print_null(ndr); return; }
27993
if (flags & NDR_SET_VALUES) {
27994
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27996
if (flags & NDR_IN) {
27997
ndr_print_struct(ndr, "in", "spoolss_AddPortEx");
27999
ndr_print_ptr(ndr, "servername", r->in.servername);
28001
if (r->in.servername) {
28002
ndr_print_string(ndr, "servername", r->in.servername);
28005
ndr_print_ptr(ndr, "port_ctr", r->in.port_ctr);
28007
ndr_print_spoolss_SetPortInfoContainer(ndr, "port_ctr", r->in.port_ctr);
28009
ndr_print_ptr(ndr, "port_var_ctr", r->in.port_var_ctr);
28011
ndr_print_spoolss_PortVarContainer(ndr, "port_var_ctr", r->in.port_var_ctr);
28013
ndr_print_ptr(ndr, "monitor_name", r->in.monitor_name);
28015
if (r->in.monitor_name) {
28016
ndr_print_string(ndr, "monitor_name", r->in.monitor_name);
28021
if (flags & NDR_OUT) {
28022
ndr_print_struct(ndr, "out", "spoolss_AddPortEx");
28024
ndr_print_WERROR(ndr, "result", r->out.result);
28030
static enum ndr_err_code ndr_push_spoolss_RouterFindFirstPrinterChangeNotification(struct ndr_push *ndr, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotification *r)
28032
if (flags & NDR_IN) {
28034
if (flags & NDR_OUT) {
28035
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28037
return NDR_ERR_SUCCESS;
28040
static enum ndr_err_code ndr_pull_spoolss_RouterFindFirstPrinterChangeNotification(struct ndr_pull *ndr, int flags, struct spoolss_RouterFindFirstPrinterChangeNotification *r)
28042
if (flags & NDR_IN) {
28044
if (flags & NDR_OUT) {
28045
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28047
return NDR_ERR_SUCCESS;
28050
_PUBLIC_ void ndr_print_spoolss_RouterFindFirstPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotification *r)
28052
ndr_print_struct(ndr, name, "spoolss_RouterFindFirstPrinterChangeNotification");
28053
if (r == NULL) { ndr_print_null(ndr); return; }
28055
if (flags & NDR_SET_VALUES) {
28056
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28058
if (flags & NDR_IN) {
28059
ndr_print_struct(ndr, "in", "spoolss_RouterFindFirstPrinterChangeNotification");
28063
if (flags & NDR_OUT) {
28064
ndr_print_struct(ndr, "out", "spoolss_RouterFindFirstPrinterChangeNotification");
28066
ndr_print_WERROR(ndr, "result", r->out.result);
28072
static enum ndr_err_code ndr_push_spoolss_SpoolerInit(struct ndr_push *ndr, int flags, const struct spoolss_SpoolerInit *r)
28074
if (flags & NDR_IN) {
28076
if (flags & NDR_OUT) {
28077
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28079
return NDR_ERR_SUCCESS;
28082
static enum ndr_err_code ndr_pull_spoolss_SpoolerInit(struct ndr_pull *ndr, int flags, struct spoolss_SpoolerInit *r)
28084
if (flags & NDR_IN) {
28086
if (flags & NDR_OUT) {
28087
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28089
return NDR_ERR_SUCCESS;
28092
_PUBLIC_ void ndr_print_spoolss_SpoolerInit(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SpoolerInit *r)
28094
ndr_print_struct(ndr, name, "spoolss_SpoolerInit");
28095
if (r == NULL) { ndr_print_null(ndr); return; }
28097
if (flags & NDR_SET_VALUES) {
28098
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28100
if (flags & NDR_IN) {
28101
ndr_print_struct(ndr, "in", "spoolss_SpoolerInit");
28105
if (flags & NDR_OUT) {
28106
ndr_print_struct(ndr, "out", "spoolss_SpoolerInit");
28108
ndr_print_WERROR(ndr, "result", r->out.result);
28114
static enum ndr_err_code ndr_push_spoolss_ResetPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_ResetPrinterEx *r)
28116
if (flags & NDR_IN) {
28118
if (flags & NDR_OUT) {
28119
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28121
return NDR_ERR_SUCCESS;
28124
static enum ndr_err_code ndr_pull_spoolss_ResetPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_ResetPrinterEx *r)
28126
if (flags & NDR_IN) {
28128
if (flags & NDR_OUT) {
28129
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28131
return NDR_ERR_SUCCESS;
28134
_PUBLIC_ void ndr_print_spoolss_ResetPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ResetPrinterEx *r)
28136
ndr_print_struct(ndr, name, "spoolss_ResetPrinterEx");
28137
if (r == NULL) { ndr_print_null(ndr); return; }
28139
if (flags & NDR_SET_VALUES) {
28140
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28142
if (flags & NDR_IN) {
28143
ndr_print_struct(ndr, "in", "spoolss_ResetPrinterEx");
28147
if (flags & NDR_OUT) {
28148
ndr_print_struct(ndr, "out", "spoolss_ResetPrinterEx");
28150
ndr_print_WERROR(ndr, "result", r->out.result);
28156
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct ndr_push *ndr, int flags, const struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r)
28158
if (flags & NDR_IN) {
28159
if (r->in.handle == NULL) {
28160
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28162
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28163
NDR_CHECK(ndr_push_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, r->in.flags));
28164
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.options));
28165
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.local_machine));
28166
if (r->in.local_machine) {
28167
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.local_machine, CH_UTF16)));
28168
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28169
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.local_machine, CH_UTF16)));
28170
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));
28172
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.printer_local));
28173
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.notify_options));
28174
if (r->in.notify_options) {
28175
NDR_CHECK(ndr_push_spoolss_NotifyOption(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.notify_options));
28178
if (flags & NDR_OUT) {
28179
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28181
return NDR_ERR_SUCCESS;
28184
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct ndr_pull *ndr, int flags, struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r)
28186
uint32_t _ptr_local_machine;
28187
uint32_t _ptr_notify_options;
28188
TALLOC_CTX *_mem_save_handle_0;
28189
TALLOC_CTX *_mem_save_local_machine_0;
28190
TALLOC_CTX *_mem_save_notify_options_0;
28191
if (flags & NDR_IN) {
28192
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28193
NDR_PULL_ALLOC(ndr, r->in.handle);
28195
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
28196
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
28197
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28198
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
28199
NDR_CHECK(ndr_pull_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, &r->in.flags));
28200
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.options));
28201
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_local_machine));
28202
if (_ptr_local_machine) {
28203
NDR_PULL_ALLOC(ndr, r->in.local_machine);
28205
r->in.local_machine = NULL;
28207
if (r->in.local_machine) {
28208
_mem_save_local_machine_0 = NDR_PULL_GET_MEM_CTX(ndr);
28209
NDR_PULL_SET_MEM_CTX(ndr, r->in.local_machine, 0);
28210
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.local_machine));
28211
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.local_machine));
28212
if (ndr_get_array_length(ndr, &r->in.local_machine) > ndr_get_array_size(ndr, &r->in.local_machine)) {
28213
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));
28215
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.local_machine), sizeof(uint16_t)));
28216
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));
28217
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_local_machine_0, 0);
28219
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.printer_local));
28220
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_options));
28221
if (_ptr_notify_options) {
28222
NDR_PULL_ALLOC(ndr, r->in.notify_options);
28224
r->in.notify_options = NULL;
28226
if (r->in.notify_options) {
28227
_mem_save_notify_options_0 = NDR_PULL_GET_MEM_CTX(ndr);
28228
NDR_PULL_SET_MEM_CTX(ndr, r->in.notify_options, 0);
28229
NDR_CHECK(ndr_pull_spoolss_NotifyOption(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.notify_options));
28230
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_options_0, 0);
28233
if (flags & NDR_OUT) {
28234
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28236
return NDR_ERR_SUCCESS;
28239
_PUBLIC_ void ndr_print_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r)
28241
ndr_print_struct(ndr, name, "spoolss_RemoteFindFirstPrinterChangeNotifyEx");
28242
if (r == NULL) { ndr_print_null(ndr); return; }
28244
if (flags & NDR_SET_VALUES) {
28245
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28247
if (flags & NDR_IN) {
28248
ndr_print_struct(ndr, "in", "spoolss_RemoteFindFirstPrinterChangeNotifyEx");
28250
ndr_print_ptr(ndr, "handle", r->in.handle);
28252
ndr_print_policy_handle(ndr, "handle", r->in.handle);
28254
ndr_print_spoolss_PrinterChangeFlags(ndr, "flags", r->in.flags);
28255
ndr_print_uint32(ndr, "options", r->in.options);
28256
ndr_print_ptr(ndr, "local_machine", r->in.local_machine);
28258
if (r->in.local_machine) {
28259
ndr_print_string(ndr, "local_machine", r->in.local_machine);
28262
ndr_print_uint32(ndr, "printer_local", r->in.printer_local);
28263
ndr_print_ptr(ndr, "notify_options", r->in.notify_options);
28265
if (r->in.notify_options) {
28266
ndr_print_spoolss_NotifyOption(ndr, "notify_options", r->in.notify_options);
28271
if (flags & NDR_OUT) {
28272
ndr_print_struct(ndr, "out", "spoolss_RemoteFindFirstPrinterChangeNotifyEx");
28274
ndr_print_WERROR(ndr, "result", r->out.result);
28280
static enum ndr_err_code ndr_push_spoolss_RouterReplyPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_RouterReplyPrinterEx *r)
28282
if (flags & NDR_IN) {
28283
if (r->in.handle == NULL) {
28284
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28286
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28287
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.color));
28288
NDR_CHECK(ndr_push_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, r->in.flags));
28289
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reply_type));
28290
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.reply_type));
28291
NDR_CHECK(ndr_push_spoolss_ReplyPrinterInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
28293
if (flags & NDR_OUT) {
28294
if (r->out.reply_result == NULL) {
28295
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28297
NDR_CHECK(ndr_push_spoolss_PrinterNotifyFlags(ndr, NDR_SCALARS, *r->out.reply_result));
28298
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28300
return NDR_ERR_SUCCESS;
28303
static enum ndr_err_code ndr_pull_spoolss_RouterReplyPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_RouterReplyPrinterEx *r)
28305
TALLOC_CTX *_mem_save_handle_0;
28306
TALLOC_CTX *_mem_save_reply_result_0;
28307
if (flags & NDR_IN) {
28308
ZERO_STRUCT(r->out);
28310
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28311
NDR_PULL_ALLOC(ndr, r->in.handle);
28313
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
28314
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
28315
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28316
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
28317
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.color));
28318
NDR_CHECK(ndr_pull_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, &r->in.flags));
28319
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reply_type));
28320
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.reply_type));
28321
NDR_CHECK(ndr_pull_spoolss_ReplyPrinterInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
28322
NDR_PULL_ALLOC(ndr, r->out.reply_result);
28323
ZERO_STRUCTP(r->out.reply_result);
28325
if (flags & NDR_OUT) {
28326
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28327
NDR_PULL_ALLOC(ndr, r->out.reply_result);
28329
_mem_save_reply_result_0 = NDR_PULL_GET_MEM_CTX(ndr);
28330
NDR_PULL_SET_MEM_CTX(ndr, r->out.reply_result, LIBNDR_FLAG_REF_ALLOC);
28331
NDR_CHECK(ndr_pull_spoolss_PrinterNotifyFlags(ndr, NDR_SCALARS, r->out.reply_result));
28332
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reply_result_0, LIBNDR_FLAG_REF_ALLOC);
28333
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28335
return NDR_ERR_SUCCESS;
28338
_PUBLIC_ void ndr_print_spoolss_RouterReplyPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterReplyPrinterEx *r)
28340
ndr_print_struct(ndr, name, "spoolss_RouterReplyPrinterEx");
28341
if (r == NULL) { ndr_print_null(ndr); return; }
28343
if (flags & NDR_SET_VALUES) {
28344
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28346
if (flags & NDR_IN) {
28347
ndr_print_struct(ndr, "in", "spoolss_RouterReplyPrinterEx");
28349
ndr_print_ptr(ndr, "handle", r->in.handle);
28351
ndr_print_policy_handle(ndr, "handle", r->in.handle);
28353
ndr_print_uint32(ndr, "color", r->in.color);
28354
ndr_print_spoolss_PrinterChangeFlags(ndr, "flags", r->in.flags);
28355
ndr_print_uint32(ndr, "reply_type", r->in.reply_type);
28356
ndr_print_set_switch_value(ndr, &r->in.info, r->in.reply_type);
28357
ndr_print_spoolss_ReplyPrinterInfo(ndr, "info", &r->in.info);
28360
if (flags & NDR_OUT) {
28361
ndr_print_struct(ndr, "out", "spoolss_RouterReplyPrinterEx");
28363
ndr_print_ptr(ndr, "reply_result", r->out.reply_result);
28365
ndr_print_spoolss_PrinterNotifyFlags(ndr, "reply_result", *r->out.reply_result);
28367
ndr_print_WERROR(ndr, "result", r->out.result);
28373
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_RouterRefreshPrinterChangeNotify(struct ndr_push *ndr, int flags, const struct spoolss_RouterRefreshPrinterChangeNotify *r)
28375
if (flags & NDR_IN) {
28376
if (r->in.handle == NULL) {
28377
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28379
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28380
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.change_low));
28381
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.options));
28382
if (r->in.options) {
28383
NDR_CHECK(ndr_push_spoolss_NotifyOption(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.options));
28386
if (flags & NDR_OUT) {
28387
if (r->out.info == NULL) {
28388
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28390
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
28391
if (*r->out.info) {
28392
NDR_CHECK(ndr_push_spoolss_NotifyInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
28394
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28396
return NDR_ERR_SUCCESS;
28399
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_RouterRefreshPrinterChangeNotify(struct ndr_pull *ndr, int flags, struct spoolss_RouterRefreshPrinterChangeNotify *r)
28401
uint32_t _ptr_options;
28402
uint32_t _ptr_info;
28403
TALLOC_CTX *_mem_save_handle_0;
28404
TALLOC_CTX *_mem_save_options_0;
28405
TALLOC_CTX *_mem_save_info_0;
28406
TALLOC_CTX *_mem_save_info_1;
28407
if (flags & NDR_IN) {
28408
ZERO_STRUCT(r->out);
28410
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28411
NDR_PULL_ALLOC(ndr, r->in.handle);
28413
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
28414
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
28415
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28416
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
28417
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_low));
28418
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_options));
28419
if (_ptr_options) {
28420
NDR_PULL_ALLOC(ndr, r->in.options);
28422
r->in.options = NULL;
28424
if (r->in.options) {
28425
_mem_save_options_0 = NDR_PULL_GET_MEM_CTX(ndr);
28426
NDR_PULL_SET_MEM_CTX(ndr, r->in.options, 0);
28427
NDR_CHECK(ndr_pull_spoolss_NotifyOption(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.options));
28428
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_options_0, 0);
28430
NDR_PULL_ALLOC(ndr, r->out.info);
28431
ZERO_STRUCTP(r->out.info);
28433
if (flags & NDR_OUT) {
28434
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28435
NDR_PULL_ALLOC(ndr, r->out.info);
28437
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
28438
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
28439
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
28441
NDR_PULL_ALLOC(ndr, *r->out.info);
28443
*r->out.info = NULL;
28445
if (*r->out.info) {
28446
_mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
28447
NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
28448
NDR_CHECK(ndr_pull_spoolss_NotifyInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
28449
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
28451
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
28452
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28454
return NDR_ERR_SUCCESS;
28457
_PUBLIC_ void ndr_print_spoolss_RouterRefreshPrinterChangeNotify(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterRefreshPrinterChangeNotify *r)
28459
ndr_print_struct(ndr, name, "spoolss_RouterRefreshPrinterChangeNotify");
28460
if (r == NULL) { ndr_print_null(ndr); return; }
28462
if (flags & NDR_SET_VALUES) {
28463
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28465
if (flags & NDR_IN) {
28466
ndr_print_struct(ndr, "in", "spoolss_RouterRefreshPrinterChangeNotify");
28468
ndr_print_ptr(ndr, "handle", r->in.handle);
28470
ndr_print_policy_handle(ndr, "handle", r->in.handle);
28472
ndr_print_uint32(ndr, "change_low", r->in.change_low);
28473
ndr_print_ptr(ndr, "options", r->in.options);
28475
if (r->in.options) {
28476
ndr_print_spoolss_NotifyOption(ndr, "options", r->in.options);
28481
if (flags & NDR_OUT) {
28482
ndr_print_struct(ndr, "out", "spoolss_RouterRefreshPrinterChangeNotify");
28484
ndr_print_ptr(ndr, "info", r->out.info);
28486
ndr_print_ptr(ndr, "info", *r->out.info);
28488
if (*r->out.info) {
28489
ndr_print_spoolss_NotifyInfo(ndr, "info", *r->out.info);
28493
ndr_print_WERROR(ndr, "result", r->out.result);
28499
static enum ndr_err_code ndr_push_spoolss_44(struct ndr_push *ndr, int flags, const struct spoolss_44 *r)
28501
if (flags & NDR_IN) {
28503
if (flags & NDR_OUT) {
28504
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28506
return NDR_ERR_SUCCESS;
28509
static enum ndr_err_code ndr_pull_spoolss_44(struct ndr_pull *ndr, int flags, struct spoolss_44 *r)
28511
if (flags & NDR_IN) {
28513
if (flags & NDR_OUT) {
28514
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28516
return NDR_ERR_SUCCESS;
28519
_PUBLIC_ void ndr_print_spoolss_44(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_44 *r)
28521
ndr_print_struct(ndr, name, "spoolss_44");
28522
if (r == NULL) { ndr_print_null(ndr); return; }
28524
if (flags & NDR_SET_VALUES) {
28525
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28527
if (flags & NDR_IN) {
28528
ndr_print_struct(ndr, "in", "spoolss_44");
28532
if (flags & NDR_OUT) {
28533
ndr_print_struct(ndr, "out", "spoolss_44");
28535
ndr_print_WERROR(ndr, "result", r->out.result);
28541
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_OpenPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_OpenPrinterEx *r)
28543
if (flags & NDR_IN) {
28544
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.printername));
28545
if (r->in.printername) {
28546
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
28547
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28548
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
28549
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.printername, ndr_charset_length(r->in.printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28551
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.datatype));
28552
if (r->in.datatype) {
28553
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16)));
28554
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28555
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16)));
28556
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.datatype, ndr_charset_length(r->in.datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28558
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
28559
NDR_CHECK(ndr_push_spoolss_AccessRights(ndr, NDR_SCALARS, r->in.access_mask));
28560
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
28561
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.userlevel, r->in.level));
28562
NDR_CHECK(ndr_push_spoolss_UserLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.userlevel));
28564
if (flags & NDR_OUT) {
28565
if (r->out.handle == NULL) {
28566
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28568
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
28569
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28571
return NDR_ERR_SUCCESS;
28574
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OpenPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_OpenPrinterEx *r)
28576
uint32_t _ptr_printername;
28577
uint32_t _ptr_datatype;
28578
TALLOC_CTX *_mem_save_printername_0;
28579
TALLOC_CTX *_mem_save_datatype_0;
28580
TALLOC_CTX *_mem_save_handle_0;
28581
if (flags & NDR_IN) {
28582
ZERO_STRUCT(r->out);
28584
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
28585
if (_ptr_printername) {
28586
NDR_PULL_ALLOC(ndr, r->in.printername);
28588
r->in.printername = NULL;
28590
if (r->in.printername) {
28591
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
28592
NDR_PULL_SET_MEM_CTX(ndr, r->in.printername, 0);
28593
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.printername));
28594
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.printername));
28595
if (ndr_get_array_length(ndr, &r->in.printername) > ndr_get_array_size(ndr, &r->in.printername)) {
28596
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));
28598
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t)));
28599
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.printername, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t), CH_UTF16));
28600
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
28602
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
28603
if (_ptr_datatype) {
28604
NDR_PULL_ALLOC(ndr, r->in.datatype);
28606
r->in.datatype = NULL;
28608
if (r->in.datatype) {
28609
_mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
28610
NDR_PULL_SET_MEM_CTX(ndr, r->in.datatype, 0);
28611
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.datatype));
28612
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.datatype));
28613
if (ndr_get_array_length(ndr, &r->in.datatype) > ndr_get_array_size(ndr, &r->in.datatype)) {
28614
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));
28616
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t)));
28617
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.datatype, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t), CH_UTF16));
28618
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
28620
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
28621
NDR_CHECK(ndr_pull_spoolss_AccessRights(ndr, NDR_SCALARS, &r->in.access_mask));
28622
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
28623
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.userlevel, r->in.level));
28624
NDR_CHECK(ndr_pull_spoolss_UserLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.userlevel));
28625
NDR_PULL_ALLOC(ndr, r->out.handle);
28626
ZERO_STRUCTP(r->out.handle);
28628
if (flags & NDR_OUT) {
28629
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28630
NDR_PULL_ALLOC(ndr, r->out.handle);
28632
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
28633
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
28634
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
28635
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
28636
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28638
return NDR_ERR_SUCCESS;
28641
_PUBLIC_ void ndr_print_spoolss_OpenPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_OpenPrinterEx *r)
28643
ndr_print_struct(ndr, name, "spoolss_OpenPrinterEx");
28644
if (r == NULL) { ndr_print_null(ndr); return; }
28646
if (flags & NDR_SET_VALUES) {
28647
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28649
if (flags & NDR_IN) {
28650
ndr_print_struct(ndr, "in", "spoolss_OpenPrinterEx");
28652
ndr_print_ptr(ndr, "printername", r->in.printername);
28654
if (r->in.printername) {
28655
ndr_print_string(ndr, "printername", r->in.printername);
28658
ndr_print_ptr(ndr, "datatype", r->in.datatype);
28660
if (r->in.datatype) {
28661
ndr_print_string(ndr, "datatype", r->in.datatype);
28664
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", &r->in.devmode_ctr);
28665
ndr_print_spoolss_AccessRights(ndr, "access_mask", r->in.access_mask);
28666
ndr_print_uint32(ndr, "level", r->in.level);
28667
ndr_print_set_switch_value(ndr, &r->in.userlevel, r->in.level);
28668
ndr_print_spoolss_UserLevel(ndr, "userlevel", &r->in.userlevel);
28671
if (flags & NDR_OUT) {
28672
ndr_print_struct(ndr, "out", "spoolss_OpenPrinterEx");
28674
ndr_print_ptr(ndr, "handle", r->out.handle);
28676
ndr_print_policy_handle(ndr, "handle", r->out.handle);
28678
ndr_print_WERROR(ndr, "result", r->out.result);
28684
static enum ndr_err_code ndr_push_spoolss_AddPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterEx *r)
28686
if (flags & NDR_IN) {
28687
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
28688
if (r->in.server) {
28689
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
28690
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28691
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
28692
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28694
if (r->in.info_ctr == NULL) {
28695
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28697
NDR_CHECK(ndr_push_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
28698
if (r->in.devmode_ctr == NULL) {
28699
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28701
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
28702
if (r->in.secdesc_ctr == NULL) {
28703
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28705
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr));
28706
if (r->in.userlevel_ctr == NULL) {
28707
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28709
NDR_CHECK(ndr_push_spoolss_UserLevelCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.userlevel_ctr));
28711
if (flags & NDR_OUT) {
28712
if (r->out.handle == NULL) {
28713
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28715
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
28716
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28718
return NDR_ERR_SUCCESS;
28721
static enum ndr_err_code ndr_pull_spoolss_AddPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterEx *r)
28723
uint32_t _ptr_server;
28724
TALLOC_CTX *_mem_save_server_0;
28725
TALLOC_CTX *_mem_save_info_ctr_0;
28726
TALLOC_CTX *_mem_save_devmode_ctr_0;
28727
TALLOC_CTX *_mem_save_secdesc_ctr_0;
28728
TALLOC_CTX *_mem_save_userlevel_ctr_0;
28729
TALLOC_CTX *_mem_save_handle_0;
28730
if (flags & NDR_IN) {
28731
ZERO_STRUCT(r->out);
28733
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
28735
NDR_PULL_ALLOC(ndr, r->in.server);
28737
r->in.server = NULL;
28739
if (r->in.server) {
28740
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
28741
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
28742
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
28743
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
28744
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
28745
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));
28747
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
28748
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
28749
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
28751
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28752
NDR_PULL_ALLOC(ndr, r->in.info_ctr);
28754
_mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
28755
NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC);
28756
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
28757
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
28758
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28759
NDR_PULL_ALLOC(ndr, r->in.devmode_ctr);
28761
_mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
28762
NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC);
28763
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
28764
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC);
28765
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28766
NDR_PULL_ALLOC(ndr, r->in.secdesc_ctr);
28768
_mem_save_secdesc_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
28769
NDR_PULL_SET_MEM_CTX(ndr, r->in.secdesc_ctr, LIBNDR_FLAG_REF_ALLOC);
28770
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr));
28771
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_ctr_0, LIBNDR_FLAG_REF_ALLOC);
28772
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28773
NDR_PULL_ALLOC(ndr, r->in.userlevel_ctr);
28775
_mem_save_userlevel_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
28776
NDR_PULL_SET_MEM_CTX(ndr, r->in.userlevel_ctr, LIBNDR_FLAG_REF_ALLOC);
28777
NDR_CHECK(ndr_pull_spoolss_UserLevelCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.userlevel_ctr));
28778
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_userlevel_ctr_0, LIBNDR_FLAG_REF_ALLOC);
28779
NDR_PULL_ALLOC(ndr, r->out.handle);
28780
ZERO_STRUCTP(r->out.handle);
28782
if (flags & NDR_OUT) {
28783
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28784
NDR_PULL_ALLOC(ndr, r->out.handle);
28786
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
28787
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
28788
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
28789
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
28790
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28792
return NDR_ERR_SUCCESS;
28795
_PUBLIC_ void ndr_print_spoolss_AddPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterEx *r)
28797
ndr_print_struct(ndr, name, "spoolss_AddPrinterEx");
28798
if (r == NULL) { ndr_print_null(ndr); return; }
28800
if (flags & NDR_SET_VALUES) {
28801
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28803
if (flags & NDR_IN) {
28804
ndr_print_struct(ndr, "in", "spoolss_AddPrinterEx");
28806
ndr_print_ptr(ndr, "server", r->in.server);
28808
if (r->in.server) {
28809
ndr_print_string(ndr, "server", r->in.server);
28812
ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr);
28814
ndr_print_spoolss_SetPrinterInfoCtr(ndr, "info_ctr", r->in.info_ctr);
28816
ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr);
28818
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr);
28820
ndr_print_ptr(ndr, "secdesc_ctr", r->in.secdesc_ctr);
28822
ndr_print_sec_desc_buf(ndr, "secdesc_ctr", r->in.secdesc_ctr);
28824
ndr_print_ptr(ndr, "userlevel_ctr", r->in.userlevel_ctr);
28826
ndr_print_spoolss_UserLevelCtr(ndr, "userlevel_ctr", r->in.userlevel_ctr);
28830
if (flags & NDR_OUT) {
28831
ndr_print_struct(ndr, "out", "spoolss_AddPrinterEx");
28833
ndr_print_ptr(ndr, "handle", r->out.handle);
28835
ndr_print_policy_handle(ndr, "handle", r->out.handle);
28837
ndr_print_WERROR(ndr, "result", r->out.result);
28843
static enum ndr_err_code ndr_push_spoolss_SetPort(struct ndr_push *ndr, int flags, const struct spoolss_SetPort *r)
28845
if (flags & NDR_IN) {
28846
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
28847
if (r->in.servername) {
28848
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
28849
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28850
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
28851
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28853
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.port_name));
28854
if (r->in.port_name) {
28855
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.port_name, CH_UTF16)));
28856
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28857
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.port_name, CH_UTF16)));
28858
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.port_name, ndr_charset_length(r->in.port_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28860
if (r->in.port_ctr == NULL) {
28861
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28863
NDR_CHECK(ndr_push_spoolss_SetPortInfoContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.port_ctr));
28865
if (flags & NDR_OUT) {
28866
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28868
return NDR_ERR_SUCCESS;
28871
static enum ndr_err_code ndr_pull_spoolss_SetPort(struct ndr_pull *ndr, int flags, struct spoolss_SetPort *r)
28873
uint32_t _ptr_servername;
28874
uint32_t _ptr_port_name;
28875
TALLOC_CTX *_mem_save_servername_0;
28876
TALLOC_CTX *_mem_save_port_name_0;
28877
TALLOC_CTX *_mem_save_port_ctr_0;
28878
if (flags & NDR_IN) {
28879
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
28880
if (_ptr_servername) {
28881
NDR_PULL_ALLOC(ndr, r->in.servername);
28883
r->in.servername = NULL;
28885
if (r->in.servername) {
28886
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
28887
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
28888
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
28889
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
28890
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
28891
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));
28893
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
28894
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
28895
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
28897
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name));
28898
if (_ptr_port_name) {
28899
NDR_PULL_ALLOC(ndr, r->in.port_name);
28901
r->in.port_name = NULL;
28903
if (r->in.port_name) {
28904
_mem_save_port_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
28905
NDR_PULL_SET_MEM_CTX(ndr, r->in.port_name, 0);
28906
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.port_name));
28907
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.port_name));
28908
if (ndr_get_array_length(ndr, &r->in.port_name) > ndr_get_array_size(ndr, &r->in.port_name)) {
28909
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.port_name), ndr_get_array_length(ndr, &r->in.port_name));
28911
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.port_name), sizeof(uint16_t)));
28912
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.port_name, ndr_get_array_length(ndr, &r->in.port_name), sizeof(uint16_t), CH_UTF16));
28913
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0);
28915
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28916
NDR_PULL_ALLOC(ndr, r->in.port_ctr);
28918
_mem_save_port_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
28919
NDR_PULL_SET_MEM_CTX(ndr, r->in.port_ctr, LIBNDR_FLAG_REF_ALLOC);
28920
NDR_CHECK(ndr_pull_spoolss_SetPortInfoContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.port_ctr));
28921
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_ctr_0, LIBNDR_FLAG_REF_ALLOC);
28923
if (flags & NDR_OUT) {
28924
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28926
return NDR_ERR_SUCCESS;
28929
_PUBLIC_ void ndr_print_spoolss_SetPort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPort *r)
28931
ndr_print_struct(ndr, name, "spoolss_SetPort");
28932
if (r == NULL) { ndr_print_null(ndr); return; }
28934
if (flags & NDR_SET_VALUES) {
28935
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28937
if (flags & NDR_IN) {
28938
ndr_print_struct(ndr, "in", "spoolss_SetPort");
28940
ndr_print_ptr(ndr, "servername", r->in.servername);
28942
if (r->in.servername) {
28943
ndr_print_string(ndr, "servername", r->in.servername);
28946
ndr_print_ptr(ndr, "port_name", r->in.port_name);
28948
if (r->in.port_name) {
28949
ndr_print_string(ndr, "port_name", r->in.port_name);
28952
ndr_print_ptr(ndr, "port_ctr", r->in.port_ctr);
28954
ndr_print_spoolss_SetPortInfoContainer(ndr, "port_ctr", r->in.port_ctr);
28958
if (flags & NDR_OUT) {
28959
ndr_print_struct(ndr, "out", "spoolss_SetPort");
28961
ndr_print_WERROR(ndr, "result", r->out.result);
28967
static enum ndr_err_code ndr_push_spoolss_EnumPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrinterData *r)
28969
if (flags & NDR_IN) {
28970
if (r->in.handle == NULL) {
28971
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28973
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28974
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.enum_index));
28975
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.value_offered));
28976
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.data_offered));
28978
if (flags & NDR_OUT) {
28979
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.value_offered / 2));
28980
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->out.value_name, r->in.value_offered / 2, sizeof(uint16_t), CH_UTF16));
28981
if (r->out.value_needed == NULL) {
28982
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28984
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.value_needed));
28985
if (r->out.type == NULL) {
28986
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28988
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type));
28990
uint32_t _flags_save_uint8 = ndr->flags;
28991
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
28992
if (r->out.data == NULL) {
28993
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28995
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.data_offered));
28996
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.data_offered));
28997
ndr->flags = _flags_save_uint8;
28999
if (r->out.data_needed == NULL) {
29000
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29002
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.data_needed));
29003
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29005
return NDR_ERR_SUCCESS;
29008
static enum ndr_err_code ndr_pull_spoolss_EnumPrinterData(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinterData *r)
29010
TALLOC_CTX *_mem_save_handle_0;
29011
TALLOC_CTX *_mem_save_value_needed_0;
29012
TALLOC_CTX *_mem_save_type_0;
29013
TALLOC_CTX *_mem_save_data_needed_0;
29014
if (flags & NDR_IN) {
29015
ZERO_STRUCT(r->out);
29017
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29018
NDR_PULL_ALLOC(ndr, r->in.handle);
29020
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
29021
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
29022
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
29023
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
29024
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.enum_index));
29025
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.value_offered));
29026
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.data_offered));
29027
NDR_PULL_ALLOC(ndr, r->out.value_needed);
29028
ZERO_STRUCTP(r->out.value_needed);
29029
NDR_PULL_ALLOC(ndr, r->out.type);
29030
ZERO_STRUCTP(r->out.type);
29031
NDR_PULL_ALLOC_N(ndr, r->out.data, r->in.data_offered);
29032
memset(r->out.data, 0, (r->in.data_offered) * sizeof(*r->out.data));
29033
NDR_PULL_ALLOC(ndr, r->out.data_needed);
29034
ZERO_STRUCTP(r->out.data_needed);
29036
if (flags & NDR_OUT) {
29037
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.value_name));
29038
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));
29039
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29040
NDR_PULL_ALLOC(ndr, r->out.value_needed);
29042
_mem_save_value_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
29043
NDR_PULL_SET_MEM_CTX(ndr, r->out.value_needed, LIBNDR_FLAG_REF_ALLOC);
29044
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.value_needed));
29045
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_needed_0, LIBNDR_FLAG_REF_ALLOC);
29046
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29047
NDR_PULL_ALLOC(ndr, r->out.type);
29049
_mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
29050
NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC);
29051
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type));
29052
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC);
29054
uint32_t _flags_save_uint8 = ndr->flags;
29055
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
29056
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data));
29057
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29058
NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data));
29060
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data)));
29061
ndr->flags = _flags_save_uint8;
29063
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29064
NDR_PULL_ALLOC(ndr, r->out.data_needed);
29066
_mem_save_data_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
29067
NDR_PULL_SET_MEM_CTX(ndr, r->out.data_needed, LIBNDR_FLAG_REF_ALLOC);
29068
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.data_needed));
29069
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_needed_0, LIBNDR_FLAG_REF_ALLOC);
29070
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29071
if (r->out.value_name) {
29072
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.value_name, r->in.value_offered / 2));
29075
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.data_offered));
29078
return NDR_ERR_SUCCESS;
29081
_PUBLIC_ void ndr_print_spoolss_EnumPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterData *r)
29083
ndr_print_struct(ndr, name, "spoolss_EnumPrinterData");
29084
if (r == NULL) { ndr_print_null(ndr); return; }
29086
if (flags & NDR_SET_VALUES) {
29087
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29089
if (flags & NDR_IN) {
29090
ndr_print_struct(ndr, "in", "spoolss_EnumPrinterData");
29092
ndr_print_ptr(ndr, "handle", r->in.handle);
29094
ndr_print_policy_handle(ndr, "handle", r->in.handle);
29096
ndr_print_uint32(ndr, "enum_index", r->in.enum_index);
29097
ndr_print_uint32(ndr, "value_offered", r->in.value_offered);
29098
ndr_print_uint32(ndr, "data_offered", r->in.data_offered);
29101
if (flags & NDR_OUT) {
29102
ndr_print_struct(ndr, "out", "spoolss_EnumPrinterData");
29104
ndr_print_string(ndr, "value_name", r->out.value_name);
29105
ndr_print_ptr(ndr, "value_needed", r->out.value_needed);
29107
ndr_print_uint32(ndr, "value_needed", *r->out.value_needed);
29109
ndr_print_ptr(ndr, "type", r->out.type);
29111
ndr_print_winreg_Type(ndr, "type", *r->out.type);
29113
ndr_print_ptr(ndr, "data", r->out.data);
29115
ndr_print_array_uint8(ndr, "data", r->out.data, r->in.data_offered);
29117
ndr_print_ptr(ndr, "data_needed", r->out.data_needed);
29119
ndr_print_uint32(ndr, "data_needed", *r->out.data_needed);
29121
ndr_print_WERROR(ndr, "result", r->out.result);
29127
static enum ndr_err_code ndr_push_spoolss_DeletePrinterData(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterData *r)
29129
if (flags & NDR_IN) {
29130
if (r->in.handle == NULL) {
29131
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29133
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
29134
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
29135
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29136
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
29137
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));
29139
if (flags & NDR_OUT) {
29140
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29142
return NDR_ERR_SUCCESS;
29145
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterData(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterData *r)
29147
TALLOC_CTX *_mem_save_handle_0;
29148
if (flags & NDR_IN) {
29149
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29150
NDR_PULL_ALLOC(ndr, r->in.handle);
29152
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
29153
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
29154
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
29155
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
29156
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
29157
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
29158
if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
29159
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));
29161
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
29162
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));
29164
if (flags & NDR_OUT) {
29165
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29167
return NDR_ERR_SUCCESS;
29170
_PUBLIC_ void ndr_print_spoolss_DeletePrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterData *r)
29172
ndr_print_struct(ndr, name, "spoolss_DeletePrinterData");
29173
if (r == NULL) { ndr_print_null(ndr); return; }
29175
if (flags & NDR_SET_VALUES) {
29176
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29178
if (flags & NDR_IN) {
29179
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterData");
29181
ndr_print_ptr(ndr, "handle", r->in.handle);
29183
ndr_print_policy_handle(ndr, "handle", r->in.handle);
29185
ndr_print_string(ndr, "value_name", r->in.value_name);
29188
if (flags & NDR_OUT) {
29189
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterData");
29191
ndr_print_WERROR(ndr, "result", r->out.result);
29197
static enum ndr_err_code ndr_push_spoolss_4a(struct ndr_push *ndr, int flags, const struct spoolss_4a *r)
29199
if (flags & NDR_IN) {
29201
if (flags & NDR_OUT) {
29202
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29204
return NDR_ERR_SUCCESS;
29207
static enum ndr_err_code ndr_pull_spoolss_4a(struct ndr_pull *ndr, int flags, struct spoolss_4a *r)
29209
if (flags & NDR_IN) {
29211
if (flags & NDR_OUT) {
29212
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29214
return NDR_ERR_SUCCESS;
29217
_PUBLIC_ void ndr_print_spoolss_4a(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4a *r)
29219
ndr_print_struct(ndr, name, "spoolss_4a");
29220
if (r == NULL) { ndr_print_null(ndr); return; }
29222
if (flags & NDR_SET_VALUES) {
29223
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29225
if (flags & NDR_IN) {
29226
ndr_print_struct(ndr, "in", "spoolss_4a");
29230
if (flags & NDR_OUT) {
29231
ndr_print_struct(ndr, "out", "spoolss_4a");
29233
ndr_print_WERROR(ndr, "result", r->out.result);
29239
static enum ndr_err_code ndr_push_spoolss_4b(struct ndr_push *ndr, int flags, const struct spoolss_4b *r)
29241
if (flags & NDR_IN) {
29243
if (flags & NDR_OUT) {
29244
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29246
return NDR_ERR_SUCCESS;
29249
static enum ndr_err_code ndr_pull_spoolss_4b(struct ndr_pull *ndr, int flags, struct spoolss_4b *r)
29251
if (flags & NDR_IN) {
29253
if (flags & NDR_OUT) {
29254
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29256
return NDR_ERR_SUCCESS;
29259
_PUBLIC_ void ndr_print_spoolss_4b(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4b *r)
29261
ndr_print_struct(ndr, name, "spoolss_4b");
29262
if (r == NULL) { ndr_print_null(ndr); return; }
29264
if (flags & NDR_SET_VALUES) {
29265
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29267
if (flags & NDR_IN) {
29268
ndr_print_struct(ndr, "in", "spoolss_4b");
29272
if (flags & NDR_OUT) {
29273
ndr_print_struct(ndr, "out", "spoolss_4b");
29275
ndr_print_WERROR(ndr, "result", r->out.result);
29281
static enum ndr_err_code ndr_push_spoolss_4c(struct ndr_push *ndr, int flags, const struct spoolss_4c *r)
29283
if (flags & NDR_IN) {
29285
if (flags & NDR_OUT) {
29286
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29288
return NDR_ERR_SUCCESS;
29291
static enum ndr_err_code ndr_pull_spoolss_4c(struct ndr_pull *ndr, int flags, struct spoolss_4c *r)
29293
if (flags & NDR_IN) {
29295
if (flags & NDR_OUT) {
29296
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29298
return NDR_ERR_SUCCESS;
29301
_PUBLIC_ void ndr_print_spoolss_4c(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4c *r)
29303
ndr_print_struct(ndr, name, "spoolss_4c");
29304
if (r == NULL) { ndr_print_null(ndr); return; }
29306
if (flags & NDR_SET_VALUES) {
29307
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29309
if (flags & NDR_IN) {
29310
ndr_print_struct(ndr, "in", "spoolss_4c");
29314
if (flags & NDR_OUT) {
29315
ndr_print_struct(ndr, "out", "spoolss_4c");
29317
ndr_print_WERROR(ndr, "result", r->out.result);
29323
static enum ndr_err_code ndr_push_spoolss_SetPrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinterDataEx *r)
29325
if (flags & NDR_IN) {
29326
if (r->in.handle == NULL) {
29327
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29329
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
29330
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
29331
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29332
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
29333
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));
29334
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
29335
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29336
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
29337
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));
29338
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type));
29339
if (r->in.data == NULL) {
29340
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29342
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
29343
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.offered));
29344
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
29346
if (flags & NDR_OUT) {
29347
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29349
return NDR_ERR_SUCCESS;
29352
static enum ndr_err_code ndr_pull_spoolss_SetPrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_SetPrinterDataEx *r)
29354
TALLOC_CTX *_mem_save_handle_0;
29355
if (flags & NDR_IN) {
29356
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29357
NDR_PULL_ALLOC(ndr, r->in.handle);
29359
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
29360
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
29361
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
29362
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
29363
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
29364
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
29365
if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
29366
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));
29368
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
29369
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));
29370
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
29371
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
29372
if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
29373
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));
29375
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
29376
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));
29377
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type));
29378
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data));
29379
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29380
NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data));
29382
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_size(ndr, &r->in.data)));
29383
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
29385
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.offered));
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_SetPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinterDataEx *r)
29396
ndr_print_struct(ndr, name, "spoolss_SetPrinterDataEx");
29397
if (r == NULL) { ndr_print_null(ndr); return; }
29399
if (flags & NDR_SET_VALUES) {
29400
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29402
if (flags & NDR_IN) {
29403
ndr_print_struct(ndr, "in", "spoolss_SetPrinterDataEx");
29405
ndr_print_ptr(ndr, "handle", r->in.handle);
29407
ndr_print_policy_handle(ndr, "handle", r->in.handle);
29409
ndr_print_string(ndr, "key_name", r->in.key_name);
29410
ndr_print_string(ndr, "value_name", r->in.value_name);
29411
ndr_print_winreg_Type(ndr, "type", r->in.type);
29412
ndr_print_ptr(ndr, "data", r->in.data);
29414
ndr_print_array_uint8(ndr, "data", r->in.data, r->in.offered);
29416
ndr_print_uint32(ndr, "offered", r->in.offered);
29419
if (flags & NDR_OUT) {
29420
ndr_print_struct(ndr, "out", "spoolss_SetPrinterDataEx");
29422
ndr_print_WERROR(ndr, "result", r->out.result);
29428
static enum ndr_err_code ndr_push_spoolss_GetPrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDataEx *r)
29430
if (flags & NDR_IN) {
29431
if (r->in.handle == NULL) {
29432
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29434
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
29435
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
29436
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29437
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
29438
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));
29439
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
29440
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29441
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
29442
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));
29443
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
29445
if (flags & NDR_OUT) {
29446
if (r->out.type == NULL) {
29447
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29449
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type));
29450
if (r->out.data == NULL) {
29451
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29453
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
29454
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.offered));
29455
if (r->out.needed == NULL) {
29456
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29458
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
29459
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29461
return NDR_ERR_SUCCESS;
29464
static enum ndr_err_code ndr_pull_spoolss_GetPrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDataEx *r)
29466
TALLOC_CTX *_mem_save_handle_0;
29467
TALLOC_CTX *_mem_save_type_0;
29468
TALLOC_CTX *_mem_save_needed_0;
29469
if (flags & NDR_IN) {
29470
ZERO_STRUCT(r->out);
29472
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29473
NDR_PULL_ALLOC(ndr, r->in.handle);
29475
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
29476
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
29477
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
29478
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
29479
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
29480
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
29481
if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
29482
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));
29484
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
29485
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));
29486
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
29487
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
29488
if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
29489
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));
29491
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
29492
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));
29493
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
29494
NDR_PULL_ALLOC(ndr, r->out.type);
29495
ZERO_STRUCTP(r->out.type);
29496
NDR_PULL_ALLOC_N(ndr, r->out.data, r->in.offered);
29497
memset(r->out.data, 0, (r->in.offered) * sizeof(*r->out.data));
29498
NDR_PULL_ALLOC(ndr, r->out.needed);
29499
ZERO_STRUCTP(r->out.needed);
29501
if (flags & NDR_OUT) {
29502
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29503
NDR_PULL_ALLOC(ndr, r->out.type);
29505
_mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
29506
NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC);
29507
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type));
29508
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC);
29509
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data));
29510
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29511
NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data));
29513
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data)));
29514
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29515
NDR_PULL_ALLOC(ndr, r->out.needed);
29517
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
29518
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
29519
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
29520
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
29521
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29523
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.offered));
29526
return NDR_ERR_SUCCESS;
29529
_PUBLIC_ void ndr_print_spoolss_GetPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDataEx *r)
29531
ndr_print_struct(ndr, name, "spoolss_GetPrinterDataEx");
29532
if (r == NULL) { ndr_print_null(ndr); return; }
29534
if (flags & NDR_SET_VALUES) {
29535
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29537
if (flags & NDR_IN) {
29538
ndr_print_struct(ndr, "in", "spoolss_GetPrinterDataEx");
29540
ndr_print_ptr(ndr, "handle", r->in.handle);
29542
ndr_print_policy_handle(ndr, "handle", r->in.handle);
29544
ndr_print_string(ndr, "key_name", r->in.key_name);
29545
ndr_print_string(ndr, "value_name", r->in.value_name);
29546
ndr_print_uint32(ndr, "offered", r->in.offered);
29549
if (flags & NDR_OUT) {
29550
ndr_print_struct(ndr, "out", "spoolss_GetPrinterDataEx");
29552
ndr_print_ptr(ndr, "type", r->out.type);
29554
ndr_print_winreg_Type(ndr, "type", *r->out.type);
29556
ndr_print_ptr(ndr, "data", r->out.data);
29558
ndr_print_array_uint8(ndr, "data", r->out.data, r->in.offered);
29560
ndr_print_ptr(ndr, "needed", r->out.needed);
29562
ndr_print_uint32(ndr, "needed", *r->out.needed);
29564
ndr_print_WERROR(ndr, "result", r->out.result);
29570
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrinterDataEx(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrinterDataEx *r)
29572
if (flags & NDR_IN) {
29573
if (r->in.handle == NULL) {
29574
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29576
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
29577
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
29578
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29579
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
29580
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));
29581
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
29583
if (flags & NDR_OUT) {
29584
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
29585
if (r->out.needed == NULL) {
29586
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29588
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
29589
if (r->out.count == NULL) {
29590
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29592
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
29593
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29595
return NDR_ERR_SUCCESS;
29598
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrinterDataEx(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrinterDataEx *r)
29600
TALLOC_CTX *_mem_save_handle_0;
29601
TALLOC_CTX *_mem_save_needed_0;
29602
TALLOC_CTX *_mem_save_count_0;
29603
if (flags & NDR_IN) {
29604
ZERO_STRUCT(r->out);
29606
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29607
NDR_PULL_ALLOC(ndr, r->in.handle);
29609
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
29610
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
29611
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
29612
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
29613
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
29614
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
29615
if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
29616
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));
29618
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
29619
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));
29620
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
29621
NDR_PULL_ALLOC(ndr, r->out.needed);
29622
ZERO_STRUCTP(r->out.needed);
29623
NDR_PULL_ALLOC(ndr, r->out.count);
29624
ZERO_STRUCTP(r->out.count);
29626
if (flags & NDR_OUT) {
29627
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->out.info));
29628
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29629
NDR_PULL_ALLOC(ndr, r->out.needed);
29631
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
29632
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
29633
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
29634
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
29635
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29636
NDR_PULL_ALLOC(ndr, r->out.count);
29638
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
29639
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
29640
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
29641
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
29642
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29644
return NDR_ERR_SUCCESS;
29647
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrinterDataEx(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrinterDataEx *r)
29649
uint32_t cntr_info_0;
29650
if (flags & NDR_IN) {
29651
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
29653
if (flags & NDR_OUT) {
29654
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
29655
NDR_CHECK(ndr_push_spoolss_PrinterEnumValues(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
29657
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
29658
NDR_CHECK(ndr_push_spoolss_PrinterEnumValues(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
29661
return NDR_ERR_SUCCESS;
29664
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrinterDataEx(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrinterDataEx *r)
29666
uint32_t cntr_info_0;
29667
TALLOC_CTX *_mem_save_info_0;
29668
if (flags & NDR_IN) {
29669
ZERO_STRUCT(r->out);
29671
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
29673
if (flags & NDR_OUT) {
29674
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
29675
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
29676
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
29677
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
29678
NDR_CHECK(ndr_pull_spoolss_PrinterEnumValues(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
29680
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
29681
NDR_CHECK(ndr_pull_spoolss_PrinterEnumValues(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
29683
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
29685
return NDR_ERR_SUCCESS;
29688
_PUBLIC_ void ndr_print_spoolss_EnumPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterDataEx *r)
29690
uint32_t cntr_info_2;
29691
ndr_print_struct(ndr, name, "spoolss_EnumPrinterDataEx");
29692
if (r == NULL) { ndr_print_null(ndr); return; }
29694
if (flags & NDR_SET_VALUES) {
29695
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29697
if (flags & NDR_IN) {
29698
ndr_print_struct(ndr, "in", "spoolss_EnumPrinterDataEx");
29700
ndr_print_ptr(ndr, "handle", r->in.handle);
29702
ndr_print_policy_handle(ndr, "handle", r->in.handle);
29704
ndr_print_string(ndr, "key_name", r->in.key_name);
29705
ndr_print_uint32(ndr, "offered", r->in.offered);
29708
if (flags & NDR_OUT) {
29709
ndr_print_struct(ndr, "out", "spoolss_EnumPrinterDataEx");
29711
ndr_print_ptr(ndr, "count", r->out.count);
29713
ndr_print_uint32(ndr, "count", *r->out.count);
29715
ndr_print_ptr(ndr, "info", r->out.info);
29717
ndr_print_ptr(ndr, "info", *r->out.info);
29719
if (*r->out.info) {
29720
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
29722
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
29723
ndr_print_spoolss_PrinterEnumValues(ndr, "info", &(*r->out.info)[cntr_info_2]);
29729
ndr_print_ptr(ndr, "needed", r->out.needed);
29731
ndr_print_uint32(ndr, "needed", *r->out.needed);
29733
ndr_print_WERROR(ndr, "result", r->out.result);
29739
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_EnumPrinterKey(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrinterKey *r)
29741
if (flags & NDR_IN) {
29742
if (r->in.handle == NULL) {
29743
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29745
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
29746
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
29747
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29748
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
29749
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));
29750
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
29752
if (flags & NDR_OUT) {
29753
if (r->out._ndr_size == NULL) {
29754
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29756
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out._ndr_size));
29757
if (r->out.key_buffer == NULL) {
29758
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29761
struct ndr_push *_ndr_key_buffer;
29762
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_key_buffer, 0, *r->out._ndr_size * 2));
29763
NDR_CHECK(ndr_push_set_switch_value(_ndr_key_buffer, r->out.key_buffer, *r->out._ndr_size));
29764
NDR_CHECK(ndr_push_spoolss_KeyNames(_ndr_key_buffer, NDR_SCALARS|NDR_BUFFERS, r->out.key_buffer));
29765
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_key_buffer, 0, *r->out._ndr_size * 2));
29767
if (r->out.needed == NULL) {
29768
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29770
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
29771
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29773
return NDR_ERR_SUCCESS;
29776
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_EnumPrinterKey(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinterKey *r)
29778
TALLOC_CTX *_mem_save_handle_0;
29779
TALLOC_CTX *_mem_save__ndr_size_0;
29780
TALLOC_CTX *_mem_save_key_buffer_0;
29781
TALLOC_CTX *_mem_save_needed_0;
29782
if (flags & NDR_IN) {
29783
ZERO_STRUCT(r->out);
29785
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29786
NDR_PULL_ALLOC(ndr, r->in.handle);
29788
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
29789
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
29790
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
29791
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
29792
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
29793
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
29794
if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
29795
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));
29797
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
29798
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));
29799
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
29800
NDR_PULL_ALLOC(ndr, r->out._ndr_size);
29801
ZERO_STRUCTP(r->out._ndr_size);
29802
NDR_PULL_ALLOC(ndr, r->out.key_buffer);
29803
ZERO_STRUCTP(r->out.key_buffer);
29804
NDR_PULL_ALLOC(ndr, r->out.needed);
29805
ZERO_STRUCTP(r->out.needed);
29807
if (flags & NDR_OUT) {
29808
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29809
NDR_PULL_ALLOC(ndr, r->out._ndr_size);
29811
_mem_save__ndr_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
29812
NDR_PULL_SET_MEM_CTX(ndr, r->out._ndr_size, LIBNDR_FLAG_REF_ALLOC);
29813
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out._ndr_size));
29814
NDR_PULL_SET_MEM_CTX(ndr, _mem_save__ndr_size_0, LIBNDR_FLAG_REF_ALLOC);
29815
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29816
NDR_PULL_ALLOC(ndr, r->out.key_buffer);
29818
_mem_save_key_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
29819
NDR_PULL_SET_MEM_CTX(ndr, r->out.key_buffer, LIBNDR_FLAG_REF_ALLOC);
29821
struct ndr_pull *_ndr_key_buffer;
29822
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_key_buffer, 0, *r->out._ndr_size * 2));
29823
NDR_CHECK(ndr_pull_set_switch_value(_ndr_key_buffer, r->out.key_buffer, *r->out._ndr_size));
29824
NDR_CHECK(ndr_pull_spoolss_KeyNames(_ndr_key_buffer, NDR_SCALARS|NDR_BUFFERS, r->out.key_buffer));
29825
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_key_buffer, 0, *r->out._ndr_size * 2));
29827
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_buffer_0, LIBNDR_FLAG_REF_ALLOC);
29828
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29829
NDR_PULL_ALLOC(ndr, r->out.needed);
29831
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
29832
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
29833
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
29834
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
29835
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29837
return NDR_ERR_SUCCESS;
29840
_PUBLIC_ void ndr_print_spoolss_EnumPrinterKey(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterKey *r)
29842
ndr_print_struct(ndr, name, "spoolss_EnumPrinterKey");
29843
if (r == NULL) { ndr_print_null(ndr); return; }
29845
if (flags & NDR_SET_VALUES) {
29846
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29848
if (flags & NDR_IN) {
29849
ndr_print_struct(ndr, "in", "spoolss_EnumPrinterKey");
29851
ndr_print_ptr(ndr, "handle", r->in.handle);
29853
ndr_print_policy_handle(ndr, "handle", r->in.handle);
29855
ndr_print_string(ndr, "key_name", r->in.key_name);
29856
ndr_print_uint32(ndr, "offered", r->in.offered);
29859
if (flags & NDR_OUT) {
29860
ndr_print_struct(ndr, "out", "spoolss_EnumPrinterKey");
29862
ndr_print_ptr(ndr, "_ndr_size", r->out._ndr_size);
29864
ndr_print_uint32(ndr, "_ndr_size", *r->out._ndr_size);
29866
ndr_print_ptr(ndr, "key_buffer", r->out.key_buffer);
29868
ndr_print_set_switch_value(ndr, r->out.key_buffer, *r->out._ndr_size);
29869
ndr_print_spoolss_KeyNames(ndr, "key_buffer", r->out.key_buffer);
29871
ndr_print_ptr(ndr, "needed", r->out.needed);
29873
ndr_print_uint32(ndr, "needed", *r->out.needed);
29875
ndr_print_WERROR(ndr, "result", r->out.result);
29881
static enum ndr_err_code ndr_push_spoolss_DeletePrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterDataEx *r)
29883
if (flags & NDR_IN) {
29884
if (r->in.handle == NULL) {
29885
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29887
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
29888
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
29889
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29890
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
29891
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));
29892
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
29893
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29894
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
29895
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));
29897
if (flags & NDR_OUT) {
29898
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29900
return NDR_ERR_SUCCESS;
29903
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterDataEx *r)
29905
TALLOC_CTX *_mem_save_handle_0;
29906
if (flags & NDR_IN) {
29907
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29908
NDR_PULL_ALLOC(ndr, r->in.handle);
29910
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
29911
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
29912
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
29913
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
29914
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
29915
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
29916
if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
29917
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));
29919
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
29920
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));
29921
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
29922
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
29923
if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
29924
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));
29926
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
29927
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));
29929
if (flags & NDR_OUT) {
29930
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29932
return NDR_ERR_SUCCESS;
29935
_PUBLIC_ void ndr_print_spoolss_DeletePrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterDataEx *r)
29937
ndr_print_struct(ndr, name, "spoolss_DeletePrinterDataEx");
29938
if (r == NULL) { ndr_print_null(ndr); return; }
29940
if (flags & NDR_SET_VALUES) {
29941
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29943
if (flags & NDR_IN) {
29944
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterDataEx");
29946
ndr_print_ptr(ndr, "handle", r->in.handle);
29948
ndr_print_policy_handle(ndr, "handle", r->in.handle);
29950
ndr_print_string(ndr, "key_name", r->in.key_name);
29951
ndr_print_string(ndr, "value_name", r->in.value_name);
29954
if (flags & NDR_OUT) {
29955
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterDataEx");
29957
ndr_print_WERROR(ndr, "result", r->out.result);
29963
static enum ndr_err_code ndr_push_spoolss_DeletePrinterKey(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterKey *r)
29965
if (flags & NDR_IN) {
29966
if (r->in.handle == NULL) {
29967
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29969
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
29970
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
29971
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29972
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
29973
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));
29975
if (flags & NDR_OUT) {
29976
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29978
return NDR_ERR_SUCCESS;
29981
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterKey(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterKey *r)
29983
TALLOC_CTX *_mem_save_handle_0;
29984
if (flags & NDR_IN) {
29985
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29986
NDR_PULL_ALLOC(ndr, r->in.handle);
29988
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
29989
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
29990
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
29991
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
29992
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
29993
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
29994
if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
29995
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));
29997
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
29998
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));
30000
if (flags & NDR_OUT) {
30001
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30003
return NDR_ERR_SUCCESS;
30006
_PUBLIC_ void ndr_print_spoolss_DeletePrinterKey(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterKey *r)
30008
ndr_print_struct(ndr, name, "spoolss_DeletePrinterKey");
30009
if (r == NULL) { ndr_print_null(ndr); return; }
30011
if (flags & NDR_SET_VALUES) {
30012
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30014
if (flags & NDR_IN) {
30015
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterKey");
30017
ndr_print_ptr(ndr, "handle", r->in.handle);
30019
ndr_print_policy_handle(ndr, "handle", r->in.handle);
30021
ndr_print_string(ndr, "key_name", r->in.key_name);
30024
if (flags & NDR_OUT) {
30025
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterKey");
30027
ndr_print_WERROR(ndr, "result", r->out.result);
30033
static enum ndr_err_code ndr_push_spoolss_53(struct ndr_push *ndr, int flags, const struct spoolss_53 *r)
30035
if (flags & NDR_IN) {
30037
if (flags & NDR_OUT) {
30038
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30040
return NDR_ERR_SUCCESS;
30043
static enum ndr_err_code ndr_pull_spoolss_53(struct ndr_pull *ndr, int flags, struct spoolss_53 *r)
30045
if (flags & NDR_IN) {
30047
if (flags & NDR_OUT) {
30048
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30050
return NDR_ERR_SUCCESS;
30053
_PUBLIC_ void ndr_print_spoolss_53(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_53 *r)
30055
ndr_print_struct(ndr, name, "spoolss_53");
30056
if (r == NULL) { ndr_print_null(ndr); return; }
30058
if (flags & NDR_SET_VALUES) {
30059
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30061
if (flags & NDR_IN) {
30062
ndr_print_struct(ndr, "in", "spoolss_53");
30066
if (flags & NDR_OUT) {
30067
ndr_print_struct(ndr, "out", "spoolss_53");
30069
ndr_print_WERROR(ndr, "result", r->out.result);
30075
static enum ndr_err_code ndr_push_spoolss_DeletePrinterDriverEx(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterDriverEx *r)
30077
if (flags & NDR_IN) {
30078
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
30079
if (r->in.server) {
30080
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
30081
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
30082
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
30083
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
30085
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
30086
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
30087
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
30088
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
30089
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.driver, CH_UTF16)));
30090
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
30091
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.driver, CH_UTF16)));
30092
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.driver, ndr_charset_length(r->in.driver, CH_UTF16), sizeof(uint16_t), CH_UTF16));
30093
NDR_CHECK(ndr_push_spoolss_DeleteDriverFlags(ndr, NDR_SCALARS, r->in.delete_flags));
30094
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.version));
30096
if (flags & NDR_OUT) {
30097
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30099
return NDR_ERR_SUCCESS;
30102
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterDriverEx(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterDriverEx *r)
30104
uint32_t _ptr_server;
30105
TALLOC_CTX *_mem_save_server_0;
30106
if (flags & NDR_IN) {
30107
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
30109
NDR_PULL_ALLOC(ndr, r->in.server);
30111
r->in.server = NULL;
30113
if (r->in.server) {
30114
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
30115
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
30116
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
30117
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
30118
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
30119
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));
30121
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
30122
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
30123
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
30125
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
30126
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
30127
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
30128
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));
30130
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
30131
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
30132
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.driver));
30133
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.driver));
30134
if (ndr_get_array_length(ndr, &r->in.driver) > ndr_get_array_size(ndr, &r->in.driver)) {
30135
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));
30137
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.driver), sizeof(uint16_t)));
30138
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.driver, ndr_get_array_length(ndr, &r->in.driver), sizeof(uint16_t), CH_UTF16));
30139
NDR_CHECK(ndr_pull_spoolss_DeleteDriverFlags(ndr, NDR_SCALARS, &r->in.delete_flags));
30140
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.version));
30142
if (flags & NDR_OUT) {
30143
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30145
return NDR_ERR_SUCCESS;
30148
_PUBLIC_ void ndr_print_spoolss_DeletePrinterDriverEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterDriverEx *r)
30150
ndr_print_struct(ndr, name, "spoolss_DeletePrinterDriverEx");
30151
if (r == NULL) { ndr_print_null(ndr); return; }
30153
if (flags & NDR_SET_VALUES) {
30154
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30156
if (flags & NDR_IN) {
30157
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterDriverEx");
30159
ndr_print_ptr(ndr, "server", r->in.server);
30161
if (r->in.server) {
30162
ndr_print_string(ndr, "server", r->in.server);
30165
ndr_print_string(ndr, "architecture", r->in.architecture);
30166
ndr_print_string(ndr, "driver", r->in.driver);
30167
ndr_print_spoolss_DeleteDriverFlags(ndr, "delete_flags", r->in.delete_flags);
30168
ndr_print_uint32(ndr, "version", r->in.version);
30171
if (flags & NDR_OUT) {
30172
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterDriverEx");
30174
ndr_print_WERROR(ndr, "result", r->out.result);
30180
static enum ndr_err_code ndr_push_spoolss_AddPerMachineConnection(struct ndr_push *ndr, int flags, const struct spoolss_AddPerMachineConnection *r)
30182
if (flags & NDR_IN) {
30183
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
30184
if (r->in.server) {
30185
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
30186
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
30187
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
30188
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
30190
if (r->in.printername == NULL) {
30191
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
30193
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
30194
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
30195
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
30196
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.printername, ndr_charset_length(r->in.printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
30197
if (r->in.printserver == NULL) {
30198
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
30200
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printserver, CH_UTF16)));
30201
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
30202
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printserver, CH_UTF16)));
30203
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.printserver, ndr_charset_length(r->in.printserver, CH_UTF16), sizeof(uint16_t), CH_UTF16));
30204
if (r->in.provider == NULL) {
30205
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
30207
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.provider, CH_UTF16)));
30208
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
30209
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.provider, CH_UTF16)));
30210
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.provider, ndr_charset_length(r->in.provider, CH_UTF16), sizeof(uint16_t), CH_UTF16));
30212
if (flags & NDR_OUT) {
30213
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30215
return NDR_ERR_SUCCESS;
30218
static enum ndr_err_code ndr_pull_spoolss_AddPerMachineConnection(struct ndr_pull *ndr, int flags, struct spoolss_AddPerMachineConnection *r)
30220
uint32_t _ptr_server;
30221
TALLOC_CTX *_mem_save_server_0;
30222
if (flags & NDR_IN) {
30223
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
30225
NDR_PULL_ALLOC(ndr, r->in.server);
30227
r->in.server = NULL;
30229
if (r->in.server) {
30230
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
30231
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
30232
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
30233
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
30234
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
30235
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));
30237
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
30238
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
30239
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
30241
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.printername));
30242
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.printername));
30243
if (ndr_get_array_length(ndr, &r->in.printername) > ndr_get_array_size(ndr, &r->in.printername)) {
30244
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));
30246
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t)));
30247
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.printername, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t), CH_UTF16));
30248
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.printserver));
30249
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.printserver));
30250
if (ndr_get_array_length(ndr, &r->in.printserver) > ndr_get_array_size(ndr, &r->in.printserver)) {
30251
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.printserver), ndr_get_array_length(ndr, &r->in.printserver));
30253
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.printserver), sizeof(uint16_t)));
30254
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.printserver, ndr_get_array_length(ndr, &r->in.printserver), sizeof(uint16_t), CH_UTF16));
30255
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.provider));
30256
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.provider));
30257
if (ndr_get_array_length(ndr, &r->in.provider) > ndr_get_array_size(ndr, &r->in.provider)) {
30258
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.provider), ndr_get_array_length(ndr, &r->in.provider));
30260
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.provider), sizeof(uint16_t)));
30261
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.provider, ndr_get_array_length(ndr, &r->in.provider), sizeof(uint16_t), CH_UTF16));
30263
if (flags & NDR_OUT) {
30264
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30266
return NDR_ERR_SUCCESS;
30269
_PUBLIC_ void ndr_print_spoolss_AddPerMachineConnection(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPerMachineConnection *r)
30271
ndr_print_struct(ndr, name, "spoolss_AddPerMachineConnection");
30272
if (r == NULL) { ndr_print_null(ndr); return; }
30274
if (flags & NDR_SET_VALUES) {
30275
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30277
if (flags & NDR_IN) {
30278
ndr_print_struct(ndr, "in", "spoolss_AddPerMachineConnection");
30280
ndr_print_ptr(ndr, "server", r->in.server);
30282
if (r->in.server) {
30283
ndr_print_string(ndr, "server", r->in.server);
30286
ndr_print_ptr(ndr, "printername", r->in.printername);
30288
ndr_print_string(ndr, "printername", r->in.printername);
30290
ndr_print_ptr(ndr, "printserver", r->in.printserver);
30292
ndr_print_string(ndr, "printserver", r->in.printserver);
30294
ndr_print_ptr(ndr, "provider", r->in.provider);
30296
ndr_print_string(ndr, "provider", r->in.provider);
30300
if (flags & NDR_OUT) {
30301
ndr_print_struct(ndr, "out", "spoolss_AddPerMachineConnection");
30303
ndr_print_WERROR(ndr, "result", r->out.result);
30309
static enum ndr_err_code ndr_push_spoolss_DeletePerMachineConnection(struct ndr_push *ndr, int flags, const struct spoolss_DeletePerMachineConnection *r)
30311
if (flags & NDR_IN) {
30312
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
30313
if (r->in.server) {
30314
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
30315
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
30316
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
30317
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
30319
if (r->in.printername == NULL) {
30320
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
30322
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
30323
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
30324
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
30325
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.printername, ndr_charset_length(r->in.printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
30327
if (flags & NDR_OUT) {
30328
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30330
return NDR_ERR_SUCCESS;
30333
static enum ndr_err_code ndr_pull_spoolss_DeletePerMachineConnection(struct ndr_pull *ndr, int flags, struct spoolss_DeletePerMachineConnection *r)
30335
uint32_t _ptr_server;
30336
TALLOC_CTX *_mem_save_server_0;
30337
if (flags & NDR_IN) {
30338
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
30340
NDR_PULL_ALLOC(ndr, r->in.server);
30342
r->in.server = NULL;
30344
if (r->in.server) {
30345
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
30346
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
30347
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
30348
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
30349
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
30350
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));
30352
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
30353
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
30354
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
30356
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.printername));
30357
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.printername));
30358
if (ndr_get_array_length(ndr, &r->in.printername) > ndr_get_array_size(ndr, &r->in.printername)) {
30359
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));
30361
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t)));
30362
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.printername, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t), CH_UTF16));
30364
if (flags & NDR_OUT) {
30365
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30367
return NDR_ERR_SUCCESS;
30370
_PUBLIC_ void ndr_print_spoolss_DeletePerMachineConnection(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePerMachineConnection *r)
30372
ndr_print_struct(ndr, name, "spoolss_DeletePerMachineConnection");
30373
if (r == NULL) { ndr_print_null(ndr); return; }
30375
if (flags & NDR_SET_VALUES) {
30376
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30378
if (flags & NDR_IN) {
30379
ndr_print_struct(ndr, "in", "spoolss_DeletePerMachineConnection");
30381
ndr_print_ptr(ndr, "server", r->in.server);
30383
if (r->in.server) {
30384
ndr_print_string(ndr, "server", r->in.server);
30387
ndr_print_ptr(ndr, "printername", r->in.printername);
30389
ndr_print_string(ndr, "printername", r->in.printername);
30393
if (flags & NDR_OUT) {
30394
ndr_print_struct(ndr, "out", "spoolss_DeletePerMachineConnection");
30396
ndr_print_WERROR(ndr, "result", r->out.result);
30402
static enum ndr_err_code ndr_push_spoolss_EnumPerMachineConnections(struct ndr_push *ndr, int flags, const struct spoolss_EnumPerMachineConnections *r)
30404
if (flags & NDR_IN) {
30406
if (flags & NDR_OUT) {
30407
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30409
return NDR_ERR_SUCCESS;
30412
static enum ndr_err_code ndr_pull_spoolss_EnumPerMachineConnections(struct ndr_pull *ndr, int flags, struct spoolss_EnumPerMachineConnections *r)
30414
if (flags & NDR_IN) {
30416
if (flags & NDR_OUT) {
30417
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30419
return NDR_ERR_SUCCESS;
30422
_PUBLIC_ void ndr_print_spoolss_EnumPerMachineConnections(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPerMachineConnections *r)
30424
ndr_print_struct(ndr, name, "spoolss_EnumPerMachineConnections");
30425
if (r == NULL) { ndr_print_null(ndr); return; }
30427
if (flags & NDR_SET_VALUES) {
30428
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30430
if (flags & NDR_IN) {
30431
ndr_print_struct(ndr, "in", "spoolss_EnumPerMachineConnections");
30435
if (flags & NDR_OUT) {
30436
ndr_print_struct(ndr, "out", "spoolss_EnumPerMachineConnections");
30438
ndr_print_WERROR(ndr, "result", r->out.result);
30444
static enum ndr_err_code ndr_push_spoolss_XcvData(struct ndr_push *ndr, int flags, const struct spoolss_XcvData *r)
30446
if (flags & NDR_IN) {
30447
if (r->in.handle == NULL) {
30448
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
30450
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
30451
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.function_name, CH_UTF16)));
30452
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
30453
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.function_name, CH_UTF16)));
30454
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));
30455
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.in_data));
30456
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.in_data.length));
30457
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.out_data_size));
30458
if (r->in.status_code == NULL) {
30459
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
30461
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.status_code));
30463
if (flags & NDR_OUT) {
30464
if (r->out.out_data == NULL) {
30465
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
30467
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.out_data_size));
30468
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.out_data, r->in.out_data_size));
30469
if (r->out.needed == NULL) {
30470
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
30472
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
30473
if (r->out.status_code == NULL) {
30474
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
30476
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.status_code));
30477
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30479
return NDR_ERR_SUCCESS;
30482
static enum ndr_err_code ndr_pull_spoolss_XcvData(struct ndr_pull *ndr, int flags, struct spoolss_XcvData *r)
30484
TALLOC_CTX *_mem_save_handle_0;
30485
TALLOC_CTX *_mem_save_needed_0;
30486
TALLOC_CTX *_mem_save_status_code_0;
30487
if (flags & NDR_IN) {
30488
ZERO_STRUCT(r->out);
30490
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
30491
NDR_PULL_ALLOC(ndr, r->in.handle);
30493
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
30494
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
30495
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
30496
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
30497
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.function_name));
30498
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.function_name));
30499
if (ndr_get_array_length(ndr, &r->in.function_name) > ndr_get_array_size(ndr, &r->in.function_name)) {
30500
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));
30502
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.function_name), sizeof(uint16_t)));
30503
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));
30504
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.in_data));
30505
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in._in_data_length));
30506
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.out_data_size));
30507
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
30508
NDR_PULL_ALLOC(ndr, r->in.status_code);
30510
_mem_save_status_code_0 = NDR_PULL_GET_MEM_CTX(ndr);
30511
NDR_PULL_SET_MEM_CTX(ndr, r->in.status_code, LIBNDR_FLAG_REF_ALLOC);
30512
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.status_code));
30513
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_status_code_0, LIBNDR_FLAG_REF_ALLOC);
30514
NDR_PULL_ALLOC_N(ndr, r->out.out_data, r->in.out_data_size);
30515
memset(r->out.out_data, 0, (r->in.out_data_size) * sizeof(*r->out.out_data));
30516
NDR_PULL_ALLOC(ndr, r->out.needed);
30517
ZERO_STRUCTP(r->out.needed);
30518
NDR_PULL_ALLOC(ndr, r->out.status_code);
30519
*r->out.status_code = *r->in.status_code;
30521
if (flags & NDR_OUT) {
30522
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.out_data));
30523
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
30524
NDR_PULL_ALLOC_N(ndr, r->out.out_data, ndr_get_array_size(ndr, &r->out.out_data));
30526
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.out_data, ndr_get_array_size(ndr, &r->out.out_data)));
30527
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
30528
NDR_PULL_ALLOC(ndr, r->out.needed);
30530
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
30531
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
30532
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
30533
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
30534
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
30535
NDR_PULL_ALLOC(ndr, r->out.status_code);
30537
_mem_save_status_code_0 = NDR_PULL_GET_MEM_CTX(ndr);
30538
NDR_PULL_SET_MEM_CTX(ndr, r->out.status_code, LIBNDR_FLAG_REF_ALLOC);
30539
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.status_code));
30540
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_status_code_0, LIBNDR_FLAG_REF_ALLOC);
30541
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30542
if (r->out.out_data) {
30543
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.out_data, r->in.out_data_size));
30546
return NDR_ERR_SUCCESS;
30549
_PUBLIC_ void ndr_print_spoolss_XcvData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_XcvData *r)
30551
ndr_print_struct(ndr, name, "spoolss_XcvData");
30552
if (r == NULL) { ndr_print_null(ndr); return; }
30554
if (flags & NDR_SET_VALUES) {
30555
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30557
if (flags & NDR_IN) {
30558
ndr_print_struct(ndr, "in", "spoolss_XcvData");
30560
ndr_print_ptr(ndr, "handle", r->in.handle);
30562
ndr_print_policy_handle(ndr, "handle", r->in.handle);
30564
ndr_print_string(ndr, "function_name", r->in.function_name);
30565
ndr_print_DATA_BLOB(ndr, "in_data", r->in.in_data);
30566
ndr_print_uint32(ndr, "_in_data_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->in.in_data.length:r->in._in_data_length);
30567
ndr_print_uint32(ndr, "out_data_size", r->in.out_data_size);
30568
ndr_print_ptr(ndr, "status_code", r->in.status_code);
30570
ndr_print_uint32(ndr, "status_code", *r->in.status_code);
30574
if (flags & NDR_OUT) {
30575
ndr_print_struct(ndr, "out", "spoolss_XcvData");
30577
ndr_print_ptr(ndr, "out_data", r->out.out_data);
30579
ndr_print_array_uint8(ndr, "out_data", r->out.out_data, r->in.out_data_size);
30581
ndr_print_ptr(ndr, "needed", r->out.needed);
30583
ndr_print_uint32(ndr, "needed", *r->out.needed);
30585
ndr_print_ptr(ndr, "status_code", r->out.status_code);
30587
ndr_print_uint32(ndr, "status_code", *r->out.status_code);
30589
ndr_print_WERROR(ndr, "result", r->out.result);
30595
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_AddPrinterDriverEx(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterDriverEx *r)
30597
if (flags & NDR_IN) {
30598
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
30599
if (r->in.servername) {
30600
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
30601
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
30602
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
30603
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
30605
if (r->in.info_ctr == NULL) {
30606
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
30608
NDR_CHECK(ndr_push_spoolss_AddDriverInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
30609
NDR_CHECK(ndr_push_spoolss_AddPrinterDriverExFlags(ndr, NDR_SCALARS, r->in.flags));
30611
if (flags & NDR_OUT) {
30612
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30614
return NDR_ERR_SUCCESS;
30617
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_AddPrinterDriverEx(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterDriverEx *r)
30619
uint32_t _ptr_servername;
30620
TALLOC_CTX *_mem_save_servername_0;
30621
TALLOC_CTX *_mem_save_info_ctr_0;
30622
if (flags & NDR_IN) {
30623
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
30624
if (_ptr_servername) {
30625
NDR_PULL_ALLOC(ndr, r->in.servername);
30627
r->in.servername = NULL;
30629
if (r->in.servername) {
30630
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
30631
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
30632
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
30633
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
30634
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
30635
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));
30637
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
30638
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
30639
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
30641
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
30642
NDR_PULL_ALLOC(ndr, r->in.info_ctr);
30644
_mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
30645
NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC);
30646
NDR_CHECK(ndr_pull_spoolss_AddDriverInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
30647
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
30648
NDR_CHECK(ndr_pull_spoolss_AddPrinterDriverExFlags(ndr, NDR_SCALARS, &r->in.flags));
30650
if (flags & NDR_OUT) {
30651
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30653
return NDR_ERR_SUCCESS;
30656
_PUBLIC_ void ndr_print_spoolss_AddPrinterDriverEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterDriverEx *r)
30658
ndr_print_struct(ndr, name, "spoolss_AddPrinterDriverEx");
30659
if (r == NULL) { ndr_print_null(ndr); return; }
30661
if (flags & NDR_SET_VALUES) {
30662
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30664
if (flags & NDR_IN) {
30665
ndr_print_struct(ndr, "in", "spoolss_AddPrinterDriverEx");
30667
ndr_print_ptr(ndr, "servername", r->in.servername);
30669
if (r->in.servername) {
30670
ndr_print_string(ndr, "servername", r->in.servername);
30673
ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr);
30675
ndr_print_spoolss_AddDriverInfoCtr(ndr, "info_ctr", r->in.info_ctr);
30677
ndr_print_spoolss_AddPrinterDriverExFlags(ndr, "flags", r->in.flags);
30680
if (flags & NDR_OUT) {
30681
ndr_print_struct(ndr, "out", "spoolss_AddPrinterDriverEx");
30683
ndr_print_WERROR(ndr, "result", r->out.result);
30689
static enum ndr_err_code ndr_push_spoolss_5a(struct ndr_push *ndr, int flags, const struct spoolss_5a *r)
30691
if (flags & NDR_IN) {
30693
if (flags & NDR_OUT) {
30694
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30696
return NDR_ERR_SUCCESS;
30699
static enum ndr_err_code ndr_pull_spoolss_5a(struct ndr_pull *ndr, int flags, struct spoolss_5a *r)
30701
if (flags & NDR_IN) {
30703
if (flags & NDR_OUT) {
30704
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30706
return NDR_ERR_SUCCESS;
30709
_PUBLIC_ void ndr_print_spoolss_5a(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5a *r)
30711
ndr_print_struct(ndr, name, "spoolss_5a");
30712
if (r == NULL) { ndr_print_null(ndr); return; }
30714
if (flags & NDR_SET_VALUES) {
30715
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30717
if (flags & NDR_IN) {
30718
ndr_print_struct(ndr, "in", "spoolss_5a");
30722
if (flags & NDR_OUT) {
30723
ndr_print_struct(ndr, "out", "spoolss_5a");
30725
ndr_print_WERROR(ndr, "result", r->out.result);
30731
static enum ndr_err_code ndr_push_spoolss_5b(struct ndr_push *ndr, int flags, const struct spoolss_5b *r)
30733
if (flags & NDR_IN) {
30735
if (flags & NDR_OUT) {
30736
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30738
return NDR_ERR_SUCCESS;
30741
static enum ndr_err_code ndr_pull_spoolss_5b(struct ndr_pull *ndr, int flags, struct spoolss_5b *r)
30743
if (flags & NDR_IN) {
30745
if (flags & NDR_OUT) {
30746
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30748
return NDR_ERR_SUCCESS;
30751
_PUBLIC_ void ndr_print_spoolss_5b(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5b *r)
30753
ndr_print_struct(ndr, name, "spoolss_5b");
30754
if (r == NULL) { ndr_print_null(ndr); return; }
30756
if (flags & NDR_SET_VALUES) {
30757
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30759
if (flags & NDR_IN) {
30760
ndr_print_struct(ndr, "in", "spoolss_5b");
30764
if (flags & NDR_OUT) {
30765
ndr_print_struct(ndr, "out", "spoolss_5b");
30767
ndr_print_WERROR(ndr, "result", r->out.result);
30773
static enum ndr_err_code ndr_push_spoolss_5c(struct ndr_push *ndr, int flags, const struct spoolss_5c *r)
30775
if (flags & NDR_IN) {
30777
if (flags & NDR_OUT) {
30778
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30780
return NDR_ERR_SUCCESS;
30783
static enum ndr_err_code ndr_pull_spoolss_5c(struct ndr_pull *ndr, int flags, struct spoolss_5c *r)
30785
if (flags & NDR_IN) {
30787
if (flags & NDR_OUT) {
30788
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30790
return NDR_ERR_SUCCESS;
30793
_PUBLIC_ void ndr_print_spoolss_5c(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5c *r)
30795
ndr_print_struct(ndr, name, "spoolss_5c");
30796
if (r == NULL) { ndr_print_null(ndr); return; }
30798
if (flags & NDR_SET_VALUES) {
30799
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30801
if (flags & NDR_IN) {
30802
ndr_print_struct(ndr, "in", "spoolss_5c");
30806
if (flags & NDR_OUT) {
30807
ndr_print_struct(ndr, "out", "spoolss_5c");
30809
ndr_print_WERROR(ndr, "result", r->out.result);
30815
static enum ndr_err_code ndr_push_spoolss_5d(struct ndr_push *ndr, int flags, const struct spoolss_5d *r)
30817
if (flags & NDR_IN) {
30819
if (flags & NDR_OUT) {
30820
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30822
return NDR_ERR_SUCCESS;
30825
static enum ndr_err_code ndr_pull_spoolss_5d(struct ndr_pull *ndr, int flags, struct spoolss_5d *r)
30827
if (flags & NDR_IN) {
30829
if (flags & NDR_OUT) {
30830
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30832
return NDR_ERR_SUCCESS;
30835
_PUBLIC_ void ndr_print_spoolss_5d(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5d *r)
30837
ndr_print_struct(ndr, name, "spoolss_5d");
30838
if (r == NULL) { ndr_print_null(ndr); return; }
30840
if (flags & NDR_SET_VALUES) {
30841
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30843
if (flags & NDR_IN) {
30844
ndr_print_struct(ndr, "in", "spoolss_5d");
30848
if (flags & NDR_OUT) {
30849
ndr_print_struct(ndr, "out", "spoolss_5d");
30851
ndr_print_WERROR(ndr, "result", r->out.result);
30857
static enum ndr_err_code ndr_push_spoolss_5e(struct ndr_push *ndr, int flags, const struct spoolss_5e *r)
30859
if (flags & NDR_IN) {
30861
if (flags & NDR_OUT) {
30862
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30864
return NDR_ERR_SUCCESS;
30867
static enum ndr_err_code ndr_pull_spoolss_5e(struct ndr_pull *ndr, int flags, struct spoolss_5e *r)
30869
if (flags & NDR_IN) {
30871
if (flags & NDR_OUT) {
30872
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30874
return NDR_ERR_SUCCESS;
30877
_PUBLIC_ void ndr_print_spoolss_5e(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5e *r)
30879
ndr_print_struct(ndr, name, "spoolss_5e");
30880
if (r == NULL) { ndr_print_null(ndr); return; }
30882
if (flags & NDR_SET_VALUES) {
30883
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30885
if (flags & NDR_IN) {
30886
ndr_print_struct(ndr, "in", "spoolss_5e");
30890
if (flags & NDR_OUT) {
30891
ndr_print_struct(ndr, "out", "spoolss_5e");
30893
ndr_print_WERROR(ndr, "result", r->out.result);
30899
static enum ndr_err_code ndr_push_spoolss_5f(struct ndr_push *ndr, int flags, const struct spoolss_5f *r)
30901
if (flags & NDR_IN) {
30903
if (flags & NDR_OUT) {
30904
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30906
return NDR_ERR_SUCCESS;
30909
static enum ndr_err_code ndr_pull_spoolss_5f(struct ndr_pull *ndr, int flags, struct spoolss_5f *r)
30911
if (flags & NDR_IN) {
30913
if (flags & NDR_OUT) {
30914
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30916
return NDR_ERR_SUCCESS;
30919
_PUBLIC_ void ndr_print_spoolss_5f(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5f *r)
30921
ndr_print_struct(ndr, name, "spoolss_5f");
30922
if (r == NULL) { ndr_print_null(ndr); return; }
30924
if (flags & NDR_SET_VALUES) {
30925
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30927
if (flags & NDR_IN) {
30928
ndr_print_struct(ndr, "in", "spoolss_5f");
30932
if (flags & NDR_OUT) {
30933
ndr_print_struct(ndr, "out", "spoolss_5f");
30935
ndr_print_WERROR(ndr, "result", r->out.result);
30941
static enum ndr_err_code ndr_push_spoolss_60(struct ndr_push *ndr, int flags, const struct spoolss_60 *r)
30943
if (flags & NDR_IN) {
30945
if (flags & NDR_OUT) {
30946
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30948
return NDR_ERR_SUCCESS;
30951
static enum ndr_err_code ndr_pull_spoolss_60(struct ndr_pull *ndr, int flags, struct spoolss_60 *r)
30953
if (flags & NDR_IN) {
30955
if (flags & NDR_OUT) {
30956
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30958
return NDR_ERR_SUCCESS;
30961
_PUBLIC_ void ndr_print_spoolss_60(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_60 *r)
30963
ndr_print_struct(ndr, name, "spoolss_60");
30964
if (r == NULL) { ndr_print_null(ndr); return; }
30966
if (flags & NDR_SET_VALUES) {
30967
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30969
if (flags & NDR_IN) {
30970
ndr_print_struct(ndr, "in", "spoolss_60");
30974
if (flags & NDR_OUT) {
30975
ndr_print_struct(ndr, "out", "spoolss_60");
30977
ndr_print_WERROR(ndr, "result", r->out.result);
30983
static enum ndr_err_code ndr_push_spoolss_61(struct ndr_push *ndr, int flags, const struct spoolss_61 *r)
30985
if (flags & NDR_IN) {
30987
if (flags & NDR_OUT) {
30988
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30990
return NDR_ERR_SUCCESS;
30993
static enum ndr_err_code ndr_pull_spoolss_61(struct ndr_pull *ndr, int flags, struct spoolss_61 *r)
30995
if (flags & NDR_IN) {
30997
if (flags & NDR_OUT) {
30998
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
31000
return NDR_ERR_SUCCESS;
31003
_PUBLIC_ void ndr_print_spoolss_61(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_61 *r)
31005
ndr_print_struct(ndr, name, "spoolss_61");
31006
if (r == NULL) { ndr_print_null(ndr); return; }
31008
if (flags & NDR_SET_VALUES) {
31009
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
31011
if (flags & NDR_IN) {
31012
ndr_print_struct(ndr, "in", "spoolss_61");
31016
if (flags & NDR_OUT) {
31017
ndr_print_struct(ndr, "out", "spoolss_61");
31019
ndr_print_WERROR(ndr, "result", r->out.result);
31025
static enum ndr_err_code ndr_push_spoolss_62(struct ndr_push *ndr, int flags, const struct spoolss_62 *r)
31027
if (flags & NDR_IN) {
31029
if (flags & NDR_OUT) {
31030
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
31032
return NDR_ERR_SUCCESS;
31035
static enum ndr_err_code ndr_pull_spoolss_62(struct ndr_pull *ndr, int flags, struct spoolss_62 *r)
31037
if (flags & NDR_IN) {
31039
if (flags & NDR_OUT) {
31040
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
31042
return NDR_ERR_SUCCESS;
31045
_PUBLIC_ void ndr_print_spoolss_62(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_62 *r)
31047
ndr_print_struct(ndr, name, "spoolss_62");
31048
if (r == NULL) { ndr_print_null(ndr); return; }
31050
if (flags & NDR_SET_VALUES) {
31051
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
31053
if (flags & NDR_IN) {
31054
ndr_print_struct(ndr, "in", "spoolss_62");
31058
if (flags & NDR_OUT) {
31059
ndr_print_struct(ndr, "out", "spoolss_62");
31061
ndr_print_WERROR(ndr, "result", r->out.result);
31067
static enum ndr_err_code ndr_push_spoolss_63(struct ndr_push *ndr, int flags, const struct spoolss_63 *r)
31069
if (flags & NDR_IN) {
31071
if (flags & NDR_OUT) {
31072
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
31074
return NDR_ERR_SUCCESS;
31077
static enum ndr_err_code ndr_pull_spoolss_63(struct ndr_pull *ndr, int flags, struct spoolss_63 *r)
31079
if (flags & NDR_IN) {
31081
if (flags & NDR_OUT) {
31082
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
31084
return NDR_ERR_SUCCESS;
31087
_PUBLIC_ void ndr_print_spoolss_63(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_63 *r)
31089
ndr_print_struct(ndr, name, "spoolss_63");
31090
if (r == NULL) { ndr_print_null(ndr); return; }
31092
if (flags & NDR_SET_VALUES) {
31093
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
31095
if (flags & NDR_IN) {
31096
ndr_print_struct(ndr, "in", "spoolss_63");
31100
if (flags & NDR_OUT) {
31101
ndr_print_struct(ndr, "out", "spoolss_63");
31103
ndr_print_WERROR(ndr, "result", r->out.result);
31109
static enum ndr_err_code ndr_push_spoolss_64(struct ndr_push *ndr, int flags, const struct spoolss_64 *r)
31111
if (flags & NDR_IN) {
31113
if (flags & NDR_OUT) {
31114
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
31116
return NDR_ERR_SUCCESS;
31119
static enum ndr_err_code ndr_pull_spoolss_64(struct ndr_pull *ndr, int flags, struct spoolss_64 *r)
31121
if (flags & NDR_IN) {
31123
if (flags & NDR_OUT) {
31124
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
31126
return NDR_ERR_SUCCESS;
31129
_PUBLIC_ void ndr_print_spoolss_64(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_64 *r)
31131
ndr_print_struct(ndr, name, "spoolss_64");
31132
if (r == NULL) { ndr_print_null(ndr); return; }
31134
if (flags & NDR_SET_VALUES) {
31135
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
31137
if (flags & NDR_IN) {
31138
ndr_print_struct(ndr, "in", "spoolss_64");
31142
if (flags & NDR_OUT) {
31143
ndr_print_struct(ndr, "out", "spoolss_64");
31145
ndr_print_WERROR(ndr, "result", r->out.result);
31151
static enum ndr_err_code ndr_push_spoolss_65(struct ndr_push *ndr, int flags, const struct spoolss_65 *r)
31153
if (flags & NDR_IN) {
31155
if (flags & NDR_OUT) {
31156
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
31158
return NDR_ERR_SUCCESS;
31161
static enum ndr_err_code ndr_pull_spoolss_65(struct ndr_pull *ndr, int flags, struct spoolss_65 *r)
31163
if (flags & NDR_IN) {
31165
if (flags & NDR_OUT) {
31166
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
31168
return NDR_ERR_SUCCESS;
31171
_PUBLIC_ void ndr_print_spoolss_65(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_65 *r)
31173
ndr_print_struct(ndr, name, "spoolss_65");
31174
if (r == NULL) { ndr_print_null(ndr); return; }
31176
if (flags & NDR_SET_VALUES) {
31177
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
31179
if (flags & NDR_IN) {
31180
ndr_print_struct(ndr, "in", "spoolss_65");
31184
if (flags & NDR_OUT) {
31185
ndr_print_struct(ndr, "out", "spoolss_65");
31187
ndr_print_WERROR(ndr, "result", r->out.result);
31193
static enum ndr_err_code ndr_push_spoolss_GetCorePrinterDrivers(struct ndr_push *ndr, int flags, const struct spoolss_GetCorePrinterDrivers *r)
31195
uint32_t cntr_core_printer_drivers_1;
31196
if (flags & NDR_IN) {
31197
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
31198
if (r->in.servername) {
31199
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
31200
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
31201
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
31202
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
31204
if (r->in.architecture == NULL) {
31205
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
31207
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
31208
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
31209
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
31210
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
31211
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.core_driver_size));
31212
if (r->in.core_driver_dependencies == NULL) {
31213
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
31215
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.core_driver_size));
31216
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.core_driver_dependencies, r->in.core_driver_size, sizeof(uint16_t), CH_UTF16));
31217
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.core_printer_driver_count));
31219
if (flags & NDR_OUT) {
31220
if (r->out.core_printer_drivers == NULL) {
31221
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
31223
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.core_printer_driver_count));
31224
for (cntr_core_printer_drivers_1 = 0; cntr_core_printer_drivers_1 < r->in.core_printer_driver_count; cntr_core_printer_drivers_1++) {
31225
NDR_CHECK(ndr_push_spoolss_CorePrinterDriver(ndr, NDR_SCALARS, &r->out.core_printer_drivers[cntr_core_printer_drivers_1]));
31227
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
31229
return NDR_ERR_SUCCESS;
31232
static enum ndr_err_code ndr_pull_spoolss_GetCorePrinterDrivers(struct ndr_pull *ndr, int flags, struct spoolss_GetCorePrinterDrivers *r)
31234
uint32_t _ptr_servername;
31235
uint32_t cntr_core_printer_drivers_1;
31236
TALLOC_CTX *_mem_save_servername_0;
31237
TALLOC_CTX *_mem_save_core_printer_drivers_1;
31238
if (flags & NDR_IN) {
31239
ZERO_STRUCT(r->out);
31241
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
31242
if (_ptr_servername) {
31243
NDR_PULL_ALLOC(ndr, r->in.servername);
31245
r->in.servername = NULL;
31247
if (r->in.servername) {
31248
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
31249
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
31250
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
31251
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
31252
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
31253
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));
31255
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
31256
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
31257
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
31259
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
31260
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
31261
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
31262
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));
31264
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
31265
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
31266
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.core_driver_size));
31267
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.core_driver_dependencies));
31268
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));
31269
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.core_printer_driver_count));
31270
NDR_PULL_ALLOC_N(ndr, r->out.core_printer_drivers, r->in.core_printer_driver_count);
31271
memset(r->out.core_printer_drivers, 0, (r->in.core_printer_driver_count) * sizeof(*r->out.core_printer_drivers));
31272
if (r->in.core_driver_dependencies) {
31273
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.core_driver_dependencies, r->in.core_driver_size));
31276
if (flags & NDR_OUT) {
31277
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.core_printer_drivers));
31278
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
31279
NDR_PULL_ALLOC_N(ndr, r->out.core_printer_drivers, ndr_get_array_size(ndr, &r->out.core_printer_drivers));
31281
_mem_save_core_printer_drivers_1 = NDR_PULL_GET_MEM_CTX(ndr);
31282
NDR_PULL_SET_MEM_CTX(ndr, r->out.core_printer_drivers, 0);
31283
for (cntr_core_printer_drivers_1 = 0; cntr_core_printer_drivers_1 < r->in.core_printer_driver_count; cntr_core_printer_drivers_1++) {
31284
NDR_CHECK(ndr_pull_spoolss_CorePrinterDriver(ndr, NDR_SCALARS, &r->out.core_printer_drivers[cntr_core_printer_drivers_1]));
31286
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_core_printer_drivers_1, 0);
31287
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
31288
if (r->out.core_printer_drivers) {
31289
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.core_printer_drivers, r->in.core_printer_driver_count));
31292
return NDR_ERR_SUCCESS;
31295
_PUBLIC_ void ndr_print_spoolss_GetCorePrinterDrivers(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetCorePrinterDrivers *r)
31297
uint32_t cntr_core_printer_drivers_1;
31298
ndr_print_struct(ndr, name, "spoolss_GetCorePrinterDrivers");
31299
if (r == NULL) { ndr_print_null(ndr); return; }
31301
if (flags & NDR_SET_VALUES) {
31302
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
31304
if (flags & NDR_IN) {
31305
ndr_print_struct(ndr, "in", "spoolss_GetCorePrinterDrivers");
31307
ndr_print_ptr(ndr, "servername", r->in.servername);
31309
if (r->in.servername) {
31310
ndr_print_string(ndr, "servername", r->in.servername);
31313
ndr_print_ptr(ndr, "architecture", r->in.architecture);
31315
ndr_print_string(ndr, "architecture", r->in.architecture);
31317
ndr_print_uint32(ndr, "core_driver_size", r->in.core_driver_size);
31318
ndr_print_ptr(ndr, "core_driver_dependencies", r->in.core_driver_dependencies);
31320
ndr_print_string(ndr, "core_driver_dependencies", r->in.core_driver_dependencies);
31322
ndr_print_uint32(ndr, "core_printer_driver_count", r->in.core_printer_driver_count);
31325
if (flags & NDR_OUT) {
31326
ndr_print_struct(ndr, "out", "spoolss_GetCorePrinterDrivers");
31328
ndr_print_ptr(ndr, "core_printer_drivers", r->out.core_printer_drivers);
31330
ndr->print(ndr, "%s: ARRAY(%d)", "core_printer_drivers", (int)r->in.core_printer_driver_count);
31332
for (cntr_core_printer_drivers_1=0;cntr_core_printer_drivers_1<r->in.core_printer_driver_count;cntr_core_printer_drivers_1++) {
31333
ndr_print_spoolss_CorePrinterDriver(ndr, "core_printer_drivers", &r->out.core_printer_drivers[cntr_core_printer_drivers_1]);
31337
ndr_print_WERROR(ndr, "result", r->out.result);
31343
static enum ndr_err_code ndr_push_spoolss_67(struct ndr_push *ndr, int flags, const struct spoolss_67 *r)
31345
if (flags & NDR_IN) {
31347
if (flags & NDR_OUT) {
31348
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
31350
return NDR_ERR_SUCCESS;
31353
static enum ndr_err_code ndr_pull_spoolss_67(struct ndr_pull *ndr, int flags, struct spoolss_67 *r)
31355
if (flags & NDR_IN) {
31357
if (flags & NDR_OUT) {
31358
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
31360
return NDR_ERR_SUCCESS;
31363
_PUBLIC_ void ndr_print_spoolss_67(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_67 *r)
31365
ndr_print_struct(ndr, name, "spoolss_67");
31366
if (r == NULL) { ndr_print_null(ndr); return; }
31368
if (flags & NDR_SET_VALUES) {
31369
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
31371
if (flags & NDR_IN) {
31372
ndr_print_struct(ndr, "in", "spoolss_67");
31376
if (flags & NDR_OUT) {
31377
ndr_print_struct(ndr, "out", "spoolss_67");
31379
ndr_print_WERROR(ndr, "result", r->out.result);
31385
static enum ndr_err_code ndr_push_spoolss_GetPrinterDriverPackagePath(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriverPackagePath *r)
31387
if (flags & NDR_IN) {
31388
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
31389
if (r->in.servername) {
31390
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
31391
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
31392
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
31393
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
31395
if (r->in.architecture == NULL) {
31396
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
31398
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
31399
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
31400
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
31401
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
31402
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.language));
31403
if (r->in.language) {
31404
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.language, CH_UTF16)));
31405
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
31406
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.language, CH_UTF16)));
31407
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.language, ndr_charset_length(r->in.language, CH_UTF16), sizeof(uint16_t), CH_UTF16));
31409
if (r->in.package_id == NULL) {
31410
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
31412
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.package_id, CH_UTF16)));
31413
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
31414
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.package_id, CH_UTF16)));
31415
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));
31416
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.driver_package_cab));
31417
if (r->in.driver_package_cab) {
31418
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.driver_package_cab_size));
31419
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.driver_package_cab, r->in.driver_package_cab_size, sizeof(uint16_t), CH_UTF16));
31421
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.driver_package_cab_size));
31423
if (flags & NDR_OUT) {
31424
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.driver_package_cab));
31425
if (r->out.driver_package_cab) {
31426
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.driver_package_cab_size));
31427
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->out.driver_package_cab, r->in.driver_package_cab_size, sizeof(uint16_t), CH_UTF16));
31429
if (r->out.required == NULL) {
31430
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
31432
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.required));
31433
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
31435
return NDR_ERR_SUCCESS;
31438
static enum ndr_err_code ndr_pull_spoolss_GetPrinterDriverPackagePath(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriverPackagePath *r)
31440
uint32_t _ptr_servername;
31441
uint32_t _ptr_language;
31442
uint32_t _ptr_driver_package_cab;
31443
TALLOC_CTX *_mem_save_servername_0;
31444
TALLOC_CTX *_mem_save_language_0;
31445
TALLOC_CTX *_mem_save_driver_package_cab_0;
31446
TALLOC_CTX *_mem_save_required_0;
31447
if (flags & NDR_IN) {
31448
ZERO_STRUCT(r->out);
31450
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
31451
if (_ptr_servername) {
31452
NDR_PULL_ALLOC(ndr, r->in.servername);
31454
r->in.servername = NULL;
31456
if (r->in.servername) {
31457
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
31458
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
31459
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
31460
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
31461
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
31462
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));
31464
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
31465
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
31466
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
31468
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
31469
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
31470
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
31471
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));
31473
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
31474
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
31475
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_language));
31476
if (_ptr_language) {
31477
NDR_PULL_ALLOC(ndr, r->in.language);
31479
r->in.language = NULL;
31481
if (r->in.language) {
31482
_mem_save_language_0 = NDR_PULL_GET_MEM_CTX(ndr);
31483
NDR_PULL_SET_MEM_CTX(ndr, r->in.language, 0);
31484
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.language));
31485
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.language));
31486
if (ndr_get_array_length(ndr, &r->in.language) > ndr_get_array_size(ndr, &r->in.language)) {
31487
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));
31489
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.language), sizeof(uint16_t)));
31490
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.language, ndr_get_array_length(ndr, &r->in.language), sizeof(uint16_t), CH_UTF16));
31491
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_language_0, 0);
31493
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.package_id));
31494
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.package_id));
31495
if (ndr_get_array_length(ndr, &r->in.package_id) > ndr_get_array_size(ndr, &r->in.package_id)) {
31496
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));
31498
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.package_id), sizeof(uint16_t)));
31499
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));
31500
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_package_cab));
31501
if (_ptr_driver_package_cab) {
31502
NDR_PULL_ALLOC(ndr, r->in.driver_package_cab);
31504
r->in.driver_package_cab = NULL;
31506
if (r->in.driver_package_cab) {
31507
_mem_save_driver_package_cab_0 = NDR_PULL_GET_MEM_CTX(ndr);
31508
NDR_PULL_SET_MEM_CTX(ndr, r->in.driver_package_cab, 0);
31509
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.driver_package_cab));
31510
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));
31511
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_package_cab_0, 0);
31513
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.driver_package_cab_size));
31514
NDR_PULL_ALLOC(ndr, r->out.required);
31515
ZERO_STRUCTP(r->out.required);
31516
if (r->in.driver_package_cab) {
31517
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.driver_package_cab, r->in.driver_package_cab_size));
31520
if (flags & NDR_OUT) {
31521
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_package_cab));
31522
if (_ptr_driver_package_cab) {
31523
NDR_PULL_ALLOC(ndr, r->out.driver_package_cab);
31525
r->out.driver_package_cab = NULL;
31527
if (r->out.driver_package_cab) {
31528
_mem_save_driver_package_cab_0 = NDR_PULL_GET_MEM_CTX(ndr);
31529
NDR_PULL_SET_MEM_CTX(ndr, r->out.driver_package_cab, 0);
31530
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.driver_package_cab));
31531
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));
31532
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_package_cab_0, 0);
31534
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
31535
NDR_PULL_ALLOC(ndr, r->out.required);
31537
_mem_save_required_0 = NDR_PULL_GET_MEM_CTX(ndr);
31538
NDR_PULL_SET_MEM_CTX(ndr, r->out.required, LIBNDR_FLAG_REF_ALLOC);
31539
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.required));
31540
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_required_0, LIBNDR_FLAG_REF_ALLOC);
31541
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
31542
if (r->out.driver_package_cab) {
31543
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.driver_package_cab, r->in.driver_package_cab_size));
31546
return NDR_ERR_SUCCESS;
31549
_PUBLIC_ void ndr_print_spoolss_GetPrinterDriverPackagePath(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriverPackagePath *r)
31551
ndr_print_struct(ndr, name, "spoolss_GetPrinterDriverPackagePath");
31552
if (r == NULL) { ndr_print_null(ndr); return; }
31554
if (flags & NDR_SET_VALUES) {
31555
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
31557
if (flags & NDR_IN) {
31558
ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriverPackagePath");
31560
ndr_print_ptr(ndr, "servername", r->in.servername);
31562
if (r->in.servername) {
31563
ndr_print_string(ndr, "servername", r->in.servername);
31566
ndr_print_ptr(ndr, "architecture", r->in.architecture);
31568
ndr_print_string(ndr, "architecture", r->in.architecture);
31570
ndr_print_ptr(ndr, "language", r->in.language);
31572
if (r->in.language) {
31573
ndr_print_string(ndr, "language", r->in.language);
31576
ndr_print_ptr(ndr, "package_id", r->in.package_id);
31578
ndr_print_string(ndr, "package_id", r->in.package_id);
31580
ndr_print_ptr(ndr, "driver_package_cab", r->in.driver_package_cab);
31582
if (r->in.driver_package_cab) {
31583
ndr_print_string(ndr, "driver_package_cab", r->in.driver_package_cab);
31586
ndr_print_uint32(ndr, "driver_package_cab_size", r->in.driver_package_cab_size);
31589
if (flags & NDR_OUT) {
31590
ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriverPackagePath");
31592
ndr_print_ptr(ndr, "driver_package_cab", r->out.driver_package_cab);
31594
if (r->out.driver_package_cab) {
31595
ndr_print_string(ndr, "driver_package_cab", r->out.driver_package_cab);
31598
ndr_print_ptr(ndr, "required", r->out.required);
31600
ndr_print_uint32(ndr, "required", *r->out.required);
31602
ndr_print_WERROR(ndr, "result", r->out.result);
31608
static enum ndr_err_code ndr_push_spoolss_69(struct ndr_push *ndr, int flags, const struct spoolss_69 *r)
31610
if (flags & NDR_IN) {
31612
if (flags & NDR_OUT) {
31613
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
31615
return NDR_ERR_SUCCESS;
31618
static enum ndr_err_code ndr_pull_spoolss_69(struct ndr_pull *ndr, int flags, struct spoolss_69 *r)
31620
if (flags & NDR_IN) {
31622
if (flags & NDR_OUT) {
31623
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
31625
return NDR_ERR_SUCCESS;
31628
_PUBLIC_ void ndr_print_spoolss_69(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_69 *r)
31630
ndr_print_struct(ndr, name, "spoolss_69");
31631
if (r == NULL) { ndr_print_null(ndr); return; }
31633
if (flags & NDR_SET_VALUES) {
31634
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
31636
if (flags & NDR_IN) {
31637
ndr_print_struct(ndr, "in", "spoolss_69");
31641
if (flags & NDR_OUT) {
31642
ndr_print_struct(ndr, "out", "spoolss_69");
31644
ndr_print_WERROR(ndr, "result", r->out.result);
31650
static enum ndr_err_code ndr_push_spoolss_6a(struct ndr_push *ndr, int flags, const struct spoolss_6a *r)
31652
if (flags & NDR_IN) {
31654
if (flags & NDR_OUT) {
31655
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
31657
return NDR_ERR_SUCCESS;
31660
static enum ndr_err_code ndr_pull_spoolss_6a(struct ndr_pull *ndr, int flags, struct spoolss_6a *r)
31662
if (flags & NDR_IN) {
31664
if (flags & NDR_OUT) {
31665
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
31667
return NDR_ERR_SUCCESS;
31670
_PUBLIC_ void ndr_print_spoolss_6a(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6a *r)
31672
ndr_print_struct(ndr, name, "spoolss_6a");
31673
if (r == NULL) { ndr_print_null(ndr); return; }
31675
if (flags & NDR_SET_VALUES) {
31676
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
31678
if (flags & NDR_IN) {
31679
ndr_print_struct(ndr, "in", "spoolss_6a");
31683
if (flags & NDR_OUT) {
31684
ndr_print_struct(ndr, "out", "spoolss_6a");
31686
ndr_print_WERROR(ndr, "result", r->out.result);
31692
static enum ndr_err_code ndr_push_spoolss_6b(struct ndr_push *ndr, int flags, const struct spoolss_6b *r)
31694
if (flags & NDR_IN) {
31696
if (flags & NDR_OUT) {
31697
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
31699
return NDR_ERR_SUCCESS;
31702
static enum ndr_err_code ndr_pull_spoolss_6b(struct ndr_pull *ndr, int flags, struct spoolss_6b *r)
31704
if (flags & NDR_IN) {
31706
if (flags & NDR_OUT) {
31707
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
31709
return NDR_ERR_SUCCESS;
31712
_PUBLIC_ void ndr_print_spoolss_6b(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6b *r)
31714
ndr_print_struct(ndr, name, "spoolss_6b");
31715
if (r == NULL) { ndr_print_null(ndr); return; }
31717
if (flags & NDR_SET_VALUES) {
31718
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
31720
if (flags & NDR_IN) {
31721
ndr_print_struct(ndr, "in", "spoolss_6b");
31725
if (flags & NDR_OUT) {
31726
ndr_print_struct(ndr, "out", "spoolss_6b");
31728
ndr_print_WERROR(ndr, "result", r->out.result);
31734
static enum ndr_err_code ndr_push_spoolss_6c(struct ndr_push *ndr, int flags, const struct spoolss_6c *r)
31736
if (flags & NDR_IN) {
31738
if (flags & NDR_OUT) {
31739
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
31741
return NDR_ERR_SUCCESS;
31744
static enum ndr_err_code ndr_pull_spoolss_6c(struct ndr_pull *ndr, int flags, struct spoolss_6c *r)
31746
if (flags & NDR_IN) {
31748
if (flags & NDR_OUT) {
31749
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
31751
return NDR_ERR_SUCCESS;
31754
_PUBLIC_ void ndr_print_spoolss_6c(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6c *r)
31756
ndr_print_struct(ndr, name, "spoolss_6c");
31757
if (r == NULL) { ndr_print_null(ndr); return; }
31759
if (flags & NDR_SET_VALUES) {
31760
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
31762
if (flags & NDR_IN) {
31763
ndr_print_struct(ndr, "in", "spoolss_6c");
31767
if (flags & NDR_OUT) {
31768
ndr_print_struct(ndr, "out", "spoolss_6c");
31770
ndr_print_WERROR(ndr, "result", r->out.result);
31776
static enum ndr_err_code ndr_push_spoolss_6d(struct ndr_push *ndr, int flags, const struct spoolss_6d *r)
31778
if (flags & NDR_IN) {
31780
if (flags & NDR_OUT) {
31781
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
31783
return NDR_ERR_SUCCESS;
31786
static enum ndr_err_code ndr_pull_spoolss_6d(struct ndr_pull *ndr, int flags, struct spoolss_6d *r)
31788
if (flags & NDR_IN) {
31790
if (flags & NDR_OUT) {
31791
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
31793
return NDR_ERR_SUCCESS;
31796
_PUBLIC_ void ndr_print_spoolss_6d(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6d *r)
31798
ndr_print_struct(ndr, name, "spoolss_6d");
31799
if (r == NULL) { ndr_print_null(ndr); return; }
31801
if (flags & NDR_SET_VALUES) {
31802
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
31804
if (flags & NDR_IN) {
31805
ndr_print_struct(ndr, "in", "spoolss_6d");
31809
if (flags & NDR_OUT) {
31810
ndr_print_struct(ndr, "out", "spoolss_6d");
31812
ndr_print_WERROR(ndr, "result", r->out.result);
31818
static const struct ndr_interface_call spoolss_calls[] = {
31820
"spoolss_EnumPrinters",
31821
sizeof(struct spoolss_EnumPrinters),
31822
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinters,
31823
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinters,
31824
(ndr_print_function_t) ndr_print_spoolss_EnumPrinters,
31829
"spoolss_OpenPrinter",
31830
sizeof(struct spoolss_OpenPrinter),
31831
(ndr_push_flags_fn_t) ndr_push_spoolss_OpenPrinter,
31832
(ndr_pull_flags_fn_t) ndr_pull_spoolss_OpenPrinter,
31833
(ndr_print_function_t) ndr_print_spoolss_OpenPrinter,
31839
sizeof(struct spoolss_SetJob),
31840
(ndr_push_flags_fn_t) ndr_push_spoolss_SetJob,
31841
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SetJob,
31842
(ndr_print_function_t) ndr_print_spoolss_SetJob,
31848
sizeof(struct spoolss_GetJob),
31849
(ndr_push_flags_fn_t) ndr_push_spoolss_GetJob,
31850
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetJob,
31851
(ndr_print_function_t) ndr_print_spoolss_GetJob,
31856
"spoolss_EnumJobs",
31857
sizeof(struct spoolss_EnumJobs),
31858
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumJobs,
31859
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumJobs,
31860
(ndr_print_function_t) ndr_print_spoolss_EnumJobs,
31865
"spoolss_AddPrinter",
31866
sizeof(struct spoolss_AddPrinter),
31867
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinter,
31868
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinter,
31869
(ndr_print_function_t) ndr_print_spoolss_AddPrinter,
31874
"spoolss_DeletePrinter",
31875
sizeof(struct spoolss_DeletePrinter),
31876
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinter,
31877
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinter,
31878
(ndr_print_function_t) ndr_print_spoolss_DeletePrinter,
31883
"spoolss_SetPrinter",
31884
sizeof(struct spoolss_SetPrinter),
31885
(ndr_push_flags_fn_t) ndr_push_spoolss_SetPrinter,
31886
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SetPrinter,
31887
(ndr_print_function_t) ndr_print_spoolss_SetPrinter,
31892
"spoolss_GetPrinter",
31893
sizeof(struct spoolss_GetPrinter),
31894
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinter,
31895
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinter,
31896
(ndr_print_function_t) ndr_print_spoolss_GetPrinter,
31901
"spoolss_AddPrinterDriver",
31902
sizeof(struct spoolss_AddPrinterDriver),
31903
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterDriver,
31904
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterDriver,
31905
(ndr_print_function_t) ndr_print_spoolss_AddPrinterDriver,
31910
"spoolss_EnumPrinterDrivers",
31911
sizeof(struct spoolss_EnumPrinterDrivers),
31912
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterDrivers,
31913
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterDrivers,
31914
(ndr_print_function_t) ndr_print_spoolss_EnumPrinterDrivers,
31919
"spoolss_GetPrinterDriver",
31920
sizeof(struct spoolss_GetPrinterDriver),
31921
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriver,
31922
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriver,
31923
(ndr_print_function_t) ndr_print_spoolss_GetPrinterDriver,
31928
"spoolss_GetPrinterDriverDirectory",
31929
sizeof(struct spoolss_GetPrinterDriverDirectory),
31930
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriverDirectory,
31931
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriverDirectory,
31932
(ndr_print_function_t) ndr_print_spoolss_GetPrinterDriverDirectory,
31937
"spoolss_DeletePrinterDriver",
31938
sizeof(struct spoolss_DeletePrinterDriver),
31939
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterDriver,
31940
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterDriver,
31941
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterDriver,
31946
"spoolss_AddPrintProcessor",
31947
sizeof(struct spoolss_AddPrintProcessor),
31948
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrintProcessor,
31949
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrintProcessor,
31950
(ndr_print_function_t) ndr_print_spoolss_AddPrintProcessor,
31955
"spoolss_EnumPrintProcessors",
31956
sizeof(struct spoolss_EnumPrintProcessors),
31957
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrintProcessors,
31958
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrintProcessors,
31959
(ndr_print_function_t) ndr_print_spoolss_EnumPrintProcessors,
31964
"spoolss_GetPrintProcessorDirectory",
31965
sizeof(struct spoolss_GetPrintProcessorDirectory),
31966
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrintProcessorDirectory,
31967
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrintProcessorDirectory,
31968
(ndr_print_function_t) ndr_print_spoolss_GetPrintProcessorDirectory,
31973
"spoolss_StartDocPrinter",
31974
sizeof(struct spoolss_StartDocPrinter),
31975
(ndr_push_flags_fn_t) ndr_push_spoolss_StartDocPrinter,
31976
(ndr_pull_flags_fn_t) ndr_pull_spoolss_StartDocPrinter,
31977
(ndr_print_function_t) ndr_print_spoolss_StartDocPrinter,
31982
"spoolss_StartPagePrinter",
31983
sizeof(struct spoolss_StartPagePrinter),
31984
(ndr_push_flags_fn_t) ndr_push_spoolss_StartPagePrinter,
31985
(ndr_pull_flags_fn_t) ndr_pull_spoolss_StartPagePrinter,
31986
(ndr_print_function_t) ndr_print_spoolss_StartPagePrinter,
31991
"spoolss_WritePrinter",
31992
sizeof(struct spoolss_WritePrinter),
31993
(ndr_push_flags_fn_t) ndr_push_spoolss_WritePrinter,
31994
(ndr_pull_flags_fn_t) ndr_pull_spoolss_WritePrinter,
31995
(ndr_print_function_t) ndr_print_spoolss_WritePrinter,
32000
"spoolss_EndPagePrinter",
32001
sizeof(struct spoolss_EndPagePrinter),
32002
(ndr_push_flags_fn_t) ndr_push_spoolss_EndPagePrinter,
32003
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EndPagePrinter,
32004
(ndr_print_function_t) ndr_print_spoolss_EndPagePrinter,
32009
"spoolss_AbortPrinter",
32010
sizeof(struct spoolss_AbortPrinter),
32011
(ndr_push_flags_fn_t) ndr_push_spoolss_AbortPrinter,
32012
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AbortPrinter,
32013
(ndr_print_function_t) ndr_print_spoolss_AbortPrinter,
32018
"spoolss_ReadPrinter",
32019
sizeof(struct spoolss_ReadPrinter),
32020
(ndr_push_flags_fn_t) ndr_push_spoolss_ReadPrinter,
32021
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ReadPrinter,
32022
(ndr_print_function_t) ndr_print_spoolss_ReadPrinter,
32027
"spoolss_EndDocPrinter",
32028
sizeof(struct spoolss_EndDocPrinter),
32029
(ndr_push_flags_fn_t) ndr_push_spoolss_EndDocPrinter,
32030
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EndDocPrinter,
32031
(ndr_print_function_t) ndr_print_spoolss_EndDocPrinter,
32037
sizeof(struct spoolss_AddJob),
32038
(ndr_push_flags_fn_t) ndr_push_spoolss_AddJob,
32039
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddJob,
32040
(ndr_print_function_t) ndr_print_spoolss_AddJob,
32045
"spoolss_ScheduleJob",
32046
sizeof(struct spoolss_ScheduleJob),
32047
(ndr_push_flags_fn_t) ndr_push_spoolss_ScheduleJob,
32048
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ScheduleJob,
32049
(ndr_print_function_t) ndr_print_spoolss_ScheduleJob,
32054
"spoolss_GetPrinterData",
32055
sizeof(struct spoolss_GetPrinterData),
32056
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterData,
32057
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterData,
32058
(ndr_print_function_t) ndr_print_spoolss_GetPrinterData,
32063
"spoolss_SetPrinterData",
32064
sizeof(struct spoolss_SetPrinterData),
32065
(ndr_push_flags_fn_t) ndr_push_spoolss_SetPrinterData,
32066
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SetPrinterData,
32067
(ndr_print_function_t) ndr_print_spoolss_SetPrinterData,
32072
"spoolss_WaitForPrinterChange",
32073
sizeof(struct spoolss_WaitForPrinterChange),
32074
(ndr_push_flags_fn_t) ndr_push_spoolss_WaitForPrinterChange,
32075
(ndr_pull_flags_fn_t) ndr_pull_spoolss_WaitForPrinterChange,
32076
(ndr_print_function_t) ndr_print_spoolss_WaitForPrinterChange,
32081
"spoolss_ClosePrinter",
32082
sizeof(struct spoolss_ClosePrinter),
32083
(ndr_push_flags_fn_t) ndr_push_spoolss_ClosePrinter,
32084
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ClosePrinter,
32085
(ndr_print_function_t) ndr_print_spoolss_ClosePrinter,
32091
sizeof(struct spoolss_AddForm),
32092
(ndr_push_flags_fn_t) ndr_push_spoolss_AddForm,
32093
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddForm,
32094
(ndr_print_function_t) ndr_print_spoolss_AddForm,
32099
"spoolss_DeleteForm",
32100
sizeof(struct spoolss_DeleteForm),
32101
(ndr_push_flags_fn_t) ndr_push_spoolss_DeleteForm,
32102
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeleteForm,
32103
(ndr_print_function_t) ndr_print_spoolss_DeleteForm,
32109
sizeof(struct spoolss_GetForm),
32110
(ndr_push_flags_fn_t) ndr_push_spoolss_GetForm,
32111
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetForm,
32112
(ndr_print_function_t) ndr_print_spoolss_GetForm,
32118
sizeof(struct spoolss_SetForm),
32119
(ndr_push_flags_fn_t) ndr_push_spoolss_SetForm,
32120
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SetForm,
32121
(ndr_print_function_t) ndr_print_spoolss_SetForm,
32126
"spoolss_EnumForms",
32127
sizeof(struct spoolss_EnumForms),
32128
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumForms,
32129
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumForms,
32130
(ndr_print_function_t) ndr_print_spoolss_EnumForms,
32135
"spoolss_EnumPorts",
32136
sizeof(struct spoolss_EnumPorts),
32137
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPorts,
32138
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPorts,
32139
(ndr_print_function_t) ndr_print_spoolss_EnumPorts,
32144
"spoolss_EnumMonitors",
32145
sizeof(struct spoolss_EnumMonitors),
32146
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumMonitors,
32147
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumMonitors,
32148
(ndr_print_function_t) ndr_print_spoolss_EnumMonitors,
32154
sizeof(struct spoolss_AddPort),
32155
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPort,
32156
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPort,
32157
(ndr_print_function_t) ndr_print_spoolss_AddPort,
32162
"spoolss_ConfigurePort",
32163
sizeof(struct spoolss_ConfigurePort),
32164
(ndr_push_flags_fn_t) ndr_push_spoolss_ConfigurePort,
32165
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ConfigurePort,
32166
(ndr_print_function_t) ndr_print_spoolss_ConfigurePort,
32171
"spoolss_DeletePort",
32172
sizeof(struct spoolss_DeletePort),
32173
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePort,
32174
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePort,
32175
(ndr_print_function_t) ndr_print_spoolss_DeletePort,
32180
"spoolss_CreatePrinterIC",
32181
sizeof(struct spoolss_CreatePrinterIC),
32182
(ndr_push_flags_fn_t) ndr_push_spoolss_CreatePrinterIC,
32183
(ndr_pull_flags_fn_t) ndr_pull_spoolss_CreatePrinterIC,
32184
(ndr_print_function_t) ndr_print_spoolss_CreatePrinterIC,
32189
"spoolss_PlayGDIScriptOnPrinterIC",
32190
sizeof(struct spoolss_PlayGDIScriptOnPrinterIC),
32191
(ndr_push_flags_fn_t) ndr_push_spoolss_PlayGDIScriptOnPrinterIC,
32192
(ndr_pull_flags_fn_t) ndr_pull_spoolss_PlayGDIScriptOnPrinterIC,
32193
(ndr_print_function_t) ndr_print_spoolss_PlayGDIScriptOnPrinterIC,
32198
"spoolss_DeletePrinterIC",
32199
sizeof(struct spoolss_DeletePrinterIC),
32200
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterIC,
32201
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterIC,
32202
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterIC,
32207
"spoolss_AddPrinterConnection",
32208
sizeof(struct spoolss_AddPrinterConnection),
32209
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterConnection,
32210
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterConnection,
32211
(ndr_print_function_t) ndr_print_spoolss_AddPrinterConnection,
32216
"spoolss_DeletePrinterConnection",
32217
sizeof(struct spoolss_DeletePrinterConnection),
32218
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterConnection,
32219
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterConnection,
32220
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterConnection,
32225
"spoolss_PrinterMessageBox",
32226
sizeof(struct spoolss_PrinterMessageBox),
32227
(ndr_push_flags_fn_t) ndr_push_spoolss_PrinterMessageBox,
32228
(ndr_pull_flags_fn_t) ndr_pull_spoolss_PrinterMessageBox,
32229
(ndr_print_function_t) ndr_print_spoolss_PrinterMessageBox,
32234
"spoolss_AddMonitor",
32235
sizeof(struct spoolss_AddMonitor),
32236
(ndr_push_flags_fn_t) ndr_push_spoolss_AddMonitor,
32237
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddMonitor,
32238
(ndr_print_function_t) ndr_print_spoolss_AddMonitor,
32243
"spoolss_DeleteMonitor",
32244
sizeof(struct spoolss_DeleteMonitor),
32245
(ndr_push_flags_fn_t) ndr_push_spoolss_DeleteMonitor,
32246
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeleteMonitor,
32247
(ndr_print_function_t) ndr_print_spoolss_DeleteMonitor,
32252
"spoolss_DeletePrintProcessor",
32253
sizeof(struct spoolss_DeletePrintProcessor),
32254
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrintProcessor,
32255
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrintProcessor,
32256
(ndr_print_function_t) ndr_print_spoolss_DeletePrintProcessor,
32261
"spoolss_AddPrintProvidor",
32262
sizeof(struct spoolss_AddPrintProvidor),
32263
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrintProvidor,
32264
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrintProvidor,
32265
(ndr_print_function_t) ndr_print_spoolss_AddPrintProvidor,
32270
"spoolss_DeletePrintProvidor",
32271
sizeof(struct spoolss_DeletePrintProvidor),
32272
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrintProvidor,
32273
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrintProvidor,
32274
(ndr_print_function_t) ndr_print_spoolss_DeletePrintProvidor,
32279
"spoolss_EnumPrintProcDataTypes",
32280
sizeof(struct spoolss_EnumPrintProcDataTypes),
32281
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrintProcDataTypes,
32282
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrintProcDataTypes,
32283
(ndr_print_function_t) ndr_print_spoolss_EnumPrintProcDataTypes,
32288
"spoolss_ResetPrinter",
32289
sizeof(struct spoolss_ResetPrinter),
32290
(ndr_push_flags_fn_t) ndr_push_spoolss_ResetPrinter,
32291
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ResetPrinter,
32292
(ndr_print_function_t) ndr_print_spoolss_ResetPrinter,
32297
"spoolss_GetPrinterDriver2",
32298
sizeof(struct spoolss_GetPrinterDriver2),
32299
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriver2,
32300
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriver2,
32301
(ndr_print_function_t) ndr_print_spoolss_GetPrinterDriver2,
32306
"spoolss_FindFirstPrinterChangeNotification",
32307
sizeof(struct spoolss_FindFirstPrinterChangeNotification),
32308
(ndr_push_flags_fn_t) ndr_push_spoolss_FindFirstPrinterChangeNotification,
32309
(ndr_pull_flags_fn_t) ndr_pull_spoolss_FindFirstPrinterChangeNotification,
32310
(ndr_print_function_t) ndr_print_spoolss_FindFirstPrinterChangeNotification,
32315
"spoolss_FindNextPrinterChangeNotification",
32316
sizeof(struct spoolss_FindNextPrinterChangeNotification),
32317
(ndr_push_flags_fn_t) ndr_push_spoolss_FindNextPrinterChangeNotification,
32318
(ndr_pull_flags_fn_t) ndr_pull_spoolss_FindNextPrinterChangeNotification,
32319
(ndr_print_function_t) ndr_print_spoolss_FindNextPrinterChangeNotification,
32324
"spoolss_FindClosePrinterNotify",
32325
sizeof(struct spoolss_FindClosePrinterNotify),
32326
(ndr_push_flags_fn_t) ndr_push_spoolss_FindClosePrinterNotify,
32327
(ndr_pull_flags_fn_t) ndr_pull_spoolss_FindClosePrinterNotify,
32328
(ndr_print_function_t) ndr_print_spoolss_FindClosePrinterNotify,
32333
"spoolss_RouterFindFirstPrinterChangeNotificationOld",
32334
sizeof(struct spoolss_RouterFindFirstPrinterChangeNotificationOld),
32335
(ndr_push_flags_fn_t) ndr_push_spoolss_RouterFindFirstPrinterChangeNotificationOld,
32336
(ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterFindFirstPrinterChangeNotificationOld,
32337
(ndr_print_function_t) ndr_print_spoolss_RouterFindFirstPrinterChangeNotificationOld,
32342
"spoolss_ReplyOpenPrinter",
32343
sizeof(struct spoolss_ReplyOpenPrinter),
32344
(ndr_push_flags_fn_t) ndr_push_spoolss_ReplyOpenPrinter,
32345
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ReplyOpenPrinter,
32346
(ndr_print_function_t) ndr_print_spoolss_ReplyOpenPrinter,
32351
"spoolss_RouterReplyPrinter",
32352
sizeof(struct spoolss_RouterReplyPrinter),
32353
(ndr_push_flags_fn_t) ndr_push_spoolss_RouterReplyPrinter,
32354
(ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterReplyPrinter,
32355
(ndr_print_function_t) ndr_print_spoolss_RouterReplyPrinter,
32360
"spoolss_ReplyClosePrinter",
32361
sizeof(struct spoolss_ReplyClosePrinter),
32362
(ndr_push_flags_fn_t) ndr_push_spoolss_ReplyClosePrinter,
32363
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ReplyClosePrinter,
32364
(ndr_print_function_t) ndr_print_spoolss_ReplyClosePrinter,
32369
"spoolss_AddPortEx",
32370
sizeof(struct spoolss_AddPortEx),
32371
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPortEx,
32372
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPortEx,
32373
(ndr_print_function_t) ndr_print_spoolss_AddPortEx,
32378
"spoolss_RouterFindFirstPrinterChangeNotification",
32379
sizeof(struct spoolss_RouterFindFirstPrinterChangeNotification),
32380
(ndr_push_flags_fn_t) ndr_push_spoolss_RouterFindFirstPrinterChangeNotification,
32381
(ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterFindFirstPrinterChangeNotification,
32382
(ndr_print_function_t) ndr_print_spoolss_RouterFindFirstPrinterChangeNotification,
32387
"spoolss_SpoolerInit",
32388
sizeof(struct spoolss_SpoolerInit),
32389
(ndr_push_flags_fn_t) ndr_push_spoolss_SpoolerInit,
32390
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SpoolerInit,
32391
(ndr_print_function_t) ndr_print_spoolss_SpoolerInit,
32396
"spoolss_ResetPrinterEx",
32397
sizeof(struct spoolss_ResetPrinterEx),
32398
(ndr_push_flags_fn_t) ndr_push_spoolss_ResetPrinterEx,
32399
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ResetPrinterEx,
32400
(ndr_print_function_t) ndr_print_spoolss_ResetPrinterEx,
32405
"spoolss_RemoteFindFirstPrinterChangeNotifyEx",
32406
sizeof(struct spoolss_RemoteFindFirstPrinterChangeNotifyEx),
32407
(ndr_push_flags_fn_t) ndr_push_spoolss_RemoteFindFirstPrinterChangeNotifyEx,
32408
(ndr_pull_flags_fn_t) ndr_pull_spoolss_RemoteFindFirstPrinterChangeNotifyEx,
32409
(ndr_print_function_t) ndr_print_spoolss_RemoteFindFirstPrinterChangeNotifyEx,
32414
"spoolss_RouterReplyPrinterEx",
32415
sizeof(struct spoolss_RouterReplyPrinterEx),
32416
(ndr_push_flags_fn_t) ndr_push_spoolss_RouterReplyPrinterEx,
32417
(ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterReplyPrinterEx,
32418
(ndr_print_function_t) ndr_print_spoolss_RouterReplyPrinterEx,
32423
"spoolss_RouterRefreshPrinterChangeNotify",
32424
sizeof(struct spoolss_RouterRefreshPrinterChangeNotify),
32425
(ndr_push_flags_fn_t) ndr_push_spoolss_RouterRefreshPrinterChangeNotify,
32426
(ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterRefreshPrinterChangeNotify,
32427
(ndr_print_function_t) ndr_print_spoolss_RouterRefreshPrinterChangeNotify,
32433
sizeof(struct spoolss_44),
32434
(ndr_push_flags_fn_t) ndr_push_spoolss_44,
32435
(ndr_pull_flags_fn_t) ndr_pull_spoolss_44,
32436
(ndr_print_function_t) ndr_print_spoolss_44,
32441
"spoolss_OpenPrinterEx",
32442
sizeof(struct spoolss_OpenPrinterEx),
32443
(ndr_push_flags_fn_t) ndr_push_spoolss_OpenPrinterEx,
32444
(ndr_pull_flags_fn_t) ndr_pull_spoolss_OpenPrinterEx,
32445
(ndr_print_function_t) ndr_print_spoolss_OpenPrinterEx,
32450
"spoolss_AddPrinterEx",
32451
sizeof(struct spoolss_AddPrinterEx),
32452
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterEx,
32453
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterEx,
32454
(ndr_print_function_t) ndr_print_spoolss_AddPrinterEx,
32460
sizeof(struct spoolss_SetPort),
32461
(ndr_push_flags_fn_t) ndr_push_spoolss_SetPort,
32462
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SetPort,
32463
(ndr_print_function_t) ndr_print_spoolss_SetPort,
32468
"spoolss_EnumPrinterData",
32469
sizeof(struct spoolss_EnumPrinterData),
32470
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterData,
32471
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterData,
32472
(ndr_print_function_t) ndr_print_spoolss_EnumPrinterData,
32477
"spoolss_DeletePrinterData",
32478
sizeof(struct spoolss_DeletePrinterData),
32479
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterData,
32480
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterData,
32481
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterData,
32487
sizeof(struct spoolss_4a),
32488
(ndr_push_flags_fn_t) ndr_push_spoolss_4a,
32489
(ndr_pull_flags_fn_t) ndr_pull_spoolss_4a,
32490
(ndr_print_function_t) ndr_print_spoolss_4a,
32496
sizeof(struct spoolss_4b),
32497
(ndr_push_flags_fn_t) ndr_push_spoolss_4b,
32498
(ndr_pull_flags_fn_t) ndr_pull_spoolss_4b,
32499
(ndr_print_function_t) ndr_print_spoolss_4b,
32505
sizeof(struct spoolss_4c),
32506
(ndr_push_flags_fn_t) ndr_push_spoolss_4c,
32507
(ndr_pull_flags_fn_t) ndr_pull_spoolss_4c,
32508
(ndr_print_function_t) ndr_print_spoolss_4c,
32513
"spoolss_SetPrinterDataEx",
32514
sizeof(struct spoolss_SetPrinterDataEx),
32515
(ndr_push_flags_fn_t) ndr_push_spoolss_SetPrinterDataEx,
32516
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SetPrinterDataEx,
32517
(ndr_print_function_t) ndr_print_spoolss_SetPrinterDataEx,
32522
"spoolss_GetPrinterDataEx",
32523
sizeof(struct spoolss_GetPrinterDataEx),
32524
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDataEx,
32525
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDataEx,
32526
(ndr_print_function_t) ndr_print_spoolss_GetPrinterDataEx,
32531
"spoolss_EnumPrinterDataEx",
32532
sizeof(struct spoolss_EnumPrinterDataEx),
32533
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterDataEx,
32534
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterDataEx,
32535
(ndr_print_function_t) ndr_print_spoolss_EnumPrinterDataEx,
32540
"spoolss_EnumPrinterKey",
32541
sizeof(struct spoolss_EnumPrinterKey),
32542
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterKey,
32543
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterKey,
32544
(ndr_print_function_t) ndr_print_spoolss_EnumPrinterKey,
32549
"spoolss_DeletePrinterDataEx",
32550
sizeof(struct spoolss_DeletePrinterDataEx),
32551
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterDataEx,
32552
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterDataEx,
32553
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterDataEx,
32558
"spoolss_DeletePrinterKey",
32559
sizeof(struct spoolss_DeletePrinterKey),
32560
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterKey,
32561
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterKey,
32562
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterKey,
32568
sizeof(struct spoolss_53),
32569
(ndr_push_flags_fn_t) ndr_push_spoolss_53,
32570
(ndr_pull_flags_fn_t) ndr_pull_spoolss_53,
32571
(ndr_print_function_t) ndr_print_spoolss_53,
32576
"spoolss_DeletePrinterDriverEx",
32577
sizeof(struct spoolss_DeletePrinterDriverEx),
32578
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterDriverEx,
32579
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterDriverEx,
32580
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterDriverEx,
32585
"spoolss_AddPerMachineConnection",
32586
sizeof(struct spoolss_AddPerMachineConnection),
32587
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPerMachineConnection,
32588
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPerMachineConnection,
32589
(ndr_print_function_t) ndr_print_spoolss_AddPerMachineConnection,
32594
"spoolss_DeletePerMachineConnection",
32595
sizeof(struct spoolss_DeletePerMachineConnection),
32596
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePerMachineConnection,
32597
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePerMachineConnection,
32598
(ndr_print_function_t) ndr_print_spoolss_DeletePerMachineConnection,
32603
"spoolss_EnumPerMachineConnections",
32604
sizeof(struct spoolss_EnumPerMachineConnections),
32605
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPerMachineConnections,
32606
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPerMachineConnections,
32607
(ndr_print_function_t) ndr_print_spoolss_EnumPerMachineConnections,
32613
sizeof(struct spoolss_XcvData),
32614
(ndr_push_flags_fn_t) ndr_push_spoolss_XcvData,
32615
(ndr_pull_flags_fn_t) ndr_pull_spoolss_XcvData,
32616
(ndr_print_function_t) ndr_print_spoolss_XcvData,
32621
"spoolss_AddPrinterDriverEx",
32622
sizeof(struct spoolss_AddPrinterDriverEx),
32623
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterDriverEx,
32624
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterDriverEx,
32625
(ndr_print_function_t) ndr_print_spoolss_AddPrinterDriverEx,
32631
sizeof(struct spoolss_5a),
32632
(ndr_push_flags_fn_t) ndr_push_spoolss_5a,
32633
(ndr_pull_flags_fn_t) ndr_pull_spoolss_5a,
32634
(ndr_print_function_t) ndr_print_spoolss_5a,
32640
sizeof(struct spoolss_5b),
32641
(ndr_push_flags_fn_t) ndr_push_spoolss_5b,
32642
(ndr_pull_flags_fn_t) ndr_pull_spoolss_5b,
32643
(ndr_print_function_t) ndr_print_spoolss_5b,
32649
sizeof(struct spoolss_5c),
32650
(ndr_push_flags_fn_t) ndr_push_spoolss_5c,
32651
(ndr_pull_flags_fn_t) ndr_pull_spoolss_5c,
32652
(ndr_print_function_t) ndr_print_spoolss_5c,
32658
sizeof(struct spoolss_5d),
32659
(ndr_push_flags_fn_t) ndr_push_spoolss_5d,
32660
(ndr_pull_flags_fn_t) ndr_pull_spoolss_5d,
32661
(ndr_print_function_t) ndr_print_spoolss_5d,
32667
sizeof(struct spoolss_5e),
32668
(ndr_push_flags_fn_t) ndr_push_spoolss_5e,
32669
(ndr_pull_flags_fn_t) ndr_pull_spoolss_5e,
32670
(ndr_print_function_t) ndr_print_spoolss_5e,
32676
sizeof(struct spoolss_5f),
32677
(ndr_push_flags_fn_t) ndr_push_spoolss_5f,
32678
(ndr_pull_flags_fn_t) ndr_pull_spoolss_5f,
32679
(ndr_print_function_t) ndr_print_spoolss_5f,
32685
sizeof(struct spoolss_60),
32686
(ndr_push_flags_fn_t) ndr_push_spoolss_60,
32687
(ndr_pull_flags_fn_t) ndr_pull_spoolss_60,
32688
(ndr_print_function_t) ndr_print_spoolss_60,
32694
sizeof(struct spoolss_61),
32695
(ndr_push_flags_fn_t) ndr_push_spoolss_61,
32696
(ndr_pull_flags_fn_t) ndr_pull_spoolss_61,
32697
(ndr_print_function_t) ndr_print_spoolss_61,
32703
sizeof(struct spoolss_62),
32704
(ndr_push_flags_fn_t) ndr_push_spoolss_62,
32705
(ndr_pull_flags_fn_t) ndr_pull_spoolss_62,
32706
(ndr_print_function_t) ndr_print_spoolss_62,
32712
sizeof(struct spoolss_63),
32713
(ndr_push_flags_fn_t) ndr_push_spoolss_63,
32714
(ndr_pull_flags_fn_t) ndr_pull_spoolss_63,
32715
(ndr_print_function_t) ndr_print_spoolss_63,
32721
sizeof(struct spoolss_64),
32722
(ndr_push_flags_fn_t) ndr_push_spoolss_64,
32723
(ndr_pull_flags_fn_t) ndr_pull_spoolss_64,
32724
(ndr_print_function_t) ndr_print_spoolss_64,
32730
sizeof(struct spoolss_65),
32731
(ndr_push_flags_fn_t) ndr_push_spoolss_65,
32732
(ndr_pull_flags_fn_t) ndr_pull_spoolss_65,
32733
(ndr_print_function_t) ndr_print_spoolss_65,
32738
"spoolss_GetCorePrinterDrivers",
32739
sizeof(struct spoolss_GetCorePrinterDrivers),
32740
(ndr_push_flags_fn_t) ndr_push_spoolss_GetCorePrinterDrivers,
32741
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetCorePrinterDrivers,
32742
(ndr_print_function_t) ndr_print_spoolss_GetCorePrinterDrivers,
32748
sizeof(struct spoolss_67),
32749
(ndr_push_flags_fn_t) ndr_push_spoolss_67,
32750
(ndr_pull_flags_fn_t) ndr_pull_spoolss_67,
32751
(ndr_print_function_t) ndr_print_spoolss_67,
32756
"spoolss_GetPrinterDriverPackagePath",
32757
sizeof(struct spoolss_GetPrinterDriverPackagePath),
32758
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriverPackagePath,
32759
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriverPackagePath,
32760
(ndr_print_function_t) ndr_print_spoolss_GetPrinterDriverPackagePath,
32766
sizeof(struct spoolss_69),
32767
(ndr_push_flags_fn_t) ndr_push_spoolss_69,
32768
(ndr_pull_flags_fn_t) ndr_pull_spoolss_69,
32769
(ndr_print_function_t) ndr_print_spoolss_69,
32775
sizeof(struct spoolss_6a),
32776
(ndr_push_flags_fn_t) ndr_push_spoolss_6a,
32777
(ndr_pull_flags_fn_t) ndr_pull_spoolss_6a,
32778
(ndr_print_function_t) ndr_print_spoolss_6a,
32784
sizeof(struct spoolss_6b),
32785
(ndr_push_flags_fn_t) ndr_push_spoolss_6b,
32786
(ndr_pull_flags_fn_t) ndr_pull_spoolss_6b,
32787
(ndr_print_function_t) ndr_print_spoolss_6b,
32793
sizeof(struct spoolss_6c),
32794
(ndr_push_flags_fn_t) ndr_push_spoolss_6c,
32795
(ndr_pull_flags_fn_t) ndr_pull_spoolss_6c,
32796
(ndr_print_function_t) ndr_print_spoolss_6c,
32802
sizeof(struct spoolss_6d),
32803
(ndr_push_flags_fn_t) ndr_push_spoolss_6d,
32804
(ndr_pull_flags_fn_t) ndr_pull_spoolss_6d,
32805
(ndr_print_function_t) ndr_print_spoolss_6d,
32809
{ NULL, 0, NULL, NULL, NULL }
32812
static const char * const spoolss_endpoint_strings[] = {
32813
"ncacn_np:[\\pipe\\spoolss]",
32816
static const struct ndr_interface_string_array spoolss_endpoints = {
32818
.names = spoolss_endpoint_strings
32821
static const char * const spoolss_authservice_strings[] = {
32825
static const struct ndr_interface_string_array spoolss_authservices = {
32827
.names = spoolss_authservice_strings
32831
const struct ndr_interface_table ndr_table_spoolss = {
32834
{0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xab}},
32835
NDR_SPOOLSS_VERSION
32837
.helpstring = NDR_SPOOLSS_HELPSTRING,
32839
.calls = spoolss_calls,
32840
.endpoints = &spoolss_endpoints,
32841
.authservices = &spoolss_authservices