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, struct smb_iconv_convenience *ic, int flags)
49
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_Time, ic);
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->iconv_convenience, 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");
98
ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_spoolss_Time(r->time, ndr->iconv_convenience, ndr->flags):r->size);
99
ndr_print_ptr(ndr, "time", r->time);
102
ndr_print_spoolss_Time(ndr, "time", r->time);
108
static enum ndr_err_code ndr_push_spoolss_ProcessorArchitecture(struct ndr_push *ndr, int ndr_flags, enum spoolss_ProcessorArchitecture r)
110
NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
111
return NDR_ERR_SUCCESS;
114
static enum ndr_err_code ndr_pull_spoolss_ProcessorArchitecture(struct ndr_pull *ndr, int ndr_flags, enum spoolss_ProcessorArchitecture *r)
117
NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
119
return NDR_ERR_SUCCESS;
122
_PUBLIC_ void ndr_print_spoolss_ProcessorArchitecture(struct ndr_print *ndr, const char *name, enum spoolss_ProcessorArchitecture r)
124
const char *val = NULL;
127
case PROCESSOR_ARCHITECTURE_INTEL: val = "PROCESSOR_ARCHITECTURE_INTEL"; break;
128
case PROCESSOR_ARCHITECTURE_IA64: val = "PROCESSOR_ARCHITECTURE_IA64"; break;
129
case PROCESSOR_ARCHITECTURE_AMD64: val = "PROCESSOR_ARCHITECTURE_AMD64"; break;
131
ndr_print_enum(ndr, name, "ENUM", val, r);
134
static enum ndr_err_code ndr_push_spoolss_ProcessorType(struct ndr_push *ndr, int ndr_flags, enum spoolss_ProcessorType r)
136
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
137
return NDR_ERR_SUCCESS;
140
static enum ndr_err_code ndr_pull_spoolss_ProcessorType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_ProcessorType *r)
143
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
145
return NDR_ERR_SUCCESS;
148
_PUBLIC_ void ndr_print_spoolss_ProcessorType(struct ndr_print *ndr, const char *name, enum spoolss_ProcessorType r)
150
const char *val = NULL;
153
case PROCESSOR_INTEL_386: val = "PROCESSOR_INTEL_386"; break;
154
case PROCESSOR_INTEL_486: val = "PROCESSOR_INTEL_486"; break;
155
case PROCESSOR_INTEL_PENTIUM: val = "PROCESSOR_INTEL_PENTIUM"; break;
156
case PROCESSOR_INTEL_IA64: val = "PROCESSOR_INTEL_IA64"; break;
157
case PROCESSOR_AMD_X8664: val = "PROCESSOR_AMD_X8664"; break;
159
ndr_print_enum(ndr, name, "ENUM", val, r);
162
static enum ndr_err_code ndr_push_spoolss_MajorVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_MajorVersion r)
164
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
165
return NDR_ERR_SUCCESS;
168
static enum ndr_err_code ndr_pull_spoolss_MajorVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_MajorVersion *r)
171
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
173
return NDR_ERR_SUCCESS;
176
_PUBLIC_ void ndr_print_spoolss_MajorVersion(struct ndr_print *ndr, const char *name, enum spoolss_MajorVersion r)
178
const char *val = NULL;
181
case SPOOLSS_MAJOR_VERSION_NT4_95_98_ME: val = "SPOOLSS_MAJOR_VERSION_NT4_95_98_ME"; break;
182
case SPOOLSS_MAJOR_VERSION_2000_2003_XP: val = "SPOOLSS_MAJOR_VERSION_2000_2003_XP"; break;
183
case SPOOLSS_MAJOR_VERSION_2008_VISTA: val = "SPOOLSS_MAJOR_VERSION_2008_VISTA"; break;
185
ndr_print_enum(ndr, name, "ENUM", val, r);
188
static enum ndr_err_code ndr_push_spoolss_MinorVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_MinorVersion r)
190
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
191
return NDR_ERR_SUCCESS;
194
static enum ndr_err_code ndr_pull_spoolss_MinorVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_MinorVersion *r)
197
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
199
return NDR_ERR_SUCCESS;
202
_PUBLIC_ void ndr_print_spoolss_MinorVersion(struct ndr_print *ndr, const char *name, enum spoolss_MinorVersion r)
204
const char *val = NULL;
207
case SPOOLSS_MINOR_VERSION_0: val = "SPOOLSS_MINOR_VERSION_0"; break;
208
case SPOOLSS_MINOR_VERSION_XP: val = "SPOOLSS_MINOR_VERSION_XP"; break;
209
case SPOOLSS_MINOR_VERSION_2003_XP64: val = "SPOOLSS_MINOR_VERSION_2003_XP64"; break;
210
case SPOOLSS_MINOR_VERSION_98: val = "SPOOLSS_MINOR_VERSION_98"; break;
211
case SPOOLSS_MINOR_VERSION_ME: val = "SPOOLSS_MINOR_VERSION_ME"; break;
213
ndr_print_enum(ndr, name, "ENUM", val, r);
216
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterStatus(struct ndr_push *ndr, int ndr_flags, uint32_t r)
218
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
219
return NDR_ERR_SUCCESS;
222
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterStatus(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
225
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
227
return NDR_ERR_SUCCESS;
230
_PUBLIC_ void ndr_print_spoolss_PrinterStatus(struct ndr_print *ndr, const char *name, uint32_t r)
232
ndr_print_uint32(ndr, name, r);
234
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAUSED", PRINTER_STATUS_PAUSED, r);
235
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_ERROR", PRINTER_STATUS_ERROR, r);
236
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PENDING_DELETION", PRINTER_STATUS_PENDING_DELETION, r);
237
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAPER_JAM", PRINTER_STATUS_PAPER_JAM, r);
238
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAPER_OUT", PRINTER_STATUS_PAPER_OUT, r);
239
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_MANUAL_FEED", PRINTER_STATUS_MANUAL_FEED, r);
240
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAPER_PROBLEM", PRINTER_STATUS_PAPER_PROBLEM, r);
241
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_OFFLINE", PRINTER_STATUS_OFFLINE, r);
242
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_IO_ACTIVE", PRINTER_STATUS_IO_ACTIVE, r);
243
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_BUSY", PRINTER_STATUS_BUSY, r);
244
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PRINTING", PRINTER_STATUS_PRINTING, r);
245
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_OUTPUT_BIN_FULL", PRINTER_STATUS_OUTPUT_BIN_FULL, r);
246
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_NOT_AVAILABLE", PRINTER_STATUS_NOT_AVAILABLE, r);
247
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_WAITING", PRINTER_STATUS_WAITING, r);
248
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PROCESSING", PRINTER_STATUS_PROCESSING, r);
249
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_INITIALIZING", PRINTER_STATUS_INITIALIZING, r);
250
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_WARMING_UP", PRINTER_STATUS_WARMING_UP, r);
251
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_TONER_LOW", PRINTER_STATUS_TONER_LOW, r);
252
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_NO_TONER", PRINTER_STATUS_NO_TONER, r);
253
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAGE_PUNT", PRINTER_STATUS_PAGE_PUNT, r);
254
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_USER_INTERVENTION", PRINTER_STATUS_USER_INTERVENTION, r);
255
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_OUT_OF_MEMORY", PRINTER_STATUS_OUT_OF_MEMORY, r);
256
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_DOOR_OPEN", PRINTER_STATUS_DOOR_OPEN, r);
257
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_SERVER_UNKNOWN", PRINTER_STATUS_SERVER_UNKNOWN, r);
258
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_POWER_SAVE", PRINTER_STATUS_POWER_SAVE, r);
262
static enum ndr_err_code ndr_push_spoolss_JobStatus(struct ndr_push *ndr, int ndr_flags, uint32_t r)
264
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
265
return NDR_ERR_SUCCESS;
268
static enum ndr_err_code ndr_pull_spoolss_JobStatus(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
271
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
273
return NDR_ERR_SUCCESS;
276
_PUBLIC_ void ndr_print_spoolss_JobStatus(struct ndr_print *ndr, const char *name, uint32_t r)
278
ndr_print_uint32(ndr, name, r);
280
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_PAUSED", JOB_STATUS_PAUSED, r);
281
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_ERROR", JOB_STATUS_ERROR, r);
282
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_DELETING", JOB_STATUS_DELETING, r);
283
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_SPOOLING", JOB_STATUS_SPOOLING, r);
284
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_PRINTING", JOB_STATUS_PRINTING, r);
285
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_OFFLINE", JOB_STATUS_OFFLINE, r);
286
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_PAPEROUT", JOB_STATUS_PAPEROUT, r);
287
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_PRINTED", JOB_STATUS_PRINTED, r);
288
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_DELETED", JOB_STATUS_DELETED, r);
289
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_BLOCKED_DEVQ", JOB_STATUS_BLOCKED_DEVQ, r);
290
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_USER_INTERVENTION", JOB_STATUS_USER_INTERVENTION, r);
291
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_RESTART", JOB_STATUS_RESTART, r);
292
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_COMPLETE", JOB_STATUS_COMPLETE, r);
296
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo0(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo0 *r)
298
if (ndr_flags & NDR_SCALARS) {
299
NDR_CHECK(ndr_push_align(ndr, 5));
301
uint32_t _flags_save_string = ndr->flags;
302
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
303
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername));
304
ndr->flags = _flags_save_string;
307
uint32_t _flags_save_string = ndr->flags;
308
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
309
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->servername));
310
ndr->flags = _flags_save_string;
312
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cjobs));
313
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_jobs));
314
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_bytes));
315
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->time));
316
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->global_counter));
317
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
318
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
319
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->free_build));
320
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->spooling));
321
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_spooling));
322
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_counter));
323
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_error_out_of_paper));
324
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_error_not_ready));
325
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->job_error));
326
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->number_of_processors));
327
NDR_CHECK(ndr_push_spoolss_ProcessorType(ndr, NDR_SCALARS, r->processor_type));
328
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->high_part_total_bytes));
329
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->change_id));
330
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_error));
331
NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
332
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumerate_network_printers));
333
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->c_setprinter));
334
NDR_CHECK(ndr_push_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, r->processor_architecture));
335
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->processor_level));
336
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ref_ic));
337
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved2));
338
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved3));
339
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
341
if (ndr_flags & NDR_BUFFERS) {
343
uint32_t _flags_save_string = ndr->flags;
344
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
345
if (r->printername) {
346
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername));
347
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
348
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername));
350
ndr->flags = _flags_save_string;
353
uint32_t _flags_save_string = ndr->flags;
354
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
356
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->servername));
357
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername));
358
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->servername));
360
ndr->flags = _flags_save_string;
363
return NDR_ERR_SUCCESS;
366
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo0(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo0 *r)
368
uint32_t _ptr_printername;
369
TALLOC_CTX *_mem_save_printername_0;
370
uint32_t _ptr_servername;
371
TALLOC_CTX *_mem_save_servername_0;
372
if (ndr_flags & NDR_SCALARS) {
373
NDR_CHECK(ndr_pull_align(ndr, 5));
375
uint32_t _flags_save_string = ndr->flags;
376
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
377
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
378
if (_ptr_printername) {
379
NDR_PULL_ALLOC(ndr, r->printername);
380
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername));
382
r->printername = NULL;
384
ndr->flags = _flags_save_string;
387
uint32_t _flags_save_string = ndr->flags;
388
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
389
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
390
if (_ptr_servername) {
391
NDR_PULL_ALLOC(ndr, r->servername);
392
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->servername, _ptr_servername));
394
r->servername = NULL;
396
ndr->flags = _flags_save_string;
398
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs));
399
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_jobs));
400
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_bytes));
401
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->time));
402
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->global_counter));
403
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
404
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
405
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->free_build));
406
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->spooling));
407
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_spooling));
408
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_counter));
409
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_error_out_of_paper));
410
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_error_not_ready));
411
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->job_error));
412
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->number_of_processors));
413
NDR_CHECK(ndr_pull_spoolss_ProcessorType(ndr, NDR_SCALARS, &r->processor_type));
414
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->high_part_total_bytes));
415
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->change_id));
416
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_error));
417
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
418
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumerate_network_printers));
419
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->c_setprinter));
420
NDR_CHECK(ndr_pull_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, &r->processor_architecture));
421
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->processor_level));
422
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ref_ic));
423
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
424
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3));
425
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
427
if (ndr_flags & NDR_BUFFERS) {
429
uint32_t _flags_save_string = ndr->flags;
430
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
431
if (r->printername) {
432
uint32_t _relative_save_offset;
433
_relative_save_offset = ndr->offset;
434
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername));
435
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
436
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
437
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
438
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
439
ndr->offset = _relative_save_offset;
441
ndr->flags = _flags_save_string;
444
uint32_t _flags_save_string = ndr->flags;
445
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
447
uint32_t _relative_save_offset;
448
_relative_save_offset = ndr->offset;
449
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->servername));
450
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
451
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
452
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername));
453
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
454
ndr->offset = _relative_save_offset;
456
ndr->flags = _flags_save_string;
459
return NDR_ERR_SUCCESS;
462
_PUBLIC_ void ndr_print_spoolss_PrinterInfo0(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo0 *r)
464
ndr_print_struct(ndr, name, "spoolss_PrinterInfo0");
466
ndr_print_ptr(ndr, "printername", r->printername);
468
if (r->printername) {
469
ndr_print_string(ndr, "printername", r->printername);
472
ndr_print_ptr(ndr, "servername", r->servername);
475
ndr_print_string(ndr, "servername", r->servername);
478
ndr_print_uint32(ndr, "cjobs", r->cjobs);
479
ndr_print_uint32(ndr, "total_jobs", r->total_jobs);
480
ndr_print_uint32(ndr, "total_bytes", r->total_bytes);
481
ndr_print_spoolss_Time(ndr, "time", &r->time);
482
ndr_print_uint32(ndr, "global_counter", r->global_counter);
483
ndr_print_uint32(ndr, "total_pages", r->total_pages);
484
ndr_print_uint32(ndr, "version", r->version);
485
ndr_print_uint32(ndr, "free_build", r->free_build);
486
ndr_print_uint32(ndr, "spooling", r->spooling);
487
ndr_print_uint32(ndr, "max_spooling", r->max_spooling);
488
ndr_print_uint32(ndr, "session_counter", r->session_counter);
489
ndr_print_uint32(ndr, "num_error_out_of_paper", r->num_error_out_of_paper);
490
ndr_print_uint32(ndr, "num_error_not_ready", r->num_error_not_ready);
491
ndr_print_spoolss_JobStatus(ndr, "job_error", r->job_error);
492
ndr_print_uint32(ndr, "number_of_processors", r->number_of_processors);
493
ndr_print_spoolss_ProcessorType(ndr, "processor_type", r->processor_type);
494
ndr_print_uint32(ndr, "high_part_total_bytes", r->high_part_total_bytes);
495
ndr_print_uint32(ndr, "change_id", r->change_id);
496
ndr_print_WERROR(ndr, "last_error", r->last_error);
497
ndr_print_spoolss_PrinterStatus(ndr, "status", r->status);
498
ndr_print_uint32(ndr, "enumerate_network_printers", r->enumerate_network_printers);
499
ndr_print_uint32(ndr, "c_setprinter", r->c_setprinter);
500
ndr_print_spoolss_ProcessorArchitecture(ndr, "processor_architecture", r->processor_architecture);
501
ndr_print_uint16(ndr, "processor_level", r->processor_level);
502
ndr_print_uint32(ndr, "ref_ic", r->ref_ic);
503
ndr_print_uint32(ndr, "reserved2", r->reserved2);
504
ndr_print_uint32(ndr, "reserved3", r->reserved3);
508
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo0(const struct spoolss_PrinterInfo0 *r, struct smb_iconv_convenience *ic, int flags)
510
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo0, ic);
513
static enum ndr_err_code ndr_push_spoolss_DeviceModeFields(struct ndr_push *ndr, int ndr_flags, uint32_t r)
515
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
516
return NDR_ERR_SUCCESS;
519
static enum ndr_err_code ndr_pull_spoolss_DeviceModeFields(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
522
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
524
return NDR_ERR_SUCCESS;
527
_PUBLIC_ void ndr_print_spoolss_DeviceModeFields(struct ndr_print *ndr, const char *name, uint32_t r)
529
ndr_print_uint32(ndr, name, r);
531
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_ORIENTATION", DEVMODE_ORIENTATION, r);
532
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PAPERSIZE", DEVMODE_PAPERSIZE, r);
533
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PAPERLENGTH", DEVMODE_PAPERLENGTH, r);
534
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PAPERWIDTH", DEVMODE_PAPERWIDTH, r);
535
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_SCALE", DEVMODE_SCALE, r);
536
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_POSITION", DEVMODE_POSITION, r);
537
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_NUP", DEVMODE_NUP, r);
538
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_COPIES", DEVMODE_COPIES, r);
539
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DEFAULTSOURCE", DEVMODE_DEFAULTSOURCE, r);
540
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PRINTQUALITY", DEVMODE_PRINTQUALITY, r);
541
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_COLOR", DEVMODE_COLOR, r);
542
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DUPLEX", DEVMODE_DUPLEX, r);
543
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_YRESOLUTION", DEVMODE_YRESOLUTION, r);
544
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_TTOPTION", DEVMODE_TTOPTION, r);
545
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_COLLATE", DEVMODE_COLLATE, r);
546
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_FORMNAME", DEVMODE_FORMNAME, r);
547
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_LOGPIXELS", DEVMODE_LOGPIXELS, r);
548
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_BITSPERPEL", DEVMODE_BITSPERPEL, r);
549
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PELSWIDTH", DEVMODE_PELSWIDTH, r);
550
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PELSHEIGHT", DEVMODE_PELSHEIGHT, r);
551
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DISPLAYFLAGS", DEVMODE_DISPLAYFLAGS, r);
552
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DISPLAYFREQUENCY", DEVMODE_DISPLAYFREQUENCY, r);
553
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_ICMMETHOD", DEVMODE_ICMMETHOD, r);
554
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_ICMINTENT", DEVMODE_ICMINTENT, r);
555
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_MEDIATYPE", DEVMODE_MEDIATYPE, r);
556
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DITHERTYPE", DEVMODE_DITHERTYPE, r);
557
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PANNINGWIDTH", DEVMODE_PANNINGWIDTH, r);
558
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PANNINGHEIGHT", DEVMODE_PANNINGHEIGHT, r);
562
static enum ndr_err_code ndr_push_spoolss_DeviceModeSpecVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeSpecVersion r)
564
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
565
return NDR_ERR_SUCCESS;
568
static enum ndr_err_code ndr_pull_spoolss_DeviceModeSpecVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeSpecVersion *r)
571
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
573
return NDR_ERR_SUCCESS;
576
_PUBLIC_ void ndr_print_spoolss_DeviceModeSpecVersion(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeSpecVersion r)
578
const char *val = NULL;
581
case DMSPEC_NT3: val = "DMSPEC_NT3"; break;
582
case DMSPEC_WIN95_98_ME: val = "DMSPEC_WIN95_98_ME"; break;
583
case DMSPEC_NT4_AND_ABOVE: val = "DMSPEC_NT4_AND_ABOVE"; break;
585
ndr_print_enum(ndr, name, "ENUM", val, r);
588
static enum ndr_err_code ndr_push_spoolss_DeviceModeOrientation(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeOrientation r)
590
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
591
return NDR_ERR_SUCCESS;
594
static enum ndr_err_code ndr_pull_spoolss_DeviceModeOrientation(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeOrientation *r)
597
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
599
return NDR_ERR_SUCCESS;
602
_PUBLIC_ void ndr_print_spoolss_DeviceModeOrientation(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeOrientation r)
604
const char *val = NULL;
607
case DMORIENT_PORTRAIT: val = "DMORIENT_PORTRAIT"; break;
608
case DMORIENT_LANDSCAPE: val = "DMORIENT_LANDSCAPE"; break;
610
ndr_print_enum(ndr, name, "ENUM", val, r);
613
static enum ndr_err_code ndr_push_spoolss_DeviceModePaperSize(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModePaperSize r)
615
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
616
return NDR_ERR_SUCCESS;
619
static enum ndr_err_code ndr_pull_spoolss_DeviceModePaperSize(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModePaperSize *r)
622
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
624
return NDR_ERR_SUCCESS;
627
_PUBLIC_ void ndr_print_spoolss_DeviceModePaperSize(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModePaperSize r)
629
const char *val = NULL;
632
case DMPAPER_LETTER: val = "DMPAPER_LETTER"; break;
633
case DMPAPER_LETTERSMALL: val = "DMPAPER_LETTERSMALL"; break;
634
case DMPAPER_TABLOID: val = "DMPAPER_TABLOID"; break;
635
case DMPAPER_LEDGER: val = "DMPAPER_LEDGER"; break;
636
case DMPAPER_LEGAL: val = "DMPAPER_LEGAL"; break;
637
case DMPAPER_STATEMENT: val = "DMPAPER_STATEMENT"; break;
638
case DMPAPER_EXECUTIVE: val = "DMPAPER_EXECUTIVE"; break;
639
case DMPAPER_A3: val = "DMPAPER_A3"; break;
640
case DMPAPER_A4: val = "DMPAPER_A4"; break;
641
case DMPAPER_A4SMALL: val = "DMPAPER_A4SMALL"; break;
642
case DMPAPER_A5: val = "DMPAPER_A5"; break;
643
case DMPAPER_B4: val = "DMPAPER_B4"; break;
644
case DMPAPER_B5: val = "DMPAPER_B5"; break;
645
case DMPAPER_FOLIO: val = "DMPAPER_FOLIO"; break;
646
case DMPAPER_QUARTO: val = "DMPAPER_QUARTO"; break;
647
case DMPAPER_10X14: val = "DMPAPER_10X14"; break;
648
case DMPAPER_11X17: val = "DMPAPER_11X17"; break;
649
case DMPAPER_NOTE: val = "DMPAPER_NOTE"; break;
650
case DMPAPER_ENV_9: val = "DMPAPER_ENV_9"; break;
651
case DMPAPER_ENV_10: val = "DMPAPER_ENV_10"; break;
652
case DMPAPER_ENV_11: val = "DMPAPER_ENV_11"; break;
653
case DMPAPER_ENV_12: val = "DMPAPER_ENV_12"; break;
654
case DMPAPER_ENV_14: val = "DMPAPER_ENV_14"; break;
655
case DMPAPER_CSHEET: val = "DMPAPER_CSHEET"; break;
656
case DMPAPER_DSHEET: val = "DMPAPER_DSHEET"; break;
657
case DMPAPER_ESHEET: val = "DMPAPER_ESHEET"; break;
658
case DMPAPER_ENV_DL: val = "DMPAPER_ENV_DL"; break;
659
case DMPAPER_ENV_C5: val = "DMPAPER_ENV_C5"; break;
660
case DMPAPER_ENV_C3: val = "DMPAPER_ENV_C3"; break;
661
case DMPAPER_ENV_C4: val = "DMPAPER_ENV_C4"; break;
662
case DMPAPER_ENV_C6: val = "DMPAPER_ENV_C6"; break;
663
case DMPAPER_ENV_C65: val = "DMPAPER_ENV_C65"; break;
664
case DMPAPER_ENV_B4: val = "DMPAPER_ENV_B4"; break;
665
case DMPAPER_ENV_B5: val = "DMPAPER_ENV_B5"; break;
666
case DMPAPER_ENV_B6: val = "DMPAPER_ENV_B6"; break;
667
case DMPAPER_ENV_ITALY: val = "DMPAPER_ENV_ITALY"; break;
668
case DMPAPER_ENV_MONARCH: val = "DMPAPER_ENV_MONARCH"; break;
669
case DMPAPER_ENV_PERSONAL: val = "DMPAPER_ENV_PERSONAL"; break;
670
case DMPAPER_FANFOLD_US: val = "DMPAPER_FANFOLD_US"; break;
671
case DMPAPER_FANFOLD_STD_GERMAN: val = "DMPAPER_FANFOLD_STD_GERMAN"; break;
672
case DMPAPER_FANFOLD_LGL_GERMAN: val = "DMPAPER_FANFOLD_LGL_GERMAN"; break;
673
case DMPAPER_DBL_JAPANESE_POSTCARD: val = "DMPAPER_DBL_JAPANESE_POSTCARD"; break;
674
case DMPAPER_A6: val = "DMPAPER_A6"; break;
675
case DMPAPER_JENV_KAKU2: val = "DMPAPER_JENV_KAKU2"; break;
676
case DMPAPER_JENV_KAKU3: val = "DMPAPER_JENV_KAKU3"; break;
677
case DMPAPER_JENV_CHOU3: val = "DMPAPER_JENV_CHOU3"; break;
678
case DMPAPER_JENV_CHOU4: val = "DMPAPER_JENV_CHOU4"; break;
679
case DMPAPER_LETTER_ROTATED: val = "DMPAPER_LETTER_ROTATED"; break;
680
case DMPAPER_A3_ROTATED: val = "DMPAPER_A3_ROTATED"; break;
681
case DMPAPER_A4_ROTATED: val = "DMPAPER_A4_ROTATED"; break;
682
case DMPAPER_A5_ROTATED: val = "DMPAPER_A5_ROTATED"; break;
683
case DMPAPER_B4_JIS_ROTATED: val = "DMPAPER_B4_JIS_ROTATED"; break;
684
case DMPAPER_B5_JIS_ROTATED: val = "DMPAPER_B5_JIS_ROTATED"; break;
685
case DMPAPER_JAPANESE_POSTCARD_ROTATED: val = "DMPAPER_JAPANESE_POSTCARD_ROTATED"; break;
686
case DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED: val = "DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED"; break;
687
case DMPAPER_A6_ROTATED: val = "DMPAPER_A6_ROTATED"; break;
688
case DMPAPER_JENV_KAKU2_ROTATED: val = "DMPAPER_JENV_KAKU2_ROTATED"; break;
689
case DMPAPER_JENV_KAKU3_ROTATED: val = "DMPAPER_JENV_KAKU3_ROTATED"; break;
690
case DMPAPER_JENV_CHOU3_ROTATED: val = "DMPAPER_JENV_CHOU3_ROTATED"; break;
691
case DMPAPER_JENV_CHOU4_ROTATED: val = "DMPAPER_JENV_CHOU4_ROTATED"; break;
692
case DMPAPER_B6_JIS: val = "DMPAPER_B6_JIS"; break;
693
case DMPAPER_B6_JIS_ROTATED: val = "DMPAPER_B6_JIS_ROTATED"; break;
694
case DMPAPER_12X11: val = "DMPAPER_12X11"; break;
695
case DMPAPER_JENV_YOU4: val = "DMPAPER_JENV_YOU4"; break;
696
case DMPAPER_JENV_YOU4_ROTATED: val = "DMPAPER_JENV_YOU4_ROTATED"; break;
697
case DMPAPER_P16K: val = "DMPAPER_P16K"; break;
698
case DMPAPER_P32K: val = "DMPAPER_P32K"; break;
699
case DMPAPER_P32KBIG: val = "DMPAPER_P32KBIG"; break;
700
case DMPAPER_PENV_1: val = "DMPAPER_PENV_1"; break;
701
case DMPAPER_PENV_2: val = "DMPAPER_PENV_2"; break;
702
case DMPAPER_PENV_3: val = "DMPAPER_PENV_3"; break;
703
case DMPAPER_PENV_4: val = "DMPAPER_PENV_4"; break;
704
case DMPAPER_PENV_5: val = "DMPAPER_PENV_5"; break;
705
case DMPAPER_PENV_6: val = "DMPAPER_PENV_6"; break;
706
case DMPAPER_PENV_7: val = "DMPAPER_PENV_7"; break;
707
case DMPAPER_PENV_8: val = "DMPAPER_PENV_8"; break;
708
case DMPAPER_PENV_9: val = "DMPAPER_PENV_9"; break;
709
case DMPAPER_PENV_10: val = "DMPAPER_PENV_10"; break;
710
case DMPAPER_P16K_ROTATED: val = "DMPAPER_P16K_ROTATED"; break;
711
case DMPAPER_P32K_ROTATED: val = "DMPAPER_P32K_ROTATED"; break;
712
case DMPAPER_P32KBIG_ROTATED: val = "DMPAPER_P32KBIG_ROTATED"; break;
713
case DMPAPER_PENV_1_ROTATED: val = "DMPAPER_PENV_1_ROTATED"; break;
714
case DMPAPER_PENV_2_ROTATED: val = "DMPAPER_PENV_2_ROTATED"; break;
715
case DMPAPER_PENV_3_ROTATED: val = "DMPAPER_PENV_3_ROTATED"; break;
716
case DMPAPER_PENV_4_ROTATED: val = "DMPAPER_PENV_4_ROTATED"; break;
717
case DMPAPER_PENV_5_ROTATED: val = "DMPAPER_PENV_5_ROTATED"; break;
718
case DMPAPER_PENV_6_ROTATED: val = "DMPAPER_PENV_6_ROTATED"; break;
719
case DMPAPER_PENV_7_ROTATED: val = "DMPAPER_PENV_7_ROTATED"; break;
720
case DMPAPER_PENV_8_ROTATED: val = "DMPAPER_PENV_8_ROTATED"; break;
721
case DMPAPER_PENV_9_ROTATED: val = "DMPAPER_PENV_9_ROTATED"; break;
722
case DMPAPER_PENV_10_ROTATED: val = "DMPAPER_PENV_10_ROTATED"; break;
724
ndr_print_enum(ndr, name, "ENUM", val, r);
727
static enum ndr_err_code ndr_push_spoolss_DeviceModeDefaultSource(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeDefaultSource r)
729
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
730
return NDR_ERR_SUCCESS;
733
static enum ndr_err_code ndr_pull_spoolss_DeviceModeDefaultSource(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeDefaultSource *r)
736
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
738
return NDR_ERR_SUCCESS;
741
_PUBLIC_ void ndr_print_spoolss_DeviceModeDefaultSource(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDefaultSource r)
743
const char *val = NULL;
746
case DMBIN_UPPER: val = "DMBIN_UPPER"; break;
747
case DMBIN_LOWER: val = "DMBIN_LOWER"; break;
748
case DMBIN_MIDDLE: val = "DMBIN_MIDDLE"; break;
749
case DMBIN_MANUAL: val = "DMBIN_MANUAL"; break;
750
case DMBIN_ENVELOPE: val = "DMBIN_ENVELOPE"; break;
751
case DMBIN_ENVMANUAL: val = "DMBIN_ENVMANUAL"; break;
752
case DMBIN_AUTO: val = "DMBIN_AUTO"; break;
753
case DMBIN_TRACTOR: val = "DMBIN_TRACTOR"; break;
754
case DMBIN_SMALLFMT: val = "DMBIN_SMALLFMT"; break;
755
case DMBIN_LARGEFMT: val = "DMBIN_LARGEFMT"; break;
756
case DMBIN_LARGECAPACITY: val = "DMBIN_LARGECAPACITY"; break;
757
case DMBIN_CASSETTE: val = "DMBIN_CASSETTE"; break;
758
case DMBIN_FORMSOURCE: val = "DMBIN_FORMSOURCE"; break;
760
ndr_print_enum(ndr, name, "ENUM", val, r);
763
static enum ndr_err_code ndr_push_spoolss_DeviceModePrintQuality(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModePrintQuality r)
765
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
766
return NDR_ERR_SUCCESS;
769
static enum ndr_err_code ndr_pull_spoolss_DeviceModePrintQuality(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModePrintQuality *r)
772
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
774
return NDR_ERR_SUCCESS;
777
_PUBLIC_ void ndr_print_spoolss_DeviceModePrintQuality(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModePrintQuality r)
779
const char *val = NULL;
782
case DMRES_HIGH: val = "DMRES_HIGH"; break;
783
case DMRES_MEDIUM: val = "DMRES_MEDIUM"; break;
784
case DMRES_LOW: val = "DMRES_LOW"; break;
785
case DMRES_DRAFT: val = "DMRES_DRAFT"; break;
787
ndr_print_enum(ndr, name, "ENUM", val, r);
790
static enum ndr_err_code ndr_push_spoolss_DeviceModeColor(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeColor r)
792
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
793
return NDR_ERR_SUCCESS;
796
static enum ndr_err_code ndr_pull_spoolss_DeviceModeColor(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeColor *r)
799
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
801
return NDR_ERR_SUCCESS;
804
_PUBLIC_ void ndr_print_spoolss_DeviceModeColor(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeColor r)
806
const char *val = NULL;
809
case DMRES_MONOCHROME: val = "DMRES_MONOCHROME"; break;
810
case DMRES_COLOR: val = "DMRES_COLOR"; break;
812
ndr_print_enum(ndr, name, "ENUM", val, r);
815
static enum ndr_err_code ndr_push_spoolss_DeviceModeDuplex(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeDuplex r)
817
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
818
return NDR_ERR_SUCCESS;
821
static enum ndr_err_code ndr_pull_spoolss_DeviceModeDuplex(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeDuplex *r)
824
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
826
return NDR_ERR_SUCCESS;
829
_PUBLIC_ void ndr_print_spoolss_DeviceModeDuplex(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDuplex r)
831
const char *val = NULL;
834
case DMDUP_SIMPLEX: val = "DMDUP_SIMPLEX"; break;
835
case DMDUP_VERTICAL: val = "DMDUP_VERTICAL"; break;
836
case DMDUP_HORIZONTAL: val = "DMDUP_HORIZONTAL"; break;
838
ndr_print_enum(ndr, name, "ENUM", val, r);
841
static enum ndr_err_code ndr_push_spoolss_DeviceModeTTOption(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeTTOption r)
843
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
844
return NDR_ERR_SUCCESS;
847
static enum ndr_err_code ndr_pull_spoolss_DeviceModeTTOption(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeTTOption *r)
850
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
852
return NDR_ERR_SUCCESS;
855
_PUBLIC_ void ndr_print_spoolss_DeviceModeTTOption(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeTTOption r)
857
const char *val = NULL;
860
case DMTT_BITMAP: val = "DMTT_BITMAP"; break;
861
case DMTT_DOWNLOAD: val = "DMTT_DOWNLOAD"; break;
862
case DMTT_SUBDEV: val = "DMTT_SUBDEV"; break;
863
case DMTT_DOWNLOAD_OUTLINE: val = "DMTT_DOWNLOAD_OUTLINE"; break;
865
ndr_print_enum(ndr, name, "ENUM", val, r);
868
static enum ndr_err_code ndr_push_spoolss_DeviceModeCollate(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeCollate r)
870
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
871
return NDR_ERR_SUCCESS;
874
static enum ndr_err_code ndr_pull_spoolss_DeviceModeCollate(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeCollate *r)
877
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
879
return NDR_ERR_SUCCESS;
882
_PUBLIC_ void ndr_print_spoolss_DeviceModeCollate(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeCollate r)
884
const char *val = NULL;
887
case DMCOLLATE_FALSE: val = "DMCOLLATE_FALSE"; break;
888
case DMCOLLATE_TRUE: val = "DMCOLLATE_TRUE"; break;
890
ndr_print_enum(ndr, name, "ENUM", val, r);
893
static enum ndr_err_code ndr_push_spoolss_DeviceModeNUp(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeNUp r)
895
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
896
return NDR_ERR_SUCCESS;
899
static enum ndr_err_code ndr_pull_spoolss_DeviceModeNUp(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeNUp *r)
902
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
904
return NDR_ERR_SUCCESS;
907
_PUBLIC_ void ndr_print_spoolss_DeviceModeNUp(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeNUp r)
909
const char *val = NULL;
912
case DMNUP_SYSTEM: val = "DMNUP_SYSTEM"; break;
913
case DMNUP_ONEUP: val = "DMNUP_ONEUP"; break;
915
ndr_print_enum(ndr, name, "ENUM", val, r);
918
static enum ndr_err_code ndr_push_spoolss_DeviceModeICMMethod(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeICMMethod r)
920
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
921
return NDR_ERR_SUCCESS;
924
static enum ndr_err_code ndr_pull_spoolss_DeviceModeICMMethod(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeICMMethod *r)
927
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
929
return NDR_ERR_SUCCESS;
932
_PUBLIC_ void ndr_print_spoolss_DeviceModeICMMethod(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeICMMethod r)
934
const char *val = NULL;
937
case DMICMMETHOD_NONE: val = "DMICMMETHOD_NONE"; break;
938
case DMICMMETHOD_SYSTEM: val = "DMICMMETHOD_SYSTEM"; break;
939
case DMICMMETHOD_DRIVER: val = "DMICMMETHOD_DRIVER"; break;
940
case DMICMMETHOD_DEVICE: val = "DMICMMETHOD_DEVICE"; break;
942
ndr_print_enum(ndr, name, "ENUM", val, r);
945
static enum ndr_err_code ndr_push_spoolss_DeviceModeICMIntent(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeICMIntent r)
947
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
948
return NDR_ERR_SUCCESS;
951
static enum ndr_err_code ndr_pull_spoolss_DeviceModeICMIntent(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeICMIntent *r)
954
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
956
return NDR_ERR_SUCCESS;
959
_PUBLIC_ void ndr_print_spoolss_DeviceModeICMIntent(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeICMIntent r)
961
const char *val = NULL;
964
case DMICM_SATURATE: val = "DMICM_SATURATE"; break;
965
case DMICM_CONTRAST: val = "DMICM_CONTRAST"; break;
966
case DMICM_COLORIMETRIC: val = "DMICM_COLORIMETRIC"; break;
967
case DMICM_ABS_COLORIMETRIC: val = "DMICM_ABS_COLORIMETRIC"; break;
969
ndr_print_enum(ndr, name, "ENUM", val, r);
972
static enum ndr_err_code ndr_push_spoolss_DeviceModeMediaType(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeMediaType r)
974
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
975
return NDR_ERR_SUCCESS;
978
static enum ndr_err_code ndr_pull_spoolss_DeviceModeMediaType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeMediaType *r)
981
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
983
return NDR_ERR_SUCCESS;
986
_PUBLIC_ void ndr_print_spoolss_DeviceModeMediaType(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeMediaType r)
988
const char *val = NULL;
991
case DMMEDIA_STANDARD: val = "DMMEDIA_STANDARD"; break;
992
case DMMEDIA_TRANSPARENCY: val = "DMMEDIA_TRANSPARENCY"; break;
993
case DMMEDIA_GLOSSY: val = "DMMEDIA_GLOSSY"; break;
995
ndr_print_enum(ndr, name, "ENUM", val, r);
998
static enum ndr_err_code ndr_push_spoolss_DeviceModeDitherType(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeDitherType r)
1000
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1001
return NDR_ERR_SUCCESS;
1004
static enum ndr_err_code ndr_pull_spoolss_DeviceModeDitherType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeDitherType *r)
1007
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1009
return NDR_ERR_SUCCESS;
1012
_PUBLIC_ void ndr_print_spoolss_DeviceModeDitherType(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDitherType r)
1014
const char *val = NULL;
1017
case DMDITHER_NONE: val = "DMDITHER_NONE"; break;
1018
case DMDITHER_COARSE: val = "DMDITHER_COARSE"; break;
1019
case DMDITHER_FINE: val = "DMDITHER_FINE"; break;
1020
case DMDITHER_LINEART: val = "DMDITHER_LINEART"; break;
1021
case DMDITHER_ERRORDIFFUSION: val = "DMDITHER_ERRORDIFFUSION"; break;
1022
case DMDITHER_RESERVED6: val = "DMDITHER_RESERVED6"; break;
1023
case DMDITHER_RESERVED7: val = "DMDITHER_RESERVED7"; break;
1024
case DMDITHER_RESERVED8: val = "DMDITHER_RESERVED8"; break;
1025
case DMDITHER_RESERVED9: val = "DMDITHER_RESERVED9"; break;
1026
case DMDITHER_GRAYSCALE: val = "DMDITHER_GRAYSCALE"; break;
1028
ndr_print_enum(ndr, name, "ENUM", val, r);
1031
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DeviceMode(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DeviceMode *r)
1033
if (ndr_flags & NDR_SCALARS) {
1034
NDR_CHECK(ndr_push_align(ndr, 4));
1035
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->devicename, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16));
1036
NDR_CHECK(ndr_push_spoolss_DeviceModeSpecVersion(ndr, NDR_SCALARS, r->specversion));
1037
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->driverversion));
1038
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
1039
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->driverextra_data.length));
1040
NDR_CHECK(ndr_push_spoolss_DeviceModeFields(ndr, NDR_SCALARS, r->fields));
1041
NDR_CHECK(ndr_push_spoolss_DeviceModeOrientation(ndr, NDR_SCALARS, r->orientation));
1042
NDR_CHECK(ndr_push_spoolss_DeviceModePaperSize(ndr, NDR_SCALARS, r->papersize));
1043
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->paperlength));
1044
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->paperwidth));
1045
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->scale));
1046
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->copies));
1047
NDR_CHECK(ndr_push_spoolss_DeviceModeDefaultSource(ndr, NDR_SCALARS, r->defaultsource));
1048
NDR_CHECK(ndr_push_spoolss_DeviceModePrintQuality(ndr, NDR_SCALARS, r->printquality));
1049
NDR_CHECK(ndr_push_spoolss_DeviceModeColor(ndr, NDR_SCALARS, r->color));
1050
NDR_CHECK(ndr_push_spoolss_DeviceModeDuplex(ndr, NDR_SCALARS, r->duplex));
1051
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->yresolution));
1052
NDR_CHECK(ndr_push_spoolss_DeviceModeTTOption(ndr, NDR_SCALARS, r->ttoption));
1053
NDR_CHECK(ndr_push_spoolss_DeviceModeCollate(ndr, NDR_SCALARS, r->collate));
1054
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->formname, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16));
1055
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logpixels));
1056
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bitsperpel));
1057
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pelswidth));
1058
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pelsheight));
1059
NDR_CHECK(ndr_push_spoolss_DeviceModeNUp(ndr, NDR_SCALARS, r->displayflags));
1060
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->displayfrequency));
1061
NDR_CHECK(ndr_push_spoolss_DeviceModeICMMethod(ndr, NDR_SCALARS, r->icmmethod));
1062
NDR_CHECK(ndr_push_spoolss_DeviceModeICMIntent(ndr, NDR_SCALARS, r->icmintent));
1063
NDR_CHECK(ndr_push_spoolss_DeviceModeMediaType(ndr, NDR_SCALARS, r->mediatype));
1064
NDR_CHECK(ndr_push_spoolss_DeviceModeDitherType(ndr, NDR_SCALARS, r->dithertype));
1065
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved1));
1066
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved2));
1067
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->panningwidth));
1068
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->panningheight));
1070
uint32_t _flags_save_DATA_BLOB = ndr->flags;
1071
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1073
struct ndr_push *_ndr_driverextra_data;
1074
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_driverextra_data, 0, r->driverextra_data.length));
1075
NDR_CHECK(ndr_push_DATA_BLOB(_ndr_driverextra_data, NDR_SCALARS, r->driverextra_data));
1076
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_driverextra_data, 0, r->driverextra_data.length));
1078
ndr->flags = _flags_save_DATA_BLOB;
1080
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1082
if (ndr_flags & NDR_BUFFERS) {
1084
return NDR_ERR_SUCCESS;
1087
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DeviceMode(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DeviceMode *r)
1089
if (ndr_flags & NDR_SCALARS) {
1090
NDR_CHECK(ndr_pull_align(ndr, 4));
1091
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->devicename, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16));
1092
NDR_CHECK(ndr_pull_spoolss_DeviceModeSpecVersion(ndr, NDR_SCALARS, &r->specversion));
1093
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->driverversion));
1094
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
1095
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->__driverextra_length));
1096
NDR_CHECK(ndr_pull_spoolss_DeviceModeFields(ndr, NDR_SCALARS, &r->fields));
1097
NDR_CHECK(ndr_pull_spoolss_DeviceModeOrientation(ndr, NDR_SCALARS, &r->orientation));
1098
NDR_CHECK(ndr_pull_spoolss_DeviceModePaperSize(ndr, NDR_SCALARS, &r->papersize));
1099
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->paperlength));
1100
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->paperwidth));
1101
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->scale));
1102
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->copies));
1103
NDR_CHECK(ndr_pull_spoolss_DeviceModeDefaultSource(ndr, NDR_SCALARS, &r->defaultsource));
1104
NDR_CHECK(ndr_pull_spoolss_DeviceModePrintQuality(ndr, NDR_SCALARS, &r->printquality));
1105
NDR_CHECK(ndr_pull_spoolss_DeviceModeColor(ndr, NDR_SCALARS, &r->color));
1106
NDR_CHECK(ndr_pull_spoolss_DeviceModeDuplex(ndr, NDR_SCALARS, &r->duplex));
1107
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->yresolution));
1108
NDR_CHECK(ndr_pull_spoolss_DeviceModeTTOption(ndr, NDR_SCALARS, &r->ttoption));
1109
NDR_CHECK(ndr_pull_spoolss_DeviceModeCollate(ndr, NDR_SCALARS, &r->collate));
1110
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->formname, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16));
1111
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logpixels));
1112
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bitsperpel));
1113
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pelswidth));
1114
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pelsheight));
1115
NDR_CHECK(ndr_pull_spoolss_DeviceModeNUp(ndr, NDR_SCALARS, &r->displayflags));
1116
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->displayfrequency));
1117
NDR_CHECK(ndr_pull_spoolss_DeviceModeICMMethod(ndr, NDR_SCALARS, &r->icmmethod));
1118
NDR_CHECK(ndr_pull_spoolss_DeviceModeICMIntent(ndr, NDR_SCALARS, &r->icmintent));
1119
NDR_CHECK(ndr_pull_spoolss_DeviceModeMediaType(ndr, NDR_SCALARS, &r->mediatype));
1120
NDR_CHECK(ndr_pull_spoolss_DeviceModeDitherType(ndr, NDR_SCALARS, &r->dithertype));
1121
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1122
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
1123
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->panningwidth));
1124
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->panningheight));
1126
uint32_t _flags_save_DATA_BLOB = ndr->flags;
1127
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1129
struct ndr_pull *_ndr_driverextra_data;
1130
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_driverextra_data, 0, r->__driverextra_length));
1131
NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_driverextra_data, NDR_SCALARS, &r->driverextra_data));
1132
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_driverextra_data, 0, r->__driverextra_length));
1134
ndr->flags = _flags_save_DATA_BLOB;
1136
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1138
if (ndr_flags & NDR_BUFFERS) {
1140
return NDR_ERR_SUCCESS;
1143
_PUBLIC_ void ndr_print_spoolss_DeviceMode(struct ndr_print *ndr, const char *name, const struct spoolss_DeviceMode *r)
1145
ndr_print_struct(ndr, name, "spoolss_DeviceMode");
1147
ndr_print_string(ndr, "devicename", r->devicename);
1148
ndr_print_spoolss_DeviceModeSpecVersion(ndr, "specversion", r->specversion);
1149
ndr_print_uint16(ndr, "driverversion", r->driverversion);
1150
ndr_print_uint16(ndr, "size", r->size);
1151
ndr_print_uint16(ndr, "__driverextra_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->driverextra_data.length:r->__driverextra_length);
1152
ndr_print_spoolss_DeviceModeFields(ndr, "fields", r->fields);
1153
ndr_print_spoolss_DeviceModeOrientation(ndr, "orientation", r->orientation);
1154
ndr_print_spoolss_DeviceModePaperSize(ndr, "papersize", r->papersize);
1155
ndr_print_uint16(ndr, "paperlength", r->paperlength);
1156
ndr_print_uint16(ndr, "paperwidth", r->paperwidth);
1157
ndr_print_uint16(ndr, "scale", r->scale);
1158
ndr_print_uint16(ndr, "copies", r->copies);
1159
ndr_print_spoolss_DeviceModeDefaultSource(ndr, "defaultsource", r->defaultsource);
1160
ndr_print_spoolss_DeviceModePrintQuality(ndr, "printquality", r->printquality);
1161
ndr_print_spoolss_DeviceModeColor(ndr, "color", r->color);
1162
ndr_print_spoolss_DeviceModeDuplex(ndr, "duplex", r->duplex);
1163
ndr_print_uint16(ndr, "yresolution", r->yresolution);
1164
ndr_print_spoolss_DeviceModeTTOption(ndr, "ttoption", r->ttoption);
1165
ndr_print_spoolss_DeviceModeCollate(ndr, "collate", r->collate);
1166
ndr_print_string(ndr, "formname", r->formname);
1167
ndr_print_uint16(ndr, "logpixels", r->logpixels);
1168
ndr_print_uint32(ndr, "bitsperpel", r->bitsperpel);
1169
ndr_print_uint32(ndr, "pelswidth", r->pelswidth);
1170
ndr_print_uint32(ndr, "pelsheight", r->pelsheight);
1171
ndr_print_spoolss_DeviceModeNUp(ndr, "displayflags", r->displayflags);
1172
ndr_print_uint32(ndr, "displayfrequency", r->displayfrequency);
1173
ndr_print_spoolss_DeviceModeICMMethod(ndr, "icmmethod", r->icmmethod);
1174
ndr_print_spoolss_DeviceModeICMIntent(ndr, "icmintent", r->icmintent);
1175
ndr_print_spoolss_DeviceModeMediaType(ndr, "mediatype", r->mediatype);
1176
ndr_print_spoolss_DeviceModeDitherType(ndr, "dithertype", r->dithertype);
1177
ndr_print_uint32(ndr, "reserved1", r->reserved1);
1178
ndr_print_uint32(ndr, "reserved2", r->reserved2);
1179
ndr_print_uint32(ndr, "panningwidth", r->panningwidth);
1180
ndr_print_uint32(ndr, "panningheight", r->panningheight);
1181
ndr_print_DATA_BLOB(ndr, "driverextra_data", r->driverextra_data);
1185
_PUBLIC_ size_t ndr_size_spoolss_DeviceMode(const struct spoolss_DeviceMode *r, struct smb_iconv_convenience *ic, int flags)
1187
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DeviceMode, ic);
1190
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_EnumPrinterFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1192
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1193
return NDR_ERR_SUCCESS;
1196
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_EnumPrinterFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1199
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1201
return NDR_ERR_SUCCESS;
1204
_PUBLIC_ void ndr_print_spoolss_EnumPrinterFlags(struct ndr_print *ndr, const char *name, uint32_t r)
1206
ndr_print_uint32(ndr, name, r);
1208
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_DEFAULT", PRINTER_ENUM_DEFAULT, r);
1209
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_LOCAL", PRINTER_ENUM_LOCAL, r);
1210
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_CONNECTIONS", PRINTER_ENUM_CONNECTIONS, r);
1211
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_FAVORITE", PRINTER_ENUM_FAVORITE, r);
1212
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_NAME", PRINTER_ENUM_NAME, r);
1213
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_REMOTE", PRINTER_ENUM_REMOTE, r);
1214
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_SHARED", PRINTER_ENUM_SHARED, r);
1215
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_NETWORK", PRINTER_ENUM_NETWORK, r);
1216
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_EXPAND", PRINTER_ENUM_EXPAND, r);
1217
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_CONTAINER", PRINTER_ENUM_CONTAINER, r);
1218
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON1", PRINTER_ENUM_ICON1, r);
1219
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON2", PRINTER_ENUM_ICON2, r);
1220
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON3", PRINTER_ENUM_ICON3, r);
1221
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON4", PRINTER_ENUM_ICON4, r);
1222
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON5", PRINTER_ENUM_ICON5, r);
1223
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON6", PRINTER_ENUM_ICON6, r);
1224
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON7", PRINTER_ENUM_ICON7, r);
1225
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON8", PRINTER_ENUM_ICON8, r);
1226
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_HIDE", PRINTER_ENUM_HIDE, r);
1230
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1232
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1233
return NDR_ERR_SUCCESS;
1236
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1239
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1241
return NDR_ERR_SUCCESS;
1244
_PUBLIC_ void ndr_print_spoolss_PrinterAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
1246
ndr_print_uint32(ndr, name, r);
1248
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_QUEUED", PRINTER_ATTRIBUTE_QUEUED, r);
1249
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_DIRECT", PRINTER_ATTRIBUTE_DIRECT, r);
1250
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_DEFAULT", PRINTER_ATTRIBUTE_DEFAULT, r);
1251
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_SHARED", PRINTER_ATTRIBUTE_SHARED, r);
1252
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_NETWORK", PRINTER_ATTRIBUTE_NETWORK, r);
1253
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_HIDDEN", PRINTER_ATTRIBUTE_HIDDEN, r);
1254
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_LOCAL", PRINTER_ATTRIBUTE_LOCAL, r);
1255
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_ENABLE_DEVQ", PRINTER_ATTRIBUTE_ENABLE_DEVQ, r);
1256
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS", PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS, r);
1257
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST", PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST, r);
1258
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_WORK_OFFLINE", PRINTER_ATTRIBUTE_WORK_OFFLINE, r);
1259
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_ENABLE_BIDI", PRINTER_ATTRIBUTE_ENABLE_BIDI, r);
1260
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_RAW_ONLY", PRINTER_ATTRIBUTE_RAW_ONLY, r);
1261
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_PUBLISHED", PRINTER_ATTRIBUTE_PUBLISHED, r);
1262
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_FAX", PRINTER_ATTRIBUTE_FAX, r);
1263
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_TS", PRINTER_ATTRIBUTE_TS, r);
1267
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo1 *r)
1269
if (ndr_flags & NDR_SCALARS) {
1270
NDR_CHECK(ndr_push_align(ndr, 5));
1271
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->flags));
1273
uint32_t _flags_save_string = ndr->flags;
1274
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1275
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->description));
1276
ndr->flags = _flags_save_string;
1279
uint32_t _flags_save_string = ndr->flags;
1280
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1281
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->name));
1282
ndr->flags = _flags_save_string;
1285
uint32_t _flags_save_string = ndr->flags;
1286
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1287
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->comment));
1288
ndr->flags = _flags_save_string;
1290
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1292
if (ndr_flags & NDR_BUFFERS) {
1294
uint32_t _flags_save_string = ndr->flags;
1295
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1296
if (r->description) {
1297
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->description));
1298
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description));
1299
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->description));
1301
ndr->flags = _flags_save_string;
1304
uint32_t _flags_save_string = ndr->flags;
1305
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1307
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->name));
1308
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name));
1309
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->name));
1311
ndr->flags = _flags_save_string;
1314
uint32_t _flags_save_string = ndr->flags;
1315
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1317
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->comment));
1318
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->comment));
1319
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->comment));
1321
ndr->flags = _flags_save_string;
1324
return NDR_ERR_SUCCESS;
1327
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo1 *r)
1329
uint32_t _ptr_description;
1330
TALLOC_CTX *_mem_save_description_0;
1332
TALLOC_CTX *_mem_save_name_0;
1333
uint32_t _ptr_comment;
1334
TALLOC_CTX *_mem_save_comment_0;
1335
if (ndr_flags & NDR_SCALARS) {
1336
NDR_CHECK(ndr_pull_align(ndr, 5));
1337
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->flags));
1339
uint32_t _flags_save_string = ndr->flags;
1340
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1341
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description));
1342
if (_ptr_description) {
1343
NDR_PULL_ALLOC(ndr, r->description);
1344
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->description, _ptr_description));
1346
r->description = NULL;
1348
ndr->flags = _flags_save_string;
1351
uint32_t _flags_save_string = ndr->flags;
1352
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1353
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
1355
NDR_PULL_ALLOC(ndr, r->name);
1356
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->name, _ptr_name));
1360
ndr->flags = _flags_save_string;
1363
uint32_t _flags_save_string = ndr->flags;
1364
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1365
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
1367
NDR_PULL_ALLOC(ndr, r->comment);
1368
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->comment, _ptr_comment));
1372
ndr->flags = _flags_save_string;
1374
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1376
if (ndr_flags & NDR_BUFFERS) {
1378
uint32_t _flags_save_string = ndr->flags;
1379
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1380
if (r->description) {
1381
uint32_t _relative_save_offset;
1382
_relative_save_offset = ndr->offset;
1383
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->description));
1384
_mem_save_description_0 = NDR_PULL_GET_MEM_CTX(ndr);
1385
NDR_PULL_SET_MEM_CTX(ndr, r->description, 0);
1386
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->description));
1387
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0);
1388
ndr->offset = _relative_save_offset;
1390
ndr->flags = _flags_save_string;
1393
uint32_t _flags_save_string = ndr->flags;
1394
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1396
uint32_t _relative_save_offset;
1397
_relative_save_offset = ndr->offset;
1398
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->name));
1399
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1400
NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
1401
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name));
1402
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
1403
ndr->offset = _relative_save_offset;
1405
ndr->flags = _flags_save_string;
1408
uint32_t _flags_save_string = ndr->flags;
1409
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1411
uint32_t _relative_save_offset;
1412
_relative_save_offset = ndr->offset;
1413
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->comment));
1414
_mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
1415
NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
1416
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->comment));
1417
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
1418
ndr->offset = _relative_save_offset;
1420
ndr->flags = _flags_save_string;
1423
return NDR_ERR_SUCCESS;
1426
_PUBLIC_ void ndr_print_spoolss_PrinterInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo1 *r)
1428
ndr_print_struct(ndr, name, "spoolss_PrinterInfo1");
1430
ndr_print_spoolss_PrinterAttributes(ndr, "flags", r->flags);
1431
ndr_print_ptr(ndr, "description", r->description);
1433
if (r->description) {
1434
ndr_print_string(ndr, "description", r->description);
1437
ndr_print_ptr(ndr, "name", r->name);
1440
ndr_print_string(ndr, "name", r->name);
1443
ndr_print_ptr(ndr, "comment", r->comment);
1446
ndr_print_string(ndr, "comment", r->comment);
1452
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo1(const struct spoolss_PrinterInfo1 *r, struct smb_iconv_convenience *ic, int flags)
1454
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo1, ic);
1457
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo2 *r)
1459
uint32_t _ptr_servername;
1460
TALLOC_CTX *_mem_save_servername_0;
1461
uint32_t _ptr_printername;
1462
TALLOC_CTX *_mem_save_printername_0;
1463
uint32_t _ptr_sharename;
1464
TALLOC_CTX *_mem_save_sharename_0;
1465
uint32_t _ptr_portname;
1466
TALLOC_CTX *_mem_save_portname_0;
1467
uint32_t _ptr_drivername;
1468
TALLOC_CTX *_mem_save_drivername_0;
1469
uint32_t _ptr_comment;
1470
TALLOC_CTX *_mem_save_comment_0;
1471
uint32_t _ptr_location;
1472
TALLOC_CTX *_mem_save_location_0;
1473
uint32_t _ptr_devmode;
1474
TALLOC_CTX *_mem_save_devmode_0;
1475
uint32_t _ptr_sepfile;
1476
TALLOC_CTX *_mem_save_sepfile_0;
1477
uint32_t _ptr_printprocessor;
1478
TALLOC_CTX *_mem_save_printprocessor_0;
1479
uint32_t _ptr_datatype;
1480
TALLOC_CTX *_mem_save_datatype_0;
1481
uint32_t _ptr_parameters;
1482
TALLOC_CTX *_mem_save_parameters_0;
1483
uint32_t _ptr_secdesc;
1484
TALLOC_CTX *_mem_save_secdesc_0;
1485
if (ndr_flags & NDR_SCALARS) {
1486
NDR_CHECK(ndr_pull_align(ndr, 5));
1488
uint32_t _flags_save_string = ndr->flags;
1489
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1490
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
1491
if (_ptr_servername) {
1492
NDR_PULL_ALLOC(ndr, r->servername);
1493
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->servername, _ptr_servername));
1495
r->servername = NULL;
1497
ndr->flags = _flags_save_string;
1500
uint32_t _flags_save_string = ndr->flags;
1501
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1502
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
1503
if (_ptr_printername) {
1504
NDR_PULL_ALLOC(ndr, r->printername);
1505
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername));
1507
r->printername = NULL;
1509
ndr->flags = _flags_save_string;
1512
uint32_t _flags_save_string = ndr->flags;
1513
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1514
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename));
1515
if (_ptr_sharename) {
1516
NDR_PULL_ALLOC(ndr, r->sharename);
1517
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->sharename, _ptr_sharename));
1519
r->sharename = NULL;
1521
ndr->flags = _flags_save_string;
1524
uint32_t _flags_save_string = ndr->flags;
1525
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1526
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname));
1527
if (_ptr_portname) {
1528
NDR_PULL_ALLOC(ndr, r->portname);
1529
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->portname, _ptr_portname));
1533
ndr->flags = _flags_save_string;
1536
uint32_t _flags_save_string = ndr->flags;
1537
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1538
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_drivername));
1539
if (_ptr_drivername) {
1540
NDR_PULL_ALLOC(ndr, r->drivername);
1541
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->drivername, _ptr_drivername));
1543
r->drivername = NULL;
1545
ndr->flags = _flags_save_string;
1548
uint32_t _flags_save_string = ndr->flags;
1549
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1550
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
1552
NDR_PULL_ALLOC(ndr, r->comment);
1553
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->comment, _ptr_comment));
1557
ndr->flags = _flags_save_string;
1560
uint32_t _flags_save_string = ndr->flags;
1561
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1562
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_location));
1563
if (_ptr_location) {
1564
NDR_PULL_ALLOC(ndr, r->location);
1565
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->location, _ptr_location));
1569
ndr->flags = _flags_save_string;
1572
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
1573
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
1574
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
1576
NDR_PULL_ALLOC(ndr, r->devmode);
1577
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
1581
ndr->flags = _flags_save_spoolss_DeviceMode;
1584
uint32_t _flags_save_string = ndr->flags;
1585
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1586
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sepfile));
1588
NDR_PULL_ALLOC(ndr, r->sepfile);
1589
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->sepfile, _ptr_sepfile));
1593
ndr->flags = _flags_save_string;
1596
uint32_t _flags_save_string = ndr->flags;
1597
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1598
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printprocessor));
1599
if (_ptr_printprocessor) {
1600
NDR_PULL_ALLOC(ndr, r->printprocessor);
1601
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printprocessor, _ptr_printprocessor));
1603
r->printprocessor = NULL;
1605
ndr->flags = _flags_save_string;
1608
uint32_t _flags_save_string = ndr->flags;
1609
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1610
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
1611
if (_ptr_datatype) {
1612
NDR_PULL_ALLOC(ndr, r->datatype);
1613
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->datatype, _ptr_datatype));
1617
ndr->flags = _flags_save_string;
1620
uint32_t _flags_save_string = ndr->flags;
1621
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1622
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
1623
if (_ptr_parameters) {
1624
NDR_PULL_ALLOC(ndr, r->parameters);
1625
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->parameters, _ptr_parameters));
1627
r->parameters = NULL;
1629
ndr->flags = _flags_save_string;
1632
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
1633
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
1634
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
1636
NDR_PULL_ALLOC(ndr, r->secdesc);
1637
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
1641
ndr->flags = _flags_save_spoolss_security_descriptor;
1643
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
1644
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
1645
if (r->priority > 99) {
1646
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1648
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->defaultpriority));
1649
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->starttime));
1650
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->untiltime));
1651
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
1652
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs));
1653
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->averageppm));
1654
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1656
if (ndr_flags & NDR_BUFFERS) {
1658
uint32_t _flags_save_string = ndr->flags;
1659
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1660
if (r->servername) {
1661
uint32_t _relative_save_offset;
1662
_relative_save_offset = ndr->offset;
1663
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->servername));
1664
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
1665
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
1666
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername));
1667
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
1668
ndr->offset = _relative_save_offset;
1670
ndr->flags = _flags_save_string;
1673
uint32_t _flags_save_string = ndr->flags;
1674
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1675
if (r->printername) {
1676
uint32_t _relative_save_offset;
1677
_relative_save_offset = ndr->offset;
1678
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername));
1679
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
1680
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
1681
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
1682
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
1683
ndr->offset = _relative_save_offset;
1685
ndr->flags = _flags_save_string;
1688
uint32_t _flags_save_string = ndr->flags;
1689
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1691
uint32_t _relative_save_offset;
1692
_relative_save_offset = ndr->offset;
1693
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->sharename));
1694
_mem_save_sharename_0 = NDR_PULL_GET_MEM_CTX(ndr);
1695
NDR_PULL_SET_MEM_CTX(ndr, r->sharename, 0);
1696
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->sharename));
1697
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0);
1698
ndr->offset = _relative_save_offset;
1700
ndr->flags = _flags_save_string;
1703
uint32_t _flags_save_string = ndr->flags;
1704
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1706
uint32_t _relative_save_offset;
1707
_relative_save_offset = ndr->offset;
1708
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->portname));
1709
_mem_save_portname_0 = NDR_PULL_GET_MEM_CTX(ndr);
1710
NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0);
1711
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->portname));
1712
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0);
1713
ndr->offset = _relative_save_offset;
1715
ndr->flags = _flags_save_string;
1718
uint32_t _flags_save_string = ndr->flags;
1719
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1720
if (r->drivername) {
1721
uint32_t _relative_save_offset;
1722
_relative_save_offset = ndr->offset;
1723
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->drivername));
1724
_mem_save_drivername_0 = NDR_PULL_GET_MEM_CTX(ndr);
1725
NDR_PULL_SET_MEM_CTX(ndr, r->drivername, 0);
1726
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->drivername));
1727
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_drivername_0, 0);
1728
ndr->offset = _relative_save_offset;
1730
ndr->flags = _flags_save_string;
1733
uint32_t _flags_save_string = ndr->flags;
1734
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1736
uint32_t _relative_save_offset;
1737
_relative_save_offset = ndr->offset;
1738
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->comment));
1739
_mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
1740
NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
1741
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->comment));
1742
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
1743
ndr->offset = _relative_save_offset;
1745
ndr->flags = _flags_save_string;
1748
uint32_t _flags_save_string = ndr->flags;
1749
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1751
uint32_t _relative_save_offset;
1752
_relative_save_offset = ndr->offset;
1753
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->location));
1754
_mem_save_location_0 = NDR_PULL_GET_MEM_CTX(ndr);
1755
NDR_PULL_SET_MEM_CTX(ndr, r->location, 0);
1756
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->location));
1757
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_location_0, 0);
1758
ndr->offset = _relative_save_offset;
1760
ndr->flags = _flags_save_string;
1763
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
1764
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
1766
uint32_t _relative_save_offset;
1767
_relative_save_offset = ndr->offset;
1768
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
1769
_mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
1770
NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
1772
struct ndr_pull *_ndr_devmode;
1773
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
1774
NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
1775
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
1777
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
1778
ndr->offset = _relative_save_offset;
1780
ndr->flags = _flags_save_spoolss_DeviceMode;
1783
uint32_t _flags_save_string = ndr->flags;
1784
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1786
uint32_t _relative_save_offset;
1787
_relative_save_offset = ndr->offset;
1788
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->sepfile));
1789
_mem_save_sepfile_0 = NDR_PULL_GET_MEM_CTX(ndr);
1790
NDR_PULL_SET_MEM_CTX(ndr, r->sepfile, 0);
1791
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->sepfile));
1792
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sepfile_0, 0);
1793
ndr->offset = _relative_save_offset;
1795
ndr->flags = _flags_save_string;
1798
uint32_t _flags_save_string = ndr->flags;
1799
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1800
if (r->printprocessor) {
1801
uint32_t _relative_save_offset;
1802
_relative_save_offset = ndr->offset;
1803
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printprocessor));
1804
_mem_save_printprocessor_0 = NDR_PULL_GET_MEM_CTX(ndr);
1805
NDR_PULL_SET_MEM_CTX(ndr, r->printprocessor, 0);
1806
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printprocessor));
1807
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printprocessor_0, 0);
1808
ndr->offset = _relative_save_offset;
1810
ndr->flags = _flags_save_string;
1813
uint32_t _flags_save_string = ndr->flags;
1814
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1816
uint32_t _relative_save_offset;
1817
_relative_save_offset = ndr->offset;
1818
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->datatype));
1819
_mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
1820
NDR_PULL_SET_MEM_CTX(ndr, r->datatype, 0);
1821
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->datatype));
1822
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
1823
ndr->offset = _relative_save_offset;
1825
ndr->flags = _flags_save_string;
1828
uint32_t _flags_save_string = ndr->flags;
1829
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1830
if (r->parameters) {
1831
uint32_t _relative_save_offset;
1832
_relative_save_offset = ndr->offset;
1833
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->parameters));
1834
_mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
1835
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
1836
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->parameters));
1837
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
1838
ndr->offset = _relative_save_offset;
1840
ndr->flags = _flags_save_string;
1843
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
1844
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
1846
uint32_t _relative_save_offset;
1847
_relative_save_offset = ndr->offset;
1848
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
1849
_mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
1850
NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
1852
struct ndr_pull *_ndr_secdesc;
1853
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
1854
NDR_CHECK(ndr_pull_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
1855
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
1857
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
1858
ndr->offset = _relative_save_offset;
1860
ndr->flags = _flags_save_spoolss_security_descriptor;
1863
return NDR_ERR_SUCCESS;
1866
_PUBLIC_ void ndr_print_spoolss_PrinterInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo2 *r)
1868
ndr_print_struct(ndr, name, "spoolss_PrinterInfo2");
1870
ndr_print_ptr(ndr, "servername", r->servername);
1872
if (r->servername) {
1873
ndr_print_string(ndr, "servername", r->servername);
1876
ndr_print_ptr(ndr, "printername", r->printername);
1878
if (r->printername) {
1879
ndr_print_string(ndr, "printername", r->printername);
1882
ndr_print_ptr(ndr, "sharename", r->sharename);
1885
ndr_print_string(ndr, "sharename", r->sharename);
1888
ndr_print_ptr(ndr, "portname", r->portname);
1891
ndr_print_string(ndr, "portname", r->portname);
1894
ndr_print_ptr(ndr, "drivername", r->drivername);
1896
if (r->drivername) {
1897
ndr_print_string(ndr, "drivername", r->drivername);
1900
ndr_print_ptr(ndr, "comment", r->comment);
1903
ndr_print_string(ndr, "comment", r->comment);
1906
ndr_print_ptr(ndr, "location", r->location);
1909
ndr_print_string(ndr, "location", r->location);
1912
ndr_print_ptr(ndr, "devmode", r->devmode);
1915
ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
1918
ndr_print_ptr(ndr, "sepfile", r->sepfile);
1921
ndr_print_string(ndr, "sepfile", r->sepfile);
1924
ndr_print_ptr(ndr, "printprocessor", r->printprocessor);
1926
if (r->printprocessor) {
1927
ndr_print_string(ndr, "printprocessor", r->printprocessor);
1930
ndr_print_ptr(ndr, "datatype", r->datatype);
1933
ndr_print_string(ndr, "datatype", r->datatype);
1936
ndr_print_ptr(ndr, "parameters", r->parameters);
1938
if (r->parameters) {
1939
ndr_print_string(ndr, "parameters", r->parameters);
1942
ndr_print_ptr(ndr, "secdesc", r->secdesc);
1945
ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc);
1948
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
1949
ndr_print_uint32(ndr, "priority", r->priority);
1950
ndr_print_uint32(ndr, "defaultpriority", r->defaultpriority);
1951
ndr_print_uint32(ndr, "starttime", r->starttime);
1952
ndr_print_uint32(ndr, "untiltime", r->untiltime);
1953
ndr_print_spoolss_PrinterStatus(ndr, "status", r->status);
1954
ndr_print_uint32(ndr, "cjobs", r->cjobs);
1955
ndr_print_uint32(ndr, "averageppm", r->averageppm);
1959
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo2(const struct spoolss_PrinterInfo2 *r, struct smb_iconv_convenience *ic, int flags)
1961
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo2, ic);
1964
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo3 *r)
1966
if (ndr_flags & NDR_SCALARS) {
1967
NDR_CHECK(ndr_push_align(ndr, 5));
1969
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
1970
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
1971
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
1972
ndr->flags = _flags_save_spoolss_security_descriptor;
1974
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1976
if (ndr_flags & NDR_BUFFERS) {
1978
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
1979
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
1981
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc));
1983
struct ndr_push *_ndr_secdesc;
1984
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
1985
NDR_CHECK(ndr_push_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
1986
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
1988
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc));
1990
ndr->flags = _flags_save_spoolss_security_descriptor;
1993
return NDR_ERR_SUCCESS;
1996
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo3 *r)
1998
uint32_t _ptr_secdesc;
1999
TALLOC_CTX *_mem_save_secdesc_0;
2000
if (ndr_flags & NDR_SCALARS) {
2001
NDR_CHECK(ndr_pull_align(ndr, 5));
2003
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
2004
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2005
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
2007
NDR_PULL_ALLOC(ndr, r->secdesc);
2008
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
2012
ndr->flags = _flags_save_spoolss_security_descriptor;
2014
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2016
if (ndr_flags & NDR_BUFFERS) {
2018
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
2019
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2021
uint32_t _relative_save_offset;
2022
_relative_save_offset = ndr->offset;
2023
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
2024
_mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
2025
NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
2027
struct ndr_pull *_ndr_secdesc;
2028
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
2029
NDR_CHECK(ndr_pull_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
2030
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
2032
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
2033
ndr->offset = _relative_save_offset;
2035
ndr->flags = _flags_save_spoolss_security_descriptor;
2038
return NDR_ERR_SUCCESS;
2041
_PUBLIC_ void ndr_print_spoolss_PrinterInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo3 *r)
2043
ndr_print_struct(ndr, name, "spoolss_PrinterInfo3");
2045
ndr_print_ptr(ndr, "secdesc", r->secdesc);
2048
ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc);
2054
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo3(const struct spoolss_PrinterInfo3 *r, struct smb_iconv_convenience *ic, int flags)
2056
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo3, ic);
2059
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo4 *r)
2061
if (ndr_flags & NDR_SCALARS) {
2062
NDR_CHECK(ndr_push_align(ndr, 5));
2064
uint32_t _flags_save_string = ndr->flags;
2065
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2066
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername));
2067
ndr->flags = _flags_save_string;
2070
uint32_t _flags_save_string = ndr->flags;
2071
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2072
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->servername));
2073
ndr->flags = _flags_save_string;
2075
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
2076
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2078
if (ndr_flags & NDR_BUFFERS) {
2080
uint32_t _flags_save_string = ndr->flags;
2081
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2082
if (r->printername) {
2083
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername));
2084
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
2085
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername));
2087
ndr->flags = _flags_save_string;
2090
uint32_t _flags_save_string = ndr->flags;
2091
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2092
if (r->servername) {
2093
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->servername));
2094
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername));
2095
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->servername));
2097
ndr->flags = _flags_save_string;
2100
return NDR_ERR_SUCCESS;
2103
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo4 *r)
2105
uint32_t _ptr_printername;
2106
TALLOC_CTX *_mem_save_printername_0;
2107
uint32_t _ptr_servername;
2108
TALLOC_CTX *_mem_save_servername_0;
2109
if (ndr_flags & NDR_SCALARS) {
2110
NDR_CHECK(ndr_pull_align(ndr, 5));
2112
uint32_t _flags_save_string = ndr->flags;
2113
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2114
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
2115
if (_ptr_printername) {
2116
NDR_PULL_ALLOC(ndr, r->printername);
2117
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername));
2119
r->printername = NULL;
2121
ndr->flags = _flags_save_string;
2124
uint32_t _flags_save_string = ndr->flags;
2125
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2126
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
2127
if (_ptr_servername) {
2128
NDR_PULL_ALLOC(ndr, r->servername);
2129
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->servername, _ptr_servername));
2131
r->servername = NULL;
2133
ndr->flags = _flags_save_string;
2135
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
2136
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2138
if (ndr_flags & NDR_BUFFERS) {
2140
uint32_t _flags_save_string = ndr->flags;
2141
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2142
if (r->printername) {
2143
uint32_t _relative_save_offset;
2144
_relative_save_offset = ndr->offset;
2145
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername));
2146
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
2147
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
2148
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
2149
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
2150
ndr->offset = _relative_save_offset;
2152
ndr->flags = _flags_save_string;
2155
uint32_t _flags_save_string = ndr->flags;
2156
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2157
if (r->servername) {
2158
uint32_t _relative_save_offset;
2159
_relative_save_offset = ndr->offset;
2160
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->servername));
2161
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
2162
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
2163
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername));
2164
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
2165
ndr->offset = _relative_save_offset;
2167
ndr->flags = _flags_save_string;
2170
return NDR_ERR_SUCCESS;
2173
_PUBLIC_ void ndr_print_spoolss_PrinterInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo4 *r)
2175
ndr_print_struct(ndr, name, "spoolss_PrinterInfo4");
2177
ndr_print_ptr(ndr, "printername", r->printername);
2179
if (r->printername) {
2180
ndr_print_string(ndr, "printername", r->printername);
2183
ndr_print_ptr(ndr, "servername", r->servername);
2185
if (r->servername) {
2186
ndr_print_string(ndr, "servername", r->servername);
2189
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
2193
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo4(const struct spoolss_PrinterInfo4 *r, struct smb_iconv_convenience *ic, int flags)
2195
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo4, ic);
2198
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo5(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo5 *r)
2200
if (ndr_flags & NDR_SCALARS) {
2201
NDR_CHECK(ndr_push_align(ndr, 5));
2203
uint32_t _flags_save_string = ndr->flags;
2204
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2205
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername));
2206
ndr->flags = _flags_save_string;
2209
uint32_t _flags_save_string = ndr->flags;
2210
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2211
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->portname));
2212
ndr->flags = _flags_save_string;
2214
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
2215
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->device_not_selected_timeout));
2216
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->transmission_retry_timeout));
2217
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2219
if (ndr_flags & NDR_BUFFERS) {
2221
uint32_t _flags_save_string = ndr->flags;
2222
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2223
if (r->printername) {
2224
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername));
2225
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
2226
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername));
2228
ndr->flags = _flags_save_string;
2231
uint32_t _flags_save_string = ndr->flags;
2232
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2234
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->portname));
2235
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->portname));
2236
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->portname));
2238
ndr->flags = _flags_save_string;
2241
return NDR_ERR_SUCCESS;
2244
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo5(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo5 *r)
2246
uint32_t _ptr_printername;
2247
TALLOC_CTX *_mem_save_printername_0;
2248
uint32_t _ptr_portname;
2249
TALLOC_CTX *_mem_save_portname_0;
2250
if (ndr_flags & NDR_SCALARS) {
2251
NDR_CHECK(ndr_pull_align(ndr, 5));
2253
uint32_t _flags_save_string = ndr->flags;
2254
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2255
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
2256
if (_ptr_printername) {
2257
NDR_PULL_ALLOC(ndr, r->printername);
2258
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername));
2260
r->printername = NULL;
2262
ndr->flags = _flags_save_string;
2265
uint32_t _flags_save_string = ndr->flags;
2266
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2267
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname));
2268
if (_ptr_portname) {
2269
NDR_PULL_ALLOC(ndr, r->portname);
2270
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->portname, _ptr_portname));
2274
ndr->flags = _flags_save_string;
2276
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
2277
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->device_not_selected_timeout));
2278
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->transmission_retry_timeout));
2279
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2281
if (ndr_flags & NDR_BUFFERS) {
2283
uint32_t _flags_save_string = ndr->flags;
2284
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2285
if (r->printername) {
2286
uint32_t _relative_save_offset;
2287
_relative_save_offset = ndr->offset;
2288
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername));
2289
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
2290
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
2291
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
2292
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
2293
ndr->offset = _relative_save_offset;
2295
ndr->flags = _flags_save_string;
2298
uint32_t _flags_save_string = ndr->flags;
2299
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2301
uint32_t _relative_save_offset;
2302
_relative_save_offset = ndr->offset;
2303
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->portname));
2304
_mem_save_portname_0 = NDR_PULL_GET_MEM_CTX(ndr);
2305
NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0);
2306
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->portname));
2307
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0);
2308
ndr->offset = _relative_save_offset;
2310
ndr->flags = _flags_save_string;
2313
return NDR_ERR_SUCCESS;
2316
_PUBLIC_ void ndr_print_spoolss_PrinterInfo5(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo5 *r)
2318
ndr_print_struct(ndr, name, "spoolss_PrinterInfo5");
2320
ndr_print_ptr(ndr, "printername", r->printername);
2322
if (r->printername) {
2323
ndr_print_string(ndr, "printername", r->printername);
2326
ndr_print_ptr(ndr, "portname", r->portname);
2329
ndr_print_string(ndr, "portname", r->portname);
2332
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
2333
ndr_print_uint32(ndr, "device_not_selected_timeout", r->device_not_selected_timeout);
2334
ndr_print_uint32(ndr, "transmission_retry_timeout", r->transmission_retry_timeout);
2338
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo5(const struct spoolss_PrinterInfo5 *r, struct smb_iconv_convenience *ic, int flags)
2340
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo5, ic);
2343
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo6 *r)
2345
if (ndr_flags & NDR_SCALARS) {
2346
NDR_CHECK(ndr_push_align(ndr, 4));
2347
NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
2348
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2350
if (ndr_flags & NDR_BUFFERS) {
2352
return NDR_ERR_SUCCESS;
2355
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo6 *r)
2357
if (ndr_flags & NDR_SCALARS) {
2358
NDR_CHECK(ndr_pull_align(ndr, 4));
2359
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
2360
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2362
if (ndr_flags & NDR_BUFFERS) {
2364
return NDR_ERR_SUCCESS;
2367
_PUBLIC_ void ndr_print_spoolss_PrinterInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo6 *r)
2369
ndr_print_struct(ndr, name, "spoolss_PrinterInfo6");
2371
ndr_print_spoolss_PrinterStatus(ndr, "status", r->status);
2375
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo6(const struct spoolss_PrinterInfo6 *r, struct smb_iconv_convenience *ic, int flags)
2377
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo6, ic);
2380
static enum ndr_err_code ndr_push_spoolss_DsPrintAction(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2382
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2383
return NDR_ERR_SUCCESS;
2386
static enum ndr_err_code ndr_pull_spoolss_DsPrintAction(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2389
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2391
return NDR_ERR_SUCCESS;
2394
_PUBLIC_ void ndr_print_spoolss_DsPrintAction(struct ndr_print *ndr, const char *name, uint32_t r)
2396
ndr_print_uint32(ndr, name, r);
2398
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_PUBLISH", DSPRINT_PUBLISH, r);
2399
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_UPDATE", DSPRINT_UPDATE, r);
2400
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_UNPUBLISH", DSPRINT_UNPUBLISH, r);
2401
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_REPUBLISH", DSPRINT_REPUBLISH, r);
2402
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_PENDING", DSPRINT_PENDING, r);
2406
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo7(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo7 *r)
2408
if (ndr_flags & NDR_SCALARS) {
2409
NDR_CHECK(ndr_push_align(ndr, 5));
2411
uint32_t _flags_save_string = ndr->flags;
2412
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2413
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->guid));
2414
ndr->flags = _flags_save_string;
2416
NDR_CHECK(ndr_push_spoolss_DsPrintAction(ndr, NDR_SCALARS, r->action));
2417
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2419
if (ndr_flags & NDR_BUFFERS) {
2421
uint32_t _flags_save_string = ndr->flags;
2422
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2424
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->guid));
2425
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->guid));
2426
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->guid));
2428
ndr->flags = _flags_save_string;
2431
return NDR_ERR_SUCCESS;
2434
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo7(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo7 *r)
2437
TALLOC_CTX *_mem_save_guid_0;
2438
if (ndr_flags & NDR_SCALARS) {
2439
NDR_CHECK(ndr_pull_align(ndr, 5));
2441
uint32_t _flags_save_string = ndr->flags;
2442
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2443
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_guid));
2445
NDR_PULL_ALLOC(ndr, r->guid);
2446
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->guid, _ptr_guid));
2450
ndr->flags = _flags_save_string;
2452
NDR_CHECK(ndr_pull_spoolss_DsPrintAction(ndr, NDR_SCALARS, &r->action));
2453
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2455
if (ndr_flags & NDR_BUFFERS) {
2457
uint32_t _flags_save_string = ndr->flags;
2458
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2460
uint32_t _relative_save_offset;
2461
_relative_save_offset = ndr->offset;
2462
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->guid));
2463
_mem_save_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2464
NDR_PULL_SET_MEM_CTX(ndr, r->guid, 0);
2465
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->guid));
2466
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_guid_0, 0);
2467
ndr->offset = _relative_save_offset;
2469
ndr->flags = _flags_save_string;
2472
return NDR_ERR_SUCCESS;
2475
_PUBLIC_ void ndr_print_spoolss_PrinterInfo7(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo7 *r)
2477
ndr_print_struct(ndr, name, "spoolss_PrinterInfo7");
2479
ndr_print_ptr(ndr, "guid", r->guid);
2482
ndr_print_string(ndr, "guid", r->guid);
2485
ndr_print_spoolss_DsPrintAction(ndr, "action", r->action);
2489
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo7(const struct spoolss_PrinterInfo7 *r, struct smb_iconv_convenience *ic, int flags)
2491
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo7, ic);
2494
static enum ndr_err_code ndr_push_spoolss_DeviceModeInfo(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DeviceModeInfo *r)
2496
if (ndr_flags & NDR_SCALARS) {
2497
NDR_CHECK(ndr_push_align(ndr, 5));
2499
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
2500
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2501
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
2502
ndr->flags = _flags_save_spoolss_DeviceMode;
2504
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2506
if (ndr_flags & NDR_BUFFERS) {
2508
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
2509
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2511
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode));
2513
struct ndr_push *_ndr_devmode;
2514
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
2515
NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
2516
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
2518
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode));
2520
ndr->flags = _flags_save_spoolss_DeviceMode;
2523
return NDR_ERR_SUCCESS;
2526
static enum ndr_err_code ndr_pull_spoolss_DeviceModeInfo(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DeviceModeInfo *r)
2528
uint32_t _ptr_devmode;
2529
TALLOC_CTX *_mem_save_devmode_0;
2530
if (ndr_flags & NDR_SCALARS) {
2531
NDR_CHECK(ndr_pull_align(ndr, 5));
2533
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
2534
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2535
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
2537
NDR_PULL_ALLOC(ndr, r->devmode);
2538
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
2542
ndr->flags = _flags_save_spoolss_DeviceMode;
2544
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2546
if (ndr_flags & NDR_BUFFERS) {
2548
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
2549
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2551
uint32_t _relative_save_offset;
2552
_relative_save_offset = ndr->offset;
2553
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
2554
_mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
2555
NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
2557
struct ndr_pull *_ndr_devmode;
2558
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
2559
NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
2560
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
2562
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
2563
ndr->offset = _relative_save_offset;
2565
ndr->flags = _flags_save_spoolss_DeviceMode;
2568
return NDR_ERR_SUCCESS;
2571
_PUBLIC_ void ndr_print_spoolss_DeviceModeInfo(struct ndr_print *ndr, const char *name, const struct spoolss_DeviceModeInfo *r)
2573
ndr_print_struct(ndr, name, "spoolss_DeviceModeInfo");
2575
ndr_print_ptr(ndr, "devmode", r->devmode);
2578
ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
2584
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrinterInfo *r)
2586
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
2588
uint32_t _flags_save_UNION = ndr->flags;
2589
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
2590
if (ndr_flags & NDR_SCALARS) {
2591
int level = ndr_push_get_switch_value(ndr, r);
2592
NDR_CHECK(ndr_push_union_align(ndr, 5));
2595
NDR_CHECK(ndr_push_align(ndr, 5));
2596
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2597
NDR_CHECK(ndr_push_spoolss_PrinterInfo0(ndr, NDR_SCALARS, &r->info0));
2601
NDR_CHECK(ndr_push_align(ndr, 5));
2602
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2603
NDR_CHECK(ndr_push_spoolss_PrinterInfo1(ndr, NDR_SCALARS, &r->info1));
2607
NDR_CHECK(ndr_push_align(ndr, 5));
2608
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2609
NDR_CHECK(ndr_push_spoolss_PrinterInfo2(ndr, NDR_SCALARS, &r->info2));
2613
NDR_CHECK(ndr_push_align(ndr, 5));
2614
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2615
NDR_CHECK(ndr_push_spoolss_PrinterInfo3(ndr, NDR_SCALARS, &r->info3));
2619
NDR_CHECK(ndr_push_align(ndr, 5));
2620
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2621
NDR_CHECK(ndr_push_spoolss_PrinterInfo4(ndr, NDR_SCALARS, &r->info4));
2625
NDR_CHECK(ndr_push_align(ndr, 5));
2626
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2627
NDR_CHECK(ndr_push_spoolss_PrinterInfo5(ndr, NDR_SCALARS, &r->info5));
2631
NDR_CHECK(ndr_push_align(ndr, 4));
2632
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2633
NDR_CHECK(ndr_push_spoolss_PrinterInfo6(ndr, NDR_SCALARS, &r->info6));
2637
NDR_CHECK(ndr_push_align(ndr, 5));
2638
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2639
NDR_CHECK(ndr_push_spoolss_PrinterInfo7(ndr, NDR_SCALARS, &r->info7));
2643
NDR_CHECK(ndr_push_align(ndr, 5));
2644
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2645
NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info8));
2649
NDR_CHECK(ndr_push_align(ndr, 5));
2650
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2651
NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info9));
2659
if (ndr_flags & NDR_BUFFERS) {
2660
int level = ndr_push_get_switch_value(ndr, r);
2661
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
2664
NDR_CHECK(ndr_push_spoolss_PrinterInfo0(ndr, NDR_BUFFERS, &r->info0));
2668
NDR_CHECK(ndr_push_spoolss_PrinterInfo1(ndr, NDR_BUFFERS, &r->info1));
2672
NDR_CHECK(ndr_push_spoolss_PrinterInfo2(ndr, NDR_BUFFERS, &r->info2));
2676
NDR_CHECK(ndr_push_spoolss_PrinterInfo3(ndr, NDR_BUFFERS, &r->info3));
2680
NDR_CHECK(ndr_push_spoolss_PrinterInfo4(ndr, NDR_BUFFERS, &r->info4));
2684
NDR_CHECK(ndr_push_spoolss_PrinterInfo5(ndr, NDR_BUFFERS, &r->info5));
2691
NDR_CHECK(ndr_push_spoolss_PrinterInfo7(ndr, NDR_BUFFERS, &r->info7));
2695
NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info8));
2699
NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info9));
2707
ndr->flags = _flags_save_UNION;
2709
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
2710
return NDR_ERR_SUCCESS;
2713
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrinterInfo *r)
2715
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
2718
uint32_t _flags_save_UNION = ndr->flags;
2719
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
2720
level = ndr_pull_get_switch_value(ndr, r);
2721
if (ndr_flags & NDR_SCALARS) {
2722
NDR_CHECK(ndr_pull_union_align(ndr, 5));
2725
NDR_CHECK(ndr_pull_align(ndr, 5));
2726
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2727
NDR_CHECK(ndr_pull_spoolss_PrinterInfo0(ndr, NDR_SCALARS, &r->info0));
2731
NDR_CHECK(ndr_pull_align(ndr, 5));
2732
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2733
NDR_CHECK(ndr_pull_spoolss_PrinterInfo1(ndr, NDR_SCALARS, &r->info1));
2737
NDR_CHECK(ndr_pull_align(ndr, 5));
2738
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2739
NDR_CHECK(ndr_pull_spoolss_PrinterInfo2(ndr, NDR_SCALARS, &r->info2));
2743
NDR_CHECK(ndr_pull_align(ndr, 5));
2744
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2745
NDR_CHECK(ndr_pull_spoolss_PrinterInfo3(ndr, NDR_SCALARS, &r->info3));
2749
NDR_CHECK(ndr_pull_align(ndr, 5));
2750
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2751
NDR_CHECK(ndr_pull_spoolss_PrinterInfo4(ndr, NDR_SCALARS, &r->info4));
2755
NDR_CHECK(ndr_pull_align(ndr, 5));
2756
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2757
NDR_CHECK(ndr_pull_spoolss_PrinterInfo5(ndr, NDR_SCALARS, &r->info5));
2761
NDR_CHECK(ndr_pull_align(ndr, 4));
2762
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2763
NDR_CHECK(ndr_pull_spoolss_PrinterInfo6(ndr, NDR_SCALARS, &r->info6));
2767
NDR_CHECK(ndr_pull_align(ndr, 5));
2768
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2769
NDR_CHECK(ndr_pull_spoolss_PrinterInfo7(ndr, NDR_SCALARS, &r->info7));
2773
NDR_CHECK(ndr_pull_align(ndr, 5));
2774
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2775
NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info8));
2779
NDR_CHECK(ndr_pull_align(ndr, 5));
2780
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2781
NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info9));
2789
if (ndr_flags & NDR_BUFFERS) {
2790
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
2793
NDR_CHECK(ndr_pull_spoolss_PrinterInfo0(ndr, NDR_BUFFERS, &r->info0));
2797
NDR_CHECK(ndr_pull_spoolss_PrinterInfo1(ndr, NDR_BUFFERS, &r->info1));
2801
NDR_CHECK(ndr_pull_spoolss_PrinterInfo2(ndr, NDR_BUFFERS, &r->info2));
2805
NDR_CHECK(ndr_pull_spoolss_PrinterInfo3(ndr, NDR_BUFFERS, &r->info3));
2809
NDR_CHECK(ndr_pull_spoolss_PrinterInfo4(ndr, NDR_BUFFERS, &r->info4));
2813
NDR_CHECK(ndr_pull_spoolss_PrinterInfo5(ndr, NDR_BUFFERS, &r->info5));
2820
NDR_CHECK(ndr_pull_spoolss_PrinterInfo7(ndr, NDR_BUFFERS, &r->info7));
2824
NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info8));
2828
NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info9));
2836
ndr->flags = _flags_save_UNION;
2838
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
2839
return NDR_ERR_SUCCESS;
2842
_PUBLIC_ void ndr_print_spoolss_PrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrinterInfo *r)
2846
uint32_t _flags_save_UNION = ndr->flags;
2847
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
2848
level = ndr_print_get_switch_value(ndr, r);
2849
ndr_print_union(ndr, name, level, "spoolss_PrinterInfo");
2852
ndr_print_spoolss_PrinterInfo0(ndr, "info0", &r->info0);
2856
ndr_print_spoolss_PrinterInfo1(ndr, "info1", &r->info1);
2860
ndr_print_spoolss_PrinterInfo2(ndr, "info2", &r->info2);
2864
ndr_print_spoolss_PrinterInfo3(ndr, "info3", &r->info3);
2868
ndr_print_spoolss_PrinterInfo4(ndr, "info4", &r->info4);
2872
ndr_print_spoolss_PrinterInfo5(ndr, "info5", &r->info5);
2876
ndr_print_spoolss_PrinterInfo6(ndr, "info6", &r->info6);
2880
ndr_print_spoolss_PrinterInfo7(ndr, "info7", &r->info7);
2884
ndr_print_spoolss_DeviceModeInfo(ndr, "info8", &r->info8);
2888
ndr_print_spoolss_DeviceModeInfo(ndr, "info9", &r->info9);
2895
ndr->flags = _flags_save_UNION;
2899
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo(const union spoolss_PrinterInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
2901
flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
2902
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo, ic);
2905
static enum ndr_err_code ndr_push_spoolss_DevmodeContainer(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DevmodeContainer *r)
2907
if (ndr_flags & NDR_SCALARS) {
2908
NDR_CHECK(ndr_push_align(ndr, 5));
2909
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, _ndr_size_spoolss_DeviceMode(r->devmode, ndr->iconv_convenience, ndr->flags)));
2910
NDR_CHECK(ndr_push_unique_ptr(ndr, r->devmode));
2911
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2913
if (ndr_flags & NDR_BUFFERS) {
2916
struct ndr_push *_ndr_devmode;
2917
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 4, _ndr_size_spoolss_DeviceMode(r->devmode, ndr->iconv_convenience, ndr->flags)));
2918
NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
2919
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 4, _ndr_size_spoolss_DeviceMode(r->devmode, ndr->iconv_convenience, ndr->flags)));
2923
return NDR_ERR_SUCCESS;
2926
static enum ndr_err_code ndr_pull_spoolss_DevmodeContainer(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DevmodeContainer *r)
2928
uint32_t _ptr_devmode;
2929
TALLOC_CTX *_mem_save_devmode_0;
2930
if (ndr_flags & NDR_SCALARS) {
2931
NDR_CHECK(ndr_pull_align(ndr, 5));
2932
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size));
2933
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
2935
NDR_PULL_ALLOC(ndr, r->devmode);
2939
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2941
if (ndr_flags & NDR_BUFFERS) {
2943
_mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
2944
NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
2946
struct ndr_pull *_ndr_devmode;
2947
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 4, r->_ndr_size));
2948
NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
2949
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 4, r->_ndr_size));
2951
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
2954
return NDR_ERR_SUCCESS;
2957
_PUBLIC_ void ndr_print_spoolss_DevmodeContainer(struct ndr_print *ndr, const char *name, const struct spoolss_DevmodeContainer *r)
2959
ndr_print_struct(ndr, name, "spoolss_DevmodeContainer");
2961
ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?_ndr_size_spoolss_DeviceMode(r->devmode, ndr->iconv_convenience, ndr->flags):r->_ndr_size);
2962
ndr_print_ptr(ndr, "devmode", r->devmode);
2965
ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
2971
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo1 *r)
2973
if (ndr_flags & NDR_SCALARS) {
2974
NDR_CHECK(ndr_push_align(ndr, 5));
2975
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
2977
uint32_t _flags_save_string = ndr->flags;
2978
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2979
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printer_name));
2980
ndr->flags = _flags_save_string;
2983
uint32_t _flags_save_string = ndr->flags;
2984
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2985
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->server_name));
2986
ndr->flags = _flags_save_string;
2989
uint32_t _flags_save_string = ndr->flags;
2990
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2991
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->user_name));
2992
ndr->flags = _flags_save_string;
2995
uint32_t _flags_save_string = ndr->flags;
2996
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2997
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->document_name));
2998
ndr->flags = _flags_save_string;
3001
uint32_t _flags_save_string = ndr->flags;
3002
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3003
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_type));
3004
ndr->flags = _flags_save_string;
3007
uint32_t _flags_save_string = ndr->flags;
3008
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3009
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->text_status));
3010
ndr->flags = _flags_save_string;
3012
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
3013
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
3014
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
3015
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
3016
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
3017
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
3018
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3020
if (ndr_flags & NDR_BUFFERS) {
3022
uint32_t _flags_save_string = ndr->flags;
3023
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3024
if (r->printer_name) {
3025
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name));
3026
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name));
3027
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printer_name));
3029
ndr->flags = _flags_save_string;
3032
uint32_t _flags_save_string = ndr->flags;
3033
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3034
if (r->server_name) {
3035
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name));
3036
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name));
3037
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->server_name));
3039
ndr->flags = _flags_save_string;
3042
uint32_t _flags_save_string = ndr->flags;
3043
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3045
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name));
3046
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
3047
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->user_name));
3049
ndr->flags = _flags_save_string;
3052
uint32_t _flags_save_string = ndr->flags;
3053
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3054
if (r->document_name) {
3055
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name));
3056
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name));
3057
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->document_name));
3059
ndr->flags = _flags_save_string;
3062
uint32_t _flags_save_string = ndr->flags;
3063
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3065
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type));
3066
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type));
3067
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_type));
3069
ndr->flags = _flags_save_string;
3072
uint32_t _flags_save_string = ndr->flags;
3073
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3074
if (r->text_status) {
3075
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status));
3076
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status));
3077
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->text_status));
3079
ndr->flags = _flags_save_string;
3082
return NDR_ERR_SUCCESS;
3085
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo1 *r)
3087
uint32_t _ptr_printer_name;
3088
TALLOC_CTX *_mem_save_printer_name_0;
3089
uint32_t _ptr_server_name;
3090
TALLOC_CTX *_mem_save_server_name_0;
3091
uint32_t _ptr_user_name;
3092
TALLOC_CTX *_mem_save_user_name_0;
3093
uint32_t _ptr_document_name;
3094
TALLOC_CTX *_mem_save_document_name_0;
3095
uint32_t _ptr_data_type;
3096
TALLOC_CTX *_mem_save_data_type_0;
3097
uint32_t _ptr_text_status;
3098
TALLOC_CTX *_mem_save_text_status_0;
3099
if (ndr_flags & NDR_SCALARS) {
3100
NDR_CHECK(ndr_pull_align(ndr, 5));
3101
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
3103
uint32_t _flags_save_string = ndr->flags;
3104
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3105
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
3106
if (_ptr_printer_name) {
3107
NDR_PULL_ALLOC(ndr, r->printer_name);
3108
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printer_name, _ptr_printer_name));
3110
r->printer_name = NULL;
3112
ndr->flags = _flags_save_string;
3115
uint32_t _flags_save_string = ndr->flags;
3116
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3117
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
3118
if (_ptr_server_name) {
3119
NDR_PULL_ALLOC(ndr, r->server_name);
3120
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->server_name, _ptr_server_name));
3122
r->server_name = NULL;
3124
ndr->flags = _flags_save_string;
3127
uint32_t _flags_save_string = ndr->flags;
3128
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3129
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
3130
if (_ptr_user_name) {
3131
NDR_PULL_ALLOC(ndr, r->user_name);
3132
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->user_name, _ptr_user_name));
3134
r->user_name = NULL;
3136
ndr->flags = _flags_save_string;
3139
uint32_t _flags_save_string = ndr->flags;
3140
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3141
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
3142
if (_ptr_document_name) {
3143
NDR_PULL_ALLOC(ndr, r->document_name);
3144
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->document_name, _ptr_document_name));
3146
r->document_name = NULL;
3148
ndr->flags = _flags_save_string;
3151
uint32_t _flags_save_string = ndr->flags;
3152
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3153
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
3154
if (_ptr_data_type) {
3155
NDR_PULL_ALLOC(ndr, r->data_type);
3156
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_type, _ptr_data_type));
3158
r->data_type = NULL;
3160
ndr->flags = _flags_save_string;
3163
uint32_t _flags_save_string = ndr->flags;
3164
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3165
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
3166
if (_ptr_text_status) {
3167
NDR_PULL_ALLOC(ndr, r->text_status);
3168
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->text_status, _ptr_text_status));
3170
r->text_status = NULL;
3172
ndr->flags = _flags_save_string;
3174
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
3175
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
3176
if (r->priority > 99) {
3177
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3179
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
3180
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
3181
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
3182
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
3183
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3185
if (ndr_flags & NDR_BUFFERS) {
3187
uint32_t _flags_save_string = ndr->flags;
3188
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3189
if (r->printer_name) {
3190
uint32_t _relative_save_offset;
3191
_relative_save_offset = ndr->offset;
3192
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printer_name));
3193
_mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3194
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
3195
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printer_name));
3196
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
3197
ndr->offset = _relative_save_offset;
3199
ndr->flags = _flags_save_string;
3202
uint32_t _flags_save_string = ndr->flags;
3203
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3204
if (r->server_name) {
3205
uint32_t _relative_save_offset;
3206
_relative_save_offset = ndr->offset;
3207
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->server_name));
3208
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3209
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
3210
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->server_name));
3211
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
3212
ndr->offset = _relative_save_offset;
3214
ndr->flags = _flags_save_string;
3217
uint32_t _flags_save_string = ndr->flags;
3218
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3220
uint32_t _relative_save_offset;
3221
_relative_save_offset = ndr->offset;
3222
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->user_name));
3223
_mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3224
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
3225
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name));
3226
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
3227
ndr->offset = _relative_save_offset;
3229
ndr->flags = _flags_save_string;
3232
uint32_t _flags_save_string = ndr->flags;
3233
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3234
if (r->document_name) {
3235
uint32_t _relative_save_offset;
3236
_relative_save_offset = ndr->offset;
3237
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->document_name));
3238
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3239
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
3240
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->document_name));
3241
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
3242
ndr->offset = _relative_save_offset;
3244
ndr->flags = _flags_save_string;
3247
uint32_t _flags_save_string = ndr->flags;
3248
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3250
uint32_t _relative_save_offset;
3251
_relative_save_offset = ndr->offset;
3252
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_type));
3253
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
3254
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
3255
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_type));
3256
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
3257
ndr->offset = _relative_save_offset;
3259
ndr->flags = _flags_save_string;
3262
uint32_t _flags_save_string = ndr->flags;
3263
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3264
if (r->text_status) {
3265
uint32_t _relative_save_offset;
3266
_relative_save_offset = ndr->offset;
3267
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->text_status));
3268
_mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
3269
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
3270
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->text_status));
3271
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
3272
ndr->offset = _relative_save_offset;
3274
ndr->flags = _flags_save_string;
3277
return NDR_ERR_SUCCESS;
3280
_PUBLIC_ void ndr_print_spoolss_JobInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo1 *r)
3282
ndr_print_struct(ndr, name, "spoolss_JobInfo1");
3284
ndr_print_uint32(ndr, "job_id", r->job_id);
3285
ndr_print_ptr(ndr, "printer_name", r->printer_name);
3287
if (r->printer_name) {
3288
ndr_print_string(ndr, "printer_name", r->printer_name);
3291
ndr_print_ptr(ndr, "server_name", r->server_name);
3293
if (r->server_name) {
3294
ndr_print_string(ndr, "server_name", r->server_name);
3297
ndr_print_ptr(ndr, "user_name", r->user_name);
3300
ndr_print_string(ndr, "user_name", r->user_name);
3303
ndr_print_ptr(ndr, "document_name", r->document_name);
3305
if (r->document_name) {
3306
ndr_print_string(ndr, "document_name", r->document_name);
3309
ndr_print_ptr(ndr, "data_type", r->data_type);
3312
ndr_print_string(ndr, "data_type", r->data_type);
3315
ndr_print_ptr(ndr, "text_status", r->text_status);
3317
if (r->text_status) {
3318
ndr_print_string(ndr, "text_status", r->text_status);
3321
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
3322
ndr_print_uint32(ndr, "priority", r->priority);
3323
ndr_print_uint32(ndr, "position", r->position);
3324
ndr_print_uint32(ndr, "total_pages", r->total_pages);
3325
ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
3326
ndr_print_spoolss_Time(ndr, "submitted", &r->submitted);
3330
_PUBLIC_ size_t ndr_size_spoolss_JobInfo1(const struct spoolss_JobInfo1 *r, struct smb_iconv_convenience *ic, int flags)
3332
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo1, ic);
3335
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo2 *r)
3337
if (ndr_flags & NDR_SCALARS) {
3338
NDR_CHECK(ndr_push_align(ndr, 5));
3339
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
3341
uint32_t _flags_save_string = ndr->flags;
3342
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3343
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printer_name));
3344
ndr->flags = _flags_save_string;
3347
uint32_t _flags_save_string = ndr->flags;
3348
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3349
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->server_name));
3350
ndr->flags = _flags_save_string;
3353
uint32_t _flags_save_string = ndr->flags;
3354
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3355
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->user_name));
3356
ndr->flags = _flags_save_string;
3359
uint32_t _flags_save_string = ndr->flags;
3360
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3361
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->document_name));
3362
ndr->flags = _flags_save_string;
3365
uint32_t _flags_save_string = ndr->flags;
3366
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3367
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->notify_name));
3368
ndr->flags = _flags_save_string;
3371
uint32_t _flags_save_string = ndr->flags;
3372
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3373
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_type));
3374
ndr->flags = _flags_save_string;
3377
uint32_t _flags_save_string = ndr->flags;
3378
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3379
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor));
3380
ndr->flags = _flags_save_string;
3383
uint32_t _flags_save_string = ndr->flags;
3384
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3385
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->parameters));
3386
ndr->flags = _flags_save_string;
3389
uint32_t _flags_save_string = ndr->flags;
3390
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3391
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
3392
ndr->flags = _flags_save_string;
3395
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
3396
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3397
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
3398
ndr->flags = _flags_save_spoolss_DeviceMode;
3401
uint32_t _flags_save_string = ndr->flags;
3402
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3403
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->text_status));
3404
ndr->flags = _flags_save_string;
3407
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
3408
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3409
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
3410
ndr->flags = _flags_save_spoolss_security_descriptor;
3412
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
3413
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
3414
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
3415
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->start_time));
3416
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->until_time));
3417
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
3418
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
3419
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
3420
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time));
3421
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
3422
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3424
if (ndr_flags & NDR_BUFFERS) {
3426
uint32_t _flags_save_string = ndr->flags;
3427
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3428
if (r->printer_name) {
3429
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name));
3430
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name));
3431
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printer_name));
3433
ndr->flags = _flags_save_string;
3436
uint32_t _flags_save_string = ndr->flags;
3437
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3438
if (r->server_name) {
3439
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name));
3440
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name));
3441
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->server_name));
3443
ndr->flags = _flags_save_string;
3446
uint32_t _flags_save_string = ndr->flags;
3447
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3449
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name));
3450
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
3451
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->user_name));
3453
ndr->flags = _flags_save_string;
3456
uint32_t _flags_save_string = ndr->flags;
3457
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3458
if (r->document_name) {
3459
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name));
3460
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name));
3461
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->document_name));
3463
ndr->flags = _flags_save_string;
3466
uint32_t _flags_save_string = ndr->flags;
3467
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3468
if (r->notify_name) {
3469
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->notify_name));
3470
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->notify_name));
3471
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->notify_name));
3473
ndr->flags = _flags_save_string;
3476
uint32_t _flags_save_string = ndr->flags;
3477
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3479
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type));
3480
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type));
3481
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_type));
3483
ndr->flags = _flags_save_string;
3486
uint32_t _flags_save_string = ndr->flags;
3487
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3488
if (r->print_processor) {
3489
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor));
3490
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor));
3491
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor));
3493
ndr->flags = _flags_save_string;
3496
uint32_t _flags_save_string = ndr->flags;
3497
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3498
if (r->parameters) {
3499
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->parameters));
3500
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->parameters));
3501
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->parameters));
3503
ndr->flags = _flags_save_string;
3506
uint32_t _flags_save_string = ndr->flags;
3507
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3508
if (r->driver_name) {
3509
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
3510
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
3511
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
3513
ndr->flags = _flags_save_string;
3516
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
3517
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3519
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode));
3521
struct ndr_push *_ndr_devmode;
3522
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
3523
NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
3524
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
3526
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode));
3528
ndr->flags = _flags_save_spoolss_DeviceMode;
3531
uint32_t _flags_save_string = ndr->flags;
3532
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3533
if (r->text_status) {
3534
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status));
3535
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status));
3536
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->text_status));
3538
ndr->flags = _flags_save_string;
3541
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
3542
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3544
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc));
3546
struct ndr_push *_ndr_secdesc;
3547
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
3548
NDR_CHECK(ndr_push_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
3549
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
3551
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc));
3553
ndr->flags = _flags_save_spoolss_security_descriptor;
3556
return NDR_ERR_SUCCESS;
3559
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo2 *r)
3561
uint32_t _ptr_printer_name;
3562
TALLOC_CTX *_mem_save_printer_name_0;
3563
uint32_t _ptr_server_name;
3564
TALLOC_CTX *_mem_save_server_name_0;
3565
uint32_t _ptr_user_name;
3566
TALLOC_CTX *_mem_save_user_name_0;
3567
uint32_t _ptr_document_name;
3568
TALLOC_CTX *_mem_save_document_name_0;
3569
uint32_t _ptr_notify_name;
3570
TALLOC_CTX *_mem_save_notify_name_0;
3571
uint32_t _ptr_data_type;
3572
TALLOC_CTX *_mem_save_data_type_0;
3573
uint32_t _ptr_print_processor;
3574
TALLOC_CTX *_mem_save_print_processor_0;
3575
uint32_t _ptr_parameters;
3576
TALLOC_CTX *_mem_save_parameters_0;
3577
uint32_t _ptr_driver_name;
3578
TALLOC_CTX *_mem_save_driver_name_0;
3579
uint32_t _ptr_devmode;
3580
TALLOC_CTX *_mem_save_devmode_0;
3581
uint32_t _ptr_text_status;
3582
TALLOC_CTX *_mem_save_text_status_0;
3583
uint32_t _ptr_secdesc;
3584
TALLOC_CTX *_mem_save_secdesc_0;
3585
if (ndr_flags & NDR_SCALARS) {
3586
NDR_CHECK(ndr_pull_align(ndr, 5));
3587
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
3589
uint32_t _flags_save_string = ndr->flags;
3590
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3591
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
3592
if (_ptr_printer_name) {
3593
NDR_PULL_ALLOC(ndr, r->printer_name);
3594
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printer_name, _ptr_printer_name));
3596
r->printer_name = NULL;
3598
ndr->flags = _flags_save_string;
3601
uint32_t _flags_save_string = ndr->flags;
3602
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3603
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
3604
if (_ptr_server_name) {
3605
NDR_PULL_ALLOC(ndr, r->server_name);
3606
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->server_name, _ptr_server_name));
3608
r->server_name = NULL;
3610
ndr->flags = _flags_save_string;
3613
uint32_t _flags_save_string = ndr->flags;
3614
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3615
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
3616
if (_ptr_user_name) {
3617
NDR_PULL_ALLOC(ndr, r->user_name);
3618
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->user_name, _ptr_user_name));
3620
r->user_name = NULL;
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);
3627
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
3628
if (_ptr_document_name) {
3629
NDR_PULL_ALLOC(ndr, r->document_name);
3630
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->document_name, _ptr_document_name));
3632
r->document_name = NULL;
3634
ndr->flags = _flags_save_string;
3637
uint32_t _flags_save_string = ndr->flags;
3638
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3639
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_name));
3640
if (_ptr_notify_name) {
3641
NDR_PULL_ALLOC(ndr, r->notify_name);
3642
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->notify_name, _ptr_notify_name));
3644
r->notify_name = NULL;
3646
ndr->flags = _flags_save_string;
3649
uint32_t _flags_save_string = ndr->flags;
3650
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3651
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
3652
if (_ptr_data_type) {
3653
NDR_PULL_ALLOC(ndr, r->data_type);
3654
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_type, _ptr_data_type));
3656
r->data_type = NULL;
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);
3663
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
3664
if (_ptr_print_processor) {
3665
NDR_PULL_ALLOC(ndr, r->print_processor);
3666
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->print_processor, _ptr_print_processor));
3668
r->print_processor = NULL;
3670
ndr->flags = _flags_save_string;
3673
uint32_t _flags_save_string = ndr->flags;
3674
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3675
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
3676
if (_ptr_parameters) {
3677
NDR_PULL_ALLOC(ndr, r->parameters);
3678
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->parameters, _ptr_parameters));
3680
r->parameters = NULL;
3682
ndr->flags = _flags_save_string;
3685
uint32_t _flags_save_string = ndr->flags;
3686
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3687
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
3688
if (_ptr_driver_name) {
3689
NDR_PULL_ALLOC(ndr, r->driver_name);
3690
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
3692
r->driver_name = NULL;
3694
ndr->flags = _flags_save_string;
3697
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
3698
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3699
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
3701
NDR_PULL_ALLOC(ndr, r->devmode);
3702
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
3706
ndr->flags = _flags_save_spoolss_DeviceMode;
3709
uint32_t _flags_save_string = ndr->flags;
3710
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3711
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
3712
if (_ptr_text_status) {
3713
NDR_PULL_ALLOC(ndr, r->text_status);
3714
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->text_status, _ptr_text_status));
3716
r->text_status = NULL;
3718
ndr->flags = _flags_save_string;
3721
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
3722
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3723
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
3725
NDR_PULL_ALLOC(ndr, r->secdesc);
3726
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
3730
ndr->flags = _flags_save_spoolss_security_descriptor;
3732
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
3733
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
3734
if (r->priority > 99) {
3735
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3737
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
3738
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->start_time));
3739
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->until_time));
3740
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
3741
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
3742
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
3743
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time));
3744
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
3745
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3747
if (ndr_flags & NDR_BUFFERS) {
3749
uint32_t _flags_save_string = ndr->flags;
3750
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3751
if (r->printer_name) {
3752
uint32_t _relative_save_offset;
3753
_relative_save_offset = ndr->offset;
3754
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printer_name));
3755
_mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3756
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
3757
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printer_name));
3758
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
3759
ndr->offset = _relative_save_offset;
3761
ndr->flags = _flags_save_string;
3764
uint32_t _flags_save_string = ndr->flags;
3765
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3766
if (r->server_name) {
3767
uint32_t _relative_save_offset;
3768
_relative_save_offset = ndr->offset;
3769
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->server_name));
3770
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3771
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
3772
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->server_name));
3773
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
3774
ndr->offset = _relative_save_offset;
3776
ndr->flags = _flags_save_string;
3779
uint32_t _flags_save_string = ndr->flags;
3780
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3782
uint32_t _relative_save_offset;
3783
_relative_save_offset = ndr->offset;
3784
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->user_name));
3785
_mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3786
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
3787
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name));
3788
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
3789
ndr->offset = _relative_save_offset;
3791
ndr->flags = _flags_save_string;
3794
uint32_t _flags_save_string = ndr->flags;
3795
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3796
if (r->document_name) {
3797
uint32_t _relative_save_offset;
3798
_relative_save_offset = ndr->offset;
3799
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->document_name));
3800
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3801
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
3802
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->document_name));
3803
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
3804
ndr->offset = _relative_save_offset;
3806
ndr->flags = _flags_save_string;
3809
uint32_t _flags_save_string = ndr->flags;
3810
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3811
if (r->notify_name) {
3812
uint32_t _relative_save_offset;
3813
_relative_save_offset = ndr->offset;
3814
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->notify_name));
3815
_mem_save_notify_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3816
NDR_PULL_SET_MEM_CTX(ndr, r->notify_name, 0);
3817
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->notify_name));
3818
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_name_0, 0);
3819
ndr->offset = _relative_save_offset;
3821
ndr->flags = _flags_save_string;
3824
uint32_t _flags_save_string = ndr->flags;
3825
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3827
uint32_t _relative_save_offset;
3828
_relative_save_offset = ndr->offset;
3829
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_type));
3830
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
3831
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
3832
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_type));
3833
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
3834
ndr->offset = _relative_save_offset;
3836
ndr->flags = _flags_save_string;
3839
uint32_t _flags_save_string = ndr->flags;
3840
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3841
if (r->print_processor) {
3842
uint32_t _relative_save_offset;
3843
_relative_save_offset = ndr->offset;
3844
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->print_processor));
3845
_mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr);
3846
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
3847
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor));
3848
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
3849
ndr->offset = _relative_save_offset;
3851
ndr->flags = _flags_save_string;
3854
uint32_t _flags_save_string = ndr->flags;
3855
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3856
if (r->parameters) {
3857
uint32_t _relative_save_offset;
3858
_relative_save_offset = ndr->offset;
3859
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->parameters));
3860
_mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
3861
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
3862
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->parameters));
3863
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
3864
ndr->offset = _relative_save_offset;
3866
ndr->flags = _flags_save_string;
3869
uint32_t _flags_save_string = ndr->flags;
3870
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3871
if (r->driver_name) {
3872
uint32_t _relative_save_offset;
3873
_relative_save_offset = ndr->offset;
3874
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
3875
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3876
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
3877
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
3878
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
3879
ndr->offset = _relative_save_offset;
3881
ndr->flags = _flags_save_string;
3884
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
3885
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3887
uint32_t _relative_save_offset;
3888
_relative_save_offset = ndr->offset;
3889
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
3890
_mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
3891
NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
3893
struct ndr_pull *_ndr_devmode;
3894
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
3895
NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
3896
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
3898
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
3899
ndr->offset = _relative_save_offset;
3901
ndr->flags = _flags_save_spoolss_DeviceMode;
3904
uint32_t _flags_save_string = ndr->flags;
3905
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3906
if (r->text_status) {
3907
uint32_t _relative_save_offset;
3908
_relative_save_offset = ndr->offset;
3909
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->text_status));
3910
_mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
3911
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
3912
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->text_status));
3913
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
3914
ndr->offset = _relative_save_offset;
3916
ndr->flags = _flags_save_string;
3919
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
3920
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3922
uint32_t _relative_save_offset;
3923
_relative_save_offset = ndr->offset;
3924
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
3925
_mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
3926
NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
3928
struct ndr_pull *_ndr_secdesc;
3929
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
3930
NDR_CHECK(ndr_pull_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
3931
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
3933
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
3934
ndr->offset = _relative_save_offset;
3936
ndr->flags = _flags_save_spoolss_security_descriptor;
3939
return NDR_ERR_SUCCESS;
3942
_PUBLIC_ void ndr_print_spoolss_JobInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo2 *r)
3944
ndr_print_struct(ndr, name, "spoolss_JobInfo2");
3946
ndr_print_uint32(ndr, "job_id", r->job_id);
3947
ndr_print_ptr(ndr, "printer_name", r->printer_name);
3949
if (r->printer_name) {
3950
ndr_print_string(ndr, "printer_name", r->printer_name);
3953
ndr_print_ptr(ndr, "server_name", r->server_name);
3955
if (r->server_name) {
3956
ndr_print_string(ndr, "server_name", r->server_name);
3959
ndr_print_ptr(ndr, "user_name", r->user_name);
3962
ndr_print_string(ndr, "user_name", r->user_name);
3965
ndr_print_ptr(ndr, "document_name", r->document_name);
3967
if (r->document_name) {
3968
ndr_print_string(ndr, "document_name", r->document_name);
3971
ndr_print_ptr(ndr, "notify_name", r->notify_name);
3973
if (r->notify_name) {
3974
ndr_print_string(ndr, "notify_name", r->notify_name);
3977
ndr_print_ptr(ndr, "data_type", r->data_type);
3980
ndr_print_string(ndr, "data_type", r->data_type);
3983
ndr_print_ptr(ndr, "print_processor", r->print_processor);
3985
if (r->print_processor) {
3986
ndr_print_string(ndr, "print_processor", r->print_processor);
3989
ndr_print_ptr(ndr, "parameters", r->parameters);
3991
if (r->parameters) {
3992
ndr_print_string(ndr, "parameters", r->parameters);
3995
ndr_print_ptr(ndr, "driver_name", r->driver_name);
3997
if (r->driver_name) {
3998
ndr_print_string(ndr, "driver_name", r->driver_name);
4001
ndr_print_ptr(ndr, "devmode", r->devmode);
4004
ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
4007
ndr_print_ptr(ndr, "text_status", r->text_status);
4009
if (r->text_status) {
4010
ndr_print_string(ndr, "text_status", r->text_status);
4013
ndr_print_ptr(ndr, "secdesc", r->secdesc);
4016
ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc);
4019
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
4020
ndr_print_uint32(ndr, "priority", r->priority);
4021
ndr_print_uint32(ndr, "position", r->position);
4022
ndr_print_uint32(ndr, "start_time", r->start_time);
4023
ndr_print_uint32(ndr, "until_time", r->until_time);
4024
ndr_print_uint32(ndr, "total_pages", r->total_pages);
4025
ndr_print_uint32(ndr, "size", r->size);
4026
ndr_print_spoolss_Time(ndr, "submitted", &r->submitted);
4027
ndr_print_uint32(ndr, "time", r->time);
4028
ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
4032
_PUBLIC_ size_t ndr_size_spoolss_JobInfo2(const struct spoolss_JobInfo2 *r, struct smb_iconv_convenience *ic, int flags)
4034
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo2, ic);
4037
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo3 *r)
4039
if (ndr_flags & NDR_SCALARS) {
4040
NDR_CHECK(ndr_push_align(ndr, 4));
4041
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
4042
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->next_job_id));
4043
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
4044
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4046
if (ndr_flags & NDR_BUFFERS) {
4048
return NDR_ERR_SUCCESS;
4051
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo3 *r)
4053
if (ndr_flags & NDR_SCALARS) {
4054
NDR_CHECK(ndr_pull_align(ndr, 4));
4055
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
4056
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->next_job_id));
4057
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
4058
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4060
if (ndr_flags & NDR_BUFFERS) {
4062
return NDR_ERR_SUCCESS;
4065
_PUBLIC_ void ndr_print_spoolss_JobInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo3 *r)
4067
ndr_print_struct(ndr, name, "spoolss_JobInfo3");
4069
ndr_print_uint32(ndr, "job_id", r->job_id);
4070
ndr_print_uint32(ndr, "next_job_id", r->next_job_id);
4071
ndr_print_uint32(ndr, "reserved", r->reserved);
4075
_PUBLIC_ size_t ndr_size_spoolss_JobInfo3(const struct spoolss_JobInfo3 *r, struct smb_iconv_convenience *ic, int flags)
4077
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo3, ic);
4080
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo4 *r)
4082
if (ndr_flags & NDR_SCALARS) {
4083
NDR_CHECK(ndr_push_align(ndr, 5));
4084
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
4086
uint32_t _flags_save_string = ndr->flags;
4087
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4088
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printer_name));
4089
ndr->flags = _flags_save_string;
4092
uint32_t _flags_save_string = ndr->flags;
4093
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4094
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->server_name));
4095
ndr->flags = _flags_save_string;
4098
uint32_t _flags_save_string = ndr->flags;
4099
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4100
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->user_name));
4101
ndr->flags = _flags_save_string;
4104
uint32_t _flags_save_string = ndr->flags;
4105
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4106
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->document_name));
4107
ndr->flags = _flags_save_string;
4110
uint32_t _flags_save_string = ndr->flags;
4111
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4112
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->notify_name));
4113
ndr->flags = _flags_save_string;
4116
uint32_t _flags_save_string = ndr->flags;
4117
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4118
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_type));
4119
ndr->flags = _flags_save_string;
4122
uint32_t _flags_save_string = ndr->flags;
4123
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4124
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor));
4125
ndr->flags = _flags_save_string;
4128
uint32_t _flags_save_string = ndr->flags;
4129
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4130
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->parameters));
4131
ndr->flags = _flags_save_string;
4134
uint32_t _flags_save_string = ndr->flags;
4135
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4136
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
4137
ndr->flags = _flags_save_string;
4140
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
4141
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4142
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
4143
ndr->flags = _flags_save_spoolss_DeviceMode;
4146
uint32_t _flags_save_string = ndr->flags;
4147
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4148
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->text_status));
4149
ndr->flags = _flags_save_string;
4152
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
4153
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4154
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
4155
ndr->flags = _flags_save_spoolss_security_descriptor;
4157
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
4158
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
4159
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
4160
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->start_time));
4161
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->until_time));
4162
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
4163
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
4164
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
4165
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time));
4166
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
4167
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size_high));
4168
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4170
if (ndr_flags & NDR_BUFFERS) {
4172
uint32_t _flags_save_string = ndr->flags;
4173
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4174
if (r->printer_name) {
4175
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name));
4176
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name));
4177
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printer_name));
4179
ndr->flags = _flags_save_string;
4182
uint32_t _flags_save_string = ndr->flags;
4183
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4184
if (r->server_name) {
4185
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name));
4186
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name));
4187
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->server_name));
4189
ndr->flags = _flags_save_string;
4192
uint32_t _flags_save_string = ndr->flags;
4193
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4195
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name));
4196
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
4197
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->user_name));
4199
ndr->flags = _flags_save_string;
4202
uint32_t _flags_save_string = ndr->flags;
4203
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4204
if (r->document_name) {
4205
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name));
4206
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name));
4207
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->document_name));
4209
ndr->flags = _flags_save_string;
4212
uint32_t _flags_save_string = ndr->flags;
4213
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4214
if (r->notify_name) {
4215
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->notify_name));
4216
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->notify_name));
4217
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->notify_name));
4219
ndr->flags = _flags_save_string;
4222
uint32_t _flags_save_string = ndr->flags;
4223
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4225
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type));
4226
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type));
4227
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_type));
4229
ndr->flags = _flags_save_string;
4232
uint32_t _flags_save_string = ndr->flags;
4233
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4234
if (r->print_processor) {
4235
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor));
4236
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor));
4237
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor));
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->parameters) {
4245
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->parameters));
4246
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->parameters));
4247
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->parameters));
4249
ndr->flags = _flags_save_string;
4252
uint32_t _flags_save_string = ndr->flags;
4253
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4254
if (r->driver_name) {
4255
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
4256
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
4257
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
4259
ndr->flags = _flags_save_string;
4262
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
4263
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4265
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode));
4267
struct ndr_push *_ndr_devmode;
4268
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
4269
NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
4270
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
4272
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode));
4274
ndr->flags = _flags_save_spoolss_DeviceMode;
4277
uint32_t _flags_save_string = ndr->flags;
4278
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4279
if (r->text_status) {
4280
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status));
4281
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status));
4282
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->text_status));
4284
ndr->flags = _flags_save_string;
4287
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
4288
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4290
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc));
4292
struct ndr_push *_ndr_secdesc;
4293
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
4294
NDR_CHECK(ndr_push_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
4295
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
4297
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc));
4299
ndr->flags = _flags_save_spoolss_security_descriptor;
4302
return NDR_ERR_SUCCESS;
4305
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo4 *r)
4307
uint32_t _ptr_printer_name;
4308
TALLOC_CTX *_mem_save_printer_name_0;
4309
uint32_t _ptr_server_name;
4310
TALLOC_CTX *_mem_save_server_name_0;
4311
uint32_t _ptr_user_name;
4312
TALLOC_CTX *_mem_save_user_name_0;
4313
uint32_t _ptr_document_name;
4314
TALLOC_CTX *_mem_save_document_name_0;
4315
uint32_t _ptr_notify_name;
4316
TALLOC_CTX *_mem_save_notify_name_0;
4317
uint32_t _ptr_data_type;
4318
TALLOC_CTX *_mem_save_data_type_0;
4319
uint32_t _ptr_print_processor;
4320
TALLOC_CTX *_mem_save_print_processor_0;
4321
uint32_t _ptr_parameters;
4322
TALLOC_CTX *_mem_save_parameters_0;
4323
uint32_t _ptr_driver_name;
4324
TALLOC_CTX *_mem_save_driver_name_0;
4325
uint32_t _ptr_devmode;
4326
TALLOC_CTX *_mem_save_devmode_0;
4327
uint32_t _ptr_text_status;
4328
TALLOC_CTX *_mem_save_text_status_0;
4329
uint32_t _ptr_secdesc;
4330
TALLOC_CTX *_mem_save_secdesc_0;
4331
if (ndr_flags & NDR_SCALARS) {
4332
NDR_CHECK(ndr_pull_align(ndr, 5));
4333
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
4335
uint32_t _flags_save_string = ndr->flags;
4336
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4337
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
4338
if (_ptr_printer_name) {
4339
NDR_PULL_ALLOC(ndr, r->printer_name);
4340
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printer_name, _ptr_printer_name));
4342
r->printer_name = NULL;
4344
ndr->flags = _flags_save_string;
4347
uint32_t _flags_save_string = ndr->flags;
4348
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4349
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
4350
if (_ptr_server_name) {
4351
NDR_PULL_ALLOC(ndr, r->server_name);
4352
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->server_name, _ptr_server_name));
4354
r->server_name = NULL;
4356
ndr->flags = _flags_save_string;
4359
uint32_t _flags_save_string = ndr->flags;
4360
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4361
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
4362
if (_ptr_user_name) {
4363
NDR_PULL_ALLOC(ndr, r->user_name);
4364
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->user_name, _ptr_user_name));
4366
r->user_name = NULL;
4368
ndr->flags = _flags_save_string;
4371
uint32_t _flags_save_string = ndr->flags;
4372
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4373
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
4374
if (_ptr_document_name) {
4375
NDR_PULL_ALLOC(ndr, r->document_name);
4376
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->document_name, _ptr_document_name));
4378
r->document_name = NULL;
4380
ndr->flags = _flags_save_string;
4383
uint32_t _flags_save_string = ndr->flags;
4384
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4385
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_name));
4386
if (_ptr_notify_name) {
4387
NDR_PULL_ALLOC(ndr, r->notify_name);
4388
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->notify_name, _ptr_notify_name));
4390
r->notify_name = NULL;
4392
ndr->flags = _flags_save_string;
4395
uint32_t _flags_save_string = ndr->flags;
4396
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4397
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
4398
if (_ptr_data_type) {
4399
NDR_PULL_ALLOC(ndr, r->data_type);
4400
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_type, _ptr_data_type));
4402
r->data_type = NULL;
4404
ndr->flags = _flags_save_string;
4407
uint32_t _flags_save_string = ndr->flags;
4408
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4409
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
4410
if (_ptr_print_processor) {
4411
NDR_PULL_ALLOC(ndr, r->print_processor);
4412
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->print_processor, _ptr_print_processor));
4414
r->print_processor = NULL;
4416
ndr->flags = _flags_save_string;
4419
uint32_t _flags_save_string = ndr->flags;
4420
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4421
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
4422
if (_ptr_parameters) {
4423
NDR_PULL_ALLOC(ndr, r->parameters);
4424
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->parameters, _ptr_parameters));
4426
r->parameters = NULL;
4428
ndr->flags = _flags_save_string;
4431
uint32_t _flags_save_string = ndr->flags;
4432
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4433
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
4434
if (_ptr_driver_name) {
4435
NDR_PULL_ALLOC(ndr, r->driver_name);
4436
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
4438
r->driver_name = NULL;
4440
ndr->flags = _flags_save_string;
4443
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
4444
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4445
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
4447
NDR_PULL_ALLOC(ndr, r->devmode);
4448
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
4452
ndr->flags = _flags_save_spoolss_DeviceMode;
4455
uint32_t _flags_save_string = ndr->flags;
4456
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4457
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
4458
if (_ptr_text_status) {
4459
NDR_PULL_ALLOC(ndr, r->text_status);
4460
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->text_status, _ptr_text_status));
4462
r->text_status = NULL;
4464
ndr->flags = _flags_save_string;
4467
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
4468
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4469
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
4471
NDR_PULL_ALLOC(ndr, r->secdesc);
4472
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
4476
ndr->flags = _flags_save_spoolss_security_descriptor;
4478
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
4479
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
4480
if (r->priority > 99) {
4481
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4483
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
4484
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->start_time));
4485
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->until_time));
4486
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
4487
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
4488
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
4489
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time));
4490
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
4491
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size_high));
4492
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4494
if (ndr_flags & NDR_BUFFERS) {
4496
uint32_t _flags_save_string = ndr->flags;
4497
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4498
if (r->printer_name) {
4499
uint32_t _relative_save_offset;
4500
_relative_save_offset = ndr->offset;
4501
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printer_name));
4502
_mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4503
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
4504
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printer_name));
4505
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
4506
ndr->offset = _relative_save_offset;
4508
ndr->flags = _flags_save_string;
4511
uint32_t _flags_save_string = ndr->flags;
4512
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4513
if (r->server_name) {
4514
uint32_t _relative_save_offset;
4515
_relative_save_offset = ndr->offset;
4516
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->server_name));
4517
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4518
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
4519
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->server_name));
4520
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
4521
ndr->offset = _relative_save_offset;
4523
ndr->flags = _flags_save_string;
4526
uint32_t _flags_save_string = ndr->flags;
4527
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4529
uint32_t _relative_save_offset;
4530
_relative_save_offset = ndr->offset;
4531
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->user_name));
4532
_mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4533
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
4534
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name));
4535
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
4536
ndr->offset = _relative_save_offset;
4538
ndr->flags = _flags_save_string;
4541
uint32_t _flags_save_string = ndr->flags;
4542
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4543
if (r->document_name) {
4544
uint32_t _relative_save_offset;
4545
_relative_save_offset = ndr->offset;
4546
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->document_name));
4547
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4548
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
4549
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->document_name));
4550
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
4551
ndr->offset = _relative_save_offset;
4553
ndr->flags = _flags_save_string;
4556
uint32_t _flags_save_string = ndr->flags;
4557
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4558
if (r->notify_name) {
4559
uint32_t _relative_save_offset;
4560
_relative_save_offset = ndr->offset;
4561
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->notify_name));
4562
_mem_save_notify_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4563
NDR_PULL_SET_MEM_CTX(ndr, r->notify_name, 0);
4564
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->notify_name));
4565
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_name_0, 0);
4566
ndr->offset = _relative_save_offset;
4568
ndr->flags = _flags_save_string;
4571
uint32_t _flags_save_string = ndr->flags;
4572
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4574
uint32_t _relative_save_offset;
4575
_relative_save_offset = ndr->offset;
4576
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_type));
4577
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
4578
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
4579
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_type));
4580
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
4581
ndr->offset = _relative_save_offset;
4583
ndr->flags = _flags_save_string;
4586
uint32_t _flags_save_string = ndr->flags;
4587
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4588
if (r->print_processor) {
4589
uint32_t _relative_save_offset;
4590
_relative_save_offset = ndr->offset;
4591
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->print_processor));
4592
_mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr);
4593
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
4594
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor));
4595
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
4596
ndr->offset = _relative_save_offset;
4598
ndr->flags = _flags_save_string;
4601
uint32_t _flags_save_string = ndr->flags;
4602
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4603
if (r->parameters) {
4604
uint32_t _relative_save_offset;
4605
_relative_save_offset = ndr->offset;
4606
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->parameters));
4607
_mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
4608
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
4609
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->parameters));
4610
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
4611
ndr->offset = _relative_save_offset;
4613
ndr->flags = _flags_save_string;
4616
uint32_t _flags_save_string = ndr->flags;
4617
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4618
if (r->driver_name) {
4619
uint32_t _relative_save_offset;
4620
_relative_save_offset = ndr->offset;
4621
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
4622
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4623
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
4624
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
4625
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
4626
ndr->offset = _relative_save_offset;
4628
ndr->flags = _flags_save_string;
4631
uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
4632
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4634
uint32_t _relative_save_offset;
4635
_relative_save_offset = ndr->offset;
4636
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
4637
_mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
4638
NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
4640
struct ndr_pull *_ndr_devmode;
4641
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
4642
NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
4643
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
4645
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
4646
ndr->offset = _relative_save_offset;
4648
ndr->flags = _flags_save_spoolss_DeviceMode;
4651
uint32_t _flags_save_string = ndr->flags;
4652
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4653
if (r->text_status) {
4654
uint32_t _relative_save_offset;
4655
_relative_save_offset = ndr->offset;
4656
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->text_status));
4657
_mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
4658
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
4659
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->text_status));
4660
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
4661
ndr->offset = _relative_save_offset;
4663
ndr->flags = _flags_save_string;
4666
uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
4667
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
4669
uint32_t _relative_save_offset;
4670
_relative_save_offset = ndr->offset;
4671
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
4672
_mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
4673
NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
4675
struct ndr_pull *_ndr_secdesc;
4676
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
4677
NDR_CHECK(ndr_pull_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
4678
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
4680
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
4681
ndr->offset = _relative_save_offset;
4683
ndr->flags = _flags_save_spoolss_security_descriptor;
4686
return NDR_ERR_SUCCESS;
4689
_PUBLIC_ void ndr_print_spoolss_JobInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo4 *r)
4691
ndr_print_struct(ndr, name, "spoolss_JobInfo4");
4693
ndr_print_uint32(ndr, "job_id", r->job_id);
4694
ndr_print_ptr(ndr, "printer_name", r->printer_name);
4696
if (r->printer_name) {
4697
ndr_print_string(ndr, "printer_name", r->printer_name);
4700
ndr_print_ptr(ndr, "server_name", r->server_name);
4702
if (r->server_name) {
4703
ndr_print_string(ndr, "server_name", r->server_name);
4706
ndr_print_ptr(ndr, "user_name", r->user_name);
4709
ndr_print_string(ndr, "user_name", r->user_name);
4712
ndr_print_ptr(ndr, "document_name", r->document_name);
4714
if (r->document_name) {
4715
ndr_print_string(ndr, "document_name", r->document_name);
4718
ndr_print_ptr(ndr, "notify_name", r->notify_name);
4720
if (r->notify_name) {
4721
ndr_print_string(ndr, "notify_name", r->notify_name);
4724
ndr_print_ptr(ndr, "data_type", r->data_type);
4727
ndr_print_string(ndr, "data_type", r->data_type);
4730
ndr_print_ptr(ndr, "print_processor", r->print_processor);
4732
if (r->print_processor) {
4733
ndr_print_string(ndr, "print_processor", r->print_processor);
4736
ndr_print_ptr(ndr, "parameters", r->parameters);
4738
if (r->parameters) {
4739
ndr_print_string(ndr, "parameters", r->parameters);
4742
ndr_print_ptr(ndr, "driver_name", r->driver_name);
4744
if (r->driver_name) {
4745
ndr_print_string(ndr, "driver_name", r->driver_name);
4748
ndr_print_ptr(ndr, "devmode", r->devmode);
4751
ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
4754
ndr_print_ptr(ndr, "text_status", r->text_status);
4756
if (r->text_status) {
4757
ndr_print_string(ndr, "text_status", r->text_status);
4760
ndr_print_ptr(ndr, "secdesc", r->secdesc);
4763
ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc);
4766
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
4767
ndr_print_uint32(ndr, "priority", r->priority);
4768
ndr_print_uint32(ndr, "position", r->position);
4769
ndr_print_uint32(ndr, "start_time", r->start_time);
4770
ndr_print_uint32(ndr, "until_time", r->until_time);
4771
ndr_print_uint32(ndr, "total_pages", r->total_pages);
4772
ndr_print_uint32(ndr, "size", r->size);
4773
ndr_print_spoolss_Time(ndr, "submitted", &r->submitted);
4774
ndr_print_uint32(ndr, "time", r->time);
4775
ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
4776
ndr_print_uint32(ndr, "size_high", r->size_high);
4780
_PUBLIC_ size_t ndr_size_spoolss_JobInfo4(const struct spoolss_JobInfo4 *r, struct smb_iconv_convenience *ic, int flags)
4782
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo4, ic);
4785
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_JobInfo *r)
4787
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
4789
uint32_t _flags_save_UNION = ndr->flags;
4790
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
4791
if (ndr_flags & NDR_SCALARS) {
4792
int level = ndr_push_get_switch_value(ndr, r);
4793
NDR_CHECK(ndr_push_union_align(ndr, 5));
4796
NDR_CHECK(ndr_push_align(ndr, 5));
4797
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
4798
NDR_CHECK(ndr_push_spoolss_JobInfo1(ndr, NDR_SCALARS, &r->info1));
4802
NDR_CHECK(ndr_push_align(ndr, 5));
4803
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
4804
NDR_CHECK(ndr_push_spoolss_JobInfo2(ndr, NDR_SCALARS, &r->info2));
4808
NDR_CHECK(ndr_push_align(ndr, 4));
4809
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
4810
NDR_CHECK(ndr_push_spoolss_JobInfo3(ndr, NDR_SCALARS, &r->info3));
4814
NDR_CHECK(ndr_push_align(ndr, 5));
4815
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
4816
NDR_CHECK(ndr_push_spoolss_JobInfo4(ndr, NDR_SCALARS, &r->info4));
4824
if (ndr_flags & NDR_BUFFERS) {
4825
int level = ndr_push_get_switch_value(ndr, r);
4826
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
4829
NDR_CHECK(ndr_push_spoolss_JobInfo1(ndr, NDR_BUFFERS, &r->info1));
4833
NDR_CHECK(ndr_push_spoolss_JobInfo2(ndr, NDR_BUFFERS, &r->info2));
4840
NDR_CHECK(ndr_push_spoolss_JobInfo4(ndr, NDR_BUFFERS, &r->info4));
4848
ndr->flags = _flags_save_UNION;
4850
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
4851
return NDR_ERR_SUCCESS;
4854
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_JobInfo *r)
4856
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
4859
uint32_t _flags_save_UNION = ndr->flags;
4860
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
4861
level = ndr_pull_get_switch_value(ndr, r);
4862
if (ndr_flags & NDR_SCALARS) {
4863
NDR_CHECK(ndr_pull_union_align(ndr, 5));
4866
NDR_CHECK(ndr_pull_align(ndr, 5));
4867
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
4868
NDR_CHECK(ndr_pull_spoolss_JobInfo1(ndr, NDR_SCALARS, &r->info1));
4872
NDR_CHECK(ndr_pull_align(ndr, 5));
4873
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
4874
NDR_CHECK(ndr_pull_spoolss_JobInfo2(ndr, NDR_SCALARS, &r->info2));
4878
NDR_CHECK(ndr_pull_align(ndr, 4));
4879
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
4880
NDR_CHECK(ndr_pull_spoolss_JobInfo3(ndr, NDR_SCALARS, &r->info3));
4884
NDR_CHECK(ndr_pull_align(ndr, 5));
4885
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
4886
NDR_CHECK(ndr_pull_spoolss_JobInfo4(ndr, NDR_SCALARS, &r->info4));
4894
if (ndr_flags & NDR_BUFFERS) {
4895
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
4898
NDR_CHECK(ndr_pull_spoolss_JobInfo1(ndr, NDR_BUFFERS, &r->info1));
4902
NDR_CHECK(ndr_pull_spoolss_JobInfo2(ndr, NDR_BUFFERS, &r->info2));
4909
NDR_CHECK(ndr_pull_spoolss_JobInfo4(ndr, NDR_BUFFERS, &r->info4));
4917
ndr->flags = _flags_save_UNION;
4919
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
4920
return NDR_ERR_SUCCESS;
4923
_PUBLIC_ void ndr_print_spoolss_JobInfo(struct ndr_print *ndr, const char *name, const union spoolss_JobInfo *r)
4927
uint32_t _flags_save_UNION = ndr->flags;
4928
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
4929
level = ndr_print_get_switch_value(ndr, r);
4930
ndr_print_union(ndr, name, level, "spoolss_JobInfo");
4933
ndr_print_spoolss_JobInfo1(ndr, "info1", &r->info1);
4937
ndr_print_spoolss_JobInfo2(ndr, "info2", &r->info2);
4941
ndr_print_spoolss_JobInfo3(ndr, "info3", &r->info3);
4945
ndr_print_spoolss_JobInfo4(ndr, "info4", &r->info4);
4952
ndr->flags = _flags_save_UNION;
4956
_PUBLIC_ size_t ndr_size_spoolss_JobInfo(const union spoolss_JobInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
4958
flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
4959
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo, ic);
4962
static enum ndr_err_code ndr_push_spoolss_SetJobInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetJobInfo1 *r)
4964
if (ndr_flags & NDR_SCALARS) {
4965
NDR_CHECK(ndr_push_align(ndr, 5));
4966
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
4967
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printer_name));
4968
NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name));
4969
NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name));
4970
NDR_CHECK(ndr_push_unique_ptr(ndr, r->document_name));
4971
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_type));
4972
NDR_CHECK(ndr_push_unique_ptr(ndr, r->text_status));
4973
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
4974
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
4975
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
4976
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
4977
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
4978
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
4979
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4981
if (ndr_flags & NDR_BUFFERS) {
4982
if (r->printer_name) {
4983
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16)));
4984
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4985
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16)));
4986
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printer_name, ndr_charset_length(r->printer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4988
if (r->server_name) {
4989
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
4990
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4991
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
4992
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4995
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
4996
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4997
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
4998
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5000
if (r->document_name) {
5001
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
5002
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5003
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
5004
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->document_name, ndr_charset_length(r->document_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5007
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16)));
5008
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5009
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16)));
5010
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_type, ndr_charset_length(r->data_type, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5012
if (r->text_status) {
5013
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16)));
5014
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5015
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16)));
5016
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->text_status, ndr_charset_length(r->text_status, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5019
return NDR_ERR_SUCCESS;
5022
static enum ndr_err_code ndr_pull_spoolss_SetJobInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetJobInfo1 *r)
5024
uint32_t _ptr_printer_name;
5025
TALLOC_CTX *_mem_save_printer_name_0;
5026
uint32_t _ptr_server_name;
5027
TALLOC_CTX *_mem_save_server_name_0;
5028
uint32_t _ptr_user_name;
5029
TALLOC_CTX *_mem_save_user_name_0;
5030
uint32_t _ptr_document_name;
5031
TALLOC_CTX *_mem_save_document_name_0;
5032
uint32_t _ptr_data_type;
5033
TALLOC_CTX *_mem_save_data_type_0;
5034
uint32_t _ptr_text_status;
5035
TALLOC_CTX *_mem_save_text_status_0;
5036
if (ndr_flags & NDR_SCALARS) {
5037
NDR_CHECK(ndr_pull_align(ndr, 5));
5038
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
5039
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
5040
if (_ptr_printer_name) {
5041
NDR_PULL_ALLOC(ndr, r->printer_name);
5043
r->printer_name = NULL;
5045
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
5046
if (_ptr_server_name) {
5047
NDR_PULL_ALLOC(ndr, r->server_name);
5049
r->server_name = NULL;
5051
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
5052
if (_ptr_user_name) {
5053
NDR_PULL_ALLOC(ndr, r->user_name);
5055
r->user_name = NULL;
5057
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
5058
if (_ptr_document_name) {
5059
NDR_PULL_ALLOC(ndr, r->document_name);
5061
r->document_name = NULL;
5063
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
5064
if (_ptr_data_type) {
5065
NDR_PULL_ALLOC(ndr, r->data_type);
5067
r->data_type = NULL;
5069
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
5070
if (_ptr_text_status) {
5071
NDR_PULL_ALLOC(ndr, r->text_status);
5073
r->text_status = NULL;
5075
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
5076
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
5077
if (r->priority > 99) {
5078
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5080
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
5081
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
5082
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
5083
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
5084
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5086
if (ndr_flags & NDR_BUFFERS) {
5087
if (r->printer_name) {
5088
_mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5089
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
5090
NDR_CHECK(ndr_pull_array_size(ndr, &r->printer_name));
5091
NDR_CHECK(ndr_pull_array_length(ndr, &r->printer_name));
5092
if (ndr_get_array_length(ndr, &r->printer_name) > ndr_get_array_size(ndr, &r->printer_name)) {
5093
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));
5095
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t)));
5096
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printer_name, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t), CH_UTF16));
5097
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
5099
if (r->server_name) {
5100
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5101
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
5102
NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
5103
NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
5104
if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
5105
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));
5107
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));
5108
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));
5109
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
5112
_mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5113
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
5114
NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name));
5115
NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name));
5116
if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) {
5117
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));
5119
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t)));
5120
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16));
5121
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
5123
if (r->document_name) {
5124
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5125
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
5126
NDR_CHECK(ndr_pull_array_size(ndr, &r->document_name));
5127
NDR_CHECK(ndr_pull_array_length(ndr, &r->document_name));
5128
if (ndr_get_array_length(ndr, &r->document_name) > ndr_get_array_size(ndr, &r->document_name)) {
5129
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));
5131
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t)));
5132
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->document_name, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t), CH_UTF16));
5133
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
5136
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
5137
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
5138
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_type));
5139
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_type));
5140
if (ndr_get_array_length(ndr, &r->data_type) > ndr_get_array_size(ndr, &r->data_type)) {
5141
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));
5143
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t)));
5144
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_type, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t), CH_UTF16));
5145
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
5147
if (r->text_status) {
5148
_mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
5149
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
5150
NDR_CHECK(ndr_pull_array_size(ndr, &r->text_status));
5151
NDR_CHECK(ndr_pull_array_length(ndr, &r->text_status));
5152
if (ndr_get_array_length(ndr, &r->text_status) > ndr_get_array_size(ndr, &r->text_status)) {
5153
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));
5155
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t)));
5156
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->text_status, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t), CH_UTF16));
5157
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
5160
return NDR_ERR_SUCCESS;
5163
_PUBLIC_ void ndr_print_spoolss_SetJobInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_SetJobInfo1 *r)
5165
ndr_print_struct(ndr, name, "spoolss_SetJobInfo1");
5167
ndr_print_uint32(ndr, "job_id", r->job_id);
5168
ndr_print_ptr(ndr, "printer_name", r->printer_name);
5170
if (r->printer_name) {
5171
ndr_print_string(ndr, "printer_name", r->printer_name);
5174
ndr_print_ptr(ndr, "server_name", r->server_name);
5176
if (r->server_name) {
5177
ndr_print_string(ndr, "server_name", r->server_name);
5180
ndr_print_ptr(ndr, "user_name", r->user_name);
5183
ndr_print_string(ndr, "user_name", r->user_name);
5186
ndr_print_ptr(ndr, "document_name", r->document_name);
5188
if (r->document_name) {
5189
ndr_print_string(ndr, "document_name", r->document_name);
5192
ndr_print_ptr(ndr, "data_type", r->data_type);
5195
ndr_print_string(ndr, "data_type", r->data_type);
5198
ndr_print_ptr(ndr, "text_status", r->text_status);
5200
if (r->text_status) {
5201
ndr_print_string(ndr, "text_status", r->text_status);
5204
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
5205
ndr_print_uint32(ndr, "priority", r->priority);
5206
ndr_print_uint32(ndr, "position", r->position);
5207
ndr_print_uint32(ndr, "total_pages", r->total_pages);
5208
ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
5209
ndr_print_spoolss_Time(ndr, "submitted", &r->submitted);
5213
static enum ndr_err_code ndr_push_spoolss_SetJobInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetJobInfo2 *r)
5215
if (ndr_flags & NDR_SCALARS) {
5216
NDR_CHECK(ndr_push_align(ndr, 5));
5217
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
5218
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printer_name));
5219
NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name));
5220
NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name));
5221
NDR_CHECK(ndr_push_unique_ptr(ndr, r->document_name));
5222
NDR_CHECK(ndr_push_unique_ptr(ndr, r->notify_name));
5223
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_type));
5224
NDR_CHECK(ndr_push_unique_ptr(ndr, r->print_processor));
5225
NDR_CHECK(ndr_push_unique_ptr(ndr, r->parameters));
5226
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
5227
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->_devmode_ptr));
5228
NDR_CHECK(ndr_push_unique_ptr(ndr, r->text_status));
5229
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->_secdesc_ptr));
5230
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
5231
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
5232
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
5233
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->start_time));
5234
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->until_time));
5235
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
5236
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
5237
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
5238
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time));
5239
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
5240
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5242
if (ndr_flags & NDR_BUFFERS) {
5243
if (r->printer_name) {
5244
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16)));
5245
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5246
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16)));
5247
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printer_name, ndr_charset_length(r->printer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5249
if (r->server_name) {
5250
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
5251
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5252
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
5253
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5256
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
5257
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5258
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
5259
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5261
if (r->document_name) {
5262
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
5263
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5264
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
5265
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->document_name, ndr_charset_length(r->document_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5267
if (r->notify_name) {
5268
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->notify_name, CH_UTF16)));
5269
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5270
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->notify_name, CH_UTF16)));
5271
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->notify_name, ndr_charset_length(r->notify_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5274
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16)));
5275
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5276
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16)));
5277
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_type, ndr_charset_length(r->data_type, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5279
if (r->print_processor) {
5280
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16)));
5281
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5282
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16)));
5283
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->print_processor, ndr_charset_length(r->print_processor, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5285
if (r->parameters) {
5286
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
5287
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5288
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
5289
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->parameters, ndr_charset_length(r->parameters, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5291
if (r->driver_name) {
5292
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
5293
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5294
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
5295
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5297
if (r->text_status) {
5298
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16)));
5299
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5300
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16)));
5301
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->text_status, ndr_charset_length(r->text_status, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5304
return NDR_ERR_SUCCESS;
5307
static enum ndr_err_code ndr_pull_spoolss_SetJobInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetJobInfo2 *r)
5309
uint32_t _ptr_printer_name;
5310
TALLOC_CTX *_mem_save_printer_name_0;
5311
uint32_t _ptr_server_name;
5312
TALLOC_CTX *_mem_save_server_name_0;
5313
uint32_t _ptr_user_name;
5314
TALLOC_CTX *_mem_save_user_name_0;
5315
uint32_t _ptr_document_name;
5316
TALLOC_CTX *_mem_save_document_name_0;
5317
uint32_t _ptr_notify_name;
5318
TALLOC_CTX *_mem_save_notify_name_0;
5319
uint32_t _ptr_data_type;
5320
TALLOC_CTX *_mem_save_data_type_0;
5321
uint32_t _ptr_print_processor;
5322
TALLOC_CTX *_mem_save_print_processor_0;
5323
uint32_t _ptr_parameters;
5324
TALLOC_CTX *_mem_save_parameters_0;
5325
uint32_t _ptr_driver_name;
5326
TALLOC_CTX *_mem_save_driver_name_0;
5327
uint32_t _ptr_text_status;
5328
TALLOC_CTX *_mem_save_text_status_0;
5329
if (ndr_flags & NDR_SCALARS) {
5330
NDR_CHECK(ndr_pull_align(ndr, 5));
5331
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
5332
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
5333
if (_ptr_printer_name) {
5334
NDR_PULL_ALLOC(ndr, r->printer_name);
5336
r->printer_name = NULL;
5338
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
5339
if (_ptr_server_name) {
5340
NDR_PULL_ALLOC(ndr, r->server_name);
5342
r->server_name = NULL;
5344
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
5345
if (_ptr_user_name) {
5346
NDR_PULL_ALLOC(ndr, r->user_name);
5348
r->user_name = NULL;
5350
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
5351
if (_ptr_document_name) {
5352
NDR_PULL_ALLOC(ndr, r->document_name);
5354
r->document_name = NULL;
5356
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_name));
5357
if (_ptr_notify_name) {
5358
NDR_PULL_ALLOC(ndr, r->notify_name);
5360
r->notify_name = NULL;
5362
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
5363
if (_ptr_data_type) {
5364
NDR_PULL_ALLOC(ndr, r->data_type);
5366
r->data_type = NULL;
5368
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
5369
if (_ptr_print_processor) {
5370
NDR_PULL_ALLOC(ndr, r->print_processor);
5372
r->print_processor = NULL;
5374
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
5375
if (_ptr_parameters) {
5376
NDR_PULL_ALLOC(ndr, r->parameters);
5378
r->parameters = NULL;
5380
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
5381
if (_ptr_driver_name) {
5382
NDR_PULL_ALLOC(ndr, r->driver_name);
5384
r->driver_name = NULL;
5386
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_devmode_ptr));
5387
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
5388
if (_ptr_text_status) {
5389
NDR_PULL_ALLOC(ndr, r->text_status);
5391
r->text_status = NULL;
5393
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_secdesc_ptr));
5394
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
5395
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
5396
if (r->priority > 99) {
5397
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5399
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
5400
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->start_time));
5401
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->until_time));
5402
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
5403
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
5404
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
5405
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time));
5406
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
5407
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5409
if (ndr_flags & NDR_BUFFERS) {
5410
if (r->printer_name) {
5411
_mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5412
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
5413
NDR_CHECK(ndr_pull_array_size(ndr, &r->printer_name));
5414
NDR_CHECK(ndr_pull_array_length(ndr, &r->printer_name));
5415
if (ndr_get_array_length(ndr, &r->printer_name) > ndr_get_array_size(ndr, &r->printer_name)) {
5416
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));
5418
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t)));
5419
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printer_name, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t), CH_UTF16));
5420
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
5422
if (r->server_name) {
5423
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5424
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
5425
NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
5426
NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
5427
if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
5428
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));
5430
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));
5431
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));
5432
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
5435
_mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5436
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
5437
NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name));
5438
NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name));
5439
if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) {
5440
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));
5442
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t)));
5443
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16));
5444
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
5446
if (r->document_name) {
5447
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5448
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
5449
NDR_CHECK(ndr_pull_array_size(ndr, &r->document_name));
5450
NDR_CHECK(ndr_pull_array_length(ndr, &r->document_name));
5451
if (ndr_get_array_length(ndr, &r->document_name) > ndr_get_array_size(ndr, &r->document_name)) {
5452
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));
5454
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t)));
5455
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->document_name, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t), CH_UTF16));
5456
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
5458
if (r->notify_name) {
5459
_mem_save_notify_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5460
NDR_PULL_SET_MEM_CTX(ndr, r->notify_name, 0);
5461
NDR_CHECK(ndr_pull_array_size(ndr, &r->notify_name));
5462
NDR_CHECK(ndr_pull_array_length(ndr, &r->notify_name));
5463
if (ndr_get_array_length(ndr, &r->notify_name) > ndr_get_array_size(ndr, &r->notify_name)) {
5464
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));
5466
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->notify_name), sizeof(uint16_t)));
5467
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->notify_name, ndr_get_array_length(ndr, &r->notify_name), sizeof(uint16_t), CH_UTF16));
5468
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_name_0, 0);
5471
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
5472
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
5473
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_type));
5474
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_type));
5475
if (ndr_get_array_length(ndr, &r->data_type) > ndr_get_array_size(ndr, &r->data_type)) {
5476
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));
5478
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t)));
5479
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_type, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t), CH_UTF16));
5480
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
5482
if (r->print_processor) {
5483
_mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr);
5484
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
5485
NDR_CHECK(ndr_pull_array_size(ndr, &r->print_processor));
5486
NDR_CHECK(ndr_pull_array_length(ndr, &r->print_processor));
5487
if (ndr_get_array_length(ndr, &r->print_processor) > ndr_get_array_size(ndr, &r->print_processor)) {
5488
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));
5490
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t)));
5491
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->print_processor, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t), CH_UTF16));
5492
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
5494
if (r->parameters) {
5495
_mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
5496
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
5497
NDR_CHECK(ndr_pull_array_size(ndr, &r->parameters));
5498
NDR_CHECK(ndr_pull_array_length(ndr, &r->parameters));
5499
if (ndr_get_array_length(ndr, &r->parameters) > ndr_get_array_size(ndr, &r->parameters)) {
5500
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));
5502
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t)));
5503
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->parameters, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t), CH_UTF16));
5504
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
5506
if (r->driver_name) {
5507
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5508
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
5509
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
5510
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
5511
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
5512
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));
5514
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
5515
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
5516
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
5518
if (r->text_status) {
5519
_mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
5520
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
5521
NDR_CHECK(ndr_pull_array_size(ndr, &r->text_status));
5522
NDR_CHECK(ndr_pull_array_length(ndr, &r->text_status));
5523
if (ndr_get_array_length(ndr, &r->text_status) > ndr_get_array_size(ndr, &r->text_status)) {
5524
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));
5526
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t)));
5527
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->text_status, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t), CH_UTF16));
5528
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
5531
return NDR_ERR_SUCCESS;
5534
_PUBLIC_ void ndr_print_spoolss_SetJobInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_SetJobInfo2 *r)
5536
ndr_print_struct(ndr, name, "spoolss_SetJobInfo2");
5538
ndr_print_uint32(ndr, "job_id", r->job_id);
5539
ndr_print_ptr(ndr, "printer_name", r->printer_name);
5541
if (r->printer_name) {
5542
ndr_print_string(ndr, "printer_name", r->printer_name);
5545
ndr_print_ptr(ndr, "server_name", r->server_name);
5547
if (r->server_name) {
5548
ndr_print_string(ndr, "server_name", r->server_name);
5551
ndr_print_ptr(ndr, "user_name", r->user_name);
5554
ndr_print_string(ndr, "user_name", r->user_name);
5557
ndr_print_ptr(ndr, "document_name", r->document_name);
5559
if (r->document_name) {
5560
ndr_print_string(ndr, "document_name", r->document_name);
5563
ndr_print_ptr(ndr, "notify_name", r->notify_name);
5565
if (r->notify_name) {
5566
ndr_print_string(ndr, "notify_name", r->notify_name);
5569
ndr_print_ptr(ndr, "data_type", r->data_type);
5572
ndr_print_string(ndr, "data_type", r->data_type);
5575
ndr_print_ptr(ndr, "print_processor", r->print_processor);
5577
if (r->print_processor) {
5578
ndr_print_string(ndr, "print_processor", r->print_processor);
5581
ndr_print_ptr(ndr, "parameters", r->parameters);
5583
if (r->parameters) {
5584
ndr_print_string(ndr, "parameters", r->parameters);
5587
ndr_print_ptr(ndr, "driver_name", r->driver_name);
5589
if (r->driver_name) {
5590
ndr_print_string(ndr, "driver_name", r->driver_name);
5593
ndr_print_uint32(ndr, "_devmode_ptr", r->_devmode_ptr);
5594
ndr_print_ptr(ndr, "text_status", r->text_status);
5596
if (r->text_status) {
5597
ndr_print_string(ndr, "text_status", r->text_status);
5600
ndr_print_uint32(ndr, "_secdesc_ptr", r->_secdesc_ptr);
5601
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
5602
ndr_print_uint32(ndr, "priority", r->priority);
5603
ndr_print_uint32(ndr, "position", r->position);
5604
ndr_print_uint32(ndr, "start_time", r->start_time);
5605
ndr_print_uint32(ndr, "until_time", r->until_time);
5606
ndr_print_uint32(ndr, "total_pages", r->total_pages);
5607
ndr_print_uint32(ndr, "size", r->size);
5608
ndr_print_spoolss_Time(ndr, "submitted", &r->submitted);
5609
ndr_print_uint32(ndr, "time", r->time);
5610
ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
5614
static enum ndr_err_code ndr_push_spoolss_SetJobInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetJobInfo4 *r)
5616
if (ndr_flags & NDR_SCALARS) {
5617
NDR_CHECK(ndr_push_align(ndr, 5));
5618
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
5619
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printer_name));
5620
NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name));
5621
NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name));
5622
NDR_CHECK(ndr_push_unique_ptr(ndr, r->document_name));
5623
NDR_CHECK(ndr_push_unique_ptr(ndr, r->notify_name));
5624
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_type));
5625
NDR_CHECK(ndr_push_unique_ptr(ndr, r->print_processor));
5626
NDR_CHECK(ndr_push_unique_ptr(ndr, r->parameters));
5627
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
5628
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->_devmode_ptr));
5629
NDR_CHECK(ndr_push_unique_ptr(ndr, r->text_status));
5630
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->_secdesc_ptr));
5631
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
5632
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
5633
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
5634
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->start_time));
5635
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->until_time));
5636
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
5637
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
5638
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
5639
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time));
5640
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
5641
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size_high));
5642
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5644
if (ndr_flags & NDR_BUFFERS) {
5645
if (r->printer_name) {
5646
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16)));
5647
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5648
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16)));
5649
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printer_name, ndr_charset_length(r->printer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5651
if (r->server_name) {
5652
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
5653
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5654
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
5655
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5658
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
5659
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5660
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
5661
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5663
if (r->document_name) {
5664
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
5665
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5666
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
5667
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->document_name, ndr_charset_length(r->document_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5669
if (r->notify_name) {
5670
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->notify_name, CH_UTF16)));
5671
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5672
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->notify_name, CH_UTF16)));
5673
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->notify_name, ndr_charset_length(r->notify_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5676
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16)));
5677
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5678
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16)));
5679
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_type, ndr_charset_length(r->data_type, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5681
if (r->print_processor) {
5682
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16)));
5683
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5684
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16)));
5685
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->print_processor, ndr_charset_length(r->print_processor, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5687
if (r->parameters) {
5688
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
5689
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5690
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
5691
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->parameters, ndr_charset_length(r->parameters, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5693
if (r->driver_name) {
5694
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
5695
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5696
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
5697
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5699
if (r->text_status) {
5700
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16)));
5701
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5702
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16)));
5703
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->text_status, ndr_charset_length(r->text_status, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5706
return NDR_ERR_SUCCESS;
5709
static enum ndr_err_code ndr_pull_spoolss_SetJobInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetJobInfo4 *r)
5711
uint32_t _ptr_printer_name;
5712
TALLOC_CTX *_mem_save_printer_name_0;
5713
uint32_t _ptr_server_name;
5714
TALLOC_CTX *_mem_save_server_name_0;
5715
uint32_t _ptr_user_name;
5716
TALLOC_CTX *_mem_save_user_name_0;
5717
uint32_t _ptr_document_name;
5718
TALLOC_CTX *_mem_save_document_name_0;
5719
uint32_t _ptr_notify_name;
5720
TALLOC_CTX *_mem_save_notify_name_0;
5721
uint32_t _ptr_data_type;
5722
TALLOC_CTX *_mem_save_data_type_0;
5723
uint32_t _ptr_print_processor;
5724
TALLOC_CTX *_mem_save_print_processor_0;
5725
uint32_t _ptr_parameters;
5726
TALLOC_CTX *_mem_save_parameters_0;
5727
uint32_t _ptr_driver_name;
5728
TALLOC_CTX *_mem_save_driver_name_0;
5729
uint32_t _ptr_text_status;
5730
TALLOC_CTX *_mem_save_text_status_0;
5731
if (ndr_flags & NDR_SCALARS) {
5732
NDR_CHECK(ndr_pull_align(ndr, 5));
5733
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
5734
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
5735
if (_ptr_printer_name) {
5736
NDR_PULL_ALLOC(ndr, r->printer_name);
5738
r->printer_name = NULL;
5740
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
5741
if (_ptr_server_name) {
5742
NDR_PULL_ALLOC(ndr, r->server_name);
5744
r->server_name = NULL;
5746
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
5747
if (_ptr_user_name) {
5748
NDR_PULL_ALLOC(ndr, r->user_name);
5750
r->user_name = NULL;
5752
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
5753
if (_ptr_document_name) {
5754
NDR_PULL_ALLOC(ndr, r->document_name);
5756
r->document_name = NULL;
5758
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_name));
5759
if (_ptr_notify_name) {
5760
NDR_PULL_ALLOC(ndr, r->notify_name);
5762
r->notify_name = NULL;
5764
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
5765
if (_ptr_data_type) {
5766
NDR_PULL_ALLOC(ndr, r->data_type);
5768
r->data_type = NULL;
5770
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
5771
if (_ptr_print_processor) {
5772
NDR_PULL_ALLOC(ndr, r->print_processor);
5774
r->print_processor = NULL;
5776
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
5777
if (_ptr_parameters) {
5778
NDR_PULL_ALLOC(ndr, r->parameters);
5780
r->parameters = NULL;
5782
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
5783
if (_ptr_driver_name) {
5784
NDR_PULL_ALLOC(ndr, r->driver_name);
5786
r->driver_name = NULL;
5788
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_devmode_ptr));
5789
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
5790
if (_ptr_text_status) {
5791
NDR_PULL_ALLOC(ndr, r->text_status);
5793
r->text_status = NULL;
5795
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_secdesc_ptr));
5796
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
5797
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
5798
if (r->priority > 99) {
5799
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5801
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
5802
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->start_time));
5803
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->until_time));
5804
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
5805
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
5806
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
5807
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time));
5808
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
5809
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size_high));
5810
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5812
if (ndr_flags & NDR_BUFFERS) {
5813
if (r->printer_name) {
5814
_mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5815
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
5816
NDR_CHECK(ndr_pull_array_size(ndr, &r->printer_name));
5817
NDR_CHECK(ndr_pull_array_length(ndr, &r->printer_name));
5818
if (ndr_get_array_length(ndr, &r->printer_name) > ndr_get_array_size(ndr, &r->printer_name)) {
5819
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));
5821
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t)));
5822
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printer_name, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t), CH_UTF16));
5823
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
5825
if (r->server_name) {
5826
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5827
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
5828
NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
5829
NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
5830
if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
5831
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));
5833
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));
5834
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));
5835
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
5838
_mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5839
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
5840
NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name));
5841
NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name));
5842
if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) {
5843
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));
5845
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t)));
5846
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16));
5847
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
5849
if (r->document_name) {
5850
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5851
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
5852
NDR_CHECK(ndr_pull_array_size(ndr, &r->document_name));
5853
NDR_CHECK(ndr_pull_array_length(ndr, &r->document_name));
5854
if (ndr_get_array_length(ndr, &r->document_name) > ndr_get_array_size(ndr, &r->document_name)) {
5855
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));
5857
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t)));
5858
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->document_name, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t), CH_UTF16));
5859
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
5861
if (r->notify_name) {
5862
_mem_save_notify_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5863
NDR_PULL_SET_MEM_CTX(ndr, r->notify_name, 0);
5864
NDR_CHECK(ndr_pull_array_size(ndr, &r->notify_name));
5865
NDR_CHECK(ndr_pull_array_length(ndr, &r->notify_name));
5866
if (ndr_get_array_length(ndr, &r->notify_name) > ndr_get_array_size(ndr, &r->notify_name)) {
5867
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));
5869
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->notify_name), sizeof(uint16_t)));
5870
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->notify_name, ndr_get_array_length(ndr, &r->notify_name), sizeof(uint16_t), CH_UTF16));
5871
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_name_0, 0);
5874
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
5875
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
5876
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_type));
5877
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_type));
5878
if (ndr_get_array_length(ndr, &r->data_type) > ndr_get_array_size(ndr, &r->data_type)) {
5879
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));
5881
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t)));
5882
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_type, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t), CH_UTF16));
5883
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
5885
if (r->print_processor) {
5886
_mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr);
5887
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
5888
NDR_CHECK(ndr_pull_array_size(ndr, &r->print_processor));
5889
NDR_CHECK(ndr_pull_array_length(ndr, &r->print_processor));
5890
if (ndr_get_array_length(ndr, &r->print_processor) > ndr_get_array_size(ndr, &r->print_processor)) {
5891
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));
5893
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t)));
5894
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->print_processor, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t), CH_UTF16));
5895
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
5897
if (r->parameters) {
5898
_mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
5899
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
5900
NDR_CHECK(ndr_pull_array_size(ndr, &r->parameters));
5901
NDR_CHECK(ndr_pull_array_length(ndr, &r->parameters));
5902
if (ndr_get_array_length(ndr, &r->parameters) > ndr_get_array_size(ndr, &r->parameters)) {
5903
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));
5905
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t)));
5906
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->parameters, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t), CH_UTF16));
5907
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
5909
if (r->driver_name) {
5910
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5911
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
5912
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
5913
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
5914
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
5915
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));
5917
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
5918
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
5919
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
5921
if (r->text_status) {
5922
_mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
5923
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
5924
NDR_CHECK(ndr_pull_array_size(ndr, &r->text_status));
5925
NDR_CHECK(ndr_pull_array_length(ndr, &r->text_status));
5926
if (ndr_get_array_length(ndr, &r->text_status) > ndr_get_array_size(ndr, &r->text_status)) {
5927
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));
5929
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t)));
5930
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->text_status, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t), CH_UTF16));
5931
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
5934
return NDR_ERR_SUCCESS;
5937
_PUBLIC_ void ndr_print_spoolss_SetJobInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_SetJobInfo4 *r)
5939
ndr_print_struct(ndr, name, "spoolss_SetJobInfo4");
5941
ndr_print_uint32(ndr, "job_id", r->job_id);
5942
ndr_print_ptr(ndr, "printer_name", r->printer_name);
5944
if (r->printer_name) {
5945
ndr_print_string(ndr, "printer_name", r->printer_name);
5948
ndr_print_ptr(ndr, "server_name", r->server_name);
5950
if (r->server_name) {
5951
ndr_print_string(ndr, "server_name", r->server_name);
5954
ndr_print_ptr(ndr, "user_name", r->user_name);
5957
ndr_print_string(ndr, "user_name", r->user_name);
5960
ndr_print_ptr(ndr, "document_name", r->document_name);
5962
if (r->document_name) {
5963
ndr_print_string(ndr, "document_name", r->document_name);
5966
ndr_print_ptr(ndr, "notify_name", r->notify_name);
5968
if (r->notify_name) {
5969
ndr_print_string(ndr, "notify_name", r->notify_name);
5972
ndr_print_ptr(ndr, "data_type", r->data_type);
5975
ndr_print_string(ndr, "data_type", r->data_type);
5978
ndr_print_ptr(ndr, "print_processor", r->print_processor);
5980
if (r->print_processor) {
5981
ndr_print_string(ndr, "print_processor", r->print_processor);
5984
ndr_print_ptr(ndr, "parameters", r->parameters);
5986
if (r->parameters) {
5987
ndr_print_string(ndr, "parameters", r->parameters);
5990
ndr_print_ptr(ndr, "driver_name", r->driver_name);
5992
if (r->driver_name) {
5993
ndr_print_string(ndr, "driver_name", r->driver_name);
5996
ndr_print_uint32(ndr, "_devmode_ptr", r->_devmode_ptr);
5997
ndr_print_ptr(ndr, "text_status", r->text_status);
5999
if (r->text_status) {
6000
ndr_print_string(ndr, "text_status", r->text_status);
6003
ndr_print_uint32(ndr, "_secdesc_ptr", r->_secdesc_ptr);
6004
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
6005
ndr_print_uint32(ndr, "priority", r->priority);
6006
ndr_print_uint32(ndr, "position", r->position);
6007
ndr_print_uint32(ndr, "start_time", r->start_time);
6008
ndr_print_uint32(ndr, "until_time", r->until_time);
6009
ndr_print_uint32(ndr, "total_pages", r->total_pages);
6010
ndr_print_uint32(ndr, "size", r->size);
6011
ndr_print_spoolss_Time(ndr, "submitted", &r->submitted);
6012
ndr_print_uint32(ndr, "time", r->time);
6013
ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
6014
ndr_print_uint32(ndr, "size_high", r->size_high);
6018
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_SetJobInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_SetJobInfo *r)
6020
if (ndr_flags & NDR_SCALARS) {
6021
int level = ndr_push_get_switch_value(ndr, r);
6022
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6023
NDR_CHECK(ndr_push_union_align(ndr, 5));
6026
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
6030
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
6034
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
6038
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
6046
if (ndr_flags & NDR_BUFFERS) {
6047
int level = ndr_push_get_switch_value(ndr, r);
6051
NDR_CHECK(ndr_push_spoolss_SetJobInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
6057
NDR_CHECK(ndr_push_spoolss_SetJobInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
6063
NDR_CHECK(ndr_push_spoolss_JobInfo3(ndr, NDR_SCALARS, r->info3));
6069
NDR_CHECK(ndr_push_spoolss_SetJobInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
6078
return NDR_ERR_SUCCESS;
6081
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_SetJobInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_SetJobInfo *r)
6085
TALLOC_CTX *_mem_save_info1_0;
6086
TALLOC_CTX *_mem_save_info2_0;
6087
TALLOC_CTX *_mem_save_info3_0;
6088
TALLOC_CTX *_mem_save_info4_0;
6089
level = ndr_pull_get_switch_value(ndr, r);
6090
if (ndr_flags & NDR_SCALARS) {
6091
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6092
if (_level != level) {
6093
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6095
NDR_CHECK(ndr_pull_union_align(ndr, 5));
6098
uint32_t _ptr_info1;
6099
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
6101
NDR_PULL_ALLOC(ndr, r->info1);
6108
uint32_t _ptr_info2;
6109
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
6111
NDR_PULL_ALLOC(ndr, r->info2);
6118
uint32_t _ptr_info3;
6119
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
6121
NDR_PULL_ALLOC(ndr, r->info3);
6128
uint32_t _ptr_info4;
6129
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
6131
NDR_PULL_ALLOC(ndr, r->info4);
6142
if (ndr_flags & NDR_BUFFERS) {
6146
_mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6147
NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
6148
NDR_CHECK(ndr_pull_spoolss_SetJobInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
6149
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
6155
_mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
6156
NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
6157
NDR_CHECK(ndr_pull_spoolss_SetJobInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
6158
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
6164
_mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
6165
NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
6166
NDR_CHECK(ndr_pull_spoolss_JobInfo3(ndr, NDR_SCALARS, r->info3));
6167
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
6173
_mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr);
6174
NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0);
6175
NDR_CHECK(ndr_pull_spoolss_SetJobInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
6176
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0);
6185
return NDR_ERR_SUCCESS;
6188
_PUBLIC_ void ndr_print_spoolss_SetJobInfo(struct ndr_print *ndr, const char *name, const union spoolss_SetJobInfo *r)
6191
level = ndr_print_get_switch_value(ndr, r);
6192
ndr_print_union(ndr, name, level, "spoolss_SetJobInfo");
6195
ndr_print_ptr(ndr, "info1", r->info1);
6198
ndr_print_spoolss_SetJobInfo1(ndr, "info1", r->info1);
6204
ndr_print_ptr(ndr, "info2", r->info2);
6207
ndr_print_spoolss_SetJobInfo2(ndr, "info2", r->info2);
6213
ndr_print_ptr(ndr, "info3", r->info3);
6216
ndr_print_spoolss_JobInfo3(ndr, "info3", r->info3);
6222
ndr_print_ptr(ndr, "info4", r->info4);
6225
ndr_print_spoolss_SetJobInfo4(ndr, "info4", r->info4);
6236
static enum ndr_err_code ndr_push_spoolss_JobInfoContainer(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfoContainer *r)
6238
if (ndr_flags & NDR_SCALARS) {
6239
NDR_CHECK(ndr_push_align(ndr, 5));
6240
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
6241
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level));
6242
NDR_CHECK(ndr_push_spoolss_SetJobInfo(ndr, NDR_SCALARS, &r->info));
6243
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6245
if (ndr_flags & NDR_BUFFERS) {
6246
NDR_CHECK(ndr_push_spoolss_SetJobInfo(ndr, NDR_BUFFERS, &r->info));
6248
return NDR_ERR_SUCCESS;
6251
static enum ndr_err_code ndr_pull_spoolss_JobInfoContainer(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfoContainer *r)
6253
if (ndr_flags & NDR_SCALARS) {
6254
NDR_CHECK(ndr_pull_align(ndr, 5));
6255
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
6256
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level));
6257
NDR_CHECK(ndr_pull_spoolss_SetJobInfo(ndr, NDR_SCALARS, &r->info));
6258
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6260
if (ndr_flags & NDR_BUFFERS) {
6261
NDR_CHECK(ndr_pull_spoolss_SetJobInfo(ndr, NDR_BUFFERS, &r->info));
6263
return NDR_ERR_SUCCESS;
6266
_PUBLIC_ void ndr_print_spoolss_JobInfoContainer(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfoContainer *r)
6268
ndr_print_struct(ndr, name, "spoolss_JobInfoContainer");
6270
ndr_print_uint32(ndr, "level", r->level);
6271
ndr_print_set_switch_value(ndr, &r->info, r->level);
6272
ndr_print_spoolss_SetJobInfo(ndr, "info", &r->info);
6276
static enum ndr_err_code ndr_push_spoolss_JobControl(struct ndr_push *ndr, int ndr_flags, enum spoolss_JobControl r)
6278
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6279
return NDR_ERR_SUCCESS;
6282
static enum ndr_err_code ndr_pull_spoolss_JobControl(struct ndr_pull *ndr, int ndr_flags, enum spoolss_JobControl *r)
6285
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6287
return NDR_ERR_SUCCESS;
6290
_PUBLIC_ void ndr_print_spoolss_JobControl(struct ndr_print *ndr, const char *name, enum spoolss_JobControl r)
6292
const char *val = NULL;
6295
case SPOOLSS_JOB_CONTROL_PAUSE: val = "SPOOLSS_JOB_CONTROL_PAUSE"; break;
6296
case SPOOLSS_JOB_CONTROL_RESUME: val = "SPOOLSS_JOB_CONTROL_RESUME"; break;
6297
case SPOOLSS_JOB_CONTROL_CANCEL: val = "SPOOLSS_JOB_CONTROL_CANCEL"; break;
6298
case SPOOLSS_JOB_CONTROL_RESTART: val = "SPOOLSS_JOB_CONTROL_RESTART"; break;
6299
case SPOOLSS_JOB_CONTROL_DELETE: val = "SPOOLSS_JOB_CONTROL_DELETE"; break;
6300
case SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER: val = "SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER"; break;
6301
case SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED: val = "SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED"; break;
6302
case SPOOLSS_JOB_CONTROL_RETAIN: val = "SPOOLSS_JOB_CONTROL_RETAIN"; break;
6303
case SPOOLSS_JOB_CONTROL_RELEASE: val = "SPOOLSS_JOB_CONTROL_RELEASE"; break;
6305
ndr_print_enum(ndr, name, "ENUM", val, r);
6308
static enum ndr_err_code ndr_push_spoolss_PrinterControl(struct ndr_push *ndr, int ndr_flags, enum spoolss_PrinterControl r)
6310
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6311
return NDR_ERR_SUCCESS;
6314
static enum ndr_err_code ndr_pull_spoolss_PrinterControl(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PrinterControl *r)
6317
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6319
return NDR_ERR_SUCCESS;
6322
_PUBLIC_ void ndr_print_spoolss_PrinterControl(struct ndr_print *ndr, const char *name, enum spoolss_PrinterControl r)
6324
const char *val = NULL;
6327
case SPOOLSS_PRINTER_CONTROL_UNPAUSE: val = "SPOOLSS_PRINTER_CONTROL_UNPAUSE"; break;
6328
case SPOOLSS_PRINTER_CONTROL_PAUSE: val = "SPOOLSS_PRINTER_CONTROL_PAUSE"; break;
6329
case SPOOLSS_PRINTER_CONTROL_RESUME: val = "SPOOLSS_PRINTER_CONTROL_RESUME"; break;
6330
case SPOOLSS_PRINTER_CONTROL_PURGE: val = "SPOOLSS_PRINTER_CONTROL_PURGE"; break;
6331
case SPOOLSS_PRINTER_CONTROL_SET_STATUS: val = "SPOOLSS_PRINTER_CONTROL_SET_STATUS"; break;
6333
ndr_print_enum(ndr, name, "ENUM", val, r);
6336
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo0(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo0 *r)
6338
if (ndr_flags & NDR_SCALARS) {
6339
NDR_CHECK(ndr_push_align(ndr, 5));
6340
NDR_CHECK(ndr_push_unique_ptr(ndr, r->servername));
6341
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printername));
6342
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cjobs));
6343
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_jobs));
6344
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_bytes));
6345
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->time));
6346
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->global_counter));
6347
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
6348
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
6349
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->free_build));
6350
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->spooling));
6351
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_spooling));
6352
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_counter));
6353
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_error_out_of_paper));
6354
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_error_not_ready));
6355
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_error));
6356
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->number_of_processors));
6357
NDR_CHECK(ndr_push_spoolss_ProcessorType(ndr, NDR_SCALARS, r->processor_type));
6358
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->high_part_total_bytes));
6359
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->change_id));
6360
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_error));
6361
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->status));
6362
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumerate_network_printers));
6363
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->c_setprinter));
6364
NDR_CHECK(ndr_push_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, r->processor_architecture));
6365
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->processor_level));
6366
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ref_ic));
6367
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved2));
6368
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved3));
6369
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6371
if (ndr_flags & NDR_BUFFERS) {
6372
if (r->servername) {
6373
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16)));
6374
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6375
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16)));
6376
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->servername, ndr_charset_length(r->servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6378
if (r->printername) {
6379
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
6380
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6381
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
6382
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printername, ndr_charset_length(r->printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6385
return NDR_ERR_SUCCESS;
6388
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo0(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo0 *r)
6390
uint32_t _ptr_servername;
6391
TALLOC_CTX *_mem_save_servername_0;
6392
uint32_t _ptr_printername;
6393
TALLOC_CTX *_mem_save_printername_0;
6394
if (ndr_flags & NDR_SCALARS) {
6395
NDR_CHECK(ndr_pull_align(ndr, 5));
6396
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
6397
if (_ptr_servername) {
6398
NDR_PULL_ALLOC(ndr, r->servername);
6400
r->servername = NULL;
6402
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
6403
if (_ptr_printername) {
6404
NDR_PULL_ALLOC(ndr, r->printername);
6406
r->printername = NULL;
6408
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs));
6409
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_jobs));
6410
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_bytes));
6411
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->time));
6412
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->global_counter));
6413
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
6414
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
6415
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->free_build));
6416
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->spooling));
6417
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_spooling));
6418
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_counter));
6419
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_error_out_of_paper));
6420
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_error_not_ready));
6421
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_error));
6422
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->number_of_processors));
6423
NDR_CHECK(ndr_pull_spoolss_ProcessorType(ndr, NDR_SCALARS, &r->processor_type));
6424
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->high_part_total_bytes));
6425
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->change_id));
6426
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_error));
6427
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->status));
6428
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumerate_network_printers));
6429
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->c_setprinter));
6430
NDR_CHECK(ndr_pull_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, &r->processor_architecture));
6431
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->processor_level));
6432
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ref_ic));
6433
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
6434
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3));
6435
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6437
if (ndr_flags & NDR_BUFFERS) {
6438
if (r->servername) {
6439
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
6440
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
6441
NDR_CHECK(ndr_pull_array_size(ndr, &r->servername));
6442
NDR_CHECK(ndr_pull_array_length(ndr, &r->servername));
6443
if (ndr_get_array_length(ndr, &r->servername) > ndr_get_array_size(ndr, &r->servername)) {
6444
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));
6446
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t)));
6447
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->servername, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t), CH_UTF16));
6448
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
6450
if (r->printername) {
6451
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
6452
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
6453
NDR_CHECK(ndr_pull_array_size(ndr, &r->printername));
6454
NDR_CHECK(ndr_pull_array_length(ndr, &r->printername));
6455
if (ndr_get_array_length(ndr, &r->printername) > ndr_get_array_size(ndr, &r->printername)) {
6456
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));
6458
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t)));
6459
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printername, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t), CH_UTF16));
6460
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
6463
return NDR_ERR_SUCCESS;
6466
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo0(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo0 *r)
6468
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo0");
6470
ndr_print_ptr(ndr, "servername", r->servername);
6472
if (r->servername) {
6473
ndr_print_string(ndr, "servername", r->servername);
6476
ndr_print_ptr(ndr, "printername", r->printername);
6478
if (r->printername) {
6479
ndr_print_string(ndr, "printername", r->printername);
6482
ndr_print_uint32(ndr, "cjobs", r->cjobs);
6483
ndr_print_uint32(ndr, "total_jobs", r->total_jobs);
6484
ndr_print_uint32(ndr, "total_bytes", r->total_bytes);
6485
ndr_print_spoolss_Time(ndr, "time", &r->time);
6486
ndr_print_uint32(ndr, "global_counter", r->global_counter);
6487
ndr_print_uint32(ndr, "total_pages", r->total_pages);
6488
ndr_print_uint32(ndr, "version", r->version);
6489
ndr_print_uint32(ndr, "free_build", r->free_build);
6490
ndr_print_uint32(ndr, "spooling", r->spooling);
6491
ndr_print_uint32(ndr, "max_spooling", r->max_spooling);
6492
ndr_print_uint32(ndr, "session_counter", r->session_counter);
6493
ndr_print_uint32(ndr, "num_error_out_of_paper", r->num_error_out_of_paper);
6494
ndr_print_uint32(ndr, "num_error_not_ready", r->num_error_not_ready);
6495
ndr_print_uint32(ndr, "job_error", r->job_error);
6496
ndr_print_uint32(ndr, "number_of_processors", r->number_of_processors);
6497
ndr_print_spoolss_ProcessorType(ndr, "processor_type", r->processor_type);
6498
ndr_print_uint32(ndr, "high_part_total_bytes", r->high_part_total_bytes);
6499
ndr_print_uint32(ndr, "change_id", r->change_id);
6500
ndr_print_WERROR(ndr, "last_error", r->last_error);
6501
ndr_print_uint32(ndr, "status", r->status);
6502
ndr_print_uint32(ndr, "enumerate_network_printers", r->enumerate_network_printers);
6503
ndr_print_uint32(ndr, "c_setprinter", r->c_setprinter);
6504
ndr_print_spoolss_ProcessorArchitecture(ndr, "processor_architecture", r->processor_architecture);
6505
ndr_print_uint16(ndr, "processor_level", r->processor_level);
6506
ndr_print_uint32(ndr, "ref_ic", r->ref_ic);
6507
ndr_print_uint32(ndr, "reserved2", r->reserved2);
6508
ndr_print_uint32(ndr, "reserved3", r->reserved3);
6512
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo1 *r)
6514
if (ndr_flags & NDR_SCALARS) {
6515
NDR_CHECK(ndr_push_align(ndr, 5));
6516
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->flags));
6517
NDR_CHECK(ndr_push_unique_ptr(ndr, r->description));
6518
NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
6519
NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
6520
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6522
if (ndr_flags & NDR_BUFFERS) {
6523
if (r->description) {
6524
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->description, CH_UTF16)));
6525
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6526
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->description, CH_UTF16)));
6527
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->description, ndr_charset_length(r->description, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6530
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
6531
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6532
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
6533
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6536
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16)));
6537
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6538
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16)));
6539
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6542
return NDR_ERR_SUCCESS;
6545
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo1 *r)
6547
uint32_t _ptr_description;
6548
TALLOC_CTX *_mem_save_description_0;
6550
TALLOC_CTX *_mem_save_name_0;
6551
uint32_t _ptr_comment;
6552
TALLOC_CTX *_mem_save_comment_0;
6553
if (ndr_flags & NDR_SCALARS) {
6554
NDR_CHECK(ndr_pull_align(ndr, 5));
6555
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->flags));
6556
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description));
6557
if (_ptr_description) {
6558
NDR_PULL_ALLOC(ndr, r->description);
6560
r->description = NULL;
6562
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
6564
NDR_PULL_ALLOC(ndr, r->name);
6568
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
6570
NDR_PULL_ALLOC(ndr, r->comment);
6574
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6576
if (ndr_flags & NDR_BUFFERS) {
6577
if (r->description) {
6578
_mem_save_description_0 = NDR_PULL_GET_MEM_CTX(ndr);
6579
NDR_PULL_SET_MEM_CTX(ndr, r->description, 0);
6580
NDR_CHECK(ndr_pull_array_size(ndr, &r->description));
6581
NDR_CHECK(ndr_pull_array_length(ndr, &r->description));
6582
if (ndr_get_array_length(ndr, &r->description) > ndr_get_array_size(ndr, &r->description)) {
6583
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));
6585
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->description), sizeof(uint16_t)));
6586
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->description, ndr_get_array_length(ndr, &r->description), sizeof(uint16_t), CH_UTF16));
6587
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0);
6590
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6591
NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
6592
NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
6593
NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
6594
if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
6595
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));
6597
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
6598
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
6599
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
6602
_mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
6603
NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
6604
NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
6605
NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
6606
if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
6607
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));
6609
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
6610
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
6611
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
6614
return NDR_ERR_SUCCESS;
6617
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo1 *r)
6619
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo1");
6621
ndr_print_spoolss_PrinterAttributes(ndr, "flags", r->flags);
6622
ndr_print_ptr(ndr, "description", r->description);
6624
if (r->description) {
6625
ndr_print_string(ndr, "description", r->description);
6628
ndr_print_ptr(ndr, "name", r->name);
6631
ndr_print_string(ndr, "name", r->name);
6634
ndr_print_ptr(ndr, "comment", r->comment);
6637
ndr_print_string(ndr, "comment", r->comment);
6643
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo2 *r)
6645
if (ndr_flags & NDR_SCALARS) {
6646
NDR_CHECK(ndr_push_align(ndr, 5));
6647
NDR_CHECK(ndr_push_unique_ptr(ndr, r->servername));
6648
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printername));
6649
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sharename));
6650
NDR_CHECK(ndr_push_unique_ptr(ndr, r->portname));
6651
NDR_CHECK(ndr_push_unique_ptr(ndr, r->drivername));
6652
NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
6653
NDR_CHECK(ndr_push_unique_ptr(ndr, r->location));
6654
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->devmode_ptr));
6655
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sepfile));
6656
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printprocessor));
6657
NDR_CHECK(ndr_push_unique_ptr(ndr, r->datatype));
6658
NDR_CHECK(ndr_push_unique_ptr(ndr, r->parameters));
6659
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->secdesc_ptr));
6660
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
6661
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
6662
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->defaultpriority));
6663
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->starttime));
6664
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->untiltime));
6665
NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
6666
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cjobs));
6667
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->averageppm));
6668
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6670
if (ndr_flags & NDR_BUFFERS) {
6671
if (r->servername) {
6672
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16)));
6673
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6674
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16)));
6675
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->servername, ndr_charset_length(r->servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6677
if (r->printername) {
6678
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
6679
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6680
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
6681
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printername, ndr_charset_length(r->printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6684
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sharename, CH_UTF16)));
6685
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6686
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sharename, CH_UTF16)));
6687
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->sharename, ndr_charset_length(r->sharename, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6690
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->portname, CH_UTF16)));
6691
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6692
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->portname, CH_UTF16)));
6693
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->portname, ndr_charset_length(r->portname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6695
if (r->drivername) {
6696
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->drivername, CH_UTF16)));
6697
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6698
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->drivername, CH_UTF16)));
6699
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->drivername, ndr_charset_length(r->drivername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6702
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16)));
6703
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6704
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16)));
6705
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6708
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->location, CH_UTF16)));
6709
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6710
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->location, CH_UTF16)));
6711
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->location, ndr_charset_length(r->location, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6714
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sepfile, CH_UTF16)));
6715
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6716
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sepfile, CH_UTF16)));
6717
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->sepfile, ndr_charset_length(r->sepfile, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6719
if (r->printprocessor) {
6720
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printprocessor, CH_UTF16)));
6721
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6722
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printprocessor, CH_UTF16)));
6723
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printprocessor, ndr_charset_length(r->printprocessor, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6726
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->datatype, CH_UTF16)));
6727
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6728
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->datatype, CH_UTF16)));
6729
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->datatype, ndr_charset_length(r->datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6731
if (r->parameters) {
6732
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
6733
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6734
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
6735
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->parameters, ndr_charset_length(r->parameters, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6738
return NDR_ERR_SUCCESS;
6741
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo2 *r)
6743
uint32_t _ptr_servername;
6744
TALLOC_CTX *_mem_save_servername_0;
6745
uint32_t _ptr_printername;
6746
TALLOC_CTX *_mem_save_printername_0;
6747
uint32_t _ptr_sharename;
6748
TALLOC_CTX *_mem_save_sharename_0;
6749
uint32_t _ptr_portname;
6750
TALLOC_CTX *_mem_save_portname_0;
6751
uint32_t _ptr_drivername;
6752
TALLOC_CTX *_mem_save_drivername_0;
6753
uint32_t _ptr_comment;
6754
TALLOC_CTX *_mem_save_comment_0;
6755
uint32_t _ptr_location;
6756
TALLOC_CTX *_mem_save_location_0;
6757
uint32_t _ptr_sepfile;
6758
TALLOC_CTX *_mem_save_sepfile_0;
6759
uint32_t _ptr_printprocessor;
6760
TALLOC_CTX *_mem_save_printprocessor_0;
6761
uint32_t _ptr_datatype;
6762
TALLOC_CTX *_mem_save_datatype_0;
6763
uint32_t _ptr_parameters;
6764
TALLOC_CTX *_mem_save_parameters_0;
6765
if (ndr_flags & NDR_SCALARS) {
6766
NDR_CHECK(ndr_pull_align(ndr, 5));
6767
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
6768
if (_ptr_servername) {
6769
NDR_PULL_ALLOC(ndr, r->servername);
6771
r->servername = NULL;
6773
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
6774
if (_ptr_printername) {
6775
NDR_PULL_ALLOC(ndr, r->printername);
6777
r->printername = NULL;
6779
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename));
6780
if (_ptr_sharename) {
6781
NDR_PULL_ALLOC(ndr, r->sharename);
6783
r->sharename = NULL;
6785
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname));
6786
if (_ptr_portname) {
6787
NDR_PULL_ALLOC(ndr, r->portname);
6791
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_drivername));
6792
if (_ptr_drivername) {
6793
NDR_PULL_ALLOC(ndr, r->drivername);
6795
r->drivername = NULL;
6797
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
6799
NDR_PULL_ALLOC(ndr, r->comment);
6803
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_location));
6804
if (_ptr_location) {
6805
NDR_PULL_ALLOC(ndr, r->location);
6809
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->devmode_ptr));
6810
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sepfile));
6812
NDR_PULL_ALLOC(ndr, r->sepfile);
6816
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printprocessor));
6817
if (_ptr_printprocessor) {
6818
NDR_PULL_ALLOC(ndr, r->printprocessor);
6820
r->printprocessor = NULL;
6822
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
6823
if (_ptr_datatype) {
6824
NDR_PULL_ALLOC(ndr, r->datatype);
6828
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
6829
if (_ptr_parameters) {
6830
NDR_PULL_ALLOC(ndr, r->parameters);
6832
r->parameters = NULL;
6834
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->secdesc_ptr));
6835
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
6836
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
6837
if (r->priority > 99) {
6838
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6840
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->defaultpriority));
6841
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->starttime));
6842
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->untiltime));
6843
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
6844
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs));
6845
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->averageppm));
6846
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6848
if (ndr_flags & NDR_BUFFERS) {
6849
if (r->servername) {
6850
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
6851
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
6852
NDR_CHECK(ndr_pull_array_size(ndr, &r->servername));
6853
NDR_CHECK(ndr_pull_array_length(ndr, &r->servername));
6854
if (ndr_get_array_length(ndr, &r->servername) > ndr_get_array_size(ndr, &r->servername)) {
6855
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));
6857
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t)));
6858
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->servername, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t), CH_UTF16));
6859
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
6861
if (r->printername) {
6862
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
6863
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
6864
NDR_CHECK(ndr_pull_array_size(ndr, &r->printername));
6865
NDR_CHECK(ndr_pull_array_length(ndr, &r->printername));
6866
if (ndr_get_array_length(ndr, &r->printername) > ndr_get_array_size(ndr, &r->printername)) {
6867
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));
6869
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t)));
6870
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printername, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t), CH_UTF16));
6871
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
6874
_mem_save_sharename_0 = NDR_PULL_GET_MEM_CTX(ndr);
6875
NDR_PULL_SET_MEM_CTX(ndr, r->sharename, 0);
6876
NDR_CHECK(ndr_pull_array_size(ndr, &r->sharename));
6877
NDR_CHECK(ndr_pull_array_length(ndr, &r->sharename));
6878
if (ndr_get_array_length(ndr, &r->sharename) > ndr_get_array_size(ndr, &r->sharename)) {
6879
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));
6881
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->sharename), sizeof(uint16_t)));
6882
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->sharename, ndr_get_array_length(ndr, &r->sharename), sizeof(uint16_t), CH_UTF16));
6883
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0);
6886
_mem_save_portname_0 = NDR_PULL_GET_MEM_CTX(ndr);
6887
NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0);
6888
NDR_CHECK(ndr_pull_array_size(ndr, &r->portname));
6889
NDR_CHECK(ndr_pull_array_length(ndr, &r->portname));
6890
if (ndr_get_array_length(ndr, &r->portname) > ndr_get_array_size(ndr, &r->portname)) {
6891
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));
6893
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->portname), sizeof(uint16_t)));
6894
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->portname, ndr_get_array_length(ndr, &r->portname), sizeof(uint16_t), CH_UTF16));
6895
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0);
6897
if (r->drivername) {
6898
_mem_save_drivername_0 = NDR_PULL_GET_MEM_CTX(ndr);
6899
NDR_PULL_SET_MEM_CTX(ndr, r->drivername, 0);
6900
NDR_CHECK(ndr_pull_array_size(ndr, &r->drivername));
6901
NDR_CHECK(ndr_pull_array_length(ndr, &r->drivername));
6902
if (ndr_get_array_length(ndr, &r->drivername) > ndr_get_array_size(ndr, &r->drivername)) {
6903
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));
6905
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->drivername), sizeof(uint16_t)));
6906
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->drivername, ndr_get_array_length(ndr, &r->drivername), sizeof(uint16_t), CH_UTF16));
6907
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_drivername_0, 0);
6910
_mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
6911
NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
6912
NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
6913
NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
6914
if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
6915
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));
6917
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
6918
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
6919
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
6922
_mem_save_location_0 = NDR_PULL_GET_MEM_CTX(ndr);
6923
NDR_PULL_SET_MEM_CTX(ndr, r->location, 0);
6924
NDR_CHECK(ndr_pull_array_size(ndr, &r->location));
6925
NDR_CHECK(ndr_pull_array_length(ndr, &r->location));
6926
if (ndr_get_array_length(ndr, &r->location) > ndr_get_array_size(ndr, &r->location)) {
6927
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));
6929
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->location), sizeof(uint16_t)));
6930
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->location, ndr_get_array_length(ndr, &r->location), sizeof(uint16_t), CH_UTF16));
6931
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_location_0, 0);
6934
_mem_save_sepfile_0 = NDR_PULL_GET_MEM_CTX(ndr);
6935
NDR_PULL_SET_MEM_CTX(ndr, r->sepfile, 0);
6936
NDR_CHECK(ndr_pull_array_size(ndr, &r->sepfile));
6937
NDR_CHECK(ndr_pull_array_length(ndr, &r->sepfile));
6938
if (ndr_get_array_length(ndr, &r->sepfile) > ndr_get_array_size(ndr, &r->sepfile)) {
6939
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));
6941
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->sepfile), sizeof(uint16_t)));
6942
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->sepfile, ndr_get_array_length(ndr, &r->sepfile), sizeof(uint16_t), CH_UTF16));
6943
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sepfile_0, 0);
6945
if (r->printprocessor) {
6946
_mem_save_printprocessor_0 = NDR_PULL_GET_MEM_CTX(ndr);
6947
NDR_PULL_SET_MEM_CTX(ndr, r->printprocessor, 0);
6948
NDR_CHECK(ndr_pull_array_size(ndr, &r->printprocessor));
6949
NDR_CHECK(ndr_pull_array_length(ndr, &r->printprocessor));
6950
if (ndr_get_array_length(ndr, &r->printprocessor) > ndr_get_array_size(ndr, &r->printprocessor)) {
6951
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));
6953
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printprocessor), sizeof(uint16_t)));
6954
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printprocessor, ndr_get_array_length(ndr, &r->printprocessor), sizeof(uint16_t), CH_UTF16));
6955
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printprocessor_0, 0);
6958
_mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
6959
NDR_PULL_SET_MEM_CTX(ndr, r->datatype, 0);
6960
NDR_CHECK(ndr_pull_array_size(ndr, &r->datatype));
6961
NDR_CHECK(ndr_pull_array_length(ndr, &r->datatype));
6962
if (ndr_get_array_length(ndr, &r->datatype) > ndr_get_array_size(ndr, &r->datatype)) {
6963
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));
6965
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->datatype), sizeof(uint16_t)));
6966
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->datatype, ndr_get_array_length(ndr, &r->datatype), sizeof(uint16_t), CH_UTF16));
6967
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
6969
if (r->parameters) {
6970
_mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
6971
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
6972
NDR_CHECK(ndr_pull_array_size(ndr, &r->parameters));
6973
NDR_CHECK(ndr_pull_array_length(ndr, &r->parameters));
6974
if (ndr_get_array_length(ndr, &r->parameters) > ndr_get_array_size(ndr, &r->parameters)) {
6975
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));
6977
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t)));
6978
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->parameters, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t), CH_UTF16));
6979
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
6982
return NDR_ERR_SUCCESS;
6985
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo2 *r)
6987
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo2");
6989
ndr_print_ptr(ndr, "servername", r->servername);
6991
if (r->servername) {
6992
ndr_print_string(ndr, "servername", r->servername);
6995
ndr_print_ptr(ndr, "printername", r->printername);
6997
if (r->printername) {
6998
ndr_print_string(ndr, "printername", r->printername);
7001
ndr_print_ptr(ndr, "sharename", r->sharename);
7004
ndr_print_string(ndr, "sharename", r->sharename);
7007
ndr_print_ptr(ndr, "portname", r->portname);
7010
ndr_print_string(ndr, "portname", r->portname);
7013
ndr_print_ptr(ndr, "drivername", r->drivername);
7015
if (r->drivername) {
7016
ndr_print_string(ndr, "drivername", r->drivername);
7019
ndr_print_ptr(ndr, "comment", r->comment);
7022
ndr_print_string(ndr, "comment", r->comment);
7025
ndr_print_ptr(ndr, "location", r->location);
7028
ndr_print_string(ndr, "location", r->location);
7031
ndr_print_uint32(ndr, "devmode_ptr", r->devmode_ptr);
7032
ndr_print_ptr(ndr, "sepfile", r->sepfile);
7035
ndr_print_string(ndr, "sepfile", r->sepfile);
7038
ndr_print_ptr(ndr, "printprocessor", r->printprocessor);
7040
if (r->printprocessor) {
7041
ndr_print_string(ndr, "printprocessor", r->printprocessor);
7044
ndr_print_ptr(ndr, "datatype", r->datatype);
7047
ndr_print_string(ndr, "datatype", r->datatype);
7050
ndr_print_ptr(ndr, "parameters", r->parameters);
7052
if (r->parameters) {
7053
ndr_print_string(ndr, "parameters", r->parameters);
7056
ndr_print_uint32(ndr, "secdesc_ptr", r->secdesc_ptr);
7057
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
7058
ndr_print_uint32(ndr, "priority", r->priority);
7059
ndr_print_uint32(ndr, "defaultpriority", r->defaultpriority);
7060
ndr_print_uint32(ndr, "starttime", r->starttime);
7061
ndr_print_uint32(ndr, "untiltime", r->untiltime);
7062
ndr_print_spoolss_PrinterStatus(ndr, "status", r->status);
7063
ndr_print_uint32(ndr, "cjobs", r->cjobs);
7064
ndr_print_uint32(ndr, "averageppm", r->averageppm);
7068
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo3 *r)
7070
if (ndr_flags & NDR_SCALARS) {
7071
NDR_CHECK(ndr_push_align(ndr, 4));
7072
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sec_desc_ptr));
7073
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7075
if (ndr_flags & NDR_BUFFERS) {
7077
return NDR_ERR_SUCCESS;
7080
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo3 *r)
7082
if (ndr_flags & NDR_SCALARS) {
7083
NDR_CHECK(ndr_pull_align(ndr, 4));
7084
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sec_desc_ptr));
7085
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
7087
if (ndr_flags & NDR_BUFFERS) {
7089
return NDR_ERR_SUCCESS;
7092
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo3 *r)
7094
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo3");
7096
ndr_print_uint32(ndr, "sec_desc_ptr", r->sec_desc_ptr);
7100
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo4 *r)
7102
if (ndr_flags & NDR_SCALARS) {
7103
NDR_CHECK(ndr_push_align(ndr, 5));
7104
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printername));
7105
NDR_CHECK(ndr_push_unique_ptr(ndr, r->servername));
7106
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
7107
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7109
if (ndr_flags & NDR_BUFFERS) {
7110
if (r->printername) {
7111
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
7112
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7113
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
7114
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printername, ndr_charset_length(r->printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7116
if (r->servername) {
7117
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16)));
7118
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7119
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16)));
7120
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->servername, ndr_charset_length(r->servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7123
return NDR_ERR_SUCCESS;
7126
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo4 *r)
7128
uint32_t _ptr_printername;
7129
TALLOC_CTX *_mem_save_printername_0;
7130
uint32_t _ptr_servername;
7131
TALLOC_CTX *_mem_save_servername_0;
7132
if (ndr_flags & NDR_SCALARS) {
7133
NDR_CHECK(ndr_pull_align(ndr, 5));
7134
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
7135
if (_ptr_printername) {
7136
NDR_PULL_ALLOC(ndr, r->printername);
7138
r->printername = NULL;
7140
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
7141
if (_ptr_servername) {
7142
NDR_PULL_ALLOC(ndr, r->servername);
7144
r->servername = NULL;
7146
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
7147
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7149
if (ndr_flags & NDR_BUFFERS) {
7150
if (r->printername) {
7151
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
7152
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
7153
NDR_CHECK(ndr_pull_array_size(ndr, &r->printername));
7154
NDR_CHECK(ndr_pull_array_length(ndr, &r->printername));
7155
if (ndr_get_array_length(ndr, &r->printername) > ndr_get_array_size(ndr, &r->printername)) {
7156
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));
7158
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t)));
7159
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printername, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t), CH_UTF16));
7160
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
7162
if (r->servername) {
7163
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
7164
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
7165
NDR_CHECK(ndr_pull_array_size(ndr, &r->servername));
7166
NDR_CHECK(ndr_pull_array_length(ndr, &r->servername));
7167
if (ndr_get_array_length(ndr, &r->servername) > ndr_get_array_size(ndr, &r->servername)) {
7168
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));
7170
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t)));
7171
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->servername, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t), CH_UTF16));
7172
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
7175
return NDR_ERR_SUCCESS;
7178
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo4 *r)
7180
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo4");
7182
ndr_print_ptr(ndr, "printername", r->printername);
7184
if (r->printername) {
7185
ndr_print_string(ndr, "printername", r->printername);
7188
ndr_print_ptr(ndr, "servername", r->servername);
7190
if (r->servername) {
7191
ndr_print_string(ndr, "servername", r->servername);
7194
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
7198
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo5(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo5 *r)
7200
if (ndr_flags & NDR_SCALARS) {
7201
NDR_CHECK(ndr_push_align(ndr, 5));
7202
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printername));
7203
NDR_CHECK(ndr_push_unique_ptr(ndr, r->portname));
7204
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
7205
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->device_not_selected_timeout));
7206
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->transmission_retry_timeout));
7207
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7209
if (ndr_flags & NDR_BUFFERS) {
7210
if (r->printername) {
7211
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
7212
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7213
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16)));
7214
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printername, ndr_charset_length(r->printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7217
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->portname, CH_UTF16)));
7218
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7219
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->portname, CH_UTF16)));
7220
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->portname, ndr_charset_length(r->portname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7223
return NDR_ERR_SUCCESS;
7226
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo5(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo5 *r)
7228
uint32_t _ptr_printername;
7229
TALLOC_CTX *_mem_save_printername_0;
7230
uint32_t _ptr_portname;
7231
TALLOC_CTX *_mem_save_portname_0;
7232
if (ndr_flags & NDR_SCALARS) {
7233
NDR_CHECK(ndr_pull_align(ndr, 5));
7234
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
7235
if (_ptr_printername) {
7236
NDR_PULL_ALLOC(ndr, r->printername);
7238
r->printername = NULL;
7240
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname));
7241
if (_ptr_portname) {
7242
NDR_PULL_ALLOC(ndr, r->portname);
7246
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
7247
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->device_not_selected_timeout));
7248
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->transmission_retry_timeout));
7249
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7251
if (ndr_flags & NDR_BUFFERS) {
7252
if (r->printername) {
7253
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
7254
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
7255
NDR_CHECK(ndr_pull_array_size(ndr, &r->printername));
7256
NDR_CHECK(ndr_pull_array_length(ndr, &r->printername));
7257
if (ndr_get_array_length(ndr, &r->printername) > ndr_get_array_size(ndr, &r->printername)) {
7258
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));
7260
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t)));
7261
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printername, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t), CH_UTF16));
7262
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
7265
_mem_save_portname_0 = NDR_PULL_GET_MEM_CTX(ndr);
7266
NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0);
7267
NDR_CHECK(ndr_pull_array_size(ndr, &r->portname));
7268
NDR_CHECK(ndr_pull_array_length(ndr, &r->portname));
7269
if (ndr_get_array_length(ndr, &r->portname) > ndr_get_array_size(ndr, &r->portname)) {
7270
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));
7272
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->portname), sizeof(uint16_t)));
7273
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->portname, ndr_get_array_length(ndr, &r->portname), sizeof(uint16_t), CH_UTF16));
7274
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0);
7277
return NDR_ERR_SUCCESS;
7280
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo5(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo5 *r)
7282
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo5");
7284
ndr_print_ptr(ndr, "printername", r->printername);
7286
if (r->printername) {
7287
ndr_print_string(ndr, "printername", r->printername);
7290
ndr_print_ptr(ndr, "portname", r->portname);
7293
ndr_print_string(ndr, "portname", r->portname);
7296
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
7297
ndr_print_uint32(ndr, "device_not_selected_timeout", r->device_not_selected_timeout);
7298
ndr_print_uint32(ndr, "transmission_retry_timeout", r->transmission_retry_timeout);
7302
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo6 *r)
7304
if (ndr_flags & NDR_SCALARS) {
7305
NDR_CHECK(ndr_push_align(ndr, 4));
7306
NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
7307
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7309
if (ndr_flags & NDR_BUFFERS) {
7311
return NDR_ERR_SUCCESS;
7314
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo6 *r)
7316
if (ndr_flags & NDR_SCALARS) {
7317
NDR_CHECK(ndr_pull_align(ndr, 4));
7318
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
7319
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
7321
if (ndr_flags & NDR_BUFFERS) {
7323
return NDR_ERR_SUCCESS;
7326
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo6 *r)
7328
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo6");
7330
ndr_print_spoolss_PrinterStatus(ndr, "status", r->status);
7334
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo7(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo7 *r)
7336
if (ndr_flags & NDR_SCALARS) {
7337
NDR_CHECK(ndr_push_align(ndr, 5));
7338
NDR_CHECK(ndr_push_unique_ptr(ndr, r->guid));
7339
NDR_CHECK(ndr_push_spoolss_DsPrintAction(ndr, NDR_SCALARS, r->action));
7340
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7342
if (ndr_flags & NDR_BUFFERS) {
7344
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->guid, CH_UTF16)));
7345
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7346
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->guid, CH_UTF16)));
7347
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->guid, ndr_charset_length(r->guid, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7350
return NDR_ERR_SUCCESS;
7353
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo7(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo7 *r)
7356
TALLOC_CTX *_mem_save_guid_0;
7357
if (ndr_flags & NDR_SCALARS) {
7358
NDR_CHECK(ndr_pull_align(ndr, 5));
7359
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_guid));
7361
NDR_PULL_ALLOC(ndr, r->guid);
7365
NDR_CHECK(ndr_pull_spoolss_DsPrintAction(ndr, NDR_SCALARS, &r->action));
7366
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7368
if (ndr_flags & NDR_BUFFERS) {
7370
_mem_save_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7371
NDR_PULL_SET_MEM_CTX(ndr, r->guid, 0);
7372
NDR_CHECK(ndr_pull_array_size(ndr, &r->guid));
7373
NDR_CHECK(ndr_pull_array_length(ndr, &r->guid));
7374
if (ndr_get_array_length(ndr, &r->guid) > ndr_get_array_size(ndr, &r->guid)) {
7375
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));
7377
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->guid), sizeof(uint16_t)));
7378
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->guid, ndr_get_array_length(ndr, &r->guid), sizeof(uint16_t), CH_UTF16));
7379
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_guid_0, 0);
7382
return NDR_ERR_SUCCESS;
7385
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo7(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo7 *r)
7387
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo7");
7389
ndr_print_ptr(ndr, "guid", r->guid);
7392
ndr_print_string(ndr, "guid", r->guid);
7395
ndr_print_spoolss_DsPrintAction(ndr, "action", r->action);
7399
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo8(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo8 *r)
7401
if (ndr_flags & NDR_SCALARS) {
7402
NDR_CHECK(ndr_push_align(ndr, 4));
7403
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->devmode_ptr));
7404
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7406
if (ndr_flags & NDR_BUFFERS) {
7408
return NDR_ERR_SUCCESS;
7411
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo8(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo8 *r)
7413
if (ndr_flags & NDR_SCALARS) {
7414
NDR_CHECK(ndr_pull_align(ndr, 4));
7415
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->devmode_ptr));
7416
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
7418
if (ndr_flags & NDR_BUFFERS) {
7420
return NDR_ERR_SUCCESS;
7423
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo8(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo8 *r)
7425
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo8");
7427
ndr_print_uint32(ndr, "devmode_ptr", r->devmode_ptr);
7431
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo9(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo9 *r)
7433
if (ndr_flags & NDR_SCALARS) {
7434
NDR_CHECK(ndr_push_align(ndr, 4));
7435
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->devmode_ptr));
7436
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7438
if (ndr_flags & NDR_BUFFERS) {
7440
return NDR_ERR_SUCCESS;
7443
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo9(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo9 *r)
7445
if (ndr_flags & NDR_SCALARS) {
7446
NDR_CHECK(ndr_pull_align(ndr, 4));
7447
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->devmode_ptr));
7448
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
7450
if (ndr_flags & NDR_BUFFERS) {
7452
return NDR_ERR_SUCCESS;
7455
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo9(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo9 *r)
7457
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo9");
7459
ndr_print_uint32(ndr, "devmode_ptr", r->devmode_ptr);
7463
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_SetPrinterInfo *r)
7465
if (ndr_flags & NDR_SCALARS) {
7466
int level = ndr_push_get_switch_value(ndr, r);
7467
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7468
NDR_CHECK(ndr_push_union_align(ndr, 5));
7471
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
7475
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7479
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
7483
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
7487
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
7491
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info5));
7495
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info6));
7499
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info7));
7503
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info8));
7507
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info9));
7515
if (ndr_flags & NDR_BUFFERS) {
7516
int level = ndr_push_get_switch_value(ndr, r);
7520
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
7526
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7532
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
7538
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo3(ndr, NDR_SCALARS, r->info3));
7544
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
7550
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo5(ndr, NDR_SCALARS|NDR_BUFFERS, r->info5));
7556
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo6(ndr, NDR_SCALARS, r->info6));
7562
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo7(ndr, NDR_SCALARS|NDR_BUFFERS, r->info7));
7568
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo8(ndr, NDR_SCALARS, r->info8));
7574
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo9(ndr, NDR_SCALARS, r->info9));
7583
return NDR_ERR_SUCCESS;
7586
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_SetPrinterInfo *r)
7590
TALLOC_CTX *_mem_save_info0_0;
7591
TALLOC_CTX *_mem_save_info1_0;
7592
TALLOC_CTX *_mem_save_info2_0;
7593
TALLOC_CTX *_mem_save_info3_0;
7594
TALLOC_CTX *_mem_save_info4_0;
7595
TALLOC_CTX *_mem_save_info5_0;
7596
TALLOC_CTX *_mem_save_info6_0;
7597
TALLOC_CTX *_mem_save_info7_0;
7598
TALLOC_CTX *_mem_save_info8_0;
7599
TALLOC_CTX *_mem_save_info9_0;
7600
level = ndr_pull_get_switch_value(ndr, r);
7601
if (ndr_flags & NDR_SCALARS) {
7602
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7603
if (_level != level) {
7604
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7606
NDR_CHECK(ndr_pull_union_align(ndr, 5));
7609
uint32_t _ptr_info0;
7610
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
7612
NDR_PULL_ALLOC(ndr, r->info0);
7619
uint32_t _ptr_info1;
7620
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
7622
NDR_PULL_ALLOC(ndr, r->info1);
7629
uint32_t _ptr_info2;
7630
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
7632
NDR_PULL_ALLOC(ndr, r->info2);
7639
uint32_t _ptr_info3;
7640
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
7642
NDR_PULL_ALLOC(ndr, r->info3);
7649
uint32_t _ptr_info4;
7650
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
7652
NDR_PULL_ALLOC(ndr, r->info4);
7659
uint32_t _ptr_info5;
7660
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info5));
7662
NDR_PULL_ALLOC(ndr, r->info5);
7669
uint32_t _ptr_info6;
7670
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info6));
7672
NDR_PULL_ALLOC(ndr, r->info6);
7679
uint32_t _ptr_info7;
7680
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info7));
7682
NDR_PULL_ALLOC(ndr, r->info7);
7689
uint32_t _ptr_info8;
7690
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info8));
7692
NDR_PULL_ALLOC(ndr, r->info8);
7699
uint32_t _ptr_info9;
7700
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info9));
7702
NDR_PULL_ALLOC(ndr, r->info9);
7713
if (ndr_flags & NDR_BUFFERS) {
7717
_mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
7718
NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
7719
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
7720
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
7726
_mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7727
NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
7728
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7729
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
7735
_mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
7736
NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
7737
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
7738
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
7744
_mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
7745
NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
7746
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo3(ndr, NDR_SCALARS, r->info3));
7747
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
7753
_mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr);
7754
NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0);
7755
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
7756
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0);
7762
_mem_save_info5_0 = NDR_PULL_GET_MEM_CTX(ndr);
7763
NDR_PULL_SET_MEM_CTX(ndr, r->info5, 0);
7764
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo5(ndr, NDR_SCALARS|NDR_BUFFERS, r->info5));
7765
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info5_0, 0);
7771
_mem_save_info6_0 = NDR_PULL_GET_MEM_CTX(ndr);
7772
NDR_PULL_SET_MEM_CTX(ndr, r->info6, 0);
7773
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo6(ndr, NDR_SCALARS, r->info6));
7774
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info6_0, 0);
7780
_mem_save_info7_0 = NDR_PULL_GET_MEM_CTX(ndr);
7781
NDR_PULL_SET_MEM_CTX(ndr, r->info7, 0);
7782
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo7(ndr, NDR_SCALARS|NDR_BUFFERS, r->info7));
7783
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info7_0, 0);
7789
_mem_save_info8_0 = NDR_PULL_GET_MEM_CTX(ndr);
7790
NDR_PULL_SET_MEM_CTX(ndr, r->info8, 0);
7791
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo8(ndr, NDR_SCALARS, r->info8));
7792
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info8_0, 0);
7798
_mem_save_info9_0 = NDR_PULL_GET_MEM_CTX(ndr);
7799
NDR_PULL_SET_MEM_CTX(ndr, r->info9, 0);
7800
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo9(ndr, NDR_SCALARS, r->info9));
7801
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info9_0, 0);
7810
return NDR_ERR_SUCCESS;
7813
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_SetPrinterInfo *r)
7816
level = ndr_print_get_switch_value(ndr, r);
7817
ndr_print_union(ndr, name, level, "spoolss_SetPrinterInfo");
7820
ndr_print_ptr(ndr, "info0", r->info0);
7823
ndr_print_spoolss_SetPrinterInfo0(ndr, "info0", r->info0);
7829
ndr_print_ptr(ndr, "info1", r->info1);
7832
ndr_print_spoolss_SetPrinterInfo1(ndr, "info1", r->info1);
7838
ndr_print_ptr(ndr, "info2", r->info2);
7841
ndr_print_spoolss_SetPrinterInfo2(ndr, "info2", r->info2);
7847
ndr_print_ptr(ndr, "info3", r->info3);
7850
ndr_print_spoolss_SetPrinterInfo3(ndr, "info3", r->info3);
7856
ndr_print_ptr(ndr, "info4", r->info4);
7859
ndr_print_spoolss_SetPrinterInfo4(ndr, "info4", r->info4);
7865
ndr_print_ptr(ndr, "info5", r->info5);
7868
ndr_print_spoolss_SetPrinterInfo5(ndr, "info5", r->info5);
7874
ndr_print_ptr(ndr, "info6", r->info6);
7877
ndr_print_spoolss_SetPrinterInfo6(ndr, "info6", r->info6);
7883
ndr_print_ptr(ndr, "info7", r->info7);
7886
ndr_print_spoolss_SetPrinterInfo7(ndr, "info7", r->info7);
7892
ndr_print_ptr(ndr, "info8", r->info8);
7895
ndr_print_spoolss_SetPrinterInfo8(ndr, "info8", r->info8);
7901
ndr_print_ptr(ndr, "info9", r->info9);
7904
ndr_print_spoolss_SetPrinterInfo9(ndr, "info9", r->info9);
7915
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfoCtr *r)
7917
if (ndr_flags & NDR_SCALARS) {
7918
NDR_CHECK(ndr_push_align(ndr, 5));
7919
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
7920
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level));
7921
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo(ndr, NDR_SCALARS, &r->info));
7922
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7924
if (ndr_flags & NDR_BUFFERS) {
7925
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo(ndr, NDR_BUFFERS, &r->info));
7927
return NDR_ERR_SUCCESS;
7930
static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfoCtr *r)
7932
if (ndr_flags & NDR_SCALARS) {
7933
NDR_CHECK(ndr_pull_align(ndr, 5));
7934
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
7935
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level));
7936
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo(ndr, NDR_SCALARS, &r->info));
7937
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7939
if (ndr_flags & NDR_BUFFERS) {
7940
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo(ndr, NDR_BUFFERS, &r->info));
7942
return NDR_ERR_SUCCESS;
7945
_PUBLIC_ void ndr_print_spoolss_SetPrinterInfoCtr(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfoCtr *r)
7947
ndr_print_struct(ndr, name, "spoolss_SetPrinterInfoCtr");
7949
ndr_print_uint32(ndr, "level", r->level);
7950
ndr_print_set_switch_value(ndr, &r->info, r->level);
7951
ndr_print_spoolss_SetPrinterInfo(ndr, "info", &r->info);
7955
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_StringArray(struct ndr_push *ndr, int ndr_flags, const struct spoolss_StringArray *r)
7957
if (ndr_flags & NDR_SCALARS) {
7958
NDR_CHECK(ndr_push_align(ndr, 4));
7959
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, (ndr_size_spoolss_StringArray(r, ndr->iconv_convenience, ndr->flags) - 4) / 2));
7961
uint32_t _flags_save_string_array = ndr->flags;
7962
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
7963
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string));
7964
ndr->flags = _flags_save_string_array;
7966
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7968
if (ndr_flags & NDR_BUFFERS) {
7970
return NDR_ERR_SUCCESS;
7973
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_StringArray(struct ndr_pull *ndr, int ndr_flags, struct spoolss_StringArray *r)
7975
if (ndr_flags & NDR_SCALARS) {
7976
NDR_CHECK(ndr_pull_align(ndr, 4));
7977
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size));
7979
uint32_t _flags_save_string_array = ndr->flags;
7980
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
7981
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string));
7982
ndr->flags = _flags_save_string_array;
7984
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
7986
if (ndr_flags & NDR_BUFFERS) {
7988
return NDR_ERR_SUCCESS;
7991
_PUBLIC_ void ndr_print_spoolss_StringArray(struct ndr_print *ndr, const char *name, const struct spoolss_StringArray *r)
7993
ndr_print_struct(ndr, name, "spoolss_StringArray");
7995
ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?(ndr_size_spoolss_StringArray(r, ndr->iconv_convenience, ndr->flags) - 4) / 2:r->_ndr_size);
7996
ndr_print_string_array(ndr, "string", r->string);
8000
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo1 *r)
8002
if (ndr_flags & NDR_SCALARS) {
8003
NDR_CHECK(ndr_push_align(ndr, 5));
8004
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
8005
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8007
if (ndr_flags & NDR_BUFFERS) {
8008
if (r->driver_name) {
8009
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8010
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8011
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8012
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8015
return NDR_ERR_SUCCESS;
8018
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo1 *r)
8020
uint32_t _ptr_driver_name;
8021
TALLOC_CTX *_mem_save_driver_name_0;
8022
if (ndr_flags & NDR_SCALARS) {
8023
NDR_CHECK(ndr_pull_align(ndr, 5));
8024
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
8025
if (_ptr_driver_name) {
8026
NDR_PULL_ALLOC(ndr, r->driver_name);
8028
r->driver_name = NULL;
8030
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8032
if (ndr_flags & NDR_BUFFERS) {
8033
if (r->driver_name) {
8034
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8035
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
8036
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
8037
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
8038
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
8039
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));
8041
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
8042
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
8043
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
8046
return NDR_ERR_SUCCESS;
8049
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo1 *r)
8051
ndr_print_struct(ndr, name, "spoolss_AddDriverInfo1");
8053
ndr_print_ptr(ndr, "driver_name", r->driver_name);
8055
if (r->driver_name) {
8056
ndr_print_string(ndr, "driver_name", r->driver_name);
8062
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverOSVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_DriverOSVersion r)
8064
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
8065
return NDR_ERR_SUCCESS;
8068
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverOSVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DriverOSVersion *r)
8071
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
8073
return NDR_ERR_SUCCESS;
8076
_PUBLIC_ void ndr_print_spoolss_DriverOSVersion(struct ndr_print *ndr, const char *name, enum spoolss_DriverOSVersion r)
8078
const char *val = NULL;
8081
case SPOOLSS_DRIVER_VERSION_9X: val = "SPOOLSS_DRIVER_VERSION_9X"; break;
8082
case SPOOLSS_DRIVER_VERSION_NT35: val = "SPOOLSS_DRIVER_VERSION_NT35"; break;
8083
case SPOOLSS_DRIVER_VERSION_NT4: val = "SPOOLSS_DRIVER_VERSION_NT4"; break;
8084
case SPOOLSS_DRIVER_VERSION_200X: val = "SPOOLSS_DRIVER_VERSION_200X"; break;
8086
ndr_print_enum(ndr, name, "ENUM", val, r);
8089
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo2 *r)
8091
if (ndr_flags & NDR_SCALARS) {
8092
NDR_CHECK(ndr_push_align(ndr, 5));
8093
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
8094
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
8095
NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture));
8096
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path));
8097
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file));
8098
NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file));
8099
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8101
if (ndr_flags & NDR_BUFFERS) {
8102
if (r->driver_name) {
8103
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8104
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8105
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8106
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8108
if (r->architecture) {
8109
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
8110
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8111
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
8112
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8114
if (r->driver_path) {
8115
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
8116
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8117
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
8118
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8121
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
8122
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8123
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
8124
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8126
if (r->config_file) {
8127
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
8128
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8129
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
8130
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8133
return NDR_ERR_SUCCESS;
8136
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo2 *r)
8138
uint32_t _ptr_driver_name;
8139
TALLOC_CTX *_mem_save_driver_name_0;
8140
uint32_t _ptr_architecture;
8141
TALLOC_CTX *_mem_save_architecture_0;
8142
uint32_t _ptr_driver_path;
8143
TALLOC_CTX *_mem_save_driver_path_0;
8144
uint32_t _ptr_data_file;
8145
TALLOC_CTX *_mem_save_data_file_0;
8146
uint32_t _ptr_config_file;
8147
TALLOC_CTX *_mem_save_config_file_0;
8148
if (ndr_flags & NDR_SCALARS) {
8149
NDR_CHECK(ndr_pull_align(ndr, 5));
8150
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
8151
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
8152
if (_ptr_driver_name) {
8153
NDR_PULL_ALLOC(ndr, r->driver_name);
8155
r->driver_name = NULL;
8157
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
8158
if (_ptr_architecture) {
8159
NDR_PULL_ALLOC(ndr, r->architecture);
8161
r->architecture = NULL;
8163
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
8164
if (_ptr_driver_path) {
8165
NDR_PULL_ALLOC(ndr, r->driver_path);
8167
r->driver_path = NULL;
8169
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
8170
if (_ptr_data_file) {
8171
NDR_PULL_ALLOC(ndr, r->data_file);
8173
r->data_file = NULL;
8175
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
8176
if (_ptr_config_file) {
8177
NDR_PULL_ALLOC(ndr, r->config_file);
8179
r->config_file = NULL;
8181
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8183
if (ndr_flags & NDR_BUFFERS) {
8184
if (r->driver_name) {
8185
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8186
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
8187
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
8188
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
8189
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
8190
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));
8192
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
8193
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
8194
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
8196
if (r->architecture) {
8197
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
8198
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
8199
NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture));
8200
NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture));
8201
if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) {
8202
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));
8204
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t)));
8205
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16));
8206
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
8208
if (r->driver_path) {
8209
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
8210
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
8211
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path));
8212
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path));
8213
if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) {
8214
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));
8216
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t)));
8217
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16));
8218
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
8221
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8222
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
8223
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file));
8224
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file));
8225
if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) {
8226
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));
8228
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t)));
8229
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16));
8230
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
8232
if (r->config_file) {
8233
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8234
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
8235
NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file));
8236
NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file));
8237
if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) {
8238
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));
8240
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t)));
8241
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16));
8242
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
8245
return NDR_ERR_SUCCESS;
8248
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo2 *r)
8250
ndr_print_struct(ndr, name, "spoolss_AddDriverInfo2");
8252
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
8253
ndr_print_ptr(ndr, "driver_name", r->driver_name);
8255
if (r->driver_name) {
8256
ndr_print_string(ndr, "driver_name", r->driver_name);
8259
ndr_print_ptr(ndr, "architecture", r->architecture);
8261
if (r->architecture) {
8262
ndr_print_string(ndr, "architecture", r->architecture);
8265
ndr_print_ptr(ndr, "driver_path", r->driver_path);
8267
if (r->driver_path) {
8268
ndr_print_string(ndr, "driver_path", r->driver_path);
8271
ndr_print_ptr(ndr, "data_file", r->data_file);
8274
ndr_print_string(ndr, "data_file", r->data_file);
8277
ndr_print_ptr(ndr, "config_file", r->config_file);
8279
if (r->config_file) {
8280
ndr_print_string(ndr, "config_file", r->config_file);
8286
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo3 *r)
8288
if (ndr_flags & NDR_SCALARS) {
8289
NDR_CHECK(ndr_push_align(ndr, 5));
8290
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
8291
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
8292
NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture));
8293
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path));
8294
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file));
8295
NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file));
8296
NDR_CHECK(ndr_push_unique_ptr(ndr, r->help_file));
8297
NDR_CHECK(ndr_push_unique_ptr(ndr, r->monitor_name));
8298
NDR_CHECK(ndr_push_unique_ptr(ndr, r->default_datatype));
8299
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
8300
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependent_files));
8301
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8303
if (ndr_flags & NDR_BUFFERS) {
8304
if (r->driver_name) {
8305
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8306
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8307
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8308
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8310
if (r->architecture) {
8311
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
8312
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8313
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
8314
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8316
if (r->driver_path) {
8317
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
8318
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8319
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
8320
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8323
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
8324
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8325
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
8326
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8328
if (r->config_file) {
8329
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
8330
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8331
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
8332
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8335
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
8336
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8337
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
8338
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->help_file, ndr_charset_length(r->help_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8340
if (r->monitor_name) {
8341
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
8342
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8343
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
8344
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->monitor_name, ndr_charset_length(r->monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8346
if (r->default_datatype) {
8347
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
8348
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8349
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
8350
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->default_datatype, ndr_charset_length(r->default_datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8352
if (r->dependent_files) {
8353
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
8356
return NDR_ERR_SUCCESS;
8359
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo3 *r)
8361
uint32_t _ptr_driver_name;
8362
TALLOC_CTX *_mem_save_driver_name_0;
8363
uint32_t _ptr_architecture;
8364
TALLOC_CTX *_mem_save_architecture_0;
8365
uint32_t _ptr_driver_path;
8366
TALLOC_CTX *_mem_save_driver_path_0;
8367
uint32_t _ptr_data_file;
8368
TALLOC_CTX *_mem_save_data_file_0;
8369
uint32_t _ptr_config_file;
8370
TALLOC_CTX *_mem_save_config_file_0;
8371
uint32_t _ptr_help_file;
8372
TALLOC_CTX *_mem_save_help_file_0;
8373
uint32_t _ptr_monitor_name;
8374
TALLOC_CTX *_mem_save_monitor_name_0;
8375
uint32_t _ptr_default_datatype;
8376
TALLOC_CTX *_mem_save_default_datatype_0;
8377
uint32_t _ptr_dependent_files;
8378
TALLOC_CTX *_mem_save_dependent_files_0;
8379
if (ndr_flags & NDR_SCALARS) {
8380
NDR_CHECK(ndr_pull_align(ndr, 5));
8381
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
8382
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
8383
if (_ptr_driver_name) {
8384
NDR_PULL_ALLOC(ndr, r->driver_name);
8386
r->driver_name = NULL;
8388
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
8389
if (_ptr_architecture) {
8390
NDR_PULL_ALLOC(ndr, r->architecture);
8392
r->architecture = NULL;
8394
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
8395
if (_ptr_driver_path) {
8396
NDR_PULL_ALLOC(ndr, r->driver_path);
8398
r->driver_path = NULL;
8400
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
8401
if (_ptr_data_file) {
8402
NDR_PULL_ALLOC(ndr, r->data_file);
8404
r->data_file = NULL;
8406
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
8407
if (_ptr_config_file) {
8408
NDR_PULL_ALLOC(ndr, r->config_file);
8410
r->config_file = NULL;
8412
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
8413
if (_ptr_help_file) {
8414
NDR_PULL_ALLOC(ndr, r->help_file);
8416
r->help_file = NULL;
8418
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
8419
if (_ptr_monitor_name) {
8420
NDR_PULL_ALLOC(ndr, r->monitor_name);
8422
r->monitor_name = NULL;
8424
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
8425
if (_ptr_default_datatype) {
8426
NDR_PULL_ALLOC(ndr, r->default_datatype);
8428
r->default_datatype = NULL;
8430
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_dependent_files));
8431
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
8432
if (_ptr_dependent_files) {
8433
NDR_PULL_ALLOC(ndr, r->dependent_files);
8435
r->dependent_files = NULL;
8437
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8439
if (ndr_flags & NDR_BUFFERS) {
8440
if (r->driver_name) {
8441
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8442
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
8443
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
8444
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
8445
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
8446
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));
8448
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
8449
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
8450
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
8452
if (r->architecture) {
8453
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
8454
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
8455
NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture));
8456
NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture));
8457
if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) {
8458
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));
8460
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t)));
8461
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16));
8462
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
8464
if (r->driver_path) {
8465
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
8466
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
8467
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path));
8468
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path));
8469
if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) {
8470
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));
8472
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t)));
8473
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16));
8474
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
8477
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8478
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
8479
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file));
8480
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file));
8481
if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) {
8482
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));
8484
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t)));
8485
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16));
8486
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
8488
if (r->config_file) {
8489
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8490
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
8491
NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file));
8492
NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file));
8493
if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) {
8494
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));
8496
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t)));
8497
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16));
8498
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
8501
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8502
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
8503
NDR_CHECK(ndr_pull_array_size(ndr, &r->help_file));
8504
NDR_CHECK(ndr_pull_array_length(ndr, &r->help_file));
8505
if (ndr_get_array_length(ndr, &r->help_file) > ndr_get_array_size(ndr, &r->help_file)) {
8506
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));
8508
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t)));
8509
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->help_file, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t), CH_UTF16));
8510
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
8512
if (r->monitor_name) {
8513
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8514
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
8515
NDR_CHECK(ndr_pull_array_size(ndr, &r->monitor_name));
8516
NDR_CHECK(ndr_pull_array_length(ndr, &r->monitor_name));
8517
if (ndr_get_array_length(ndr, &r->monitor_name) > ndr_get_array_size(ndr, &r->monitor_name)) {
8518
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));
8520
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t)));
8521
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->monitor_name, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t), CH_UTF16));
8522
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
8524
if (r->default_datatype) {
8525
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
8526
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
8527
NDR_CHECK(ndr_pull_array_size(ndr, &r->default_datatype));
8528
NDR_CHECK(ndr_pull_array_length(ndr, &r->default_datatype));
8529
if (ndr_get_array_length(ndr, &r->default_datatype) > ndr_get_array_size(ndr, &r->default_datatype)) {
8530
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));
8532
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t)));
8533
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->default_datatype, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t), CH_UTF16));
8534
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
8536
if (r->dependent_files) {
8537
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
8538
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
8539
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
8540
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
8543
return NDR_ERR_SUCCESS;
8546
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo3 *r)
8548
ndr_print_struct(ndr, name, "spoolss_AddDriverInfo3");
8550
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
8551
ndr_print_ptr(ndr, "driver_name", r->driver_name);
8553
if (r->driver_name) {
8554
ndr_print_string(ndr, "driver_name", r->driver_name);
8557
ndr_print_ptr(ndr, "architecture", r->architecture);
8559
if (r->architecture) {
8560
ndr_print_string(ndr, "architecture", r->architecture);
8563
ndr_print_ptr(ndr, "driver_path", r->driver_path);
8565
if (r->driver_path) {
8566
ndr_print_string(ndr, "driver_path", r->driver_path);
8569
ndr_print_ptr(ndr, "data_file", r->data_file);
8572
ndr_print_string(ndr, "data_file", r->data_file);
8575
ndr_print_ptr(ndr, "config_file", r->config_file);
8577
if (r->config_file) {
8578
ndr_print_string(ndr, "config_file", r->config_file);
8581
ndr_print_ptr(ndr, "help_file", r->help_file);
8584
ndr_print_string(ndr, "help_file", r->help_file);
8587
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
8589
if (r->monitor_name) {
8590
ndr_print_string(ndr, "monitor_name", r->monitor_name);
8593
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
8595
if (r->default_datatype) {
8596
ndr_print_string(ndr, "default_datatype", r->default_datatype);
8599
ndr_print_uint32(ndr, "_ndr_size_dependent_files", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_dependent_files);
8600
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
8602
if (r->dependent_files) {
8603
ndr_print_spoolss_StringArray(ndr, "dependent_files", r->dependent_files);
8609
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo4 *r)
8611
if (ndr_flags & NDR_SCALARS) {
8612
NDR_CHECK(ndr_push_align(ndr, 5));
8613
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
8614
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
8615
NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture));
8616
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path));
8617
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file));
8618
NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file));
8619
NDR_CHECK(ndr_push_unique_ptr(ndr, r->help_file));
8620
NDR_CHECK(ndr_push_unique_ptr(ndr, r->monitor_name));
8621
NDR_CHECK(ndr_push_unique_ptr(ndr, r->default_datatype));
8622
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
8623
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependent_files));
8624
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
8625
NDR_CHECK(ndr_push_unique_ptr(ndr, r->previous_names));
8626
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8628
if (ndr_flags & NDR_BUFFERS) {
8629
if (r->driver_name) {
8630
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8631
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8632
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
8633
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8635
if (r->architecture) {
8636
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
8637
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8638
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
8639
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8641
if (r->driver_path) {
8642
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
8643
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8644
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
8645
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8648
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
8649
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8650
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
8651
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8653
if (r->config_file) {
8654
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
8655
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8656
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
8657
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8660
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
8661
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8662
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
8663
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->help_file, ndr_charset_length(r->help_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8665
if (r->monitor_name) {
8666
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
8667
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8668
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
8669
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->monitor_name, ndr_charset_length(r->monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8671
if (r->default_datatype) {
8672
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
8673
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8674
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
8675
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->default_datatype, ndr_charset_length(r->default_datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8677
if (r->dependent_files) {
8678
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
8680
if (r->previous_names) {
8681
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names));
8684
return NDR_ERR_SUCCESS;
8687
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo4 *r)
8689
uint32_t _ptr_driver_name;
8690
TALLOC_CTX *_mem_save_driver_name_0;
8691
uint32_t _ptr_architecture;
8692
TALLOC_CTX *_mem_save_architecture_0;
8693
uint32_t _ptr_driver_path;
8694
TALLOC_CTX *_mem_save_driver_path_0;
8695
uint32_t _ptr_data_file;
8696
TALLOC_CTX *_mem_save_data_file_0;
8697
uint32_t _ptr_config_file;
8698
TALLOC_CTX *_mem_save_config_file_0;
8699
uint32_t _ptr_help_file;
8700
TALLOC_CTX *_mem_save_help_file_0;
8701
uint32_t _ptr_monitor_name;
8702
TALLOC_CTX *_mem_save_monitor_name_0;
8703
uint32_t _ptr_default_datatype;
8704
TALLOC_CTX *_mem_save_default_datatype_0;
8705
uint32_t _ptr_dependent_files;
8706
TALLOC_CTX *_mem_save_dependent_files_0;
8707
uint32_t _ptr_previous_names;
8708
TALLOC_CTX *_mem_save_previous_names_0;
8709
if (ndr_flags & NDR_SCALARS) {
8710
NDR_CHECK(ndr_pull_align(ndr, 5));
8711
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
8712
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
8713
if (_ptr_driver_name) {
8714
NDR_PULL_ALLOC(ndr, r->driver_name);
8716
r->driver_name = NULL;
8718
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
8719
if (_ptr_architecture) {
8720
NDR_PULL_ALLOC(ndr, r->architecture);
8722
r->architecture = NULL;
8724
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
8725
if (_ptr_driver_path) {
8726
NDR_PULL_ALLOC(ndr, r->driver_path);
8728
r->driver_path = NULL;
8730
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
8731
if (_ptr_data_file) {
8732
NDR_PULL_ALLOC(ndr, r->data_file);
8734
r->data_file = NULL;
8736
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
8737
if (_ptr_config_file) {
8738
NDR_PULL_ALLOC(ndr, r->config_file);
8740
r->config_file = NULL;
8742
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
8743
if (_ptr_help_file) {
8744
NDR_PULL_ALLOC(ndr, r->help_file);
8746
r->help_file = NULL;
8748
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
8749
if (_ptr_monitor_name) {
8750
NDR_PULL_ALLOC(ndr, r->monitor_name);
8752
r->monitor_name = NULL;
8754
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
8755
if (_ptr_default_datatype) {
8756
NDR_PULL_ALLOC(ndr, r->default_datatype);
8758
r->default_datatype = NULL;
8760
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_dependent_files));
8761
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
8762
if (_ptr_dependent_files) {
8763
NDR_PULL_ALLOC(ndr, r->dependent_files);
8765
r->dependent_files = NULL;
8767
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_previous_names));
8768
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
8769
if (_ptr_previous_names) {
8770
NDR_PULL_ALLOC(ndr, r->previous_names);
8772
r->previous_names = NULL;
8774
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8776
if (ndr_flags & NDR_BUFFERS) {
8777
if (r->driver_name) {
8778
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8779
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
8780
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
8781
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
8782
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
8783
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));
8785
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
8786
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
8787
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
8789
if (r->architecture) {
8790
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
8791
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
8792
NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture));
8793
NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture));
8794
if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) {
8795
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));
8797
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t)));
8798
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16));
8799
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
8801
if (r->driver_path) {
8802
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
8803
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
8804
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path));
8805
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path));
8806
if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) {
8807
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));
8809
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t)));
8810
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16));
8811
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
8814
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8815
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
8816
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file));
8817
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file));
8818
if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) {
8819
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));
8821
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t)));
8822
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16));
8823
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
8825
if (r->config_file) {
8826
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8827
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
8828
NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file));
8829
NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file));
8830
if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) {
8831
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));
8833
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t)));
8834
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16));
8835
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
8838
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
8839
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
8840
NDR_CHECK(ndr_pull_array_size(ndr, &r->help_file));
8841
NDR_CHECK(ndr_pull_array_length(ndr, &r->help_file));
8842
if (ndr_get_array_length(ndr, &r->help_file) > ndr_get_array_size(ndr, &r->help_file)) {
8843
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));
8845
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t)));
8846
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->help_file, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t), CH_UTF16));
8847
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
8849
if (r->monitor_name) {
8850
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8851
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
8852
NDR_CHECK(ndr_pull_array_size(ndr, &r->monitor_name));
8853
NDR_CHECK(ndr_pull_array_length(ndr, &r->monitor_name));
8854
if (ndr_get_array_length(ndr, &r->monitor_name) > ndr_get_array_size(ndr, &r->monitor_name)) {
8855
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));
8857
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t)));
8858
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->monitor_name, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t), CH_UTF16));
8859
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
8861
if (r->default_datatype) {
8862
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
8863
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
8864
NDR_CHECK(ndr_pull_array_size(ndr, &r->default_datatype));
8865
NDR_CHECK(ndr_pull_array_length(ndr, &r->default_datatype));
8866
if (ndr_get_array_length(ndr, &r->default_datatype) > ndr_get_array_size(ndr, &r->default_datatype)) {
8867
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));
8869
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t)));
8870
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->default_datatype, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t), CH_UTF16));
8871
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
8873
if (r->dependent_files) {
8874
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
8875
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
8876
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
8877
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
8879
if (r->previous_names) {
8880
_mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
8881
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
8882
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names));
8883
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
8886
return NDR_ERR_SUCCESS;
8889
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo4 *r)
8891
ndr_print_struct(ndr, name, "spoolss_AddDriverInfo4");
8893
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
8894
ndr_print_ptr(ndr, "driver_name", r->driver_name);
8896
if (r->driver_name) {
8897
ndr_print_string(ndr, "driver_name", r->driver_name);
8900
ndr_print_ptr(ndr, "architecture", r->architecture);
8902
if (r->architecture) {
8903
ndr_print_string(ndr, "architecture", r->architecture);
8906
ndr_print_ptr(ndr, "driver_path", r->driver_path);
8908
if (r->driver_path) {
8909
ndr_print_string(ndr, "driver_path", r->driver_path);
8912
ndr_print_ptr(ndr, "data_file", r->data_file);
8915
ndr_print_string(ndr, "data_file", r->data_file);
8918
ndr_print_ptr(ndr, "config_file", r->config_file);
8920
if (r->config_file) {
8921
ndr_print_string(ndr, "config_file", r->config_file);
8924
ndr_print_ptr(ndr, "help_file", r->help_file);
8927
ndr_print_string(ndr, "help_file", r->help_file);
8930
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
8932
if (r->monitor_name) {
8933
ndr_print_string(ndr, "monitor_name", r->monitor_name);
8936
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
8938
if (r->default_datatype) {
8939
ndr_print_string(ndr, "default_datatype", r->default_datatype);
8942
ndr_print_uint32(ndr, "_ndr_size_dependent_files", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_dependent_files);
8943
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
8945
if (r->dependent_files) {
8946
ndr_print_spoolss_StringArray(ndr, "dependent_files", r->dependent_files);
8949
ndr_print_uint32(ndr, "_ndr_size_previous_names", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_previous_names);
8950
ndr_print_ptr(ndr, "previous_names", r->previous_names);
8952
if (r->previous_names) {
8953
ndr_print_spoolss_StringArray(ndr, "previous_names", r->previous_names);
8959
static enum ndr_err_code ndr_push_spoolss_DriverAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
8961
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8962
return NDR_ERR_SUCCESS;
8965
static enum ndr_err_code ndr_pull_spoolss_DriverAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
8968
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8970
return NDR_ERR_SUCCESS;
8973
_PUBLIC_ void ndr_print_spoolss_DriverAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
8975
ndr_print_uint32(ndr, name, r);
8977
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_DRIVER_PACKAGE_AWARE", PRINTER_DRIVER_PACKAGE_AWARE, r);
8981
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo6 *r)
8983
if (ndr_flags & NDR_SCALARS) {
8984
NDR_CHECK(ndr_push_align(ndr, 8));
8985
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
8986
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
8987
NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture));
8988
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path));
8989
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file));
8990
NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file));
8991
NDR_CHECK(ndr_push_unique_ptr(ndr, r->help_file));
8992
NDR_CHECK(ndr_push_unique_ptr(ndr, r->monitor_name));
8993
NDR_CHECK(ndr_push_unique_ptr(ndr, r->default_datatype));
8994
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
8995
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependent_files));
8996
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
8997
NDR_CHECK(ndr_push_unique_ptr(ndr, r->previous_names));
8998
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date));
8999
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
9000
NDR_CHECK(ndr_push_unique_ptr(ndr, r->manufacturer_name));
9001
NDR_CHECK(ndr_push_unique_ptr(ndr, r->manufacturer_url));
9002
NDR_CHECK(ndr_push_unique_ptr(ndr, r->hardware_id));
9003
NDR_CHECK(ndr_push_unique_ptr(ndr, r->provider));
9004
NDR_CHECK(ndr_push_trailer_align(ndr, 8));
9006
if (ndr_flags & NDR_BUFFERS) {
9007
if (r->driver_name) {
9008
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
9009
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9010
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
9011
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9013
if (r->architecture) {
9014
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
9015
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9016
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
9017
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9019
if (r->driver_path) {
9020
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
9021
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9022
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
9023
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9026
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
9027
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9028
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
9029
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9031
if (r->config_file) {
9032
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
9033
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9034
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
9035
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9038
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
9039
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9040
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
9041
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->help_file, ndr_charset_length(r->help_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9043
if (r->monitor_name) {
9044
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
9045
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9046
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
9047
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->monitor_name, ndr_charset_length(r->monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9049
if (r->default_datatype) {
9050
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
9051
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9052
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
9053
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->default_datatype, ndr_charset_length(r->default_datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9055
if (r->dependent_files) {
9056
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
9058
if (r->previous_names) {
9059
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names));
9061
if (r->manufacturer_name) {
9062
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_name, CH_UTF16)));
9063
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9064
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_name, CH_UTF16)));
9065
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->manufacturer_name, ndr_charset_length(r->manufacturer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9067
if (r->manufacturer_url) {
9068
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_url, CH_UTF16)));
9069
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9070
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_url, CH_UTF16)));
9071
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->manufacturer_url, ndr_charset_length(r->manufacturer_url, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9073
if (r->hardware_id) {
9074
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->hardware_id, CH_UTF16)));
9075
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9076
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->hardware_id, CH_UTF16)));
9077
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hardware_id, ndr_charset_length(r->hardware_id, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9080
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->provider, CH_UTF16)));
9081
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9082
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->provider, CH_UTF16)));
9083
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->provider, ndr_charset_length(r->provider, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9086
return NDR_ERR_SUCCESS;
9089
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo6 *r)
9091
uint32_t _ptr_driver_name;
9092
TALLOC_CTX *_mem_save_driver_name_0;
9093
uint32_t _ptr_architecture;
9094
TALLOC_CTX *_mem_save_architecture_0;
9095
uint32_t _ptr_driver_path;
9096
TALLOC_CTX *_mem_save_driver_path_0;
9097
uint32_t _ptr_data_file;
9098
TALLOC_CTX *_mem_save_data_file_0;
9099
uint32_t _ptr_config_file;
9100
TALLOC_CTX *_mem_save_config_file_0;
9101
uint32_t _ptr_help_file;
9102
TALLOC_CTX *_mem_save_help_file_0;
9103
uint32_t _ptr_monitor_name;
9104
TALLOC_CTX *_mem_save_monitor_name_0;
9105
uint32_t _ptr_default_datatype;
9106
TALLOC_CTX *_mem_save_default_datatype_0;
9107
uint32_t _ptr_dependent_files;
9108
TALLOC_CTX *_mem_save_dependent_files_0;
9109
uint32_t _ptr_previous_names;
9110
TALLOC_CTX *_mem_save_previous_names_0;
9111
uint32_t _ptr_manufacturer_name;
9112
TALLOC_CTX *_mem_save_manufacturer_name_0;
9113
uint32_t _ptr_manufacturer_url;
9114
TALLOC_CTX *_mem_save_manufacturer_url_0;
9115
uint32_t _ptr_hardware_id;
9116
TALLOC_CTX *_mem_save_hardware_id_0;
9117
uint32_t _ptr_provider;
9118
TALLOC_CTX *_mem_save_provider_0;
9119
if (ndr_flags & NDR_SCALARS) {
9120
NDR_CHECK(ndr_pull_align(ndr, 8));
9121
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
9122
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
9123
if (_ptr_driver_name) {
9124
NDR_PULL_ALLOC(ndr, r->driver_name);
9126
r->driver_name = NULL;
9128
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
9129
if (_ptr_architecture) {
9130
NDR_PULL_ALLOC(ndr, r->architecture);
9132
r->architecture = NULL;
9134
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
9135
if (_ptr_driver_path) {
9136
NDR_PULL_ALLOC(ndr, r->driver_path);
9138
r->driver_path = NULL;
9140
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
9141
if (_ptr_data_file) {
9142
NDR_PULL_ALLOC(ndr, r->data_file);
9144
r->data_file = NULL;
9146
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
9147
if (_ptr_config_file) {
9148
NDR_PULL_ALLOC(ndr, r->config_file);
9150
r->config_file = NULL;
9152
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
9153
if (_ptr_help_file) {
9154
NDR_PULL_ALLOC(ndr, r->help_file);
9156
r->help_file = NULL;
9158
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
9159
if (_ptr_monitor_name) {
9160
NDR_PULL_ALLOC(ndr, r->monitor_name);
9162
r->monitor_name = NULL;
9164
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
9165
if (_ptr_default_datatype) {
9166
NDR_PULL_ALLOC(ndr, r->default_datatype);
9168
r->default_datatype = NULL;
9170
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_dependent_files));
9171
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
9172
if (_ptr_dependent_files) {
9173
NDR_PULL_ALLOC(ndr, r->dependent_files);
9175
r->dependent_files = NULL;
9177
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_previous_names));
9178
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
9179
if (_ptr_previous_names) {
9180
NDR_PULL_ALLOC(ndr, r->previous_names);
9182
r->previous_names = NULL;
9184
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date));
9185
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
9186
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name));
9187
if (_ptr_manufacturer_name) {
9188
NDR_PULL_ALLOC(ndr, r->manufacturer_name);
9190
r->manufacturer_name = NULL;
9192
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url));
9193
if (_ptr_manufacturer_url) {
9194
NDR_PULL_ALLOC(ndr, r->manufacturer_url);
9196
r->manufacturer_url = NULL;
9198
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id));
9199
if (_ptr_hardware_id) {
9200
NDR_PULL_ALLOC(ndr, r->hardware_id);
9202
r->hardware_id = NULL;
9204
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider));
9205
if (_ptr_provider) {
9206
NDR_PULL_ALLOC(ndr, r->provider);
9210
NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
9212
if (ndr_flags & NDR_BUFFERS) {
9213
if (r->driver_name) {
9214
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9215
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
9216
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
9217
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
9218
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
9219
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));
9221
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
9222
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
9223
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
9225
if (r->architecture) {
9226
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
9227
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
9228
NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture));
9229
NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture));
9230
if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) {
9231
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));
9233
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t)));
9234
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16));
9235
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
9237
if (r->driver_path) {
9238
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
9239
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
9240
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path));
9241
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path));
9242
if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) {
9243
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));
9245
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t)));
9246
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16));
9247
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
9250
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9251
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
9252
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file));
9253
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file));
9254
if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) {
9255
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));
9257
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t)));
9258
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16));
9259
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
9261
if (r->config_file) {
9262
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9263
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
9264
NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file));
9265
NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file));
9266
if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) {
9267
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));
9269
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t)));
9270
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16));
9271
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
9274
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9275
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
9276
NDR_CHECK(ndr_pull_array_size(ndr, &r->help_file));
9277
NDR_CHECK(ndr_pull_array_length(ndr, &r->help_file));
9278
if (ndr_get_array_length(ndr, &r->help_file) > ndr_get_array_size(ndr, &r->help_file)) {
9279
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));
9281
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t)));
9282
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->help_file, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t), CH_UTF16));
9283
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
9285
if (r->monitor_name) {
9286
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9287
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
9288
NDR_CHECK(ndr_pull_array_size(ndr, &r->monitor_name));
9289
NDR_CHECK(ndr_pull_array_length(ndr, &r->monitor_name));
9290
if (ndr_get_array_length(ndr, &r->monitor_name) > ndr_get_array_size(ndr, &r->monitor_name)) {
9291
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));
9293
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t)));
9294
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->monitor_name, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t), CH_UTF16));
9295
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
9297
if (r->default_datatype) {
9298
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
9299
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
9300
NDR_CHECK(ndr_pull_array_size(ndr, &r->default_datatype));
9301
NDR_CHECK(ndr_pull_array_length(ndr, &r->default_datatype));
9302
if (ndr_get_array_length(ndr, &r->default_datatype) > ndr_get_array_size(ndr, &r->default_datatype)) {
9303
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));
9305
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t)));
9306
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->default_datatype, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t), CH_UTF16));
9307
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
9309
if (r->dependent_files) {
9310
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
9311
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
9312
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
9313
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
9315
if (r->previous_names) {
9316
_mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
9317
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
9318
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names));
9319
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
9321
if (r->manufacturer_name) {
9322
_mem_save_manufacturer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9323
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0);
9324
NDR_CHECK(ndr_pull_array_size(ndr, &r->manufacturer_name));
9325
NDR_CHECK(ndr_pull_array_length(ndr, &r->manufacturer_name));
9326
if (ndr_get_array_length(ndr, &r->manufacturer_name) > ndr_get_array_size(ndr, &r->manufacturer_name)) {
9327
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));
9329
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->manufacturer_name), sizeof(uint16_t)));
9330
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->manufacturer_name, ndr_get_array_length(ndr, &r->manufacturer_name), sizeof(uint16_t), CH_UTF16));
9331
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0);
9333
if (r->manufacturer_url) {
9334
_mem_save_manufacturer_url_0 = NDR_PULL_GET_MEM_CTX(ndr);
9335
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0);
9336
NDR_CHECK(ndr_pull_array_size(ndr, &r->manufacturer_url));
9337
NDR_CHECK(ndr_pull_array_length(ndr, &r->manufacturer_url));
9338
if (ndr_get_array_length(ndr, &r->manufacturer_url) > ndr_get_array_size(ndr, &r->manufacturer_url)) {
9339
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));
9341
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->manufacturer_url), sizeof(uint16_t)));
9342
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->manufacturer_url, ndr_get_array_length(ndr, &r->manufacturer_url), sizeof(uint16_t), CH_UTF16));
9343
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0);
9345
if (r->hardware_id) {
9346
_mem_save_hardware_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9347
NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0);
9348
NDR_CHECK(ndr_pull_array_size(ndr, &r->hardware_id));
9349
NDR_CHECK(ndr_pull_array_length(ndr, &r->hardware_id));
9350
if (ndr_get_array_length(ndr, &r->hardware_id) > ndr_get_array_size(ndr, &r->hardware_id)) {
9351
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));
9353
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->hardware_id), sizeof(uint16_t)));
9354
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hardware_id, ndr_get_array_length(ndr, &r->hardware_id), sizeof(uint16_t), CH_UTF16));
9355
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0);
9358
_mem_save_provider_0 = NDR_PULL_GET_MEM_CTX(ndr);
9359
NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0);
9360
NDR_CHECK(ndr_pull_array_size(ndr, &r->provider));
9361
NDR_CHECK(ndr_pull_array_length(ndr, &r->provider));
9362
if (ndr_get_array_length(ndr, &r->provider) > ndr_get_array_size(ndr, &r->provider)) {
9363
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));
9365
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->provider), sizeof(uint16_t)));
9366
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->provider, ndr_get_array_length(ndr, &r->provider), sizeof(uint16_t), CH_UTF16));
9367
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0);
9370
return NDR_ERR_SUCCESS;
9373
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo6 *r)
9375
ndr_print_struct(ndr, name, "spoolss_AddDriverInfo6");
9377
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
9378
ndr_print_ptr(ndr, "driver_name", r->driver_name);
9380
if (r->driver_name) {
9381
ndr_print_string(ndr, "driver_name", r->driver_name);
9384
ndr_print_ptr(ndr, "architecture", r->architecture);
9386
if (r->architecture) {
9387
ndr_print_string(ndr, "architecture", r->architecture);
9390
ndr_print_ptr(ndr, "driver_path", r->driver_path);
9392
if (r->driver_path) {
9393
ndr_print_string(ndr, "driver_path", r->driver_path);
9396
ndr_print_ptr(ndr, "data_file", r->data_file);
9399
ndr_print_string(ndr, "data_file", r->data_file);
9402
ndr_print_ptr(ndr, "config_file", r->config_file);
9404
if (r->config_file) {
9405
ndr_print_string(ndr, "config_file", r->config_file);
9408
ndr_print_ptr(ndr, "help_file", r->help_file);
9411
ndr_print_string(ndr, "help_file", r->help_file);
9414
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
9416
if (r->monitor_name) {
9417
ndr_print_string(ndr, "monitor_name", r->monitor_name);
9420
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
9422
if (r->default_datatype) {
9423
ndr_print_string(ndr, "default_datatype", r->default_datatype);
9426
ndr_print_uint32(ndr, "_ndr_size_dependent_files", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_dependent_files);
9427
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
9429
if (r->dependent_files) {
9430
ndr_print_spoolss_StringArray(ndr, "dependent_files", r->dependent_files);
9433
ndr_print_uint32(ndr, "_ndr_size_previous_names", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_previous_names);
9434
ndr_print_ptr(ndr, "previous_names", r->previous_names);
9436
if (r->previous_names) {
9437
ndr_print_spoolss_StringArray(ndr, "previous_names", r->previous_names);
9440
ndr_print_NTTIME(ndr, "driver_date", r->driver_date);
9441
ndr_print_hyper(ndr, "driver_version", r->driver_version);
9442
ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name);
9444
if (r->manufacturer_name) {
9445
ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name);
9448
ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url);
9450
if (r->manufacturer_url) {
9451
ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url);
9454
ndr_print_ptr(ndr, "hardware_id", r->hardware_id);
9456
if (r->hardware_id) {
9457
ndr_print_string(ndr, "hardware_id", r->hardware_id);
9460
ndr_print_ptr(ndr, "provider", r->provider);
9463
ndr_print_string(ndr, "provider", r->provider);
9469
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo8(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo8 *r)
9471
if (ndr_flags & NDR_SCALARS) {
9472
NDR_CHECK(ndr_push_align(ndr, 8));
9473
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
9474
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
9475
NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture));
9476
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path));
9477
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file));
9478
NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file));
9479
NDR_CHECK(ndr_push_unique_ptr(ndr, r->help_file));
9480
NDR_CHECK(ndr_push_unique_ptr(ndr, r->monitor_name));
9481
NDR_CHECK(ndr_push_unique_ptr(ndr, r->default_datatype));
9482
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
9483
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependent_files));
9484
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
9485
NDR_CHECK(ndr_push_unique_ptr(ndr, r->previous_names));
9486
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date));
9487
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
9488
NDR_CHECK(ndr_push_unique_ptr(ndr, r->manufacturer_name));
9489
NDR_CHECK(ndr_push_unique_ptr(ndr, r->manufacturer_url));
9490
NDR_CHECK(ndr_push_unique_ptr(ndr, r->hardware_id));
9491
NDR_CHECK(ndr_push_unique_ptr(ndr, r->provider));
9492
NDR_CHECK(ndr_push_unique_ptr(ndr, r->print_processor));
9493
NDR_CHECK(ndr_push_unique_ptr(ndr, r->vendor_setup));
9494
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->color_profiles, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
9495
NDR_CHECK(ndr_push_unique_ptr(ndr, r->color_profiles));
9496
NDR_CHECK(ndr_push_unique_ptr(ndr, r->inf_path));
9497
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->printer_driver_attributes));
9498
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->core_driver_dependencies, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
9499
NDR_CHECK(ndr_push_unique_ptr(ndr, r->core_driver_dependencies));
9500
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->min_inbox_driver_ver_date));
9501
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->min_inbox_driver_ver_version));
9502
NDR_CHECK(ndr_push_trailer_align(ndr, 8));
9504
if (ndr_flags & NDR_BUFFERS) {
9505
if (r->driver_name) {
9506
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
9507
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9508
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16)));
9509
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9511
if (r->architecture) {
9512
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
9513
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9514
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16)));
9515
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9517
if (r->driver_path) {
9518
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
9519
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9520
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16)));
9521
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9524
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
9525
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9526
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16)));
9527
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9529
if (r->config_file) {
9530
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
9531
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9532
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16)));
9533
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9536
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
9537
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9538
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16)));
9539
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->help_file, ndr_charset_length(r->help_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9541
if (r->monitor_name) {
9542
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
9543
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9544
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16)));
9545
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->monitor_name, ndr_charset_length(r->monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9547
if (r->default_datatype) {
9548
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
9549
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9550
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16)));
9551
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->default_datatype, ndr_charset_length(r->default_datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9553
if (r->dependent_files) {
9554
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
9556
if (r->previous_names) {
9557
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names));
9559
if (r->manufacturer_name) {
9560
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_name, CH_UTF16)));
9561
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9562
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_name, CH_UTF16)));
9563
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->manufacturer_name, ndr_charset_length(r->manufacturer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9565
if (r->manufacturer_url) {
9566
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_url, CH_UTF16)));
9567
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9568
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_url, CH_UTF16)));
9569
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->manufacturer_url, ndr_charset_length(r->manufacturer_url, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9571
if (r->hardware_id) {
9572
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->hardware_id, CH_UTF16)));
9573
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9574
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->hardware_id, CH_UTF16)));
9575
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hardware_id, ndr_charset_length(r->hardware_id, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9578
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->provider, CH_UTF16)));
9579
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9580
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->provider, CH_UTF16)));
9581
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->provider, ndr_charset_length(r->provider, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9583
if (r->print_processor) {
9584
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16)));
9585
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9586
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16)));
9587
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->print_processor, ndr_charset_length(r->print_processor, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9589
if (r->vendor_setup) {
9590
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->vendor_setup, CH_UTF16)));
9591
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9592
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->vendor_setup, CH_UTF16)));
9593
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->vendor_setup, ndr_charset_length(r->vendor_setup, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9595
if (r->color_profiles) {
9596
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->color_profiles));
9599
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->inf_path, CH_UTF16)));
9600
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9601
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->inf_path, CH_UTF16)));
9602
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->inf_path, ndr_charset_length(r->inf_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9604
if (r->core_driver_dependencies) {
9605
NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->core_driver_dependencies));
9608
return NDR_ERR_SUCCESS;
9611
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo8(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo8 *r)
9613
uint32_t _ptr_driver_name;
9614
TALLOC_CTX *_mem_save_driver_name_0;
9615
uint32_t _ptr_architecture;
9616
TALLOC_CTX *_mem_save_architecture_0;
9617
uint32_t _ptr_driver_path;
9618
TALLOC_CTX *_mem_save_driver_path_0;
9619
uint32_t _ptr_data_file;
9620
TALLOC_CTX *_mem_save_data_file_0;
9621
uint32_t _ptr_config_file;
9622
TALLOC_CTX *_mem_save_config_file_0;
9623
uint32_t _ptr_help_file;
9624
TALLOC_CTX *_mem_save_help_file_0;
9625
uint32_t _ptr_monitor_name;
9626
TALLOC_CTX *_mem_save_monitor_name_0;
9627
uint32_t _ptr_default_datatype;
9628
TALLOC_CTX *_mem_save_default_datatype_0;
9629
uint32_t _ptr_dependent_files;
9630
TALLOC_CTX *_mem_save_dependent_files_0;
9631
uint32_t _ptr_previous_names;
9632
TALLOC_CTX *_mem_save_previous_names_0;
9633
uint32_t _ptr_manufacturer_name;
9634
TALLOC_CTX *_mem_save_manufacturer_name_0;
9635
uint32_t _ptr_manufacturer_url;
9636
TALLOC_CTX *_mem_save_manufacturer_url_0;
9637
uint32_t _ptr_hardware_id;
9638
TALLOC_CTX *_mem_save_hardware_id_0;
9639
uint32_t _ptr_provider;
9640
TALLOC_CTX *_mem_save_provider_0;
9641
uint32_t _ptr_print_processor;
9642
TALLOC_CTX *_mem_save_print_processor_0;
9643
uint32_t _ptr_vendor_setup;
9644
TALLOC_CTX *_mem_save_vendor_setup_0;
9645
uint32_t _ptr_color_profiles;
9646
TALLOC_CTX *_mem_save_color_profiles_0;
9647
uint32_t _ptr_inf_path;
9648
TALLOC_CTX *_mem_save_inf_path_0;
9649
uint32_t _ptr_core_driver_dependencies;
9650
TALLOC_CTX *_mem_save_core_driver_dependencies_0;
9651
if (ndr_flags & NDR_SCALARS) {
9652
NDR_CHECK(ndr_pull_align(ndr, 8));
9653
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
9654
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
9655
if (_ptr_driver_name) {
9656
NDR_PULL_ALLOC(ndr, r->driver_name);
9658
r->driver_name = NULL;
9660
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
9661
if (_ptr_architecture) {
9662
NDR_PULL_ALLOC(ndr, r->architecture);
9664
r->architecture = NULL;
9666
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
9667
if (_ptr_driver_path) {
9668
NDR_PULL_ALLOC(ndr, r->driver_path);
9670
r->driver_path = NULL;
9672
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
9673
if (_ptr_data_file) {
9674
NDR_PULL_ALLOC(ndr, r->data_file);
9676
r->data_file = NULL;
9678
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
9679
if (_ptr_config_file) {
9680
NDR_PULL_ALLOC(ndr, r->config_file);
9682
r->config_file = NULL;
9684
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
9685
if (_ptr_help_file) {
9686
NDR_PULL_ALLOC(ndr, r->help_file);
9688
r->help_file = NULL;
9690
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
9691
if (_ptr_monitor_name) {
9692
NDR_PULL_ALLOC(ndr, r->monitor_name);
9694
r->monitor_name = NULL;
9696
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
9697
if (_ptr_default_datatype) {
9698
NDR_PULL_ALLOC(ndr, r->default_datatype);
9700
r->default_datatype = NULL;
9702
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_dependent_files));
9703
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
9704
if (_ptr_dependent_files) {
9705
NDR_PULL_ALLOC(ndr, r->dependent_files);
9707
r->dependent_files = NULL;
9709
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_previous_names));
9710
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
9711
if (_ptr_previous_names) {
9712
NDR_PULL_ALLOC(ndr, r->previous_names);
9714
r->previous_names = NULL;
9716
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date));
9717
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
9718
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name));
9719
if (_ptr_manufacturer_name) {
9720
NDR_PULL_ALLOC(ndr, r->manufacturer_name);
9722
r->manufacturer_name = NULL;
9724
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url));
9725
if (_ptr_manufacturer_url) {
9726
NDR_PULL_ALLOC(ndr, r->manufacturer_url);
9728
r->manufacturer_url = NULL;
9730
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id));
9731
if (_ptr_hardware_id) {
9732
NDR_PULL_ALLOC(ndr, r->hardware_id);
9734
r->hardware_id = NULL;
9736
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider));
9737
if (_ptr_provider) {
9738
NDR_PULL_ALLOC(ndr, r->provider);
9742
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
9743
if (_ptr_print_processor) {
9744
NDR_PULL_ALLOC(ndr, r->print_processor);
9746
r->print_processor = NULL;
9748
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_vendor_setup));
9749
if (_ptr_vendor_setup) {
9750
NDR_PULL_ALLOC(ndr, r->vendor_setup);
9752
r->vendor_setup = NULL;
9754
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_color_profiles));
9755
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_color_profiles));
9756
if (_ptr_color_profiles) {
9757
NDR_PULL_ALLOC(ndr, r->color_profiles);
9759
r->color_profiles = NULL;
9761
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_inf_path));
9762
if (_ptr_inf_path) {
9763
NDR_PULL_ALLOC(ndr, r->inf_path);
9767
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->printer_driver_attributes));
9768
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_core_driver_dependencies));
9769
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_core_driver_dependencies));
9770
if (_ptr_core_driver_dependencies) {
9771
NDR_PULL_ALLOC(ndr, r->core_driver_dependencies);
9773
r->core_driver_dependencies = NULL;
9775
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_date));
9776
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_version));
9777
NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
9779
if (ndr_flags & NDR_BUFFERS) {
9780
if (r->driver_name) {
9781
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9782
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
9783
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name));
9784
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name));
9785
if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) {
9786
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));
9788
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t)));
9789
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16));
9790
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
9792
if (r->architecture) {
9793
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
9794
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
9795
NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture));
9796
NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture));
9797
if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) {
9798
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));
9800
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t)));
9801
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16));
9802
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
9804
if (r->driver_path) {
9805
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
9806
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
9807
NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path));
9808
NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path));
9809
if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) {
9810
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));
9812
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t)));
9813
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16));
9814
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
9817
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9818
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
9819
NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file));
9820
NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file));
9821
if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) {
9822
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));
9824
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t)));
9825
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16));
9826
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
9828
if (r->config_file) {
9829
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9830
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
9831
NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file));
9832
NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file));
9833
if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) {
9834
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));
9836
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t)));
9837
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16));
9838
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
9841
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
9842
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
9843
NDR_CHECK(ndr_pull_array_size(ndr, &r->help_file));
9844
NDR_CHECK(ndr_pull_array_length(ndr, &r->help_file));
9845
if (ndr_get_array_length(ndr, &r->help_file) > ndr_get_array_size(ndr, &r->help_file)) {
9846
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));
9848
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t)));
9849
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->help_file, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t), CH_UTF16));
9850
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
9852
if (r->monitor_name) {
9853
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9854
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
9855
NDR_CHECK(ndr_pull_array_size(ndr, &r->monitor_name));
9856
NDR_CHECK(ndr_pull_array_length(ndr, &r->monitor_name));
9857
if (ndr_get_array_length(ndr, &r->monitor_name) > ndr_get_array_size(ndr, &r->monitor_name)) {
9858
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));
9860
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t)));
9861
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->monitor_name, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t), CH_UTF16));
9862
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
9864
if (r->default_datatype) {
9865
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
9866
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
9867
NDR_CHECK(ndr_pull_array_size(ndr, &r->default_datatype));
9868
NDR_CHECK(ndr_pull_array_length(ndr, &r->default_datatype));
9869
if (ndr_get_array_length(ndr, &r->default_datatype) > ndr_get_array_size(ndr, &r->default_datatype)) {
9870
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));
9872
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t)));
9873
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->default_datatype, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t), CH_UTF16));
9874
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
9876
if (r->dependent_files) {
9877
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
9878
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
9879
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files));
9880
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
9882
if (r->previous_names) {
9883
_mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
9884
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
9885
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names));
9886
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
9888
if (r->manufacturer_name) {
9889
_mem_save_manufacturer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9890
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0);
9891
NDR_CHECK(ndr_pull_array_size(ndr, &r->manufacturer_name));
9892
NDR_CHECK(ndr_pull_array_length(ndr, &r->manufacturer_name));
9893
if (ndr_get_array_length(ndr, &r->manufacturer_name) > ndr_get_array_size(ndr, &r->manufacturer_name)) {
9894
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));
9896
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->manufacturer_name), sizeof(uint16_t)));
9897
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->manufacturer_name, ndr_get_array_length(ndr, &r->manufacturer_name), sizeof(uint16_t), CH_UTF16));
9898
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0);
9900
if (r->manufacturer_url) {
9901
_mem_save_manufacturer_url_0 = NDR_PULL_GET_MEM_CTX(ndr);
9902
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0);
9903
NDR_CHECK(ndr_pull_array_size(ndr, &r->manufacturer_url));
9904
NDR_CHECK(ndr_pull_array_length(ndr, &r->manufacturer_url));
9905
if (ndr_get_array_length(ndr, &r->manufacturer_url) > ndr_get_array_size(ndr, &r->manufacturer_url)) {
9906
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));
9908
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->manufacturer_url), sizeof(uint16_t)));
9909
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->manufacturer_url, ndr_get_array_length(ndr, &r->manufacturer_url), sizeof(uint16_t), CH_UTF16));
9910
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0);
9912
if (r->hardware_id) {
9913
_mem_save_hardware_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9914
NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0);
9915
NDR_CHECK(ndr_pull_array_size(ndr, &r->hardware_id));
9916
NDR_CHECK(ndr_pull_array_length(ndr, &r->hardware_id));
9917
if (ndr_get_array_length(ndr, &r->hardware_id) > ndr_get_array_size(ndr, &r->hardware_id)) {
9918
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));
9920
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->hardware_id), sizeof(uint16_t)));
9921
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hardware_id, ndr_get_array_length(ndr, &r->hardware_id), sizeof(uint16_t), CH_UTF16));
9922
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0);
9925
_mem_save_provider_0 = NDR_PULL_GET_MEM_CTX(ndr);
9926
NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0);
9927
NDR_CHECK(ndr_pull_array_size(ndr, &r->provider));
9928
NDR_CHECK(ndr_pull_array_length(ndr, &r->provider));
9929
if (ndr_get_array_length(ndr, &r->provider) > ndr_get_array_size(ndr, &r->provider)) {
9930
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));
9932
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->provider), sizeof(uint16_t)));
9933
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->provider, ndr_get_array_length(ndr, &r->provider), sizeof(uint16_t), CH_UTF16));
9934
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0);
9936
if (r->print_processor) {
9937
_mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr);
9938
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
9939
NDR_CHECK(ndr_pull_array_size(ndr, &r->print_processor));
9940
NDR_CHECK(ndr_pull_array_length(ndr, &r->print_processor));
9941
if (ndr_get_array_length(ndr, &r->print_processor) > ndr_get_array_size(ndr, &r->print_processor)) {
9942
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));
9944
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t)));
9945
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->print_processor, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t), CH_UTF16));
9946
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
9948
if (r->vendor_setup) {
9949
_mem_save_vendor_setup_0 = NDR_PULL_GET_MEM_CTX(ndr);
9950
NDR_PULL_SET_MEM_CTX(ndr, r->vendor_setup, 0);
9951
NDR_CHECK(ndr_pull_array_size(ndr, &r->vendor_setup));
9952
NDR_CHECK(ndr_pull_array_length(ndr, &r->vendor_setup));
9953
if (ndr_get_array_length(ndr, &r->vendor_setup) > ndr_get_array_size(ndr, &r->vendor_setup)) {
9954
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));
9956
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->vendor_setup), sizeof(uint16_t)));
9957
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->vendor_setup, ndr_get_array_length(ndr, &r->vendor_setup), sizeof(uint16_t), CH_UTF16));
9958
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_vendor_setup_0, 0);
9960
if (r->color_profiles) {
9961
_mem_save_color_profiles_0 = NDR_PULL_GET_MEM_CTX(ndr);
9962
NDR_PULL_SET_MEM_CTX(ndr, r->color_profiles, 0);
9963
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->color_profiles));
9964
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_color_profiles_0, 0);
9967
_mem_save_inf_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
9968
NDR_PULL_SET_MEM_CTX(ndr, r->inf_path, 0);
9969
NDR_CHECK(ndr_pull_array_size(ndr, &r->inf_path));
9970
NDR_CHECK(ndr_pull_array_length(ndr, &r->inf_path));
9971
if (ndr_get_array_length(ndr, &r->inf_path) > ndr_get_array_size(ndr, &r->inf_path)) {
9972
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));
9974
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->inf_path), sizeof(uint16_t)));
9975
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->inf_path, ndr_get_array_length(ndr, &r->inf_path), sizeof(uint16_t), CH_UTF16));
9976
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_inf_path_0, 0);
9978
if (r->core_driver_dependencies) {
9979
_mem_save_core_driver_dependencies_0 = NDR_PULL_GET_MEM_CTX(ndr);
9980
NDR_PULL_SET_MEM_CTX(ndr, r->core_driver_dependencies, 0);
9981
NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->core_driver_dependencies));
9982
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_core_driver_dependencies_0, 0);
9985
return NDR_ERR_SUCCESS;
9988
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo8(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo8 *r)
9990
ndr_print_struct(ndr, name, "spoolss_AddDriverInfo8");
9992
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
9993
ndr_print_ptr(ndr, "driver_name", r->driver_name);
9995
if (r->driver_name) {
9996
ndr_print_string(ndr, "driver_name", r->driver_name);
9999
ndr_print_ptr(ndr, "architecture", r->architecture);
10001
if (r->architecture) {
10002
ndr_print_string(ndr, "architecture", r->architecture);
10005
ndr_print_ptr(ndr, "driver_path", r->driver_path);
10007
if (r->driver_path) {
10008
ndr_print_string(ndr, "driver_path", r->driver_path);
10011
ndr_print_ptr(ndr, "data_file", r->data_file);
10013
if (r->data_file) {
10014
ndr_print_string(ndr, "data_file", r->data_file);
10017
ndr_print_ptr(ndr, "config_file", r->config_file);
10019
if (r->config_file) {
10020
ndr_print_string(ndr, "config_file", r->config_file);
10023
ndr_print_ptr(ndr, "help_file", r->help_file);
10025
if (r->help_file) {
10026
ndr_print_string(ndr, "help_file", r->help_file);
10029
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
10031
if (r->monitor_name) {
10032
ndr_print_string(ndr, "monitor_name", r->monitor_name);
10035
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
10037
if (r->default_datatype) {
10038
ndr_print_string(ndr, "default_datatype", r->default_datatype);
10041
ndr_print_uint32(ndr, "_ndr_size_dependent_files", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_dependent_files);
10042
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
10044
if (r->dependent_files) {
10045
ndr_print_spoolss_StringArray(ndr, "dependent_files", r->dependent_files);
10048
ndr_print_uint32(ndr, "_ndr_size_previous_names", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_previous_names);
10049
ndr_print_ptr(ndr, "previous_names", r->previous_names);
10051
if (r->previous_names) {
10052
ndr_print_spoolss_StringArray(ndr, "previous_names", r->previous_names);
10055
ndr_print_NTTIME(ndr, "driver_date", r->driver_date);
10056
ndr_print_hyper(ndr, "driver_version", r->driver_version);
10057
ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name);
10059
if (r->manufacturer_name) {
10060
ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name);
10063
ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url);
10065
if (r->manufacturer_url) {
10066
ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url);
10069
ndr_print_ptr(ndr, "hardware_id", r->hardware_id);
10071
if (r->hardware_id) {
10072
ndr_print_string(ndr, "hardware_id", r->hardware_id);
10075
ndr_print_ptr(ndr, "provider", r->provider);
10078
ndr_print_string(ndr, "provider", r->provider);
10081
ndr_print_ptr(ndr, "print_processor", r->print_processor);
10083
if (r->print_processor) {
10084
ndr_print_string(ndr, "print_processor", r->print_processor);
10087
ndr_print_ptr(ndr, "vendor_setup", r->vendor_setup);
10089
if (r->vendor_setup) {
10090
ndr_print_string(ndr, "vendor_setup", r->vendor_setup);
10093
ndr_print_uint32(ndr, "_ndr_size_color_profiles", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->color_profiles, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_color_profiles);
10094
ndr_print_ptr(ndr, "color_profiles", r->color_profiles);
10096
if (r->color_profiles) {
10097
ndr_print_spoolss_StringArray(ndr, "color_profiles", r->color_profiles);
10100
ndr_print_ptr(ndr, "inf_path", r->inf_path);
10103
ndr_print_string(ndr, "inf_path", r->inf_path);
10106
ndr_print_uint32(ndr, "printer_driver_attributes", r->printer_driver_attributes);
10107
ndr_print_uint32(ndr, "_ndr_size_core_driver_dependencies", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->core_driver_dependencies, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_core_driver_dependencies);
10108
ndr_print_ptr(ndr, "core_driver_dependencies", r->core_driver_dependencies);
10110
if (r->core_driver_dependencies) {
10111
ndr_print_spoolss_StringArray(ndr, "core_driver_dependencies", r->core_driver_dependencies);
10114
ndr_print_NTTIME(ndr, "min_inbox_driver_ver_date", r->min_inbox_driver_ver_date);
10115
ndr_print_hyper(ndr, "min_inbox_driver_ver_version", r->min_inbox_driver_ver_version);
10119
static enum ndr_err_code ndr_push_spoolss_AddDriverInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_AddDriverInfo *r)
10121
if (ndr_flags & NDR_SCALARS) {
10122
int level = ndr_push_get_switch_value(ndr, r);
10123
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
10124
NDR_CHECK(ndr_push_union_align(ndr, 5));
10127
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
10131
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
10135
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
10139
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
10143
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info6));
10147
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info8));
10151
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10154
if (ndr_flags & NDR_BUFFERS) {
10155
int level = ndr_push_get_switch_value(ndr, r);
10159
NDR_CHECK(ndr_push_spoolss_AddDriverInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
10165
NDR_CHECK(ndr_push_spoolss_AddDriverInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
10171
NDR_CHECK(ndr_push_spoolss_AddDriverInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3));
10177
NDR_CHECK(ndr_push_spoolss_AddDriverInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
10183
NDR_CHECK(ndr_push_spoolss_AddDriverInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->info6));
10189
NDR_CHECK(ndr_push_spoolss_AddDriverInfo8(ndr, NDR_SCALARS|NDR_BUFFERS, r->info8));
10194
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10197
return NDR_ERR_SUCCESS;
10200
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_AddDriverInfo *r)
10204
TALLOC_CTX *_mem_save_info1_0;
10205
TALLOC_CTX *_mem_save_info2_0;
10206
TALLOC_CTX *_mem_save_info3_0;
10207
TALLOC_CTX *_mem_save_info4_0;
10208
TALLOC_CTX *_mem_save_info6_0;
10209
TALLOC_CTX *_mem_save_info8_0;
10210
level = ndr_pull_get_switch_value(ndr, r);
10211
if (ndr_flags & NDR_SCALARS) {
10212
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
10213
if (_level != level) {
10214
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
10216
NDR_CHECK(ndr_pull_union_align(ndr, 5));
10219
uint32_t _ptr_info1;
10220
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
10222
NDR_PULL_ALLOC(ndr, r->info1);
10229
uint32_t _ptr_info2;
10230
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
10232
NDR_PULL_ALLOC(ndr, r->info2);
10239
uint32_t _ptr_info3;
10240
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
10242
NDR_PULL_ALLOC(ndr, r->info3);
10249
uint32_t _ptr_info4;
10250
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
10252
NDR_PULL_ALLOC(ndr, r->info4);
10259
uint32_t _ptr_info6;
10260
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info6));
10262
NDR_PULL_ALLOC(ndr, r->info6);
10269
uint32_t _ptr_info8;
10270
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info8));
10272
NDR_PULL_ALLOC(ndr, r->info8);
10279
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10282
if (ndr_flags & NDR_BUFFERS) {
10286
_mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
10287
NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
10288
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
10289
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
10295
_mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
10296
NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
10297
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
10298
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
10304
_mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
10305
NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
10306
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3));
10307
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
10313
_mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr);
10314
NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0);
10315
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
10316
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0);
10322
_mem_save_info6_0 = NDR_PULL_GET_MEM_CTX(ndr);
10323
NDR_PULL_SET_MEM_CTX(ndr, r->info6, 0);
10324
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->info6));
10325
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info6_0, 0);
10331
_mem_save_info8_0 = NDR_PULL_GET_MEM_CTX(ndr);
10332
NDR_PULL_SET_MEM_CTX(ndr, r->info8, 0);
10333
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo8(ndr, NDR_SCALARS|NDR_BUFFERS, r->info8));
10334
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info8_0, 0);
10339
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10342
return NDR_ERR_SUCCESS;
10345
_PUBLIC_ void ndr_print_spoolss_AddDriverInfo(struct ndr_print *ndr, const char *name, const union spoolss_AddDriverInfo *r)
10348
level = ndr_print_get_switch_value(ndr, r);
10349
ndr_print_union(ndr, name, level, "spoolss_AddDriverInfo");
10352
ndr_print_ptr(ndr, "info1", r->info1);
10355
ndr_print_spoolss_AddDriverInfo1(ndr, "info1", r->info1);
10361
ndr_print_ptr(ndr, "info2", r->info2);
10364
ndr_print_spoolss_AddDriverInfo2(ndr, "info2", r->info2);
10370
ndr_print_ptr(ndr, "info3", r->info3);
10373
ndr_print_spoolss_AddDriverInfo3(ndr, "info3", r->info3);
10379
ndr_print_ptr(ndr, "info4", r->info4);
10382
ndr_print_spoolss_AddDriverInfo4(ndr, "info4", r->info4);
10388
ndr_print_ptr(ndr, "info6", r->info6);
10391
ndr_print_spoolss_AddDriverInfo6(ndr, "info6", r->info6);
10397
ndr_print_ptr(ndr, "info8", r->info8);
10400
ndr_print_spoolss_AddDriverInfo8(ndr, "info8", r->info8);
10406
ndr_print_bad_level(ndr, name, level);
10410
static enum ndr_err_code ndr_push_spoolss_AddDriverInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfoCtr *r)
10412
if (ndr_flags & NDR_SCALARS) {
10413
NDR_CHECK(ndr_push_align(ndr, 5));
10414
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
10415
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level));
10416
NDR_CHECK(ndr_push_spoolss_AddDriverInfo(ndr, NDR_SCALARS, &r->info));
10417
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10419
if (ndr_flags & NDR_BUFFERS) {
10420
NDR_CHECK(ndr_push_spoolss_AddDriverInfo(ndr, NDR_BUFFERS, &r->info));
10422
return NDR_ERR_SUCCESS;
10425
static enum ndr_err_code ndr_pull_spoolss_AddDriverInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfoCtr *r)
10427
if (ndr_flags & NDR_SCALARS) {
10428
NDR_CHECK(ndr_pull_align(ndr, 5));
10429
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
10430
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level));
10431
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo(ndr, NDR_SCALARS, &r->info));
10432
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10434
if (ndr_flags & NDR_BUFFERS) {
10435
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo(ndr, NDR_BUFFERS, &r->info));
10437
return NDR_ERR_SUCCESS;
10440
_PUBLIC_ void ndr_print_spoolss_AddDriverInfoCtr(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfoCtr *r)
10442
ndr_print_struct(ndr, name, "spoolss_AddDriverInfoCtr");
10444
ndr_print_uint32(ndr, "level", r->level);
10445
ndr_print_set_switch_value(ndr, &r->info, r->level);
10446
ndr_print_spoolss_AddDriverInfo(ndr, "info", &r->info);
10450
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo1 *r)
10452
if (ndr_flags & NDR_SCALARS) {
10453
NDR_CHECK(ndr_push_align(ndr, 5));
10455
uint32_t _flags_save_string = ndr->flags;
10456
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10457
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
10458
ndr->flags = _flags_save_string;
10460
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10462
if (ndr_flags & NDR_BUFFERS) {
10464
uint32_t _flags_save_string = ndr->flags;
10465
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10466
if (r->driver_name) {
10467
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
10468
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
10469
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
10471
ndr->flags = _flags_save_string;
10474
return NDR_ERR_SUCCESS;
10477
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo1 *r)
10479
uint32_t _ptr_driver_name;
10480
TALLOC_CTX *_mem_save_driver_name_0;
10481
if (ndr_flags & NDR_SCALARS) {
10482
NDR_CHECK(ndr_pull_align(ndr, 5));
10484
uint32_t _flags_save_string = ndr->flags;
10485
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10486
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
10487
if (_ptr_driver_name) {
10488
NDR_PULL_ALLOC(ndr, r->driver_name);
10489
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
10491
r->driver_name = NULL;
10493
ndr->flags = _flags_save_string;
10495
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10497
if (ndr_flags & NDR_BUFFERS) {
10499
uint32_t _flags_save_string = ndr->flags;
10500
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10501
if (r->driver_name) {
10502
uint32_t _relative_save_offset;
10503
_relative_save_offset = ndr->offset;
10504
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
10505
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10506
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
10507
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
10508
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
10509
ndr->offset = _relative_save_offset;
10511
ndr->flags = _flags_save_string;
10514
return NDR_ERR_SUCCESS;
10517
_PUBLIC_ void ndr_print_spoolss_DriverInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo1 *r)
10519
ndr_print_struct(ndr, name, "spoolss_DriverInfo1");
10521
ndr_print_ptr(ndr, "driver_name", r->driver_name);
10523
if (r->driver_name) {
10524
ndr_print_string(ndr, "driver_name", r->driver_name);
10530
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo1(const struct spoolss_DriverInfo1 *r, struct smb_iconv_convenience *ic, int flags)
10532
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo1, ic);
10535
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo2 *r)
10537
if (ndr_flags & NDR_SCALARS) {
10538
NDR_CHECK(ndr_push_align(ndr, 5));
10539
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
10541
uint32_t _flags_save_string = ndr->flags;
10542
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10543
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
10544
ndr->flags = _flags_save_string;
10547
uint32_t _flags_save_string = ndr->flags;
10548
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10549
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
10550
ndr->flags = _flags_save_string;
10553
uint32_t _flags_save_string = ndr->flags;
10554
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10555
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
10556
ndr->flags = _flags_save_string;
10559
uint32_t _flags_save_string = ndr->flags;
10560
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10561
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
10562
ndr->flags = _flags_save_string;
10565
uint32_t _flags_save_string = ndr->flags;
10566
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10567
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
10568
ndr->flags = _flags_save_string;
10570
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10572
if (ndr_flags & NDR_BUFFERS) {
10574
uint32_t _flags_save_string = ndr->flags;
10575
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10576
if (r->driver_name) {
10577
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
10578
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
10579
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
10581
ndr->flags = _flags_save_string;
10584
uint32_t _flags_save_string = ndr->flags;
10585
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10586
if (r->architecture) {
10587
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
10588
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
10589
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
10591
ndr->flags = _flags_save_string;
10594
uint32_t _flags_save_string = ndr->flags;
10595
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10596
if (r->driver_path) {
10597
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
10598
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
10599
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
10601
ndr->flags = _flags_save_string;
10604
uint32_t _flags_save_string = ndr->flags;
10605
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10606
if (r->data_file) {
10607
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
10608
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
10609
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
10611
ndr->flags = _flags_save_string;
10614
uint32_t _flags_save_string = ndr->flags;
10615
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10616
if (r->config_file) {
10617
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
10618
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
10619
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
10621
ndr->flags = _flags_save_string;
10624
return NDR_ERR_SUCCESS;
10627
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo2 *r)
10629
uint32_t _ptr_driver_name;
10630
TALLOC_CTX *_mem_save_driver_name_0;
10631
uint32_t _ptr_architecture;
10632
TALLOC_CTX *_mem_save_architecture_0;
10633
uint32_t _ptr_driver_path;
10634
TALLOC_CTX *_mem_save_driver_path_0;
10635
uint32_t _ptr_data_file;
10636
TALLOC_CTX *_mem_save_data_file_0;
10637
uint32_t _ptr_config_file;
10638
TALLOC_CTX *_mem_save_config_file_0;
10639
if (ndr_flags & NDR_SCALARS) {
10640
NDR_CHECK(ndr_pull_align(ndr, 5));
10641
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
10643
uint32_t _flags_save_string = ndr->flags;
10644
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10645
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
10646
if (_ptr_driver_name) {
10647
NDR_PULL_ALLOC(ndr, r->driver_name);
10648
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
10650
r->driver_name = NULL;
10652
ndr->flags = _flags_save_string;
10655
uint32_t _flags_save_string = ndr->flags;
10656
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10657
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
10658
if (_ptr_architecture) {
10659
NDR_PULL_ALLOC(ndr, r->architecture);
10660
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
10662
r->architecture = NULL;
10664
ndr->flags = _flags_save_string;
10667
uint32_t _flags_save_string = ndr->flags;
10668
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10669
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
10670
if (_ptr_driver_path) {
10671
NDR_PULL_ALLOC(ndr, r->driver_path);
10672
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
10674
r->driver_path = NULL;
10676
ndr->flags = _flags_save_string;
10679
uint32_t _flags_save_string = ndr->flags;
10680
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10681
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
10682
if (_ptr_data_file) {
10683
NDR_PULL_ALLOC(ndr, r->data_file);
10684
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
10686
r->data_file = NULL;
10688
ndr->flags = _flags_save_string;
10691
uint32_t _flags_save_string = ndr->flags;
10692
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10693
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
10694
if (_ptr_config_file) {
10695
NDR_PULL_ALLOC(ndr, r->config_file);
10696
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
10698
r->config_file = NULL;
10700
ndr->flags = _flags_save_string;
10702
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10704
if (ndr_flags & NDR_BUFFERS) {
10706
uint32_t _flags_save_string = ndr->flags;
10707
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10708
if (r->driver_name) {
10709
uint32_t _relative_save_offset;
10710
_relative_save_offset = ndr->offset;
10711
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
10712
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10713
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
10714
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
10715
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
10716
ndr->offset = _relative_save_offset;
10718
ndr->flags = _flags_save_string;
10721
uint32_t _flags_save_string = ndr->flags;
10722
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10723
if (r->architecture) {
10724
uint32_t _relative_save_offset;
10725
_relative_save_offset = ndr->offset;
10726
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
10727
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
10728
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
10729
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
10730
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
10731
ndr->offset = _relative_save_offset;
10733
ndr->flags = _flags_save_string;
10736
uint32_t _flags_save_string = ndr->flags;
10737
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10738
if (r->driver_path) {
10739
uint32_t _relative_save_offset;
10740
_relative_save_offset = ndr->offset;
10741
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
10742
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
10743
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
10744
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
10745
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
10746
ndr->offset = _relative_save_offset;
10748
ndr->flags = _flags_save_string;
10751
uint32_t _flags_save_string = ndr->flags;
10752
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10753
if (r->data_file) {
10754
uint32_t _relative_save_offset;
10755
_relative_save_offset = ndr->offset;
10756
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
10757
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
10758
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
10759
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
10760
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
10761
ndr->offset = _relative_save_offset;
10763
ndr->flags = _flags_save_string;
10766
uint32_t _flags_save_string = ndr->flags;
10767
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10768
if (r->config_file) {
10769
uint32_t _relative_save_offset;
10770
_relative_save_offset = ndr->offset;
10771
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
10772
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
10773
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
10774
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
10775
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
10776
ndr->offset = _relative_save_offset;
10778
ndr->flags = _flags_save_string;
10781
return NDR_ERR_SUCCESS;
10784
_PUBLIC_ void ndr_print_spoolss_DriverInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo2 *r)
10786
ndr_print_struct(ndr, name, "spoolss_DriverInfo2");
10788
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
10789
ndr_print_ptr(ndr, "driver_name", r->driver_name);
10791
if (r->driver_name) {
10792
ndr_print_string(ndr, "driver_name", r->driver_name);
10795
ndr_print_ptr(ndr, "architecture", r->architecture);
10797
if (r->architecture) {
10798
ndr_print_string(ndr, "architecture", r->architecture);
10801
ndr_print_ptr(ndr, "driver_path", r->driver_path);
10803
if (r->driver_path) {
10804
ndr_print_string(ndr, "driver_path", r->driver_path);
10807
ndr_print_ptr(ndr, "data_file", r->data_file);
10809
if (r->data_file) {
10810
ndr_print_string(ndr, "data_file", r->data_file);
10813
ndr_print_ptr(ndr, "config_file", r->config_file);
10815
if (r->config_file) {
10816
ndr_print_string(ndr, "config_file", r->config_file);
10822
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo2(const struct spoolss_DriverInfo2 *r, struct smb_iconv_convenience *ic, int flags)
10824
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo2, ic);
10827
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo3 *r)
10829
if (ndr_flags & NDR_SCALARS) {
10830
NDR_CHECK(ndr_push_align(ndr, 5));
10831
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
10833
uint32_t _flags_save_string = ndr->flags;
10834
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10835
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
10836
ndr->flags = _flags_save_string;
10839
uint32_t _flags_save_string = ndr->flags;
10840
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10841
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
10842
ndr->flags = _flags_save_string;
10845
uint32_t _flags_save_string = ndr->flags;
10846
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10847
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
10848
ndr->flags = _flags_save_string;
10851
uint32_t _flags_save_string = ndr->flags;
10852
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10853
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
10854
ndr->flags = _flags_save_string;
10857
uint32_t _flags_save_string = ndr->flags;
10858
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10859
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
10860
ndr->flags = _flags_save_string;
10863
uint32_t _flags_save_string = ndr->flags;
10864
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10865
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
10866
ndr->flags = _flags_save_string;
10869
uint32_t _flags_save_string_array = ndr->flags;
10870
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10871
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
10872
ndr->flags = _flags_save_string_array;
10875
uint32_t _flags_save_string = ndr->flags;
10876
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10877
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
10878
ndr->flags = _flags_save_string;
10881
uint32_t _flags_save_string = ndr->flags;
10882
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10883
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
10884
ndr->flags = _flags_save_string;
10886
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10888
if (ndr_flags & NDR_BUFFERS) {
10890
uint32_t _flags_save_string = ndr->flags;
10891
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10892
if (r->driver_name) {
10893
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
10894
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
10895
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
10897
ndr->flags = _flags_save_string;
10900
uint32_t _flags_save_string = ndr->flags;
10901
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10902
if (r->architecture) {
10903
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
10904
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
10905
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
10907
ndr->flags = _flags_save_string;
10910
uint32_t _flags_save_string = ndr->flags;
10911
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10912
if (r->driver_path) {
10913
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
10914
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
10915
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
10917
ndr->flags = _flags_save_string;
10920
uint32_t _flags_save_string = ndr->flags;
10921
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10922
if (r->data_file) {
10923
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
10924
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
10925
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
10927
ndr->flags = _flags_save_string;
10930
uint32_t _flags_save_string = ndr->flags;
10931
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10932
if (r->config_file) {
10933
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
10934
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
10935
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
10937
ndr->flags = _flags_save_string;
10940
uint32_t _flags_save_string = ndr->flags;
10941
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10942
if (r->help_file) {
10943
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
10944
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
10945
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file));
10947
ndr->flags = _flags_save_string;
10950
uint32_t _flags_save_string_array = ndr->flags;
10951
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10952
if (r->dependent_files) {
10953
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
10954
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
10955
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files));
10957
ndr->flags = _flags_save_string_array;
10960
uint32_t _flags_save_string = ndr->flags;
10961
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10962
if (r->monitor_name) {
10963
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
10964
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
10965
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
10967
ndr->flags = _flags_save_string;
10970
uint32_t _flags_save_string = ndr->flags;
10971
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10972
if (r->default_datatype) {
10973
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
10974
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
10975
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype));
10977
ndr->flags = _flags_save_string;
10980
return NDR_ERR_SUCCESS;
10983
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo3 *r)
10985
uint32_t _ptr_driver_name;
10986
TALLOC_CTX *_mem_save_driver_name_0;
10987
uint32_t _ptr_architecture;
10988
TALLOC_CTX *_mem_save_architecture_0;
10989
uint32_t _ptr_driver_path;
10990
TALLOC_CTX *_mem_save_driver_path_0;
10991
uint32_t _ptr_data_file;
10992
TALLOC_CTX *_mem_save_data_file_0;
10993
uint32_t _ptr_config_file;
10994
TALLOC_CTX *_mem_save_config_file_0;
10995
uint32_t _ptr_help_file;
10996
TALLOC_CTX *_mem_save_help_file_0;
10997
uint32_t _ptr_dependent_files;
10998
TALLOC_CTX *_mem_save_dependent_files_0;
10999
uint32_t _ptr_monitor_name;
11000
TALLOC_CTX *_mem_save_monitor_name_0;
11001
uint32_t _ptr_default_datatype;
11002
TALLOC_CTX *_mem_save_default_datatype_0;
11003
if (ndr_flags & NDR_SCALARS) {
11004
NDR_CHECK(ndr_pull_align(ndr, 5));
11005
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
11007
uint32_t _flags_save_string = ndr->flags;
11008
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11009
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
11010
if (_ptr_driver_name) {
11011
NDR_PULL_ALLOC(ndr, r->driver_name);
11012
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
11014
r->driver_name = NULL;
11016
ndr->flags = _flags_save_string;
11019
uint32_t _flags_save_string = ndr->flags;
11020
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11021
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
11022
if (_ptr_architecture) {
11023
NDR_PULL_ALLOC(ndr, r->architecture);
11024
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
11026
r->architecture = NULL;
11028
ndr->flags = _flags_save_string;
11031
uint32_t _flags_save_string = ndr->flags;
11032
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11033
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
11034
if (_ptr_driver_path) {
11035
NDR_PULL_ALLOC(ndr, r->driver_path);
11036
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
11038
r->driver_path = NULL;
11040
ndr->flags = _flags_save_string;
11043
uint32_t _flags_save_string = ndr->flags;
11044
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11045
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
11046
if (_ptr_data_file) {
11047
NDR_PULL_ALLOC(ndr, r->data_file);
11048
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
11050
r->data_file = NULL;
11052
ndr->flags = _flags_save_string;
11055
uint32_t _flags_save_string = ndr->flags;
11056
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11057
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
11058
if (_ptr_config_file) {
11059
NDR_PULL_ALLOC(ndr, r->config_file);
11060
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
11062
r->config_file = NULL;
11064
ndr->flags = _flags_save_string;
11067
uint32_t _flags_save_string = ndr->flags;
11068
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11069
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
11070
if (_ptr_help_file) {
11071
NDR_PULL_ALLOC(ndr, r->help_file);
11072
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file));
11074
r->help_file = NULL;
11076
ndr->flags = _flags_save_string;
11079
uint32_t _flags_save_string_array = ndr->flags;
11080
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11081
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
11082
if (_ptr_dependent_files) {
11083
NDR_PULL_ALLOC(ndr, r->dependent_files);
11084
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
11086
r->dependent_files = NULL;
11088
ndr->flags = _flags_save_string_array;
11091
uint32_t _flags_save_string = ndr->flags;
11092
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11093
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
11094
if (_ptr_monitor_name) {
11095
NDR_PULL_ALLOC(ndr, r->monitor_name);
11096
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
11098
r->monitor_name = NULL;
11100
ndr->flags = _flags_save_string;
11103
uint32_t _flags_save_string = ndr->flags;
11104
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11105
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
11106
if (_ptr_default_datatype) {
11107
NDR_PULL_ALLOC(ndr, r->default_datatype);
11108
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype));
11110
r->default_datatype = NULL;
11112
ndr->flags = _flags_save_string;
11114
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11116
if (ndr_flags & NDR_BUFFERS) {
11118
uint32_t _flags_save_string = ndr->flags;
11119
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11120
if (r->driver_name) {
11121
uint32_t _relative_save_offset;
11122
_relative_save_offset = ndr->offset;
11123
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
11124
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11125
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
11126
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
11127
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
11128
ndr->offset = _relative_save_offset;
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->architecture) {
11136
uint32_t _relative_save_offset;
11137
_relative_save_offset = ndr->offset;
11138
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
11139
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
11140
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
11141
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
11142
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
11143
ndr->offset = _relative_save_offset;
11145
ndr->flags = _flags_save_string;
11148
uint32_t _flags_save_string = ndr->flags;
11149
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11150
if (r->driver_path) {
11151
uint32_t _relative_save_offset;
11152
_relative_save_offset = ndr->offset;
11153
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
11154
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
11155
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
11156
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
11157
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
11158
ndr->offset = _relative_save_offset;
11160
ndr->flags = _flags_save_string;
11163
uint32_t _flags_save_string = ndr->flags;
11164
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11165
if (r->data_file) {
11166
uint32_t _relative_save_offset;
11167
_relative_save_offset = ndr->offset;
11168
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
11169
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
11170
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
11171
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
11172
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
11173
ndr->offset = _relative_save_offset;
11175
ndr->flags = _flags_save_string;
11178
uint32_t _flags_save_string = ndr->flags;
11179
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11180
if (r->config_file) {
11181
uint32_t _relative_save_offset;
11182
_relative_save_offset = ndr->offset;
11183
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
11184
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
11185
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
11186
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
11187
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
11188
ndr->offset = _relative_save_offset;
11190
ndr->flags = _flags_save_string;
11193
uint32_t _flags_save_string = ndr->flags;
11194
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11195
if (r->help_file) {
11196
uint32_t _relative_save_offset;
11197
_relative_save_offset = ndr->offset;
11198
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file));
11199
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
11200
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
11201
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
11202
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
11203
ndr->offset = _relative_save_offset;
11205
ndr->flags = _flags_save_string;
11208
uint32_t _flags_save_string_array = ndr->flags;
11209
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11210
if (r->dependent_files) {
11211
uint32_t _relative_save_offset;
11212
_relative_save_offset = ndr->offset;
11213
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
11214
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
11215
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
11216
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
11217
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
11218
ndr->offset = _relative_save_offset;
11220
ndr->flags = _flags_save_string_array;
11223
uint32_t _flags_save_string = ndr->flags;
11224
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11225
if (r->monitor_name) {
11226
uint32_t _relative_save_offset;
11227
_relative_save_offset = ndr->offset;
11228
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
11229
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11230
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
11231
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
11232
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
11233
ndr->offset = _relative_save_offset;
11235
ndr->flags = _flags_save_string;
11238
uint32_t _flags_save_string = ndr->flags;
11239
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11240
if (r->default_datatype) {
11241
uint32_t _relative_save_offset;
11242
_relative_save_offset = ndr->offset;
11243
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype));
11244
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
11245
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
11246
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
11247
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
11248
ndr->offset = _relative_save_offset;
11250
ndr->flags = _flags_save_string;
11253
return NDR_ERR_SUCCESS;
11256
_PUBLIC_ void ndr_print_spoolss_DriverInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo3 *r)
11258
ndr_print_struct(ndr, name, "spoolss_DriverInfo3");
11260
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
11261
ndr_print_ptr(ndr, "driver_name", r->driver_name);
11263
if (r->driver_name) {
11264
ndr_print_string(ndr, "driver_name", r->driver_name);
11267
ndr_print_ptr(ndr, "architecture", r->architecture);
11269
if (r->architecture) {
11270
ndr_print_string(ndr, "architecture", r->architecture);
11273
ndr_print_ptr(ndr, "driver_path", r->driver_path);
11275
if (r->driver_path) {
11276
ndr_print_string(ndr, "driver_path", r->driver_path);
11279
ndr_print_ptr(ndr, "data_file", r->data_file);
11281
if (r->data_file) {
11282
ndr_print_string(ndr, "data_file", r->data_file);
11285
ndr_print_ptr(ndr, "config_file", r->config_file);
11287
if (r->config_file) {
11288
ndr_print_string(ndr, "config_file", r->config_file);
11291
ndr_print_ptr(ndr, "help_file", r->help_file);
11293
if (r->help_file) {
11294
ndr_print_string(ndr, "help_file", r->help_file);
11297
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
11299
if (r->dependent_files) {
11300
ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
11303
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
11305
if (r->monitor_name) {
11306
ndr_print_string(ndr, "monitor_name", r->monitor_name);
11309
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
11311
if (r->default_datatype) {
11312
ndr_print_string(ndr, "default_datatype", r->default_datatype);
11318
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo3(const struct spoolss_DriverInfo3 *r, struct smb_iconv_convenience *ic, int flags)
11320
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo3, ic);
11323
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo4 *r)
11325
if (ndr_flags & NDR_SCALARS) {
11326
NDR_CHECK(ndr_push_align(ndr, 5));
11327
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
11329
uint32_t _flags_save_string = ndr->flags;
11330
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11331
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
11332
ndr->flags = _flags_save_string;
11335
uint32_t _flags_save_string = ndr->flags;
11336
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11337
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
11338
ndr->flags = _flags_save_string;
11341
uint32_t _flags_save_string = ndr->flags;
11342
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11343
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
11344
ndr->flags = _flags_save_string;
11347
uint32_t _flags_save_string = ndr->flags;
11348
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11349
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
11350
ndr->flags = _flags_save_string;
11353
uint32_t _flags_save_string = ndr->flags;
11354
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11355
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
11356
ndr->flags = _flags_save_string;
11359
uint32_t _flags_save_string = ndr->flags;
11360
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11361
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
11362
ndr->flags = _flags_save_string;
11365
uint32_t _flags_save_string_array = ndr->flags;
11366
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11367
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
11368
ndr->flags = _flags_save_string_array;
11371
uint32_t _flags_save_string = ndr->flags;
11372
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11373
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
11374
ndr->flags = _flags_save_string;
11377
uint32_t _flags_save_string = ndr->flags;
11378
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11379
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
11380
ndr->flags = _flags_save_string;
11383
uint32_t _flags_save_string_array = ndr->flags;
11384
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11385
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names));
11386
ndr->flags = _flags_save_string_array;
11388
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11390
if (ndr_flags & NDR_BUFFERS) {
11392
uint32_t _flags_save_string = ndr->flags;
11393
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11394
if (r->driver_name) {
11395
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
11396
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
11397
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
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
if (r->architecture) {
11405
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
11406
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
11407
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
11409
ndr->flags = _flags_save_string;
11412
uint32_t _flags_save_string = ndr->flags;
11413
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11414
if (r->driver_path) {
11415
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
11416
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
11417
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
11419
ndr->flags = _flags_save_string;
11422
uint32_t _flags_save_string = ndr->flags;
11423
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11424
if (r->data_file) {
11425
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
11426
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
11427
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
11429
ndr->flags = _flags_save_string;
11432
uint32_t _flags_save_string = ndr->flags;
11433
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11434
if (r->config_file) {
11435
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
11436
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
11437
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
11439
ndr->flags = _flags_save_string;
11442
uint32_t _flags_save_string = ndr->flags;
11443
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11444
if (r->help_file) {
11445
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
11446
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
11447
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file));
11449
ndr->flags = _flags_save_string;
11452
uint32_t _flags_save_string_array = ndr->flags;
11453
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11454
if (r->dependent_files) {
11455
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
11456
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
11457
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files));
11459
ndr->flags = _flags_save_string_array;
11462
uint32_t _flags_save_string = ndr->flags;
11463
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11464
if (r->monitor_name) {
11465
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
11466
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
11467
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
11469
ndr->flags = _flags_save_string;
11472
uint32_t _flags_save_string = ndr->flags;
11473
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11474
if (r->default_datatype) {
11475
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
11476
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
11477
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype));
11479
ndr->flags = _flags_save_string;
11482
uint32_t _flags_save_string_array = ndr->flags;
11483
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11484
if (r->previous_names) {
11485
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names));
11486
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names));
11487
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->previous_names));
11489
ndr->flags = _flags_save_string_array;
11492
return NDR_ERR_SUCCESS;
11495
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo4 *r)
11497
uint32_t _ptr_driver_name;
11498
TALLOC_CTX *_mem_save_driver_name_0;
11499
uint32_t _ptr_architecture;
11500
TALLOC_CTX *_mem_save_architecture_0;
11501
uint32_t _ptr_driver_path;
11502
TALLOC_CTX *_mem_save_driver_path_0;
11503
uint32_t _ptr_data_file;
11504
TALLOC_CTX *_mem_save_data_file_0;
11505
uint32_t _ptr_config_file;
11506
TALLOC_CTX *_mem_save_config_file_0;
11507
uint32_t _ptr_help_file;
11508
TALLOC_CTX *_mem_save_help_file_0;
11509
uint32_t _ptr_dependent_files;
11510
TALLOC_CTX *_mem_save_dependent_files_0;
11511
uint32_t _ptr_monitor_name;
11512
TALLOC_CTX *_mem_save_monitor_name_0;
11513
uint32_t _ptr_default_datatype;
11514
TALLOC_CTX *_mem_save_default_datatype_0;
11515
uint32_t _ptr_previous_names;
11516
TALLOC_CTX *_mem_save_previous_names_0;
11517
if (ndr_flags & NDR_SCALARS) {
11518
NDR_CHECK(ndr_pull_align(ndr, 5));
11519
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
11521
uint32_t _flags_save_string = ndr->flags;
11522
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11523
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
11524
if (_ptr_driver_name) {
11525
NDR_PULL_ALLOC(ndr, r->driver_name);
11526
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
11528
r->driver_name = NULL;
11530
ndr->flags = _flags_save_string;
11533
uint32_t _flags_save_string = ndr->flags;
11534
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11535
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
11536
if (_ptr_architecture) {
11537
NDR_PULL_ALLOC(ndr, r->architecture);
11538
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
11540
r->architecture = NULL;
11542
ndr->flags = _flags_save_string;
11545
uint32_t _flags_save_string = ndr->flags;
11546
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11547
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
11548
if (_ptr_driver_path) {
11549
NDR_PULL_ALLOC(ndr, r->driver_path);
11550
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
11552
r->driver_path = NULL;
11554
ndr->flags = _flags_save_string;
11557
uint32_t _flags_save_string = ndr->flags;
11558
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11559
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
11560
if (_ptr_data_file) {
11561
NDR_PULL_ALLOC(ndr, r->data_file);
11562
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
11564
r->data_file = NULL;
11566
ndr->flags = _flags_save_string;
11569
uint32_t _flags_save_string = ndr->flags;
11570
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11571
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
11572
if (_ptr_config_file) {
11573
NDR_PULL_ALLOC(ndr, r->config_file);
11574
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
11576
r->config_file = NULL;
11578
ndr->flags = _flags_save_string;
11581
uint32_t _flags_save_string = ndr->flags;
11582
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11583
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
11584
if (_ptr_help_file) {
11585
NDR_PULL_ALLOC(ndr, r->help_file);
11586
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file));
11588
r->help_file = NULL;
11590
ndr->flags = _flags_save_string;
11593
uint32_t _flags_save_string_array = ndr->flags;
11594
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11595
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
11596
if (_ptr_dependent_files) {
11597
NDR_PULL_ALLOC(ndr, r->dependent_files);
11598
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
11600
r->dependent_files = NULL;
11602
ndr->flags = _flags_save_string_array;
11605
uint32_t _flags_save_string = ndr->flags;
11606
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11607
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
11608
if (_ptr_monitor_name) {
11609
NDR_PULL_ALLOC(ndr, r->monitor_name);
11610
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
11612
r->monitor_name = NULL;
11614
ndr->flags = _flags_save_string;
11617
uint32_t _flags_save_string = ndr->flags;
11618
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11619
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
11620
if (_ptr_default_datatype) {
11621
NDR_PULL_ALLOC(ndr, r->default_datatype);
11622
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype));
11624
r->default_datatype = NULL;
11626
ndr->flags = _flags_save_string;
11629
uint32_t _flags_save_string_array = ndr->flags;
11630
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11631
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
11632
if (_ptr_previous_names) {
11633
NDR_PULL_ALLOC(ndr, r->previous_names);
11634
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->previous_names, _ptr_previous_names));
11636
r->previous_names = NULL;
11638
ndr->flags = _flags_save_string_array;
11640
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11642
if (ndr_flags & NDR_BUFFERS) {
11644
uint32_t _flags_save_string = ndr->flags;
11645
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11646
if (r->driver_name) {
11647
uint32_t _relative_save_offset;
11648
_relative_save_offset = ndr->offset;
11649
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
11650
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11651
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
11652
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
11653
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
11654
ndr->offset = _relative_save_offset;
11656
ndr->flags = _flags_save_string;
11659
uint32_t _flags_save_string = ndr->flags;
11660
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11661
if (r->architecture) {
11662
uint32_t _relative_save_offset;
11663
_relative_save_offset = ndr->offset;
11664
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
11665
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
11666
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
11667
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
11668
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
11669
ndr->offset = _relative_save_offset;
11671
ndr->flags = _flags_save_string;
11674
uint32_t _flags_save_string = ndr->flags;
11675
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11676
if (r->driver_path) {
11677
uint32_t _relative_save_offset;
11678
_relative_save_offset = ndr->offset;
11679
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
11680
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
11681
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
11682
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
11683
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
11684
ndr->offset = _relative_save_offset;
11686
ndr->flags = _flags_save_string;
11689
uint32_t _flags_save_string = ndr->flags;
11690
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11691
if (r->data_file) {
11692
uint32_t _relative_save_offset;
11693
_relative_save_offset = ndr->offset;
11694
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
11695
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
11696
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
11697
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
11698
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
11699
ndr->offset = _relative_save_offset;
11701
ndr->flags = _flags_save_string;
11704
uint32_t _flags_save_string = ndr->flags;
11705
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11706
if (r->config_file) {
11707
uint32_t _relative_save_offset;
11708
_relative_save_offset = ndr->offset;
11709
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
11710
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
11711
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
11712
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
11713
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
11714
ndr->offset = _relative_save_offset;
11716
ndr->flags = _flags_save_string;
11719
uint32_t _flags_save_string = ndr->flags;
11720
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11721
if (r->help_file) {
11722
uint32_t _relative_save_offset;
11723
_relative_save_offset = ndr->offset;
11724
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file));
11725
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
11726
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
11727
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
11728
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
11729
ndr->offset = _relative_save_offset;
11731
ndr->flags = _flags_save_string;
11734
uint32_t _flags_save_string_array = ndr->flags;
11735
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11736
if (r->dependent_files) {
11737
uint32_t _relative_save_offset;
11738
_relative_save_offset = ndr->offset;
11739
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
11740
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
11741
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
11742
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
11743
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
11744
ndr->offset = _relative_save_offset;
11746
ndr->flags = _flags_save_string_array;
11749
uint32_t _flags_save_string = ndr->flags;
11750
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11751
if (r->monitor_name) {
11752
uint32_t _relative_save_offset;
11753
_relative_save_offset = ndr->offset;
11754
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
11755
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11756
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
11757
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
11758
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
11759
ndr->offset = _relative_save_offset;
11761
ndr->flags = _flags_save_string;
11764
uint32_t _flags_save_string = ndr->flags;
11765
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11766
if (r->default_datatype) {
11767
uint32_t _relative_save_offset;
11768
_relative_save_offset = ndr->offset;
11769
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype));
11770
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
11771
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
11772
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
11773
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
11774
ndr->offset = _relative_save_offset;
11776
ndr->flags = _flags_save_string;
11779
uint32_t _flags_save_string_array = ndr->flags;
11780
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11781
if (r->previous_names) {
11782
uint32_t _relative_save_offset;
11783
_relative_save_offset = ndr->offset;
11784
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->previous_names));
11785
_mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
11786
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
11787
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->previous_names));
11788
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
11789
ndr->offset = _relative_save_offset;
11791
ndr->flags = _flags_save_string_array;
11794
return NDR_ERR_SUCCESS;
11797
_PUBLIC_ void ndr_print_spoolss_DriverInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo4 *r)
11799
ndr_print_struct(ndr, name, "spoolss_DriverInfo4");
11801
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
11802
ndr_print_ptr(ndr, "driver_name", r->driver_name);
11804
if (r->driver_name) {
11805
ndr_print_string(ndr, "driver_name", r->driver_name);
11808
ndr_print_ptr(ndr, "architecture", r->architecture);
11810
if (r->architecture) {
11811
ndr_print_string(ndr, "architecture", r->architecture);
11814
ndr_print_ptr(ndr, "driver_path", r->driver_path);
11816
if (r->driver_path) {
11817
ndr_print_string(ndr, "driver_path", r->driver_path);
11820
ndr_print_ptr(ndr, "data_file", r->data_file);
11822
if (r->data_file) {
11823
ndr_print_string(ndr, "data_file", r->data_file);
11826
ndr_print_ptr(ndr, "config_file", r->config_file);
11828
if (r->config_file) {
11829
ndr_print_string(ndr, "config_file", r->config_file);
11832
ndr_print_ptr(ndr, "help_file", r->help_file);
11834
if (r->help_file) {
11835
ndr_print_string(ndr, "help_file", r->help_file);
11838
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
11840
if (r->dependent_files) {
11841
ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
11844
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
11846
if (r->monitor_name) {
11847
ndr_print_string(ndr, "monitor_name", r->monitor_name);
11850
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
11852
if (r->default_datatype) {
11853
ndr_print_string(ndr, "default_datatype", r->default_datatype);
11856
ndr_print_ptr(ndr, "previous_names", r->previous_names);
11858
if (r->previous_names) {
11859
ndr_print_string_array(ndr, "previous_names", r->previous_names);
11865
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo4(const struct spoolss_DriverInfo4 *r, struct smb_iconv_convenience *ic, int flags)
11867
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo4, ic);
11870
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo5(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo5 *r)
11872
if (ndr_flags & NDR_SCALARS) {
11873
NDR_CHECK(ndr_push_align(ndr, 5));
11874
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
11876
uint32_t _flags_save_string = ndr->flags;
11877
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11878
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
11879
ndr->flags = _flags_save_string;
11882
uint32_t _flags_save_string = ndr->flags;
11883
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11884
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
11885
ndr->flags = _flags_save_string;
11888
uint32_t _flags_save_string = ndr->flags;
11889
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11890
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
11891
ndr->flags = _flags_save_string;
11894
uint32_t _flags_save_string = ndr->flags;
11895
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11896
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
11897
ndr->flags = _flags_save_string;
11900
uint32_t _flags_save_string = ndr->flags;
11901
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11902
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
11903
ndr->flags = _flags_save_string;
11905
NDR_CHECK(ndr_push_spoolss_DriverAttributes(ndr, NDR_SCALARS, r->driver_attributes));
11906
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->config_version));
11907
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->driver_version));
11908
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11910
if (ndr_flags & NDR_BUFFERS) {
11912
uint32_t _flags_save_string = ndr->flags;
11913
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11914
if (r->driver_name) {
11915
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
11916
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
11917
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
11919
ndr->flags = _flags_save_string;
11922
uint32_t _flags_save_string = ndr->flags;
11923
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11924
if (r->architecture) {
11925
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
11926
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
11927
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
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
if (r->driver_path) {
11935
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
11936
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
11937
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
11939
ndr->flags = _flags_save_string;
11942
uint32_t _flags_save_string = ndr->flags;
11943
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11944
if (r->data_file) {
11945
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
11946
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
11947
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
11949
ndr->flags = _flags_save_string;
11952
uint32_t _flags_save_string = ndr->flags;
11953
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11954
if (r->config_file) {
11955
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
11956
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
11957
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
11959
ndr->flags = _flags_save_string;
11962
return NDR_ERR_SUCCESS;
11965
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo5(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo5 *r)
11967
uint32_t _ptr_driver_name;
11968
TALLOC_CTX *_mem_save_driver_name_0;
11969
uint32_t _ptr_architecture;
11970
TALLOC_CTX *_mem_save_architecture_0;
11971
uint32_t _ptr_driver_path;
11972
TALLOC_CTX *_mem_save_driver_path_0;
11973
uint32_t _ptr_data_file;
11974
TALLOC_CTX *_mem_save_data_file_0;
11975
uint32_t _ptr_config_file;
11976
TALLOC_CTX *_mem_save_config_file_0;
11977
if (ndr_flags & NDR_SCALARS) {
11978
NDR_CHECK(ndr_pull_align(ndr, 5));
11979
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
11981
uint32_t _flags_save_string = ndr->flags;
11982
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11983
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
11984
if (_ptr_driver_name) {
11985
NDR_PULL_ALLOC(ndr, r->driver_name);
11986
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
11988
r->driver_name = NULL;
11990
ndr->flags = _flags_save_string;
11993
uint32_t _flags_save_string = ndr->flags;
11994
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11995
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
11996
if (_ptr_architecture) {
11997
NDR_PULL_ALLOC(ndr, r->architecture);
11998
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
12000
r->architecture = NULL;
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
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
12008
if (_ptr_driver_path) {
12009
NDR_PULL_ALLOC(ndr, r->driver_path);
12010
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
12012
r->driver_path = NULL;
12014
ndr->flags = _flags_save_string;
12017
uint32_t _flags_save_string = ndr->flags;
12018
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12019
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
12020
if (_ptr_data_file) {
12021
NDR_PULL_ALLOC(ndr, r->data_file);
12022
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
12024
r->data_file = NULL;
12026
ndr->flags = _flags_save_string;
12029
uint32_t _flags_save_string = ndr->flags;
12030
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12031
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
12032
if (_ptr_config_file) {
12033
NDR_PULL_ALLOC(ndr, r->config_file);
12034
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
12036
r->config_file = NULL;
12038
ndr->flags = _flags_save_string;
12040
NDR_CHECK(ndr_pull_spoolss_DriverAttributes(ndr, NDR_SCALARS, &r->driver_attributes));
12041
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->config_version));
12042
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->driver_version));
12043
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12045
if (ndr_flags & NDR_BUFFERS) {
12047
uint32_t _flags_save_string = ndr->flags;
12048
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12049
if (r->driver_name) {
12050
uint32_t _relative_save_offset;
12051
_relative_save_offset = ndr->offset;
12052
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
12053
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12054
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
12055
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
12056
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
12057
ndr->offset = _relative_save_offset;
12059
ndr->flags = _flags_save_string;
12062
uint32_t _flags_save_string = ndr->flags;
12063
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12064
if (r->architecture) {
12065
uint32_t _relative_save_offset;
12066
_relative_save_offset = ndr->offset;
12067
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
12068
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
12069
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
12070
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
12071
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
12072
ndr->offset = _relative_save_offset;
12074
ndr->flags = _flags_save_string;
12077
uint32_t _flags_save_string = ndr->flags;
12078
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12079
if (r->driver_path) {
12080
uint32_t _relative_save_offset;
12081
_relative_save_offset = ndr->offset;
12082
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
12083
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
12084
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
12085
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
12086
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
12087
ndr->offset = _relative_save_offset;
12089
ndr->flags = _flags_save_string;
12092
uint32_t _flags_save_string = ndr->flags;
12093
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12094
if (r->data_file) {
12095
uint32_t _relative_save_offset;
12096
_relative_save_offset = ndr->offset;
12097
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
12098
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
12099
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
12100
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
12101
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
12102
ndr->offset = _relative_save_offset;
12104
ndr->flags = _flags_save_string;
12107
uint32_t _flags_save_string = ndr->flags;
12108
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12109
if (r->config_file) {
12110
uint32_t _relative_save_offset;
12111
_relative_save_offset = ndr->offset;
12112
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
12113
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
12114
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
12115
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
12116
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
12117
ndr->offset = _relative_save_offset;
12119
ndr->flags = _flags_save_string;
12122
return NDR_ERR_SUCCESS;
12125
_PUBLIC_ void ndr_print_spoolss_DriverInfo5(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo5 *r)
12127
ndr_print_struct(ndr, name, "spoolss_DriverInfo5");
12129
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
12130
ndr_print_ptr(ndr, "driver_name", r->driver_name);
12132
if (r->driver_name) {
12133
ndr_print_string(ndr, "driver_name", r->driver_name);
12136
ndr_print_ptr(ndr, "architecture", r->architecture);
12138
if (r->architecture) {
12139
ndr_print_string(ndr, "architecture", r->architecture);
12142
ndr_print_ptr(ndr, "driver_path", r->driver_path);
12144
if (r->driver_path) {
12145
ndr_print_string(ndr, "driver_path", r->driver_path);
12148
ndr_print_ptr(ndr, "data_file", r->data_file);
12150
if (r->data_file) {
12151
ndr_print_string(ndr, "data_file", r->data_file);
12154
ndr_print_ptr(ndr, "config_file", r->config_file);
12156
if (r->config_file) {
12157
ndr_print_string(ndr, "config_file", r->config_file);
12160
ndr_print_spoolss_DriverAttributes(ndr, "driver_attributes", r->driver_attributes);
12161
ndr_print_uint32(ndr, "config_version", r->config_version);
12162
ndr_print_uint32(ndr, "driver_version", r->driver_version);
12166
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo5(const struct spoolss_DriverInfo5 *r, struct smb_iconv_convenience *ic, int flags)
12168
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo5, ic);
12171
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo6 *r)
12173
if (ndr_flags & NDR_SCALARS) {
12174
NDR_CHECK(ndr_push_align(ndr, 8));
12175
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
12177
uint32_t _flags_save_string = ndr->flags;
12178
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12179
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
12180
ndr->flags = _flags_save_string;
12183
uint32_t _flags_save_string = ndr->flags;
12184
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12185
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
12186
ndr->flags = _flags_save_string;
12189
uint32_t _flags_save_string = ndr->flags;
12190
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12191
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
12192
ndr->flags = _flags_save_string;
12195
uint32_t _flags_save_string = ndr->flags;
12196
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12197
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
12198
ndr->flags = _flags_save_string;
12201
uint32_t _flags_save_string = ndr->flags;
12202
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12203
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
12204
ndr->flags = _flags_save_string;
12207
uint32_t _flags_save_string = ndr->flags;
12208
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12209
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
12210
ndr->flags = _flags_save_string;
12213
uint32_t _flags_save_string_array = ndr->flags;
12214
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12215
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
12216
ndr->flags = _flags_save_string_array;
12219
uint32_t _flags_save_string = ndr->flags;
12220
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12221
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
12222
ndr->flags = _flags_save_string;
12225
uint32_t _flags_save_string = ndr->flags;
12226
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12227
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
12228
ndr->flags = _flags_save_string;
12231
uint32_t _flags_save_string_array = ndr->flags;
12232
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12233
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names));
12234
ndr->flags = _flags_save_string_array;
12236
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date));
12237
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
12239
uint32_t _flags_save_string = ndr->flags;
12240
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12241
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_name));
12242
ndr->flags = _flags_save_string;
12245
uint32_t _flags_save_string = ndr->flags;
12246
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12247
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_url));
12248
ndr->flags = _flags_save_string;
12251
uint32_t _flags_save_string = ndr->flags;
12252
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12253
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->hardware_id));
12254
ndr->flags = _flags_save_string;
12257
uint32_t _flags_save_string = ndr->flags;
12258
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12259
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->provider));
12260
ndr->flags = _flags_save_string;
12262
NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12264
if (ndr_flags & NDR_BUFFERS) {
12266
uint32_t _flags_save_string = ndr->flags;
12267
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12268
if (r->driver_name) {
12269
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
12270
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
12271
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
12273
ndr->flags = _flags_save_string;
12276
uint32_t _flags_save_string = ndr->flags;
12277
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12278
if (r->architecture) {
12279
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
12280
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
12281
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
12283
ndr->flags = _flags_save_string;
12286
uint32_t _flags_save_string = ndr->flags;
12287
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12288
if (r->driver_path) {
12289
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
12290
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
12291
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
12293
ndr->flags = _flags_save_string;
12296
uint32_t _flags_save_string = ndr->flags;
12297
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12298
if (r->data_file) {
12299
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
12300
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
12301
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
12303
ndr->flags = _flags_save_string;
12306
uint32_t _flags_save_string = ndr->flags;
12307
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12308
if (r->config_file) {
12309
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
12310
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
12311
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
12313
ndr->flags = _flags_save_string;
12316
uint32_t _flags_save_string = ndr->flags;
12317
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12318
if (r->help_file) {
12319
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
12320
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
12321
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file));
12323
ndr->flags = _flags_save_string;
12326
uint32_t _flags_save_string_array = ndr->flags;
12327
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12328
if (r->dependent_files) {
12329
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
12330
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
12331
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files));
12333
ndr->flags = _flags_save_string_array;
12336
uint32_t _flags_save_string = ndr->flags;
12337
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12338
if (r->monitor_name) {
12339
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
12340
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
12341
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
12343
ndr->flags = _flags_save_string;
12346
uint32_t _flags_save_string = ndr->flags;
12347
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12348
if (r->default_datatype) {
12349
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
12350
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
12351
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype));
12353
ndr->flags = _flags_save_string;
12356
uint32_t _flags_save_string_array = ndr->flags;
12357
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12358
if (r->previous_names) {
12359
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names));
12360
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names));
12361
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->previous_names));
12363
ndr->flags = _flags_save_string_array;
12366
uint32_t _flags_save_string = ndr->flags;
12367
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12368
if (r->manufacturer_name) {
12369
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_name));
12370
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_name));
12371
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_name));
12373
ndr->flags = _flags_save_string;
12376
uint32_t _flags_save_string = ndr->flags;
12377
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12378
if (r->manufacturer_url) {
12379
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_url));
12380
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_url));
12381
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_url));
12383
ndr->flags = _flags_save_string;
12386
uint32_t _flags_save_string = ndr->flags;
12387
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12388
if (r->hardware_id) {
12389
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->hardware_id));
12390
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->hardware_id));
12391
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->hardware_id));
12393
ndr->flags = _flags_save_string;
12396
uint32_t _flags_save_string = ndr->flags;
12397
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12399
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->provider));
12400
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->provider));
12401
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->provider));
12403
ndr->flags = _flags_save_string;
12406
return NDR_ERR_SUCCESS;
12409
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo6 *r)
12411
uint32_t _ptr_driver_name;
12412
TALLOC_CTX *_mem_save_driver_name_0;
12413
uint32_t _ptr_architecture;
12414
TALLOC_CTX *_mem_save_architecture_0;
12415
uint32_t _ptr_driver_path;
12416
TALLOC_CTX *_mem_save_driver_path_0;
12417
uint32_t _ptr_data_file;
12418
TALLOC_CTX *_mem_save_data_file_0;
12419
uint32_t _ptr_config_file;
12420
TALLOC_CTX *_mem_save_config_file_0;
12421
uint32_t _ptr_help_file;
12422
TALLOC_CTX *_mem_save_help_file_0;
12423
uint32_t _ptr_dependent_files;
12424
TALLOC_CTX *_mem_save_dependent_files_0;
12425
uint32_t _ptr_monitor_name;
12426
TALLOC_CTX *_mem_save_monitor_name_0;
12427
uint32_t _ptr_default_datatype;
12428
TALLOC_CTX *_mem_save_default_datatype_0;
12429
uint32_t _ptr_previous_names;
12430
TALLOC_CTX *_mem_save_previous_names_0;
12431
uint32_t _ptr_manufacturer_name;
12432
TALLOC_CTX *_mem_save_manufacturer_name_0;
12433
uint32_t _ptr_manufacturer_url;
12434
TALLOC_CTX *_mem_save_manufacturer_url_0;
12435
uint32_t _ptr_hardware_id;
12436
TALLOC_CTX *_mem_save_hardware_id_0;
12437
uint32_t _ptr_provider;
12438
TALLOC_CTX *_mem_save_provider_0;
12439
if (ndr_flags & NDR_SCALARS) {
12440
NDR_CHECK(ndr_pull_align(ndr, 8));
12441
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
12443
uint32_t _flags_save_string = ndr->flags;
12444
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12445
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
12446
if (_ptr_driver_name) {
12447
NDR_PULL_ALLOC(ndr, r->driver_name);
12448
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
12450
r->driver_name = NULL;
12452
ndr->flags = _flags_save_string;
12455
uint32_t _flags_save_string = ndr->flags;
12456
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12457
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
12458
if (_ptr_architecture) {
12459
NDR_PULL_ALLOC(ndr, r->architecture);
12460
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
12462
r->architecture = NULL;
12464
ndr->flags = _flags_save_string;
12467
uint32_t _flags_save_string = ndr->flags;
12468
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12469
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
12470
if (_ptr_driver_path) {
12471
NDR_PULL_ALLOC(ndr, r->driver_path);
12472
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
12474
r->driver_path = NULL;
12476
ndr->flags = _flags_save_string;
12479
uint32_t _flags_save_string = ndr->flags;
12480
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12481
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
12482
if (_ptr_data_file) {
12483
NDR_PULL_ALLOC(ndr, r->data_file);
12484
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
12486
r->data_file = NULL;
12488
ndr->flags = _flags_save_string;
12491
uint32_t _flags_save_string = ndr->flags;
12492
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12493
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
12494
if (_ptr_config_file) {
12495
NDR_PULL_ALLOC(ndr, r->config_file);
12496
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
12498
r->config_file = NULL;
12500
ndr->flags = _flags_save_string;
12503
uint32_t _flags_save_string = ndr->flags;
12504
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12505
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
12506
if (_ptr_help_file) {
12507
NDR_PULL_ALLOC(ndr, r->help_file);
12508
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file));
12510
r->help_file = NULL;
12512
ndr->flags = _flags_save_string;
12515
uint32_t _flags_save_string_array = ndr->flags;
12516
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12517
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
12518
if (_ptr_dependent_files) {
12519
NDR_PULL_ALLOC(ndr, r->dependent_files);
12520
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
12522
r->dependent_files = NULL;
12524
ndr->flags = _flags_save_string_array;
12527
uint32_t _flags_save_string = ndr->flags;
12528
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12529
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
12530
if (_ptr_monitor_name) {
12531
NDR_PULL_ALLOC(ndr, r->monitor_name);
12532
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
12534
r->monitor_name = NULL;
12536
ndr->flags = _flags_save_string;
12539
uint32_t _flags_save_string = ndr->flags;
12540
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12541
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
12542
if (_ptr_default_datatype) {
12543
NDR_PULL_ALLOC(ndr, r->default_datatype);
12544
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype));
12546
r->default_datatype = NULL;
12548
ndr->flags = _flags_save_string;
12551
uint32_t _flags_save_string_array = ndr->flags;
12552
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12553
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
12554
if (_ptr_previous_names) {
12555
NDR_PULL_ALLOC(ndr, r->previous_names);
12556
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->previous_names, _ptr_previous_names));
12558
r->previous_names = NULL;
12560
ndr->flags = _flags_save_string_array;
12562
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date));
12563
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
12565
uint32_t _flags_save_string = ndr->flags;
12566
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12567
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name));
12568
if (_ptr_manufacturer_name) {
12569
NDR_PULL_ALLOC(ndr, r->manufacturer_name);
12570
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->manufacturer_name, _ptr_manufacturer_name));
12572
r->manufacturer_name = NULL;
12574
ndr->flags = _flags_save_string;
12577
uint32_t _flags_save_string = ndr->flags;
12578
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12579
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url));
12580
if (_ptr_manufacturer_url) {
12581
NDR_PULL_ALLOC(ndr, r->manufacturer_url);
12582
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->manufacturer_url, _ptr_manufacturer_url));
12584
r->manufacturer_url = NULL;
12586
ndr->flags = _flags_save_string;
12589
uint32_t _flags_save_string = ndr->flags;
12590
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12591
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id));
12592
if (_ptr_hardware_id) {
12593
NDR_PULL_ALLOC(ndr, r->hardware_id);
12594
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->hardware_id, _ptr_hardware_id));
12596
r->hardware_id = NULL;
12598
ndr->flags = _flags_save_string;
12601
uint32_t _flags_save_string = ndr->flags;
12602
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12603
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider));
12604
if (_ptr_provider) {
12605
NDR_PULL_ALLOC(ndr, r->provider);
12606
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->provider, _ptr_provider));
12608
r->provider = NULL;
12610
ndr->flags = _flags_save_string;
12612
NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12614
if (ndr_flags & NDR_BUFFERS) {
12616
uint32_t _flags_save_string = ndr->flags;
12617
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12618
if (r->driver_name) {
12619
uint32_t _relative_save_offset;
12620
_relative_save_offset = ndr->offset;
12621
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
12622
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12623
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
12624
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
12625
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
12626
ndr->offset = _relative_save_offset;
12628
ndr->flags = _flags_save_string;
12631
uint32_t _flags_save_string = ndr->flags;
12632
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12633
if (r->architecture) {
12634
uint32_t _relative_save_offset;
12635
_relative_save_offset = ndr->offset;
12636
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
12637
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
12638
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
12639
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
12640
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
12641
ndr->offset = _relative_save_offset;
12643
ndr->flags = _flags_save_string;
12646
uint32_t _flags_save_string = ndr->flags;
12647
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12648
if (r->driver_path) {
12649
uint32_t _relative_save_offset;
12650
_relative_save_offset = ndr->offset;
12651
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
12652
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
12653
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
12654
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
12655
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
12656
ndr->offset = _relative_save_offset;
12658
ndr->flags = _flags_save_string;
12661
uint32_t _flags_save_string = ndr->flags;
12662
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12663
if (r->data_file) {
12664
uint32_t _relative_save_offset;
12665
_relative_save_offset = ndr->offset;
12666
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
12667
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
12668
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
12669
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
12670
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
12671
ndr->offset = _relative_save_offset;
12673
ndr->flags = _flags_save_string;
12676
uint32_t _flags_save_string = ndr->flags;
12677
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12678
if (r->config_file) {
12679
uint32_t _relative_save_offset;
12680
_relative_save_offset = ndr->offset;
12681
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
12682
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
12683
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
12684
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
12685
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
12686
ndr->offset = _relative_save_offset;
12688
ndr->flags = _flags_save_string;
12691
uint32_t _flags_save_string = ndr->flags;
12692
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12693
if (r->help_file) {
12694
uint32_t _relative_save_offset;
12695
_relative_save_offset = ndr->offset;
12696
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file));
12697
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
12698
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
12699
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
12700
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
12701
ndr->offset = _relative_save_offset;
12703
ndr->flags = _flags_save_string;
12706
uint32_t _flags_save_string_array = ndr->flags;
12707
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12708
if (r->dependent_files) {
12709
uint32_t _relative_save_offset;
12710
_relative_save_offset = ndr->offset;
12711
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
12712
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
12713
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
12714
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
12715
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
12716
ndr->offset = _relative_save_offset;
12718
ndr->flags = _flags_save_string_array;
12721
uint32_t _flags_save_string = ndr->flags;
12722
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12723
if (r->monitor_name) {
12724
uint32_t _relative_save_offset;
12725
_relative_save_offset = ndr->offset;
12726
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
12727
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12728
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
12729
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
12730
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
12731
ndr->offset = _relative_save_offset;
12733
ndr->flags = _flags_save_string;
12736
uint32_t _flags_save_string = ndr->flags;
12737
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12738
if (r->default_datatype) {
12739
uint32_t _relative_save_offset;
12740
_relative_save_offset = ndr->offset;
12741
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype));
12742
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
12743
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
12744
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
12745
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
12746
ndr->offset = _relative_save_offset;
12748
ndr->flags = _flags_save_string;
12751
uint32_t _flags_save_string_array = ndr->flags;
12752
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12753
if (r->previous_names) {
12754
uint32_t _relative_save_offset;
12755
_relative_save_offset = ndr->offset;
12756
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->previous_names));
12757
_mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
12758
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
12759
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->previous_names));
12760
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
12761
ndr->offset = _relative_save_offset;
12763
ndr->flags = _flags_save_string_array;
12766
uint32_t _flags_save_string = ndr->flags;
12767
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12768
if (r->manufacturer_name) {
12769
uint32_t _relative_save_offset;
12770
_relative_save_offset = ndr->offset;
12771
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->manufacturer_name));
12772
_mem_save_manufacturer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12773
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0);
12774
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_name));
12775
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0);
12776
ndr->offset = _relative_save_offset;
12778
ndr->flags = _flags_save_string;
12781
uint32_t _flags_save_string = ndr->flags;
12782
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12783
if (r->manufacturer_url) {
12784
uint32_t _relative_save_offset;
12785
_relative_save_offset = ndr->offset;
12786
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->manufacturer_url));
12787
_mem_save_manufacturer_url_0 = NDR_PULL_GET_MEM_CTX(ndr);
12788
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0);
12789
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_url));
12790
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0);
12791
ndr->offset = _relative_save_offset;
12793
ndr->flags = _flags_save_string;
12796
uint32_t _flags_save_string = ndr->flags;
12797
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12798
if (r->hardware_id) {
12799
uint32_t _relative_save_offset;
12800
_relative_save_offset = ndr->offset;
12801
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->hardware_id));
12802
_mem_save_hardware_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
12803
NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0);
12804
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->hardware_id));
12805
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0);
12806
ndr->offset = _relative_save_offset;
12808
ndr->flags = _flags_save_string;
12811
uint32_t _flags_save_string = ndr->flags;
12812
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12814
uint32_t _relative_save_offset;
12815
_relative_save_offset = ndr->offset;
12816
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->provider));
12817
_mem_save_provider_0 = NDR_PULL_GET_MEM_CTX(ndr);
12818
NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0);
12819
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->provider));
12820
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0);
12821
ndr->offset = _relative_save_offset;
12823
ndr->flags = _flags_save_string;
12826
return NDR_ERR_SUCCESS;
12829
_PUBLIC_ void ndr_print_spoolss_DriverInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo6 *r)
12831
ndr_print_struct(ndr, name, "spoolss_DriverInfo6");
12833
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
12834
ndr_print_ptr(ndr, "driver_name", r->driver_name);
12836
if (r->driver_name) {
12837
ndr_print_string(ndr, "driver_name", r->driver_name);
12840
ndr_print_ptr(ndr, "architecture", r->architecture);
12842
if (r->architecture) {
12843
ndr_print_string(ndr, "architecture", r->architecture);
12846
ndr_print_ptr(ndr, "driver_path", r->driver_path);
12848
if (r->driver_path) {
12849
ndr_print_string(ndr, "driver_path", r->driver_path);
12852
ndr_print_ptr(ndr, "data_file", r->data_file);
12854
if (r->data_file) {
12855
ndr_print_string(ndr, "data_file", r->data_file);
12858
ndr_print_ptr(ndr, "config_file", r->config_file);
12860
if (r->config_file) {
12861
ndr_print_string(ndr, "config_file", r->config_file);
12864
ndr_print_ptr(ndr, "help_file", r->help_file);
12866
if (r->help_file) {
12867
ndr_print_string(ndr, "help_file", r->help_file);
12870
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
12872
if (r->dependent_files) {
12873
ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
12876
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
12878
if (r->monitor_name) {
12879
ndr_print_string(ndr, "monitor_name", r->monitor_name);
12882
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
12884
if (r->default_datatype) {
12885
ndr_print_string(ndr, "default_datatype", r->default_datatype);
12888
ndr_print_ptr(ndr, "previous_names", r->previous_names);
12890
if (r->previous_names) {
12891
ndr_print_string_array(ndr, "previous_names", r->previous_names);
12894
ndr_print_NTTIME(ndr, "driver_date", r->driver_date);
12895
ndr_print_hyper(ndr, "driver_version", r->driver_version);
12896
ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name);
12898
if (r->manufacturer_name) {
12899
ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name);
12902
ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url);
12904
if (r->manufacturer_url) {
12905
ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url);
12908
ndr_print_ptr(ndr, "hardware_id", r->hardware_id);
12910
if (r->hardware_id) {
12911
ndr_print_string(ndr, "hardware_id", r->hardware_id);
12914
ndr_print_ptr(ndr, "provider", r->provider);
12917
ndr_print_string(ndr, "provider", r->provider);
12923
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo6(const struct spoolss_DriverInfo6 *r, struct smb_iconv_convenience *ic, int flags)
12925
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo6, ic);
12928
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo7(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo7 *r)
12930
if (ndr_flags & NDR_SCALARS) {
12931
NDR_CHECK(ndr_push_align(ndr, 5));
12932
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
12933
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
12935
uint32_t _flags_save_string = ndr->flags;
12936
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12937
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
12938
ndr->flags = _flags_save_string;
12941
uint32_t _flags_save_string = ndr->flags;
12942
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12943
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->inf_name));
12944
ndr->flags = _flags_save_string;
12947
uint32_t _flags_save_string = ndr->flags;
12948
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12949
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->install_source_root));
12950
ndr->flags = _flags_save_string;
12952
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12954
if (ndr_flags & NDR_BUFFERS) {
12956
uint32_t _flags_save_string = ndr->flags;
12957
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12958
if (r->driver_name) {
12959
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
12960
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
12961
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_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);
12969
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->inf_name));
12970
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->inf_name));
12971
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->inf_name));
12973
ndr->flags = _flags_save_string;
12976
uint32_t _flags_save_string = ndr->flags;
12977
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12978
if (r->install_source_root) {
12979
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->install_source_root));
12980
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->install_source_root));
12981
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->install_source_root));
12983
ndr->flags = _flags_save_string;
12986
return NDR_ERR_SUCCESS;
12989
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo7(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo7 *r)
12991
uint32_t _ptr_driver_name;
12992
TALLOC_CTX *_mem_save_driver_name_0;
12993
uint32_t _ptr_inf_name;
12994
TALLOC_CTX *_mem_save_inf_name_0;
12995
uint32_t _ptr_install_source_root;
12996
TALLOC_CTX *_mem_save_install_source_root_0;
12997
if (ndr_flags & NDR_SCALARS) {
12998
NDR_CHECK(ndr_pull_align(ndr, 5));
12999
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
13000
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
13002
uint32_t _flags_save_string = ndr->flags;
13003
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13004
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
13005
if (_ptr_driver_name) {
13006
NDR_PULL_ALLOC(ndr, r->driver_name);
13007
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
13009
r->driver_name = NULL;
13011
ndr->flags = _flags_save_string;
13014
uint32_t _flags_save_string = ndr->flags;
13015
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13016
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_inf_name));
13017
if (_ptr_inf_name) {
13018
NDR_PULL_ALLOC(ndr, r->inf_name);
13019
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->inf_name, _ptr_inf_name));
13021
r->inf_name = NULL;
13023
ndr->flags = _flags_save_string;
13026
uint32_t _flags_save_string = ndr->flags;
13027
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13028
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_install_source_root));
13029
if (_ptr_install_source_root) {
13030
NDR_PULL_ALLOC(ndr, r->install_source_root);
13031
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->install_source_root, _ptr_install_source_root));
13033
r->install_source_root = NULL;
13035
ndr->flags = _flags_save_string;
13037
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13039
if (ndr_flags & NDR_BUFFERS) {
13041
uint32_t _flags_save_string = ndr->flags;
13042
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13043
if (r->driver_name) {
13044
uint32_t _relative_save_offset;
13045
_relative_save_offset = ndr->offset;
13046
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
13047
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13048
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
13049
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
13050
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
13051
ndr->offset = _relative_save_offset;
13053
ndr->flags = _flags_save_string;
13056
uint32_t _flags_save_string = ndr->flags;
13057
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13059
uint32_t _relative_save_offset;
13060
_relative_save_offset = ndr->offset;
13061
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->inf_name));
13062
_mem_save_inf_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13063
NDR_PULL_SET_MEM_CTX(ndr, r->inf_name, 0);
13064
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->inf_name));
13065
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_inf_name_0, 0);
13066
ndr->offset = _relative_save_offset;
13068
ndr->flags = _flags_save_string;
13071
uint32_t _flags_save_string = ndr->flags;
13072
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13073
if (r->install_source_root) {
13074
uint32_t _relative_save_offset;
13075
_relative_save_offset = ndr->offset;
13076
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->install_source_root));
13077
_mem_save_install_source_root_0 = NDR_PULL_GET_MEM_CTX(ndr);
13078
NDR_PULL_SET_MEM_CTX(ndr, r->install_source_root, 0);
13079
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->install_source_root));
13080
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_install_source_root_0, 0);
13081
ndr->offset = _relative_save_offset;
13083
ndr->flags = _flags_save_string;
13086
return NDR_ERR_SUCCESS;
13089
_PUBLIC_ void ndr_print_spoolss_DriverInfo7(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo7 *r)
13091
ndr_print_struct(ndr, name, "spoolss_DriverInfo7");
13093
ndr_print_uint32(ndr, "size", r->size);
13094
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
13095
ndr_print_ptr(ndr, "driver_name", r->driver_name);
13097
if (r->driver_name) {
13098
ndr_print_string(ndr, "driver_name", r->driver_name);
13101
ndr_print_ptr(ndr, "inf_name", r->inf_name);
13104
ndr_print_string(ndr, "inf_name", r->inf_name);
13107
ndr_print_ptr(ndr, "install_source_root", r->install_source_root);
13109
if (r->install_source_root) {
13110
ndr_print_string(ndr, "install_source_root", r->install_source_root);
13116
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo7(const struct spoolss_DriverInfo7 *r, struct smb_iconv_convenience *ic, int flags)
13118
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo7, ic);
13121
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo8 *r)
13123
if (ndr_flags & NDR_SCALARS) {
13124
NDR_CHECK(ndr_push_align(ndr, 8));
13125
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
13127
uint32_t _flags_save_string = ndr->flags;
13128
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13129
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
13130
ndr->flags = _flags_save_string;
13133
uint32_t _flags_save_string = ndr->flags;
13134
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13135
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
13136
ndr->flags = _flags_save_string;
13139
uint32_t _flags_save_string = ndr->flags;
13140
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13141
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
13142
ndr->flags = _flags_save_string;
13145
uint32_t _flags_save_string = ndr->flags;
13146
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13147
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
13148
ndr->flags = _flags_save_string;
13151
uint32_t _flags_save_string = ndr->flags;
13152
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13153
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
13154
ndr->flags = _flags_save_string;
13157
uint32_t _flags_save_string = ndr->flags;
13158
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13159
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
13160
ndr->flags = _flags_save_string;
13163
uint32_t _flags_save_string_array = ndr->flags;
13164
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13165
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
13166
ndr->flags = _flags_save_string_array;
13169
uint32_t _flags_save_string = ndr->flags;
13170
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13171
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
13172
ndr->flags = _flags_save_string;
13175
uint32_t _flags_save_string = ndr->flags;
13176
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13177
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
13178
ndr->flags = _flags_save_string;
13181
uint32_t _flags_save_string_array = ndr->flags;
13182
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13183
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names));
13184
ndr->flags = _flags_save_string_array;
13186
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date));
13187
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
13189
uint32_t _flags_save_string = ndr->flags;
13190
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13191
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_name));
13192
ndr->flags = _flags_save_string;
13195
uint32_t _flags_save_string = ndr->flags;
13196
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13197
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_url));
13198
ndr->flags = _flags_save_string;
13201
uint32_t _flags_save_string = ndr->flags;
13202
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13203
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->hardware_id));
13204
ndr->flags = _flags_save_string;
13207
uint32_t _flags_save_string = ndr->flags;
13208
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13209
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->provider));
13210
ndr->flags = _flags_save_string;
13213
uint32_t _flags_save_string = ndr->flags;
13214
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13215
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor));
13216
ndr->flags = _flags_save_string;
13219
uint32_t _flags_save_string = ndr->flags;
13220
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13221
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->vendor_setup));
13222
ndr->flags = _flags_save_string;
13225
uint32_t _flags_save_string_array = ndr->flags;
13226
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13227
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->color_profiles));
13228
ndr->flags = _flags_save_string_array;
13231
uint32_t _flags_save_string = ndr->flags;
13232
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13233
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->inf_path));
13234
ndr->flags = _flags_save_string;
13236
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->printer_driver_attributes));
13238
uint32_t _flags_save_string_array = ndr->flags;
13239
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13240
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->core_driver_dependencies));
13241
ndr->flags = _flags_save_string_array;
13243
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->min_inbox_driver_ver_date));
13244
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->min_inbox_driver_ver_version));
13245
NDR_CHECK(ndr_push_trailer_align(ndr, 8));
13247
if (ndr_flags & NDR_BUFFERS) {
13249
uint32_t _flags_save_string = ndr->flags;
13250
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13251
if (r->driver_name) {
13252
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
13253
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
13254
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
13256
ndr->flags = _flags_save_string;
13259
uint32_t _flags_save_string = ndr->flags;
13260
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13261
if (r->architecture) {
13262
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
13263
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
13264
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
13266
ndr->flags = _flags_save_string;
13269
uint32_t _flags_save_string = ndr->flags;
13270
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13271
if (r->driver_path) {
13272
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
13273
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
13274
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
13276
ndr->flags = _flags_save_string;
13279
uint32_t _flags_save_string = ndr->flags;
13280
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13281
if (r->data_file) {
13282
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
13283
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
13284
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
13286
ndr->flags = _flags_save_string;
13289
uint32_t _flags_save_string = ndr->flags;
13290
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13291
if (r->config_file) {
13292
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
13293
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
13294
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
13296
ndr->flags = _flags_save_string;
13299
uint32_t _flags_save_string = ndr->flags;
13300
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13301
if (r->help_file) {
13302
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
13303
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
13304
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file));
13306
ndr->flags = _flags_save_string;
13309
uint32_t _flags_save_string_array = ndr->flags;
13310
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13311
if (r->dependent_files) {
13312
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
13313
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
13314
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files));
13316
ndr->flags = _flags_save_string_array;
13319
uint32_t _flags_save_string = ndr->flags;
13320
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13321
if (r->monitor_name) {
13322
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
13323
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
13324
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
13326
ndr->flags = _flags_save_string;
13329
uint32_t _flags_save_string = ndr->flags;
13330
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13331
if (r->default_datatype) {
13332
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
13333
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
13334
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype));
13336
ndr->flags = _flags_save_string;
13339
uint32_t _flags_save_string_array = ndr->flags;
13340
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13341
if (r->previous_names) {
13342
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names));
13343
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names));
13344
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->previous_names));
13346
ndr->flags = _flags_save_string_array;
13349
uint32_t _flags_save_string = ndr->flags;
13350
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13351
if (r->manufacturer_name) {
13352
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_name));
13353
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_name));
13354
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_name));
13356
ndr->flags = _flags_save_string;
13359
uint32_t _flags_save_string = ndr->flags;
13360
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13361
if (r->manufacturer_url) {
13362
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_url));
13363
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_url));
13364
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_url));
13366
ndr->flags = _flags_save_string;
13369
uint32_t _flags_save_string = ndr->flags;
13370
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13371
if (r->hardware_id) {
13372
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->hardware_id));
13373
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->hardware_id));
13374
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->hardware_id));
13376
ndr->flags = _flags_save_string;
13379
uint32_t _flags_save_string = ndr->flags;
13380
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13382
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->provider));
13383
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->provider));
13384
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->provider));
13386
ndr->flags = _flags_save_string;
13389
uint32_t _flags_save_string = ndr->flags;
13390
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13391
if (r->print_processor) {
13392
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor));
13393
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor));
13394
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor));
13396
ndr->flags = _flags_save_string;
13399
uint32_t _flags_save_string = ndr->flags;
13400
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13401
if (r->vendor_setup) {
13402
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->vendor_setup));
13403
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->vendor_setup));
13404
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->vendor_setup));
13406
ndr->flags = _flags_save_string;
13409
uint32_t _flags_save_string_array = ndr->flags;
13410
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13411
if (r->color_profiles) {
13412
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->color_profiles));
13413
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->color_profiles));
13414
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->color_profiles));
13416
ndr->flags = _flags_save_string_array;
13419
uint32_t _flags_save_string = ndr->flags;
13420
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13422
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->inf_path));
13423
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->inf_path));
13424
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->inf_path));
13426
ndr->flags = _flags_save_string;
13429
uint32_t _flags_save_string_array = ndr->flags;
13430
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13431
if (r->core_driver_dependencies) {
13432
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->core_driver_dependencies));
13433
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->core_driver_dependencies));
13434
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->core_driver_dependencies));
13436
ndr->flags = _flags_save_string_array;
13439
return NDR_ERR_SUCCESS;
13442
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo8(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo8 *r)
13444
uint32_t _ptr_driver_name;
13445
TALLOC_CTX *_mem_save_driver_name_0;
13446
uint32_t _ptr_architecture;
13447
TALLOC_CTX *_mem_save_architecture_0;
13448
uint32_t _ptr_driver_path;
13449
TALLOC_CTX *_mem_save_driver_path_0;
13450
uint32_t _ptr_data_file;
13451
TALLOC_CTX *_mem_save_data_file_0;
13452
uint32_t _ptr_config_file;
13453
TALLOC_CTX *_mem_save_config_file_0;
13454
uint32_t _ptr_help_file;
13455
TALLOC_CTX *_mem_save_help_file_0;
13456
uint32_t _ptr_dependent_files;
13457
TALLOC_CTX *_mem_save_dependent_files_0;
13458
uint32_t _ptr_monitor_name;
13459
TALLOC_CTX *_mem_save_monitor_name_0;
13460
uint32_t _ptr_default_datatype;
13461
TALLOC_CTX *_mem_save_default_datatype_0;
13462
uint32_t _ptr_previous_names;
13463
TALLOC_CTX *_mem_save_previous_names_0;
13464
uint32_t _ptr_manufacturer_name;
13465
TALLOC_CTX *_mem_save_manufacturer_name_0;
13466
uint32_t _ptr_manufacturer_url;
13467
TALLOC_CTX *_mem_save_manufacturer_url_0;
13468
uint32_t _ptr_hardware_id;
13469
TALLOC_CTX *_mem_save_hardware_id_0;
13470
uint32_t _ptr_provider;
13471
TALLOC_CTX *_mem_save_provider_0;
13472
uint32_t _ptr_print_processor;
13473
TALLOC_CTX *_mem_save_print_processor_0;
13474
uint32_t _ptr_vendor_setup;
13475
TALLOC_CTX *_mem_save_vendor_setup_0;
13476
uint32_t _ptr_color_profiles;
13477
TALLOC_CTX *_mem_save_color_profiles_0;
13478
uint32_t _ptr_inf_path;
13479
TALLOC_CTX *_mem_save_inf_path_0;
13480
uint32_t _ptr_core_driver_dependencies;
13481
TALLOC_CTX *_mem_save_core_driver_dependencies_0;
13482
if (ndr_flags & NDR_SCALARS) {
13483
NDR_CHECK(ndr_pull_align(ndr, 8));
13484
NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
13486
uint32_t _flags_save_string = ndr->flags;
13487
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13488
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
13489
if (_ptr_driver_name) {
13490
NDR_PULL_ALLOC(ndr, r->driver_name);
13491
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
13493
r->driver_name = NULL;
13495
ndr->flags = _flags_save_string;
13498
uint32_t _flags_save_string = ndr->flags;
13499
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13500
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
13501
if (_ptr_architecture) {
13502
NDR_PULL_ALLOC(ndr, r->architecture);
13503
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
13505
r->architecture = NULL;
13507
ndr->flags = _flags_save_string;
13510
uint32_t _flags_save_string = ndr->flags;
13511
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13512
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
13513
if (_ptr_driver_path) {
13514
NDR_PULL_ALLOC(ndr, r->driver_path);
13515
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
13517
r->driver_path = NULL;
13519
ndr->flags = _flags_save_string;
13522
uint32_t _flags_save_string = ndr->flags;
13523
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13524
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
13525
if (_ptr_data_file) {
13526
NDR_PULL_ALLOC(ndr, r->data_file);
13527
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
13529
r->data_file = NULL;
13531
ndr->flags = _flags_save_string;
13534
uint32_t _flags_save_string = ndr->flags;
13535
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13536
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
13537
if (_ptr_config_file) {
13538
NDR_PULL_ALLOC(ndr, r->config_file);
13539
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
13541
r->config_file = NULL;
13543
ndr->flags = _flags_save_string;
13546
uint32_t _flags_save_string = ndr->flags;
13547
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13548
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
13549
if (_ptr_help_file) {
13550
NDR_PULL_ALLOC(ndr, r->help_file);
13551
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file));
13553
r->help_file = NULL;
13555
ndr->flags = _flags_save_string;
13558
uint32_t _flags_save_string_array = ndr->flags;
13559
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13560
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
13561
if (_ptr_dependent_files) {
13562
NDR_PULL_ALLOC(ndr, r->dependent_files);
13563
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
13565
r->dependent_files = NULL;
13567
ndr->flags = _flags_save_string_array;
13570
uint32_t _flags_save_string = ndr->flags;
13571
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13572
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
13573
if (_ptr_monitor_name) {
13574
NDR_PULL_ALLOC(ndr, r->monitor_name);
13575
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
13577
r->monitor_name = NULL;
13579
ndr->flags = _flags_save_string;
13582
uint32_t _flags_save_string = ndr->flags;
13583
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13584
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
13585
if (_ptr_default_datatype) {
13586
NDR_PULL_ALLOC(ndr, r->default_datatype);
13587
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype));
13589
r->default_datatype = NULL;
13591
ndr->flags = _flags_save_string;
13594
uint32_t _flags_save_string_array = ndr->flags;
13595
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13596
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
13597
if (_ptr_previous_names) {
13598
NDR_PULL_ALLOC(ndr, r->previous_names);
13599
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->previous_names, _ptr_previous_names));
13601
r->previous_names = NULL;
13603
ndr->flags = _flags_save_string_array;
13605
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date));
13606
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
13608
uint32_t _flags_save_string = ndr->flags;
13609
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13610
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name));
13611
if (_ptr_manufacturer_name) {
13612
NDR_PULL_ALLOC(ndr, r->manufacturer_name);
13613
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->manufacturer_name, _ptr_manufacturer_name));
13615
r->manufacturer_name = NULL;
13617
ndr->flags = _flags_save_string;
13620
uint32_t _flags_save_string = ndr->flags;
13621
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13622
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url));
13623
if (_ptr_manufacturer_url) {
13624
NDR_PULL_ALLOC(ndr, r->manufacturer_url);
13625
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->manufacturer_url, _ptr_manufacturer_url));
13627
r->manufacturer_url = NULL;
13629
ndr->flags = _flags_save_string;
13632
uint32_t _flags_save_string = ndr->flags;
13633
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13634
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id));
13635
if (_ptr_hardware_id) {
13636
NDR_PULL_ALLOC(ndr, r->hardware_id);
13637
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->hardware_id, _ptr_hardware_id));
13639
r->hardware_id = NULL;
13641
ndr->flags = _flags_save_string;
13644
uint32_t _flags_save_string = ndr->flags;
13645
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13646
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider));
13647
if (_ptr_provider) {
13648
NDR_PULL_ALLOC(ndr, r->provider);
13649
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->provider, _ptr_provider));
13651
r->provider = NULL;
13653
ndr->flags = _flags_save_string;
13656
uint32_t _flags_save_string = ndr->flags;
13657
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13658
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
13659
if (_ptr_print_processor) {
13660
NDR_PULL_ALLOC(ndr, r->print_processor);
13661
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->print_processor, _ptr_print_processor));
13663
r->print_processor = NULL;
13665
ndr->flags = _flags_save_string;
13668
uint32_t _flags_save_string = ndr->flags;
13669
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13670
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_vendor_setup));
13671
if (_ptr_vendor_setup) {
13672
NDR_PULL_ALLOC(ndr, r->vendor_setup);
13673
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->vendor_setup, _ptr_vendor_setup));
13675
r->vendor_setup = NULL;
13677
ndr->flags = _flags_save_string;
13680
uint32_t _flags_save_string_array = ndr->flags;
13681
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13682
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_color_profiles));
13683
if (_ptr_color_profiles) {
13684
NDR_PULL_ALLOC(ndr, r->color_profiles);
13685
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->color_profiles, _ptr_color_profiles));
13687
r->color_profiles = NULL;
13689
ndr->flags = _flags_save_string_array;
13692
uint32_t _flags_save_string = ndr->flags;
13693
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13694
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_inf_path));
13695
if (_ptr_inf_path) {
13696
NDR_PULL_ALLOC(ndr, r->inf_path);
13697
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->inf_path, _ptr_inf_path));
13699
r->inf_path = NULL;
13701
ndr->flags = _flags_save_string;
13703
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->printer_driver_attributes));
13705
uint32_t _flags_save_string_array = ndr->flags;
13706
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13707
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_core_driver_dependencies));
13708
if (_ptr_core_driver_dependencies) {
13709
NDR_PULL_ALLOC(ndr, r->core_driver_dependencies);
13710
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->core_driver_dependencies, _ptr_core_driver_dependencies));
13712
r->core_driver_dependencies = NULL;
13714
ndr->flags = _flags_save_string_array;
13716
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_date));
13717
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_version));
13718
NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
13720
if (ndr_flags & NDR_BUFFERS) {
13722
uint32_t _flags_save_string = ndr->flags;
13723
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13724
if (r->driver_name) {
13725
uint32_t _relative_save_offset;
13726
_relative_save_offset = ndr->offset;
13727
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
13728
_mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13729
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
13730
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
13731
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
13732
ndr->offset = _relative_save_offset;
13734
ndr->flags = _flags_save_string;
13737
uint32_t _flags_save_string = ndr->flags;
13738
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13739
if (r->architecture) {
13740
uint32_t _relative_save_offset;
13741
_relative_save_offset = ndr->offset;
13742
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
13743
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
13744
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
13745
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
13746
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
13747
ndr->offset = _relative_save_offset;
13749
ndr->flags = _flags_save_string;
13752
uint32_t _flags_save_string = ndr->flags;
13753
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13754
if (r->driver_path) {
13755
uint32_t _relative_save_offset;
13756
_relative_save_offset = ndr->offset;
13757
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
13758
_mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
13759
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
13760
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
13761
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
13762
ndr->offset = _relative_save_offset;
13764
ndr->flags = _flags_save_string;
13767
uint32_t _flags_save_string = ndr->flags;
13768
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13769
if (r->data_file) {
13770
uint32_t _relative_save_offset;
13771
_relative_save_offset = ndr->offset;
13772
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
13773
_mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
13774
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
13775
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
13776
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
13777
ndr->offset = _relative_save_offset;
13779
ndr->flags = _flags_save_string;
13782
uint32_t _flags_save_string = ndr->flags;
13783
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13784
if (r->config_file) {
13785
uint32_t _relative_save_offset;
13786
_relative_save_offset = ndr->offset;
13787
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
13788
_mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
13789
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
13790
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
13791
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
13792
ndr->offset = _relative_save_offset;
13794
ndr->flags = _flags_save_string;
13797
uint32_t _flags_save_string = ndr->flags;
13798
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13799
if (r->help_file) {
13800
uint32_t _relative_save_offset;
13801
_relative_save_offset = ndr->offset;
13802
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file));
13803
_mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
13804
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
13805
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
13806
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
13807
ndr->offset = _relative_save_offset;
13809
ndr->flags = _flags_save_string;
13812
uint32_t _flags_save_string_array = ndr->flags;
13813
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13814
if (r->dependent_files) {
13815
uint32_t _relative_save_offset;
13816
_relative_save_offset = ndr->offset;
13817
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
13818
_mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
13819
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
13820
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
13821
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
13822
ndr->offset = _relative_save_offset;
13824
ndr->flags = _flags_save_string_array;
13827
uint32_t _flags_save_string = ndr->flags;
13828
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13829
if (r->monitor_name) {
13830
uint32_t _relative_save_offset;
13831
_relative_save_offset = ndr->offset;
13832
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
13833
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13834
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
13835
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
13836
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
13837
ndr->offset = _relative_save_offset;
13839
ndr->flags = _flags_save_string;
13842
uint32_t _flags_save_string = ndr->flags;
13843
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13844
if (r->default_datatype) {
13845
uint32_t _relative_save_offset;
13846
_relative_save_offset = ndr->offset;
13847
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype));
13848
_mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
13849
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
13850
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
13851
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
13852
ndr->offset = _relative_save_offset;
13854
ndr->flags = _flags_save_string;
13857
uint32_t _flags_save_string_array = ndr->flags;
13858
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13859
if (r->previous_names) {
13860
uint32_t _relative_save_offset;
13861
_relative_save_offset = ndr->offset;
13862
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->previous_names));
13863
_mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
13864
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
13865
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->previous_names));
13866
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
13867
ndr->offset = _relative_save_offset;
13869
ndr->flags = _flags_save_string_array;
13872
uint32_t _flags_save_string = ndr->flags;
13873
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13874
if (r->manufacturer_name) {
13875
uint32_t _relative_save_offset;
13876
_relative_save_offset = ndr->offset;
13877
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->manufacturer_name));
13878
_mem_save_manufacturer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13879
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0);
13880
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_name));
13881
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0);
13882
ndr->offset = _relative_save_offset;
13884
ndr->flags = _flags_save_string;
13887
uint32_t _flags_save_string = ndr->flags;
13888
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13889
if (r->manufacturer_url) {
13890
uint32_t _relative_save_offset;
13891
_relative_save_offset = ndr->offset;
13892
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->manufacturer_url));
13893
_mem_save_manufacturer_url_0 = NDR_PULL_GET_MEM_CTX(ndr);
13894
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0);
13895
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_url));
13896
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0);
13897
ndr->offset = _relative_save_offset;
13899
ndr->flags = _flags_save_string;
13902
uint32_t _flags_save_string = ndr->flags;
13903
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13904
if (r->hardware_id) {
13905
uint32_t _relative_save_offset;
13906
_relative_save_offset = ndr->offset;
13907
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->hardware_id));
13908
_mem_save_hardware_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
13909
NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0);
13910
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->hardware_id));
13911
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0);
13912
ndr->offset = _relative_save_offset;
13914
ndr->flags = _flags_save_string;
13917
uint32_t _flags_save_string = ndr->flags;
13918
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13920
uint32_t _relative_save_offset;
13921
_relative_save_offset = ndr->offset;
13922
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->provider));
13923
_mem_save_provider_0 = NDR_PULL_GET_MEM_CTX(ndr);
13924
NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0);
13925
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->provider));
13926
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0);
13927
ndr->offset = _relative_save_offset;
13929
ndr->flags = _flags_save_string;
13932
uint32_t _flags_save_string = ndr->flags;
13933
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13934
if (r->print_processor) {
13935
uint32_t _relative_save_offset;
13936
_relative_save_offset = ndr->offset;
13937
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->print_processor));
13938
_mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr);
13939
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
13940
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor));
13941
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
13942
ndr->offset = _relative_save_offset;
13944
ndr->flags = _flags_save_string;
13947
uint32_t _flags_save_string = ndr->flags;
13948
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13949
if (r->vendor_setup) {
13950
uint32_t _relative_save_offset;
13951
_relative_save_offset = ndr->offset;
13952
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->vendor_setup));
13953
_mem_save_vendor_setup_0 = NDR_PULL_GET_MEM_CTX(ndr);
13954
NDR_PULL_SET_MEM_CTX(ndr, r->vendor_setup, 0);
13955
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->vendor_setup));
13956
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_vendor_setup_0, 0);
13957
ndr->offset = _relative_save_offset;
13959
ndr->flags = _flags_save_string;
13962
uint32_t _flags_save_string_array = ndr->flags;
13963
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13964
if (r->color_profiles) {
13965
uint32_t _relative_save_offset;
13966
_relative_save_offset = ndr->offset;
13967
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->color_profiles));
13968
_mem_save_color_profiles_0 = NDR_PULL_GET_MEM_CTX(ndr);
13969
NDR_PULL_SET_MEM_CTX(ndr, r->color_profiles, 0);
13970
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->color_profiles));
13971
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_color_profiles_0, 0);
13972
ndr->offset = _relative_save_offset;
13974
ndr->flags = _flags_save_string_array;
13977
uint32_t _flags_save_string = ndr->flags;
13978
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13980
uint32_t _relative_save_offset;
13981
_relative_save_offset = ndr->offset;
13982
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->inf_path));
13983
_mem_save_inf_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
13984
NDR_PULL_SET_MEM_CTX(ndr, r->inf_path, 0);
13985
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->inf_path));
13986
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_inf_path_0, 0);
13987
ndr->offset = _relative_save_offset;
13989
ndr->flags = _flags_save_string;
13992
uint32_t _flags_save_string_array = ndr->flags;
13993
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13994
if (r->core_driver_dependencies) {
13995
uint32_t _relative_save_offset;
13996
_relative_save_offset = ndr->offset;
13997
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->core_driver_dependencies));
13998
_mem_save_core_driver_dependencies_0 = NDR_PULL_GET_MEM_CTX(ndr);
13999
NDR_PULL_SET_MEM_CTX(ndr, r->core_driver_dependencies, 0);
14000
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->core_driver_dependencies));
14001
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_core_driver_dependencies_0, 0);
14002
ndr->offset = _relative_save_offset;
14004
ndr->flags = _flags_save_string_array;
14007
return NDR_ERR_SUCCESS;
14010
_PUBLIC_ void ndr_print_spoolss_DriverInfo8(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo8 *r)
14012
ndr_print_struct(ndr, name, "spoolss_DriverInfo8");
14014
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
14015
ndr_print_ptr(ndr, "driver_name", r->driver_name);
14017
if (r->driver_name) {
14018
ndr_print_string(ndr, "driver_name", r->driver_name);
14021
ndr_print_ptr(ndr, "architecture", r->architecture);
14023
if (r->architecture) {
14024
ndr_print_string(ndr, "architecture", r->architecture);
14027
ndr_print_ptr(ndr, "driver_path", r->driver_path);
14029
if (r->driver_path) {
14030
ndr_print_string(ndr, "driver_path", r->driver_path);
14033
ndr_print_ptr(ndr, "data_file", r->data_file);
14035
if (r->data_file) {
14036
ndr_print_string(ndr, "data_file", r->data_file);
14039
ndr_print_ptr(ndr, "config_file", r->config_file);
14041
if (r->config_file) {
14042
ndr_print_string(ndr, "config_file", r->config_file);
14045
ndr_print_ptr(ndr, "help_file", r->help_file);
14047
if (r->help_file) {
14048
ndr_print_string(ndr, "help_file", r->help_file);
14051
ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
14053
if (r->dependent_files) {
14054
ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
14057
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
14059
if (r->monitor_name) {
14060
ndr_print_string(ndr, "monitor_name", r->monitor_name);
14063
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
14065
if (r->default_datatype) {
14066
ndr_print_string(ndr, "default_datatype", r->default_datatype);
14069
ndr_print_ptr(ndr, "previous_names", r->previous_names);
14071
if (r->previous_names) {
14072
ndr_print_string_array(ndr, "previous_names", r->previous_names);
14075
ndr_print_NTTIME(ndr, "driver_date", r->driver_date);
14076
ndr_print_hyper(ndr, "driver_version", r->driver_version);
14077
ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name);
14079
if (r->manufacturer_name) {
14080
ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name);
14083
ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url);
14085
if (r->manufacturer_url) {
14086
ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url);
14089
ndr_print_ptr(ndr, "hardware_id", r->hardware_id);
14091
if (r->hardware_id) {
14092
ndr_print_string(ndr, "hardware_id", r->hardware_id);
14095
ndr_print_ptr(ndr, "provider", r->provider);
14098
ndr_print_string(ndr, "provider", r->provider);
14101
ndr_print_ptr(ndr, "print_processor", r->print_processor);
14103
if (r->print_processor) {
14104
ndr_print_string(ndr, "print_processor", r->print_processor);
14107
ndr_print_ptr(ndr, "vendor_setup", r->vendor_setup);
14109
if (r->vendor_setup) {
14110
ndr_print_string(ndr, "vendor_setup", r->vendor_setup);
14113
ndr_print_ptr(ndr, "color_profiles", r->color_profiles);
14115
if (r->color_profiles) {
14116
ndr_print_string_array(ndr, "color_profiles", r->color_profiles);
14119
ndr_print_ptr(ndr, "inf_path", r->inf_path);
14122
ndr_print_string(ndr, "inf_path", r->inf_path);
14125
ndr_print_uint32(ndr, "printer_driver_attributes", r->printer_driver_attributes);
14126
ndr_print_ptr(ndr, "core_driver_dependencies", r->core_driver_dependencies);
14128
if (r->core_driver_dependencies) {
14129
ndr_print_string_array(ndr, "core_driver_dependencies", r->core_driver_dependencies);
14132
ndr_print_NTTIME(ndr, "min_inbox_driver_ver_date", r->min_inbox_driver_ver_date);
14133
ndr_print_hyper(ndr, "min_inbox_driver_ver_version", r->min_inbox_driver_ver_version);
14137
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo8(const struct spoolss_DriverInfo8 *r, struct smb_iconv_convenience *ic, int flags)
14139
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo8, ic);
14142
static enum ndr_err_code ndr_push_spoolss_DriverFileType(struct ndr_push *ndr, int ndr_flags, enum spoolss_DriverFileType r)
14144
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
14145
return NDR_ERR_SUCCESS;
14148
static enum ndr_err_code ndr_pull_spoolss_DriverFileType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DriverFileType *r)
14151
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
14153
return NDR_ERR_SUCCESS;
14156
_PUBLIC_ void ndr_print_spoolss_DriverFileType(struct ndr_print *ndr, const char *name, enum spoolss_DriverFileType r)
14158
const char *val = NULL;
14161
case SPOOLSS_DRIVER_FILE_TYPE_RENDERING: val = "SPOOLSS_DRIVER_FILE_TYPE_RENDERING"; break;
14162
case SPOOLSS_DRIVER_FILE_TYPE_CONFIGURATION: val = "SPOOLSS_DRIVER_FILE_TYPE_CONFIGURATION"; break;
14163
case SPOOLSS_DRIVER_FILE_TYPE_DATA: val = "SPOOLSS_DRIVER_FILE_TYPE_DATA"; break;
14164
case SPOOLSS_DRIVER_FILE_TYPE_HELP: val = "SPOOLSS_DRIVER_FILE_TYPE_HELP"; break;
14165
case SPOOLSS_DRIVER_FILE_TYPE_OTHER: val = "SPOOLSS_DRIVER_FILE_TYPE_OTHER"; break;
14167
ndr_print_enum(ndr, name, "ENUM", val, r);
14170
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverFileInfo(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverFileInfo *r)
14172
if (ndr_flags & NDR_SCALARS) {
14173
NDR_CHECK(ndr_push_align(ndr, 5));
14175
uint32_t _flags_save_string = ndr->flags;
14176
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14177
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->file_name));
14178
ndr->flags = _flags_save_string;
14180
NDR_CHECK(ndr_push_spoolss_DriverFileType(ndr, NDR_SCALARS, r->file_type));
14181
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->file_version));
14182
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
14184
if (ndr_flags & NDR_BUFFERS) {
14186
uint32_t _flags_save_string = ndr->flags;
14187
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14188
if (r->file_name) {
14189
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->file_name));
14190
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->file_name));
14191
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->file_name));
14193
ndr->flags = _flags_save_string;
14196
return NDR_ERR_SUCCESS;
14199
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverFileInfo(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverFileInfo *r)
14201
uint32_t _ptr_file_name;
14202
TALLOC_CTX *_mem_save_file_name_0;
14203
if (ndr_flags & NDR_SCALARS) {
14204
NDR_CHECK(ndr_pull_align(ndr, 5));
14206
uint32_t _flags_save_string = ndr->flags;
14207
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14208
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_file_name));
14209
if (_ptr_file_name) {
14210
NDR_PULL_ALLOC(ndr, r->file_name);
14211
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->file_name, _ptr_file_name));
14213
r->file_name = NULL;
14215
ndr->flags = _flags_save_string;
14217
NDR_CHECK(ndr_pull_spoolss_DriverFileType(ndr, NDR_SCALARS, &r->file_type));
14218
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->file_version));
14219
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
14221
if (ndr_flags & NDR_BUFFERS) {
14223
uint32_t _flags_save_string = ndr->flags;
14224
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14225
if (r->file_name) {
14226
uint32_t _relative_save_offset;
14227
_relative_save_offset = ndr->offset;
14228
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->file_name));
14229
_mem_save_file_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14230
NDR_PULL_SET_MEM_CTX(ndr, r->file_name, 0);
14231
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->file_name));
14232
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_file_name_0, 0);
14233
ndr->offset = _relative_save_offset;
14235
ndr->flags = _flags_save_string;
14238
return NDR_ERR_SUCCESS;
14241
_PUBLIC_ void ndr_print_spoolss_DriverFileInfo(struct ndr_print *ndr, const char *name, const struct spoolss_DriverFileInfo *r)
14243
ndr_print_struct(ndr, name, "spoolss_DriverFileInfo");
14245
ndr_print_ptr(ndr, "file_name", r->file_name);
14247
if (r->file_name) {
14248
ndr_print_string(ndr, "file_name", r->file_name);
14251
ndr_print_spoolss_DriverFileType(ndr, "file_type", r->file_type);
14252
ndr_print_uint32(ndr, "file_version", r->file_version);
14256
_PUBLIC_ void ndr_print_spoolss_DriverInfo101(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo101 *r)
14258
uint32_t cntr_file_info_1;
14259
ndr_print_struct(ndr, name, "spoolss_DriverInfo101");
14261
ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
14262
ndr_print_ptr(ndr, "driver_name", r->driver_name);
14264
if (r->driver_name) {
14265
ndr_print_string(ndr, "driver_name", r->driver_name);
14268
ndr_print_ptr(ndr, "architecture", r->architecture);
14270
if (r->architecture) {
14271
ndr_print_string(ndr, "architecture", r->architecture);
14274
ndr_print_ptr(ndr, "file_info", r->file_info);
14276
if (r->file_info) {
14277
ndr->print(ndr, "%s: ARRAY(%d)", "file_info", (int)r->file_count);
14279
for (cntr_file_info_1=0;cntr_file_info_1<r->file_count;cntr_file_info_1++) {
14281
if (asprintf(&idx_1, "[%d]", cntr_file_info_1) != -1) {
14282
ndr_print_spoolss_DriverFileInfo(ndr, "file_info", &r->file_info[cntr_file_info_1]);
14289
ndr_print_uint32(ndr, "file_count", r->file_count);
14290
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
14292
if (r->monitor_name) {
14293
ndr_print_string(ndr, "monitor_name", r->monitor_name);
14296
ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
14298
if (r->default_datatype) {
14299
ndr_print_string(ndr, "default_datatype", r->default_datatype);
14302
ndr_print_ptr(ndr, "previous_names", r->previous_names);
14304
if (r->previous_names) {
14305
ndr_print_string_array(ndr, "previous_names", r->previous_names);
14308
ndr_print_NTTIME(ndr, "driver_date", r->driver_date);
14309
ndr_print_hyper(ndr, "driver_version", r->driver_version);
14310
ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name);
14312
if (r->manufacturer_name) {
14313
ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name);
14316
ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url);
14318
if (r->manufacturer_url) {
14319
ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url);
14322
ndr_print_ptr(ndr, "hardware_id", r->hardware_id);
14324
if (r->hardware_id) {
14325
ndr_print_string(ndr, "hardware_id", r->hardware_id);
14328
ndr_print_ptr(ndr, "provider", r->provider);
14331
ndr_print_string(ndr, "provider", r->provider);
14337
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo101(const struct spoolss_DriverInfo101 *r, struct smb_iconv_convenience *ic, int flags)
14339
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo101, ic);
14342
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DriverInfo *r)
14344
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
14346
uint32_t _flags_save_UNION = ndr->flags;
14347
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
14348
if (ndr_flags & NDR_SCALARS) {
14349
int level = ndr_push_get_switch_value(ndr, r);
14350
NDR_CHECK(ndr_push_union_align(ndr, 8));
14353
NDR_CHECK(ndr_push_align(ndr, 5));
14354
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14355
NDR_CHECK(ndr_push_spoolss_DriverInfo1(ndr, NDR_SCALARS, &r->info1));
14359
NDR_CHECK(ndr_push_align(ndr, 5));
14360
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14361
NDR_CHECK(ndr_push_spoolss_DriverInfo2(ndr, NDR_SCALARS, &r->info2));
14365
NDR_CHECK(ndr_push_align(ndr, 5));
14366
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14367
NDR_CHECK(ndr_push_spoolss_DriverInfo3(ndr, NDR_SCALARS, &r->info3));
14371
NDR_CHECK(ndr_push_align(ndr, 5));
14372
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14373
NDR_CHECK(ndr_push_spoolss_DriverInfo4(ndr, NDR_SCALARS, &r->info4));
14377
NDR_CHECK(ndr_push_align(ndr, 5));
14378
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14379
NDR_CHECK(ndr_push_spoolss_DriverInfo5(ndr, NDR_SCALARS, &r->info5));
14383
NDR_CHECK(ndr_push_align(ndr, 8));
14384
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14385
NDR_CHECK(ndr_push_spoolss_DriverInfo6(ndr, NDR_SCALARS, &r->info6));
14389
NDR_CHECK(ndr_push_align(ndr, 5));
14390
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14391
NDR_CHECK(ndr_push_spoolss_DriverInfo7(ndr, NDR_SCALARS, &r->info7));
14395
NDR_CHECK(ndr_push_align(ndr, 8));
14396
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14397
NDR_CHECK(ndr_push_spoolss_DriverInfo8(ndr, NDR_SCALARS, &r->info8));
14401
NDR_CHECK(ndr_push_align(ndr, 8));
14402
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14403
NDR_CHECK(ndr_push_spoolss_DriverInfo101(ndr, NDR_SCALARS, &r->info101));
14411
if (ndr_flags & NDR_BUFFERS) {
14412
int level = ndr_push_get_switch_value(ndr, r);
14413
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
14416
NDR_CHECK(ndr_push_spoolss_DriverInfo1(ndr, NDR_BUFFERS, &r->info1));
14420
NDR_CHECK(ndr_push_spoolss_DriverInfo2(ndr, NDR_BUFFERS, &r->info2));
14424
NDR_CHECK(ndr_push_spoolss_DriverInfo3(ndr, NDR_BUFFERS, &r->info3));
14428
NDR_CHECK(ndr_push_spoolss_DriverInfo4(ndr, NDR_BUFFERS, &r->info4));
14432
NDR_CHECK(ndr_push_spoolss_DriverInfo5(ndr, NDR_BUFFERS, &r->info5));
14436
NDR_CHECK(ndr_push_spoolss_DriverInfo6(ndr, NDR_BUFFERS, &r->info6));
14440
NDR_CHECK(ndr_push_spoolss_DriverInfo7(ndr, NDR_BUFFERS, &r->info7));
14444
NDR_CHECK(ndr_push_spoolss_DriverInfo8(ndr, NDR_BUFFERS, &r->info8));
14448
NDR_CHECK(ndr_push_spoolss_DriverInfo101(ndr, NDR_BUFFERS, &r->info101));
14456
ndr->flags = _flags_save_UNION;
14458
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
14459
return NDR_ERR_SUCCESS;
14462
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_DriverInfo *r)
14464
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
14467
uint32_t _flags_save_UNION = ndr->flags;
14468
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
14469
level = ndr_pull_get_switch_value(ndr, r);
14470
if (ndr_flags & NDR_SCALARS) {
14471
NDR_CHECK(ndr_pull_union_align(ndr, 8));
14474
NDR_CHECK(ndr_pull_align(ndr, 5));
14475
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14476
NDR_CHECK(ndr_pull_spoolss_DriverInfo1(ndr, NDR_SCALARS, &r->info1));
14480
NDR_CHECK(ndr_pull_align(ndr, 5));
14481
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14482
NDR_CHECK(ndr_pull_spoolss_DriverInfo2(ndr, NDR_SCALARS, &r->info2));
14486
NDR_CHECK(ndr_pull_align(ndr, 5));
14487
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14488
NDR_CHECK(ndr_pull_spoolss_DriverInfo3(ndr, NDR_SCALARS, &r->info3));
14492
NDR_CHECK(ndr_pull_align(ndr, 5));
14493
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14494
NDR_CHECK(ndr_pull_spoolss_DriverInfo4(ndr, NDR_SCALARS, &r->info4));
14498
NDR_CHECK(ndr_pull_align(ndr, 5));
14499
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14500
NDR_CHECK(ndr_pull_spoolss_DriverInfo5(ndr, NDR_SCALARS, &r->info5));
14504
NDR_CHECK(ndr_pull_align(ndr, 8));
14505
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14506
NDR_CHECK(ndr_pull_spoolss_DriverInfo6(ndr, NDR_SCALARS, &r->info6));
14510
NDR_CHECK(ndr_pull_align(ndr, 5));
14511
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14512
NDR_CHECK(ndr_pull_spoolss_DriverInfo7(ndr, NDR_SCALARS, &r->info7));
14516
NDR_CHECK(ndr_pull_align(ndr, 8));
14517
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14518
NDR_CHECK(ndr_pull_spoolss_DriverInfo8(ndr, NDR_SCALARS, &r->info8));
14522
NDR_CHECK(ndr_pull_align(ndr, 8));
14523
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14524
NDR_CHECK(ndr_pull_spoolss_DriverInfo101(ndr, NDR_SCALARS, &r->info101));
14532
if (ndr_flags & NDR_BUFFERS) {
14533
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
14536
NDR_CHECK(ndr_pull_spoolss_DriverInfo1(ndr, NDR_BUFFERS, &r->info1));
14540
NDR_CHECK(ndr_pull_spoolss_DriverInfo2(ndr, NDR_BUFFERS, &r->info2));
14544
NDR_CHECK(ndr_pull_spoolss_DriverInfo3(ndr, NDR_BUFFERS, &r->info3));
14548
NDR_CHECK(ndr_pull_spoolss_DriverInfo4(ndr, NDR_BUFFERS, &r->info4));
14552
NDR_CHECK(ndr_pull_spoolss_DriverInfo5(ndr, NDR_BUFFERS, &r->info5));
14556
NDR_CHECK(ndr_pull_spoolss_DriverInfo6(ndr, NDR_BUFFERS, &r->info6));
14560
NDR_CHECK(ndr_pull_spoolss_DriverInfo7(ndr, NDR_BUFFERS, &r->info7));
14564
NDR_CHECK(ndr_pull_spoolss_DriverInfo8(ndr, NDR_BUFFERS, &r->info8));
14568
NDR_CHECK(ndr_pull_spoolss_DriverInfo101(ndr, NDR_BUFFERS, &r->info101));
14576
ndr->flags = _flags_save_UNION;
14578
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
14579
return NDR_ERR_SUCCESS;
14582
_PUBLIC_ void ndr_print_spoolss_DriverInfo(struct ndr_print *ndr, const char *name, const union spoolss_DriverInfo *r)
14586
uint32_t _flags_save_UNION = ndr->flags;
14587
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
14588
level = ndr_print_get_switch_value(ndr, r);
14589
ndr_print_union(ndr, name, level, "spoolss_DriverInfo");
14592
ndr_print_spoolss_DriverInfo1(ndr, "info1", &r->info1);
14596
ndr_print_spoolss_DriverInfo2(ndr, "info2", &r->info2);
14600
ndr_print_spoolss_DriverInfo3(ndr, "info3", &r->info3);
14604
ndr_print_spoolss_DriverInfo4(ndr, "info4", &r->info4);
14608
ndr_print_spoolss_DriverInfo5(ndr, "info5", &r->info5);
14612
ndr_print_spoolss_DriverInfo6(ndr, "info6", &r->info6);
14616
ndr_print_spoolss_DriverInfo7(ndr, "info7", &r->info7);
14620
ndr_print_spoolss_DriverInfo8(ndr, "info8", &r->info8);
14624
ndr_print_spoolss_DriverInfo101(ndr, "info101", &r->info101);
14631
ndr->flags = _flags_save_UNION;
14635
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo(const union spoolss_DriverInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
14637
flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
14638
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo, ic);
14641
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverDirectoryInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverDirectoryInfo1 *r)
14643
if (ndr_flags & NDR_SCALARS) {
14644
NDR_CHECK(ndr_push_align(ndr, 4));
14646
uint32_t _flags_save_string = ndr->flags;
14647
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14648
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->directory_name));
14649
ndr->flags = _flags_save_string;
14651
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
14653
if (ndr_flags & NDR_BUFFERS) {
14655
return NDR_ERR_SUCCESS;
14658
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverDirectoryInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverDirectoryInfo1 *r)
14660
if (ndr_flags & NDR_SCALARS) {
14661
NDR_CHECK(ndr_pull_align(ndr, 4));
14663
uint32_t _flags_save_string = ndr->flags;
14664
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14665
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->directory_name));
14666
ndr->flags = _flags_save_string;
14668
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
14670
if (ndr_flags & NDR_BUFFERS) {
14672
return NDR_ERR_SUCCESS;
14675
_PUBLIC_ void ndr_print_spoolss_DriverDirectoryInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_DriverDirectoryInfo1 *r)
14677
ndr_print_struct(ndr, name, "spoolss_DriverDirectoryInfo1");
14679
ndr_print_string(ndr, "directory_name", r->directory_name);
14683
_PUBLIC_ size_t ndr_size_spoolss_DriverDirectoryInfo1(const struct spoolss_DriverDirectoryInfo1 *r, struct smb_iconv_convenience *ic, int flags)
14685
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverDirectoryInfo1, ic);
14688
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverDirectoryInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DriverDirectoryInfo *r)
14690
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
14692
uint32_t _flags_save_UNION = ndr->flags;
14693
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
14694
if (ndr_flags & NDR_SCALARS) {
14695
int level = ndr_push_get_switch_value(ndr, r);
14696
NDR_CHECK(ndr_push_union_align(ndr, 4));
14699
NDR_CHECK(ndr_push_align(ndr, 4));
14700
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14701
NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
14705
NDR_CHECK(ndr_push_align(ndr, 4));
14706
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14707
NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
14712
if (ndr_flags & NDR_BUFFERS) {
14713
int level = ndr_push_get_switch_value(ndr, r);
14714
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
14724
ndr->flags = _flags_save_UNION;
14726
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
14727
return NDR_ERR_SUCCESS;
14730
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverDirectoryInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_DriverDirectoryInfo *r)
14732
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
14735
uint32_t _flags_save_UNION = ndr->flags;
14736
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
14737
level = ndr_pull_get_switch_value(ndr, r);
14738
if (ndr_flags & NDR_SCALARS) {
14739
NDR_CHECK(ndr_pull_union_align(ndr, 4));
14742
NDR_CHECK(ndr_pull_align(ndr, 4));
14743
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14744
NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
14748
NDR_CHECK(ndr_pull_align(ndr, 4));
14749
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14750
NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
14755
if (ndr_flags & NDR_BUFFERS) {
14756
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
14766
ndr->flags = _flags_save_UNION;
14768
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
14769
return NDR_ERR_SUCCESS;
14772
_PUBLIC_ void ndr_print_spoolss_DriverDirectoryInfo(struct ndr_print *ndr, const char *name, const union spoolss_DriverDirectoryInfo *r)
14776
uint32_t _flags_save_UNION = ndr->flags;
14777
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
14778
level = ndr_print_get_switch_value(ndr, r);
14779
ndr_print_union(ndr, name, level, "spoolss_DriverDirectoryInfo");
14782
ndr_print_spoolss_DriverDirectoryInfo1(ndr, "info1", &r->info1);
14786
ndr_print_spoolss_DriverDirectoryInfo1(ndr, "info1", &r->info1);
14790
ndr->flags = _flags_save_UNION;
14794
_PUBLIC_ size_t ndr_size_spoolss_DriverDirectoryInfo(const union spoolss_DriverDirectoryInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
14796
flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
14797
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverDirectoryInfo, ic);
14800
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrintProcessorInfo1 *r)
14802
if (ndr_flags & NDR_SCALARS) {
14803
NDR_CHECK(ndr_push_align(ndr, 5));
14805
uint32_t _flags_save_string = ndr->flags;
14806
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14807
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor_name));
14808
ndr->flags = _flags_save_string;
14810
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
14812
if (ndr_flags & NDR_BUFFERS) {
14814
uint32_t _flags_save_string = ndr->flags;
14815
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14816
if (r->print_processor_name) {
14817
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor_name));
14818
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor_name));
14819
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor_name));
14821
ndr->flags = _flags_save_string;
14824
return NDR_ERR_SUCCESS;
14827
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcessorInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrintProcessorInfo1 *r)
14829
uint32_t _ptr_print_processor_name;
14830
TALLOC_CTX *_mem_save_print_processor_name_0;
14831
if (ndr_flags & NDR_SCALARS) {
14832
NDR_CHECK(ndr_pull_align(ndr, 5));
14834
uint32_t _flags_save_string = ndr->flags;
14835
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14836
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor_name));
14837
if (_ptr_print_processor_name) {
14838
NDR_PULL_ALLOC(ndr, r->print_processor_name);
14839
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->print_processor_name, _ptr_print_processor_name));
14841
r->print_processor_name = NULL;
14843
ndr->flags = _flags_save_string;
14845
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
14847
if (ndr_flags & NDR_BUFFERS) {
14849
uint32_t _flags_save_string = ndr->flags;
14850
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14851
if (r->print_processor_name) {
14852
uint32_t _relative_save_offset;
14853
_relative_save_offset = ndr->offset;
14854
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->print_processor_name));
14855
_mem_save_print_processor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14856
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor_name, 0);
14857
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor_name));
14858
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_name_0, 0);
14859
ndr->offset = _relative_save_offset;
14861
ndr->flags = _flags_save_string;
14864
return NDR_ERR_SUCCESS;
14867
_PUBLIC_ void ndr_print_spoolss_PrintProcessorInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrintProcessorInfo1 *r)
14869
ndr_print_struct(ndr, name, "spoolss_PrintProcessorInfo1");
14871
ndr_print_ptr(ndr, "print_processor_name", r->print_processor_name);
14873
if (r->print_processor_name) {
14874
ndr_print_string(ndr, "print_processor_name", r->print_processor_name);
14880
_PUBLIC_ size_t ndr_size_spoolss_PrintProcessorInfo1(const struct spoolss_PrintProcessorInfo1 *r, struct smb_iconv_convenience *ic, int flags)
14882
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrintProcessorInfo1, ic);
14885
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcessorInfo *r)
14887
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
14889
uint32_t _flags_save_UNION = ndr->flags;
14890
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
14891
if (ndr_flags & NDR_SCALARS) {
14892
int level = ndr_push_get_switch_value(ndr, r);
14893
NDR_CHECK(ndr_push_union_align(ndr, 5));
14896
NDR_CHECK(ndr_push_align(ndr, 5));
14897
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
14898
NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo1(ndr, NDR_SCALARS, &r->info1));
14906
if (ndr_flags & NDR_BUFFERS) {
14907
int level = ndr_push_get_switch_value(ndr, r);
14908
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
14911
NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo1(ndr, NDR_BUFFERS, &r->info1));
14919
ndr->flags = _flags_save_UNION;
14921
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
14922
return NDR_ERR_SUCCESS;
14925
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcessorInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrintProcessorInfo *r)
14927
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
14930
uint32_t _flags_save_UNION = ndr->flags;
14931
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
14932
level = ndr_pull_get_switch_value(ndr, r);
14933
if (ndr_flags & NDR_SCALARS) {
14934
NDR_CHECK(ndr_pull_union_align(ndr, 5));
14937
NDR_CHECK(ndr_pull_align(ndr, 5));
14938
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
14939
NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo1(ndr, NDR_SCALARS, &r->info1));
14947
if (ndr_flags & NDR_BUFFERS) {
14948
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
14951
NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo1(ndr, NDR_BUFFERS, &r->info1));
14959
ndr->flags = _flags_save_UNION;
14961
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
14962
return NDR_ERR_SUCCESS;
14965
_PUBLIC_ void ndr_print_spoolss_PrintProcessorInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcessorInfo *r)
14969
uint32_t _flags_save_UNION = ndr->flags;
14970
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
14971
level = ndr_print_get_switch_value(ndr, r);
14972
ndr_print_union(ndr, name, level, "spoolss_PrintProcessorInfo");
14975
ndr_print_spoolss_PrintProcessorInfo1(ndr, "info1", &r->info1);
14982
ndr->flags = _flags_save_UNION;
14986
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorDirectoryInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrintProcessorDirectoryInfo1 *r)
14988
if (ndr_flags & NDR_SCALARS) {
14989
NDR_CHECK(ndr_push_align(ndr, 4));
14991
uint32_t _flags_save_string = ndr->flags;
14992
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14993
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->directory_name));
14994
ndr->flags = _flags_save_string;
14996
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
14998
if (ndr_flags & NDR_BUFFERS) {
15000
return NDR_ERR_SUCCESS;
15003
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcessorDirectoryInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrintProcessorDirectoryInfo1 *r)
15005
if (ndr_flags & NDR_SCALARS) {
15006
NDR_CHECK(ndr_pull_align(ndr, 4));
15008
uint32_t _flags_save_string = ndr->flags;
15009
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15010
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->directory_name));
15011
ndr->flags = _flags_save_string;
15013
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
15015
if (ndr_flags & NDR_BUFFERS) {
15017
return NDR_ERR_SUCCESS;
15020
_PUBLIC_ void ndr_print_spoolss_PrintProcessorDirectoryInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrintProcessorDirectoryInfo1 *r)
15022
ndr_print_struct(ndr, name, "spoolss_PrintProcessorDirectoryInfo1");
15024
ndr_print_string(ndr, "directory_name", r->directory_name);
15028
_PUBLIC_ size_t ndr_size_spoolss_PrintProcessorDirectoryInfo1(const struct spoolss_PrintProcessorDirectoryInfo1 *r, struct smb_iconv_convenience *ic, int flags)
15030
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrintProcessorDirectoryInfo1, ic);
15033
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorDirectoryInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcessorDirectoryInfo *r)
15035
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
15037
uint32_t _flags_save_UNION = ndr->flags;
15038
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
15039
if (ndr_flags & NDR_SCALARS) {
15040
int level = ndr_push_get_switch_value(ndr, r);
15041
NDR_CHECK(ndr_push_union_align(ndr, 4));
15044
NDR_CHECK(ndr_push_align(ndr, 4));
15045
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
15046
NDR_CHECK(ndr_push_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
15050
NDR_CHECK(ndr_push_align(ndr, 4));
15051
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
15052
NDR_CHECK(ndr_push_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
15057
if (ndr_flags & NDR_BUFFERS) {
15058
int level = ndr_push_get_switch_value(ndr, r);
15059
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
15069
ndr->flags = _flags_save_UNION;
15071
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
15072
return NDR_ERR_SUCCESS;
15075
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcessorDirectoryInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrintProcessorDirectoryInfo *r)
15077
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
15080
uint32_t _flags_save_UNION = ndr->flags;
15081
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
15082
level = ndr_pull_get_switch_value(ndr, r);
15083
if (ndr_flags & NDR_SCALARS) {
15084
NDR_CHECK(ndr_pull_union_align(ndr, 4));
15087
NDR_CHECK(ndr_pull_align(ndr, 4));
15088
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
15089
NDR_CHECK(ndr_pull_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
15093
NDR_CHECK(ndr_pull_align(ndr, 4));
15094
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
15095
NDR_CHECK(ndr_pull_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
15100
if (ndr_flags & NDR_BUFFERS) {
15101
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
15111
ndr->flags = _flags_save_UNION;
15113
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
15114
return NDR_ERR_SUCCESS;
15117
_PUBLIC_ void ndr_print_spoolss_PrintProcessorDirectoryInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcessorDirectoryInfo *r)
15121
uint32_t _flags_save_UNION = ndr->flags;
15122
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
15123
level = ndr_print_get_switch_value(ndr, r);
15124
ndr_print_union(ndr, name, level, "spoolss_PrintProcessorDirectoryInfo");
15127
ndr_print_spoolss_PrintProcessorDirectoryInfo1(ndr, "info1", &r->info1);
15131
ndr_print_spoolss_PrintProcessorDirectoryInfo1(ndr, "info1", &r->info1);
15135
ndr->flags = _flags_save_UNION;
15139
_PUBLIC_ size_t ndr_size_spoolss_PrintProcessorDirectoryInfo(const union spoolss_PrintProcessorDirectoryInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
15141
flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
15142
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_PrintProcessorDirectoryInfo, ic);
15145
static enum ndr_err_code ndr_push_spoolss_DocumentInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DocumentInfo1 *r)
15147
if (ndr_flags & NDR_SCALARS) {
15148
NDR_CHECK(ndr_push_align(ndr, 5));
15149
NDR_CHECK(ndr_push_unique_ptr(ndr, r->document_name));
15150
NDR_CHECK(ndr_push_unique_ptr(ndr, r->output_file));
15151
NDR_CHECK(ndr_push_unique_ptr(ndr, r->datatype));
15152
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
15154
if (ndr_flags & NDR_BUFFERS) {
15155
if (r->document_name) {
15156
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
15157
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15158
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
15159
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->document_name, ndr_charset_length(r->document_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15161
if (r->output_file) {
15162
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->output_file, CH_UTF16)));
15163
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15164
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->output_file, CH_UTF16)));
15165
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->output_file, ndr_charset_length(r->output_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15168
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->datatype, CH_UTF16)));
15169
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15170
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->datatype, CH_UTF16)));
15171
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->datatype, ndr_charset_length(r->datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15174
return NDR_ERR_SUCCESS;
15177
static enum ndr_err_code ndr_pull_spoolss_DocumentInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DocumentInfo1 *r)
15179
uint32_t _ptr_document_name;
15180
TALLOC_CTX *_mem_save_document_name_0;
15181
uint32_t _ptr_output_file;
15182
TALLOC_CTX *_mem_save_output_file_0;
15183
uint32_t _ptr_datatype;
15184
TALLOC_CTX *_mem_save_datatype_0;
15185
if (ndr_flags & NDR_SCALARS) {
15186
NDR_CHECK(ndr_pull_align(ndr, 5));
15187
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
15188
if (_ptr_document_name) {
15189
NDR_PULL_ALLOC(ndr, r->document_name);
15191
r->document_name = NULL;
15193
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_output_file));
15194
if (_ptr_output_file) {
15195
NDR_PULL_ALLOC(ndr, r->output_file);
15197
r->output_file = NULL;
15199
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
15200
if (_ptr_datatype) {
15201
NDR_PULL_ALLOC(ndr, r->datatype);
15203
r->datatype = NULL;
15205
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
15207
if (ndr_flags & NDR_BUFFERS) {
15208
if (r->document_name) {
15209
_mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15210
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
15211
NDR_CHECK(ndr_pull_array_size(ndr, &r->document_name));
15212
NDR_CHECK(ndr_pull_array_length(ndr, &r->document_name));
15213
if (ndr_get_array_length(ndr, &r->document_name) > ndr_get_array_size(ndr, &r->document_name)) {
15214
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));
15216
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t)));
15217
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->document_name, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t), CH_UTF16));
15218
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
15220
if (r->output_file) {
15221
_mem_save_output_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
15222
NDR_PULL_SET_MEM_CTX(ndr, r->output_file, 0);
15223
NDR_CHECK(ndr_pull_array_size(ndr, &r->output_file));
15224
NDR_CHECK(ndr_pull_array_length(ndr, &r->output_file));
15225
if (ndr_get_array_length(ndr, &r->output_file) > ndr_get_array_size(ndr, &r->output_file)) {
15226
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));
15228
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->output_file), sizeof(uint16_t)));
15229
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->output_file, ndr_get_array_length(ndr, &r->output_file), sizeof(uint16_t), CH_UTF16));
15230
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_output_file_0, 0);
15233
_mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
15234
NDR_PULL_SET_MEM_CTX(ndr, r->datatype, 0);
15235
NDR_CHECK(ndr_pull_array_size(ndr, &r->datatype));
15236
NDR_CHECK(ndr_pull_array_length(ndr, &r->datatype));
15237
if (ndr_get_array_length(ndr, &r->datatype) > ndr_get_array_size(ndr, &r->datatype)) {
15238
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));
15240
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->datatype), sizeof(uint16_t)));
15241
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->datatype, ndr_get_array_length(ndr, &r->datatype), sizeof(uint16_t), CH_UTF16));
15242
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
15245
return NDR_ERR_SUCCESS;
15248
_PUBLIC_ void ndr_print_spoolss_DocumentInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_DocumentInfo1 *r)
15250
ndr_print_struct(ndr, name, "spoolss_DocumentInfo1");
15252
ndr_print_ptr(ndr, "document_name", r->document_name);
15254
if (r->document_name) {
15255
ndr_print_string(ndr, "document_name", r->document_name);
15258
ndr_print_ptr(ndr, "output_file", r->output_file);
15260
if (r->output_file) {
15261
ndr_print_string(ndr, "output_file", r->output_file);
15264
ndr_print_ptr(ndr, "datatype", r->datatype);
15267
ndr_print_string(ndr, "datatype", r->datatype);
15273
static enum ndr_err_code ndr_push_spoolss_DocumentInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DocumentInfo *r)
15275
if (ndr_flags & NDR_SCALARS) {
15276
int level = ndr_push_get_switch_value(ndr, r);
15277
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
15278
NDR_CHECK(ndr_push_union_align(ndr, 5));
15281
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
15295
if (ndr_flags & NDR_BUFFERS) {
15296
int level = ndr_push_get_switch_value(ndr, r);
15300
NDR_CHECK(ndr_push_spoolss_DocumentInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
15315
return NDR_ERR_SUCCESS;
15318
static enum ndr_err_code ndr_pull_spoolss_DocumentInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_DocumentInfo *r)
15322
TALLOC_CTX *_mem_save_info1_0;
15323
level = ndr_pull_get_switch_value(ndr, r);
15324
if (ndr_flags & NDR_SCALARS) {
15325
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
15326
if (_level != level) {
15327
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
15329
NDR_CHECK(ndr_pull_union_align(ndr, 5));
15332
uint32_t _ptr_info1;
15333
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
15335
NDR_PULL_ALLOC(ndr, r->info1);
15352
if (ndr_flags & NDR_BUFFERS) {
15356
_mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
15357
NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
15358
NDR_CHECK(ndr_pull_spoolss_DocumentInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
15359
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
15374
return NDR_ERR_SUCCESS;
15377
_PUBLIC_ void ndr_print_spoolss_DocumentInfo(struct ndr_print *ndr, const char *name, const union spoolss_DocumentInfo *r)
15380
level = ndr_print_get_switch_value(ndr, r);
15381
ndr_print_union(ndr, name, level, "spoolss_DocumentInfo");
15384
ndr_print_ptr(ndr, "info1", r->info1);
15387
ndr_print_spoolss_DocumentInfo1(ndr, "info1", r->info1);
15404
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_OSVersion(struct ndr_push *ndr, int ndr_flags, const struct spoolss_OSVersion *r)
15406
if (ndr_flags & NDR_SCALARS) {
15407
NDR_CHECK(ndr_push_align(ndr, 4));
15408
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_spoolss_OSVersion(r, ndr->iconv_convenience, ndr->flags)));
15409
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->major));
15410
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minor));
15411
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build));
15412
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
15414
uint32_t _flags_save_string = ndr->flags;
15415
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15417
struct ndr_push *_ndr_extra_string;
15418
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
15419
NDR_CHECK(ndr_push_string(_ndr_extra_string, NDR_SCALARS, r->extra_string));
15420
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_extra_string, 0, 256));
15422
ndr->flags = _flags_save_string;
15424
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
15426
if (ndr_flags & NDR_BUFFERS) {
15428
return NDR_ERR_SUCCESS;
15431
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OSVersion(struct ndr_pull *ndr, int ndr_flags, struct spoolss_OSVersion *r)
15433
if (ndr_flags & NDR_SCALARS) {
15434
NDR_CHECK(ndr_pull_align(ndr, 4));
15435
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size));
15436
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->major));
15437
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minor));
15438
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build));
15439
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->platform_id));
15441
uint32_t _flags_save_string = ndr->flags;
15442
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15444
struct ndr_pull *_ndr_extra_string;
15445
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
15446
NDR_CHECK(ndr_pull_string(_ndr_extra_string, NDR_SCALARS, &r->extra_string));
15447
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_extra_string, 0, 256));
15449
ndr->flags = _flags_save_string;
15451
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
15453
if (ndr_flags & NDR_BUFFERS) {
15455
return NDR_ERR_SUCCESS;
15458
_PUBLIC_ void ndr_print_spoolss_OSVersion(struct ndr_print *ndr, const char *name, const struct spoolss_OSVersion *r)
15460
ndr_print_struct(ndr, name, "spoolss_OSVersion");
15462
ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_spoolss_OSVersion(r, ndr->iconv_convenience, ndr->flags):r->_ndr_size);
15463
ndr_print_uint32(ndr, "major", r->major);
15464
ndr_print_uint32(ndr, "minor", r->minor);
15465
ndr_print_uint32(ndr, "build", r->build);
15466
ndr_print_uint32(ndr, "platform_id", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->platform_id);
15467
ndr_print_string(ndr, "extra_string", r->extra_string);
15471
_PUBLIC_ size_t ndr_size_spoolss_OSVersion(const struct spoolss_OSVersion *r, struct smb_iconv_convenience *ic, int flags)
15473
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_OSVersion, ic);
15476
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_OSVersionEx(struct ndr_push *ndr, int ndr_flags, const struct spoolss_OSVersionEx *r)
15478
if (ndr_flags & NDR_SCALARS) {
15479
NDR_CHECK(ndr_push_align(ndr, 4));
15480
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_spoolss_OSVersionEx(r, ndr->iconv_convenience, ndr->flags)));
15481
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->major));
15482
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minor));
15483
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build));
15484
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
15486
uint32_t _flags_save_string = ndr->flags;
15487
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15489
struct ndr_push *_ndr_extra_string;
15490
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
15491
NDR_CHECK(ndr_push_string(_ndr_extra_string, NDR_SCALARS, r->extra_string));
15492
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_extra_string, 0, 256));
15494
ndr->flags = _flags_save_string;
15496
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->service_pack_major));
15497
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->service_pack_minor));
15498
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->suite_mask));
15499
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->product_type));
15500
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->reserved));
15501
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
15503
if (ndr_flags & NDR_BUFFERS) {
15505
return NDR_ERR_SUCCESS;
15508
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OSVersionEx(struct ndr_pull *ndr, int ndr_flags, struct spoolss_OSVersionEx *r)
15510
if (ndr_flags & NDR_SCALARS) {
15511
NDR_CHECK(ndr_pull_align(ndr, 4));
15512
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size));
15513
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->major));
15514
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minor));
15515
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build));
15516
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->platform_id));
15518
uint32_t _flags_save_string = ndr->flags;
15519
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15521
struct ndr_pull *_ndr_extra_string;
15522
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
15523
NDR_CHECK(ndr_pull_string(_ndr_extra_string, NDR_SCALARS, &r->extra_string));
15524
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_extra_string, 0, 256));
15526
ndr->flags = _flags_save_string;
15528
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->service_pack_major));
15529
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->service_pack_minor));
15530
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->suite_mask));
15531
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->product_type));
15532
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->reserved));
15533
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
15535
if (ndr_flags & NDR_BUFFERS) {
15537
return NDR_ERR_SUCCESS;
15540
_PUBLIC_ void ndr_print_spoolss_OSVersionEx(struct ndr_print *ndr, const char *name, const struct spoolss_OSVersionEx *r)
15542
ndr_print_struct(ndr, name, "spoolss_OSVersionEx");
15544
ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_spoolss_OSVersionEx(r, ndr->iconv_convenience, ndr->flags):r->_ndr_size);
15545
ndr_print_uint32(ndr, "major", r->major);
15546
ndr_print_uint32(ndr, "minor", r->minor);
15547
ndr_print_uint32(ndr, "build", r->build);
15548
ndr_print_uint32(ndr, "platform_id", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->platform_id);
15549
ndr_print_string(ndr, "extra_string", r->extra_string);
15550
ndr_print_uint16(ndr, "service_pack_major", r->service_pack_major);
15551
ndr_print_uint16(ndr, "service_pack_minor", r->service_pack_minor);
15552
ndr_print_uint16(ndr, "suite_mask", r->suite_mask);
15553
ndr_print_uint8(ndr, "product_type", r->product_type);
15554
ndr_print_uint8(ndr, "reserved", r->reserved);
15558
_PUBLIC_ size_t ndr_size_spoolss_OSVersionEx(const struct spoolss_OSVersionEx *r, struct smb_iconv_convenience *ic, int flags)
15560
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_OSVersionEx, ic);
15563
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterData(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrinterData *r)
15565
if (ndr_flags & NDR_SCALARS) {
15566
int level = ndr_push_get_switch_value(ndr, r);
15567
NDR_CHECK(ndr_push_union_align(ndr, 4));
15574
uint32_t _flags_save_string = ndr->flags;
15575
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15576
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string));
15577
ndr->flags = _flags_save_string;
15583
uint32_t _flags_save_DATA_BLOB = ndr->flags;
15584
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
15585
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
15586
ndr->flags = _flags_save_DATA_BLOB;
15591
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->value));
15594
case REG_MULTI_SZ: {
15596
uint32_t _flags_save_string_array = ndr->flags;
15597
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15598
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string_array));
15599
ndr->flags = _flags_save_string_array;
15605
uint32_t _flags_save_DATA_BLOB = ndr->flags;
15606
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
15607
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data));
15608
ndr->flags = _flags_save_DATA_BLOB;
15614
if (ndr_flags & NDR_BUFFERS) {
15615
int level = ndr_push_get_switch_value(ndr, r);
15637
return NDR_ERR_SUCCESS;
15640
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterData(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrinterData *r)
15643
level = ndr_pull_get_switch_value(ndr, r);
15644
if (ndr_flags & NDR_SCALARS) {
15645
NDR_CHECK(ndr_pull_union_align(ndr, 4));
15652
uint32_t _flags_save_string = ndr->flags;
15653
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15654
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string));
15655
ndr->flags = _flags_save_string;
15661
uint32_t _flags_save_DATA_BLOB = ndr->flags;
15662
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
15663
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
15664
ndr->flags = _flags_save_DATA_BLOB;
15669
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value));
15672
case REG_MULTI_SZ: {
15674
uint32_t _flags_save_string_array = ndr->flags;
15675
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15676
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string_array));
15677
ndr->flags = _flags_save_string_array;
15683
uint32_t _flags_save_DATA_BLOB = ndr->flags;
15684
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
15685
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data));
15686
ndr->flags = _flags_save_DATA_BLOB;
15692
if (ndr_flags & NDR_BUFFERS) {
15714
return NDR_ERR_SUCCESS;
15717
_PUBLIC_ void ndr_print_spoolss_PrinterData(struct ndr_print *ndr, const char *name, const union spoolss_PrinterData *r)
15720
level = ndr_print_get_switch_value(ndr, r);
15721
ndr_print_union(ndr, name, level, "spoolss_PrinterData");
15727
ndr_print_string(ndr, "string", r->string);
15731
ndr_print_DATA_BLOB(ndr, "binary", r->binary);
15735
ndr_print_uint32(ndr, "value", r->value);
15739
ndr_print_string_array(ndr, "string_array", r->string_array);
15743
ndr_print_DATA_BLOB(ndr, "data", r->data);
15749
static enum ndr_err_code ndr_push_spoolss_FormFlags(struct ndr_push *ndr, int ndr_flags, enum spoolss_FormFlags r)
15751
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
15752
return NDR_ERR_SUCCESS;
15755
static enum ndr_err_code ndr_pull_spoolss_FormFlags(struct ndr_pull *ndr, int ndr_flags, enum spoolss_FormFlags *r)
15758
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
15760
return NDR_ERR_SUCCESS;
15763
_PUBLIC_ void ndr_print_spoolss_FormFlags(struct ndr_print *ndr, const char *name, enum spoolss_FormFlags r)
15765
const char *val = NULL;
15768
case SPOOLSS_FORM_USER: val = "SPOOLSS_FORM_USER"; break;
15769
case SPOOLSS_FORM_BUILTIN: val = "SPOOLSS_FORM_BUILTIN"; break;
15770
case SPOOLSS_FORM_PRINTER: val = "SPOOLSS_FORM_PRINTER"; break;
15772
ndr_print_enum(ndr, name, "ENUM", val, r);
15775
static enum ndr_err_code ndr_push_spoolss_FormSize(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormSize *r)
15777
if (ndr_flags & NDR_SCALARS) {
15778
NDR_CHECK(ndr_push_align(ndr, 4));
15779
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->width));
15780
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->height));
15781
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
15783
if (ndr_flags & NDR_BUFFERS) {
15785
return NDR_ERR_SUCCESS;
15788
static enum ndr_err_code ndr_pull_spoolss_FormSize(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormSize *r)
15790
if (ndr_flags & NDR_SCALARS) {
15791
NDR_CHECK(ndr_pull_align(ndr, 4));
15792
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->width));
15793
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->height));
15794
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
15796
if (ndr_flags & NDR_BUFFERS) {
15798
return NDR_ERR_SUCCESS;
15801
_PUBLIC_ void ndr_print_spoolss_FormSize(struct ndr_print *ndr, const char *name, const struct spoolss_FormSize *r)
15803
ndr_print_struct(ndr, name, "spoolss_FormSize");
15805
ndr_print_uint32(ndr, "width", r->width);
15806
ndr_print_uint32(ndr, "height", r->height);
15810
static enum ndr_err_code ndr_push_spoolss_FormArea(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormArea *r)
15812
if (ndr_flags & NDR_SCALARS) {
15813
NDR_CHECK(ndr_push_align(ndr, 4));
15814
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->left));
15815
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->top));
15816
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->right));
15817
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bottom));
15818
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
15820
if (ndr_flags & NDR_BUFFERS) {
15822
return NDR_ERR_SUCCESS;
15825
static enum ndr_err_code ndr_pull_spoolss_FormArea(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormArea *r)
15827
if (ndr_flags & NDR_SCALARS) {
15828
NDR_CHECK(ndr_pull_align(ndr, 4));
15829
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->left));
15830
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->top));
15831
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->right));
15832
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bottom));
15833
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
15835
if (ndr_flags & NDR_BUFFERS) {
15837
return NDR_ERR_SUCCESS;
15840
_PUBLIC_ void ndr_print_spoolss_FormArea(struct ndr_print *ndr, const char *name, const struct spoolss_FormArea *r)
15842
ndr_print_struct(ndr, name, "spoolss_FormArea");
15844
ndr_print_uint32(ndr, "left", r->left);
15845
ndr_print_uint32(ndr, "top", r->top);
15846
ndr_print_uint32(ndr, "right", r->right);
15847
ndr_print_uint32(ndr, "bottom", r->bottom);
15851
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormInfo1 *r)
15853
if (ndr_flags & NDR_SCALARS) {
15854
NDR_CHECK(ndr_push_align(ndr, 5));
15855
NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags));
15857
uint32_t _flags_save_string = ndr->flags;
15858
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15859
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->form_name));
15860
ndr->flags = _flags_save_string;
15862
NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
15863
NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
15864
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
15866
if (ndr_flags & NDR_BUFFERS) {
15868
uint32_t _flags_save_string = ndr->flags;
15869
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15870
if (r->form_name) {
15871
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->form_name));
15872
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->form_name));
15873
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->form_name));
15875
ndr->flags = _flags_save_string;
15878
return NDR_ERR_SUCCESS;
15881
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FormInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormInfo1 *r)
15883
uint32_t _ptr_form_name;
15884
TALLOC_CTX *_mem_save_form_name_0;
15885
if (ndr_flags & NDR_SCALARS) {
15886
NDR_CHECK(ndr_pull_align(ndr, 5));
15887
NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags));
15889
uint32_t _flags_save_string = ndr->flags;
15890
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15891
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name));
15892
if (_ptr_form_name) {
15893
NDR_PULL_ALLOC(ndr, r->form_name);
15894
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->form_name, _ptr_form_name));
15896
r->form_name = NULL;
15898
ndr->flags = _flags_save_string;
15900
NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
15901
NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
15902
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
15904
if (ndr_flags & NDR_BUFFERS) {
15906
uint32_t _flags_save_string = ndr->flags;
15907
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15908
if (r->form_name) {
15909
uint32_t _relative_save_offset;
15910
_relative_save_offset = ndr->offset;
15911
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->form_name));
15912
_mem_save_form_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15913
NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0);
15914
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->form_name));
15915
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0);
15916
ndr->offset = _relative_save_offset;
15918
ndr->flags = _flags_save_string;
15921
return NDR_ERR_SUCCESS;
15924
_PUBLIC_ void ndr_print_spoolss_FormInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_FormInfo1 *r)
15926
ndr_print_struct(ndr, name, "spoolss_FormInfo1");
15928
ndr_print_spoolss_FormFlags(ndr, "flags", r->flags);
15929
ndr_print_ptr(ndr, "form_name", r->form_name);
15931
if (r->form_name) {
15932
ndr_print_string(ndr, "form_name", r->form_name);
15935
ndr_print_spoolss_FormSize(ndr, "size", &r->size);
15936
ndr_print_spoolss_FormArea(ndr, "area", &r->area);
15940
_PUBLIC_ size_t ndr_size_spoolss_FormInfo1(const struct spoolss_FormInfo1 *r, struct smb_iconv_convenience *ic, int flags)
15942
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_FormInfo1, ic);
15945
static enum ndr_err_code ndr_push_spoolss_FormStringType(struct ndr_push *ndr, int ndr_flags, uint32_t r)
15947
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
15948
return NDR_ERR_SUCCESS;
15951
static enum ndr_err_code ndr_pull_spoolss_FormStringType(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
15954
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
15956
return NDR_ERR_SUCCESS;
15959
_PUBLIC_ void ndr_print_spoolss_FormStringType(struct ndr_print *ndr, const char *name, uint32_t r)
15961
ndr_print_uint32(ndr, name, r);
15963
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_FORM_STRING_TYPE_NONE", SPOOLSS_FORM_STRING_TYPE_NONE, r);
15964
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_FORM_STRING_TYPE_MUI_DLL", SPOOLSS_FORM_STRING_TYPE_MUI_DLL, r);
15965
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_FORM_STRING_TYPE_LANG_PAIR", SPOOLSS_FORM_STRING_TYPE_LANG_PAIR, r);
15969
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormInfo2 *r)
15971
if (ndr_flags & NDR_SCALARS) {
15972
NDR_CHECK(ndr_push_align(ndr, 5));
15973
NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags));
15975
uint32_t _flags_save_string = ndr->flags;
15976
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15977
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->form_name));
15978
ndr->flags = _flags_save_string;
15980
NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
15981
NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
15983
uint32_t _flags_save_string = ndr->flags;
15984
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
15985
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->keyword));
15986
ndr->flags = _flags_save_string;
15988
NDR_CHECK(ndr_push_spoolss_FormStringType(ndr, NDR_SCALARS, r->string_type));
15990
uint32_t _flags_save_string = ndr->flags;
15991
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15992
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->mui_dll));
15993
ndr->flags = _flags_save_string;
15995
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ressource_id));
15997
uint32_t _flags_save_string = ndr->flags;
15998
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15999
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->display_name));
16000
ndr->flags = _flags_save_string;
16002
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lang_id));
16003
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unused));
16004
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
16006
if (ndr_flags & NDR_BUFFERS) {
16008
uint32_t _flags_save_string = ndr->flags;
16009
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16010
if (r->form_name) {
16011
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->form_name));
16012
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->form_name));
16013
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->form_name));
16015
ndr->flags = _flags_save_string;
16018
uint32_t _flags_save_string = ndr->flags;
16019
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
16021
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->keyword));
16022
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->keyword));
16023
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->keyword));
16025
ndr->flags = _flags_save_string;
16028
uint32_t _flags_save_string = ndr->flags;
16029
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16031
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->mui_dll));
16032
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->mui_dll));
16033
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->mui_dll));
16035
ndr->flags = _flags_save_string;
16038
uint32_t _flags_save_string = ndr->flags;
16039
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16040
if (r->display_name) {
16041
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->display_name));
16042
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->display_name));
16043
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->display_name));
16045
ndr->flags = _flags_save_string;
16048
return NDR_ERR_SUCCESS;
16051
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FormInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormInfo2 *r)
16053
uint32_t _ptr_form_name;
16054
TALLOC_CTX *_mem_save_form_name_0;
16055
uint32_t _ptr_keyword;
16056
TALLOC_CTX *_mem_save_keyword_0;
16057
uint32_t _ptr_mui_dll;
16058
TALLOC_CTX *_mem_save_mui_dll_0;
16059
uint32_t _ptr_display_name;
16060
TALLOC_CTX *_mem_save_display_name_0;
16061
if (ndr_flags & NDR_SCALARS) {
16062
NDR_CHECK(ndr_pull_align(ndr, 5));
16063
NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags));
16065
uint32_t _flags_save_string = ndr->flags;
16066
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16067
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name));
16068
if (_ptr_form_name) {
16069
NDR_PULL_ALLOC(ndr, r->form_name);
16070
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->form_name, _ptr_form_name));
16072
r->form_name = NULL;
16074
ndr->flags = _flags_save_string;
16076
NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
16077
NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
16079
uint32_t _flags_save_string = ndr->flags;
16080
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
16081
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_keyword));
16082
if (_ptr_keyword) {
16083
NDR_PULL_ALLOC(ndr, r->keyword);
16084
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->keyword, _ptr_keyword));
16088
ndr->flags = _flags_save_string;
16090
NDR_CHECK(ndr_pull_spoolss_FormStringType(ndr, NDR_SCALARS, &r->string_type));
16092
uint32_t _flags_save_string = ndr->flags;
16093
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16094
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mui_dll));
16095
if (_ptr_mui_dll) {
16096
NDR_PULL_ALLOC(ndr, r->mui_dll);
16097
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->mui_dll, _ptr_mui_dll));
16101
ndr->flags = _flags_save_string;
16103
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ressource_id));
16105
uint32_t _flags_save_string = ndr->flags;
16106
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16107
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name));
16108
if (_ptr_display_name) {
16109
NDR_PULL_ALLOC(ndr, r->display_name);
16110
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->display_name, _ptr_display_name));
16112
r->display_name = NULL;
16114
ndr->flags = _flags_save_string;
16116
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lang_id));
16117
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unused));
16118
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
16120
if (ndr_flags & NDR_BUFFERS) {
16122
uint32_t _flags_save_string = ndr->flags;
16123
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16124
if (r->form_name) {
16125
uint32_t _relative_save_offset;
16126
_relative_save_offset = ndr->offset;
16127
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->form_name));
16128
_mem_save_form_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16129
NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0);
16130
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->form_name));
16131
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0);
16132
ndr->offset = _relative_save_offset;
16134
ndr->flags = _flags_save_string;
16137
uint32_t _flags_save_string = ndr->flags;
16138
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
16140
uint32_t _relative_save_offset;
16141
_relative_save_offset = ndr->offset;
16142
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->keyword));
16143
_mem_save_keyword_0 = NDR_PULL_GET_MEM_CTX(ndr);
16144
NDR_PULL_SET_MEM_CTX(ndr, r->keyword, 0);
16145
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->keyword));
16146
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keyword_0, 0);
16147
ndr->offset = _relative_save_offset;
16149
ndr->flags = _flags_save_string;
16152
uint32_t _flags_save_string = ndr->flags;
16153
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16155
uint32_t _relative_save_offset;
16156
_relative_save_offset = ndr->offset;
16157
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->mui_dll));
16158
_mem_save_mui_dll_0 = NDR_PULL_GET_MEM_CTX(ndr);
16159
NDR_PULL_SET_MEM_CTX(ndr, r->mui_dll, 0);
16160
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->mui_dll));
16161
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mui_dll_0, 0);
16162
ndr->offset = _relative_save_offset;
16164
ndr->flags = _flags_save_string;
16167
uint32_t _flags_save_string = ndr->flags;
16168
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16169
if (r->display_name) {
16170
uint32_t _relative_save_offset;
16171
_relative_save_offset = ndr->offset;
16172
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->display_name));
16173
_mem_save_display_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16174
NDR_PULL_SET_MEM_CTX(ndr, r->display_name, 0);
16175
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->display_name));
16176
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, 0);
16177
ndr->offset = _relative_save_offset;
16179
ndr->flags = _flags_save_string;
16182
return NDR_ERR_SUCCESS;
16185
_PUBLIC_ void ndr_print_spoolss_FormInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_FormInfo2 *r)
16187
ndr_print_struct(ndr, name, "spoolss_FormInfo2");
16189
ndr_print_spoolss_FormFlags(ndr, "flags", r->flags);
16190
ndr_print_ptr(ndr, "form_name", r->form_name);
16192
if (r->form_name) {
16193
ndr_print_string(ndr, "form_name", r->form_name);
16196
ndr_print_spoolss_FormSize(ndr, "size", &r->size);
16197
ndr_print_spoolss_FormArea(ndr, "area", &r->area);
16198
ndr_print_ptr(ndr, "keyword", r->keyword);
16201
ndr_print_string(ndr, "keyword", r->keyword);
16204
ndr_print_spoolss_FormStringType(ndr, "string_type", r->string_type);
16205
ndr_print_ptr(ndr, "mui_dll", r->mui_dll);
16208
ndr_print_string(ndr, "mui_dll", r->mui_dll);
16211
ndr_print_uint32(ndr, "ressource_id", r->ressource_id);
16212
ndr_print_ptr(ndr, "display_name", r->display_name);
16214
if (r->display_name) {
16215
ndr_print_string(ndr, "display_name", r->display_name);
16218
ndr_print_uint16(ndr, "lang_id", r->lang_id);
16219
ndr_print_uint16(ndr, "unused", r->unused);
16223
_PUBLIC_ size_t ndr_size_spoolss_FormInfo2(const struct spoolss_FormInfo2 *r, struct smb_iconv_convenience *ic, int flags)
16225
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_FormInfo2, ic);
16228
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_FormInfo *r)
16230
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
16232
uint32_t _flags_save_UNION = ndr->flags;
16233
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
16234
if (ndr_flags & NDR_SCALARS) {
16235
int level = ndr_push_get_switch_value(ndr, r);
16236
NDR_CHECK(ndr_push_union_align(ndr, 5));
16239
NDR_CHECK(ndr_push_align(ndr, 5));
16240
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
16241
NDR_CHECK(ndr_push_spoolss_FormInfo1(ndr, NDR_SCALARS, &r->info1));
16245
NDR_CHECK(ndr_push_align(ndr, 5));
16246
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
16247
NDR_CHECK(ndr_push_spoolss_FormInfo2(ndr, NDR_SCALARS, &r->info2));
16255
if (ndr_flags & NDR_BUFFERS) {
16256
int level = ndr_push_get_switch_value(ndr, r);
16257
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
16260
NDR_CHECK(ndr_push_spoolss_FormInfo1(ndr, NDR_BUFFERS, &r->info1));
16264
NDR_CHECK(ndr_push_spoolss_FormInfo2(ndr, NDR_BUFFERS, &r->info2));
16272
ndr->flags = _flags_save_UNION;
16274
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
16275
return NDR_ERR_SUCCESS;
16278
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FormInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_FormInfo *r)
16280
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
16283
uint32_t _flags_save_UNION = ndr->flags;
16284
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
16285
level = ndr_pull_get_switch_value(ndr, r);
16286
if (ndr_flags & NDR_SCALARS) {
16287
NDR_CHECK(ndr_pull_union_align(ndr, 5));
16290
NDR_CHECK(ndr_pull_align(ndr, 5));
16291
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
16292
NDR_CHECK(ndr_pull_spoolss_FormInfo1(ndr, NDR_SCALARS, &r->info1));
16296
NDR_CHECK(ndr_pull_align(ndr, 5));
16297
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
16298
NDR_CHECK(ndr_pull_spoolss_FormInfo2(ndr, NDR_SCALARS, &r->info2));
16306
if (ndr_flags & NDR_BUFFERS) {
16307
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
16310
NDR_CHECK(ndr_pull_spoolss_FormInfo1(ndr, NDR_BUFFERS, &r->info1));
16314
NDR_CHECK(ndr_pull_spoolss_FormInfo2(ndr, NDR_BUFFERS, &r->info2));
16322
ndr->flags = _flags_save_UNION;
16324
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
16325
return NDR_ERR_SUCCESS;
16328
_PUBLIC_ void ndr_print_spoolss_FormInfo(struct ndr_print *ndr, const char *name, const union spoolss_FormInfo *r)
16332
uint32_t _flags_save_UNION = ndr->flags;
16333
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
16334
level = ndr_print_get_switch_value(ndr, r);
16335
ndr_print_union(ndr, name, level, "spoolss_FormInfo");
16338
ndr_print_spoolss_FormInfo1(ndr, "info1", &r->info1);
16342
ndr_print_spoolss_FormInfo2(ndr, "info2", &r->info2);
16349
ndr->flags = _flags_save_UNION;
16353
_PUBLIC_ size_t ndr_size_spoolss_FormInfo(const union spoolss_FormInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
16355
flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
16356
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_FormInfo, ic);
16359
static enum ndr_err_code ndr_push_spoolss_AddFormInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddFormInfo1 *r)
16361
if (ndr_flags & NDR_SCALARS) {
16362
NDR_CHECK(ndr_push_align(ndr, 5));
16363
NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags));
16364
NDR_CHECK(ndr_push_unique_ptr(ndr, r->form_name));
16365
NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
16366
NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
16367
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
16369
if (ndr_flags & NDR_BUFFERS) {
16370
if (r->form_name) {
16371
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->form_name, CH_UTF16)));
16372
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16373
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->form_name, CH_UTF16)));
16374
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->form_name, ndr_charset_length(r->form_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
16377
return NDR_ERR_SUCCESS;
16380
static enum ndr_err_code ndr_pull_spoolss_AddFormInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddFormInfo1 *r)
16382
uint32_t _ptr_form_name;
16383
TALLOC_CTX *_mem_save_form_name_0;
16384
if (ndr_flags & NDR_SCALARS) {
16385
NDR_CHECK(ndr_pull_align(ndr, 5));
16386
NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags));
16387
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name));
16388
if (_ptr_form_name) {
16389
NDR_PULL_ALLOC(ndr, r->form_name);
16391
r->form_name = NULL;
16393
NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
16394
NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
16395
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
16397
if (ndr_flags & NDR_BUFFERS) {
16398
if (r->form_name) {
16399
_mem_save_form_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16400
NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0);
16401
NDR_CHECK(ndr_pull_array_size(ndr, &r->form_name));
16402
NDR_CHECK(ndr_pull_array_length(ndr, &r->form_name));
16403
if (ndr_get_array_length(ndr, &r->form_name) > ndr_get_array_size(ndr, &r->form_name)) {
16404
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));
16406
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->form_name), sizeof(uint16_t)));
16407
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->form_name, ndr_get_array_length(ndr, &r->form_name), sizeof(uint16_t), CH_UTF16));
16408
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0);
16411
return NDR_ERR_SUCCESS;
16414
_PUBLIC_ void ndr_print_spoolss_AddFormInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_AddFormInfo1 *r)
16416
ndr_print_struct(ndr, name, "spoolss_AddFormInfo1");
16418
ndr_print_spoolss_FormFlags(ndr, "flags", r->flags);
16419
ndr_print_ptr(ndr, "form_name", r->form_name);
16421
if (r->form_name) {
16422
ndr_print_string(ndr, "form_name", r->form_name);
16425
ndr_print_spoolss_FormSize(ndr, "size", &r->size);
16426
ndr_print_spoolss_FormArea(ndr, "area", &r->area);
16430
static enum ndr_err_code ndr_push_spoolss_AddFormInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddFormInfo2 *r)
16432
if (ndr_flags & NDR_SCALARS) {
16433
NDR_CHECK(ndr_push_align(ndr, 5));
16434
NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags));
16435
NDR_CHECK(ndr_push_unique_ptr(ndr, r->form_name));
16436
NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
16437
NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
16438
NDR_CHECK(ndr_push_unique_ptr(ndr, r->keyword));
16439
NDR_CHECK(ndr_push_spoolss_FormStringType(ndr, NDR_SCALARS, r->string_type));
16440
NDR_CHECK(ndr_push_unique_ptr(ndr, r->mui_dll));
16441
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ressource_id));
16442
NDR_CHECK(ndr_push_unique_ptr(ndr, r->display_name));
16443
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lang_id));
16444
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
16446
if (ndr_flags & NDR_BUFFERS) {
16447
if (r->form_name) {
16448
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->form_name, CH_UTF16)));
16449
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16450
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->form_name, CH_UTF16)));
16451
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->form_name, ndr_charset_length(r->form_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
16454
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->keyword, CH_DOS)));
16455
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16456
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->keyword, CH_DOS)));
16457
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->keyword, ndr_charset_length(r->keyword, CH_DOS), sizeof(uint8_t), CH_DOS));
16460
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->mui_dll, CH_UTF16)));
16461
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16462
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->mui_dll, CH_UTF16)));
16463
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->mui_dll, ndr_charset_length(r->mui_dll, CH_UTF16), sizeof(uint16_t), CH_UTF16));
16465
if (r->display_name) {
16466
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->display_name, CH_UTF16)));
16467
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16468
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->display_name, CH_UTF16)));
16469
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->display_name, ndr_charset_length(r->display_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
16472
return NDR_ERR_SUCCESS;
16475
static enum ndr_err_code ndr_pull_spoolss_AddFormInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddFormInfo2 *r)
16477
uint32_t _ptr_form_name;
16478
TALLOC_CTX *_mem_save_form_name_0;
16479
uint32_t _ptr_keyword;
16480
TALLOC_CTX *_mem_save_keyword_0;
16481
uint32_t _ptr_mui_dll;
16482
TALLOC_CTX *_mem_save_mui_dll_0;
16483
uint32_t _ptr_display_name;
16484
TALLOC_CTX *_mem_save_display_name_0;
16485
if (ndr_flags & NDR_SCALARS) {
16486
NDR_CHECK(ndr_pull_align(ndr, 5));
16487
NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags));
16488
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name));
16489
if (_ptr_form_name) {
16490
NDR_PULL_ALLOC(ndr, r->form_name);
16492
r->form_name = NULL;
16494
NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
16495
NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
16496
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_keyword));
16497
if (_ptr_keyword) {
16498
NDR_PULL_ALLOC(ndr, r->keyword);
16502
NDR_CHECK(ndr_pull_spoolss_FormStringType(ndr, NDR_SCALARS, &r->string_type));
16503
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mui_dll));
16504
if (_ptr_mui_dll) {
16505
NDR_PULL_ALLOC(ndr, r->mui_dll);
16509
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ressource_id));
16510
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name));
16511
if (_ptr_display_name) {
16512
NDR_PULL_ALLOC(ndr, r->display_name);
16514
r->display_name = NULL;
16516
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lang_id));
16517
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
16519
if (ndr_flags & NDR_BUFFERS) {
16520
if (r->form_name) {
16521
_mem_save_form_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16522
NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0);
16523
NDR_CHECK(ndr_pull_array_size(ndr, &r->form_name));
16524
NDR_CHECK(ndr_pull_array_length(ndr, &r->form_name));
16525
if (ndr_get_array_length(ndr, &r->form_name) > ndr_get_array_size(ndr, &r->form_name)) {
16526
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));
16528
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->form_name), sizeof(uint16_t)));
16529
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->form_name, ndr_get_array_length(ndr, &r->form_name), sizeof(uint16_t), CH_UTF16));
16530
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0);
16533
_mem_save_keyword_0 = NDR_PULL_GET_MEM_CTX(ndr);
16534
NDR_PULL_SET_MEM_CTX(ndr, r->keyword, 0);
16535
NDR_CHECK(ndr_pull_array_size(ndr, &r->keyword));
16536
NDR_CHECK(ndr_pull_array_length(ndr, &r->keyword));
16537
if (ndr_get_array_length(ndr, &r->keyword) > ndr_get_array_size(ndr, &r->keyword)) {
16538
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));
16540
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->keyword), sizeof(uint8_t)));
16541
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->keyword, ndr_get_array_length(ndr, &r->keyword), sizeof(uint8_t), CH_DOS));
16542
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keyword_0, 0);
16545
_mem_save_mui_dll_0 = NDR_PULL_GET_MEM_CTX(ndr);
16546
NDR_PULL_SET_MEM_CTX(ndr, r->mui_dll, 0);
16547
NDR_CHECK(ndr_pull_array_size(ndr, &r->mui_dll));
16548
NDR_CHECK(ndr_pull_array_length(ndr, &r->mui_dll));
16549
if (ndr_get_array_length(ndr, &r->mui_dll) > ndr_get_array_size(ndr, &r->mui_dll)) {
16550
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));
16552
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->mui_dll), sizeof(uint16_t)));
16553
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->mui_dll, ndr_get_array_length(ndr, &r->mui_dll), sizeof(uint16_t), CH_UTF16));
16554
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mui_dll_0, 0);
16556
if (r->display_name) {
16557
_mem_save_display_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16558
NDR_PULL_SET_MEM_CTX(ndr, r->display_name, 0);
16559
NDR_CHECK(ndr_pull_array_size(ndr, &r->display_name));
16560
NDR_CHECK(ndr_pull_array_length(ndr, &r->display_name));
16561
if (ndr_get_array_length(ndr, &r->display_name) > ndr_get_array_size(ndr, &r->display_name)) {
16562
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));
16564
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->display_name), sizeof(uint16_t)));
16565
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->display_name, ndr_get_array_length(ndr, &r->display_name), sizeof(uint16_t), CH_UTF16));
16566
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, 0);
16569
return NDR_ERR_SUCCESS;
16572
_PUBLIC_ void ndr_print_spoolss_AddFormInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_AddFormInfo2 *r)
16574
ndr_print_struct(ndr, name, "spoolss_AddFormInfo2");
16576
ndr_print_spoolss_FormFlags(ndr, "flags", r->flags);
16577
ndr_print_ptr(ndr, "form_name", r->form_name);
16579
if (r->form_name) {
16580
ndr_print_string(ndr, "form_name", r->form_name);
16583
ndr_print_spoolss_FormSize(ndr, "size", &r->size);
16584
ndr_print_spoolss_FormArea(ndr, "area", &r->area);
16585
ndr_print_ptr(ndr, "keyword", r->keyword);
16588
ndr_print_string(ndr, "keyword", r->keyword);
16591
ndr_print_spoolss_FormStringType(ndr, "string_type", r->string_type);
16592
ndr_print_ptr(ndr, "mui_dll", r->mui_dll);
16595
ndr_print_string(ndr, "mui_dll", r->mui_dll);
16598
ndr_print_uint32(ndr, "ressource_id", r->ressource_id);
16599
ndr_print_ptr(ndr, "display_name", r->display_name);
16601
if (r->display_name) {
16602
ndr_print_string(ndr, "display_name", r->display_name);
16605
ndr_print_uint32(ndr, "lang_id", r->lang_id);
16609
static enum ndr_err_code ndr_push_spoolss_AddFormInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_AddFormInfo *r)
16611
if (ndr_flags & NDR_SCALARS) {
16612
int level = ndr_push_get_switch_value(ndr, r);
16613
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
16614
NDR_CHECK(ndr_push_union_align(ndr, 5));
16617
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
16621
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
16625
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
16628
if (ndr_flags & NDR_BUFFERS) {
16629
int level = ndr_push_get_switch_value(ndr, r);
16633
NDR_CHECK(ndr_push_spoolss_AddFormInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
16639
NDR_CHECK(ndr_push_spoolss_AddFormInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
16644
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
16647
return NDR_ERR_SUCCESS;
16650
static enum ndr_err_code ndr_pull_spoolss_AddFormInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_AddFormInfo *r)
16654
TALLOC_CTX *_mem_save_info1_0;
16655
TALLOC_CTX *_mem_save_info2_0;
16656
level = ndr_pull_get_switch_value(ndr, r);
16657
if (ndr_flags & NDR_SCALARS) {
16658
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
16659
if (_level != level) {
16660
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
16662
NDR_CHECK(ndr_pull_union_align(ndr, 5));
16665
uint32_t _ptr_info1;
16666
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
16668
NDR_PULL_ALLOC(ndr, r->info1);
16675
uint32_t _ptr_info2;
16676
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
16678
NDR_PULL_ALLOC(ndr, r->info2);
16685
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
16688
if (ndr_flags & NDR_BUFFERS) {
16692
_mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
16693
NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
16694
NDR_CHECK(ndr_pull_spoolss_AddFormInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
16695
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
16701
_mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
16702
NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
16703
NDR_CHECK(ndr_pull_spoolss_AddFormInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
16704
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
16709
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
16712
return NDR_ERR_SUCCESS;
16715
_PUBLIC_ void ndr_print_spoolss_AddFormInfo(struct ndr_print *ndr, const char *name, const union spoolss_AddFormInfo *r)
16718
level = ndr_print_get_switch_value(ndr, r);
16719
ndr_print_union(ndr, name, level, "spoolss_AddFormInfo");
16722
ndr_print_ptr(ndr, "info1", r->info1);
16725
ndr_print_spoolss_AddFormInfo1(ndr, "info1", r->info1);
16731
ndr_print_ptr(ndr, "info2", r->info2);
16734
ndr_print_spoolss_AddFormInfo2(ndr, "info2", r->info2);
16740
ndr_print_bad_level(ndr, name, level);
16744
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfo1 *r)
16746
if (ndr_flags & NDR_SCALARS) {
16747
NDR_CHECK(ndr_push_align(ndr, 5));
16749
uint32_t _flags_save_string = ndr->flags;
16750
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16751
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->port_name));
16752
ndr->flags = _flags_save_string;
16754
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
16756
if (ndr_flags & NDR_BUFFERS) {
16758
uint32_t _flags_save_string = ndr->flags;
16759
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16760
if (r->port_name) {
16761
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name));
16762
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name));
16763
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->port_name));
16765
ndr->flags = _flags_save_string;
16768
return NDR_ERR_SUCCESS;
16771
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfo1 *r)
16773
uint32_t _ptr_port_name;
16774
TALLOC_CTX *_mem_save_port_name_0;
16775
if (ndr_flags & NDR_SCALARS) {
16776
NDR_CHECK(ndr_pull_align(ndr, 5));
16778
uint32_t _flags_save_string = ndr->flags;
16779
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16780
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name));
16781
if (_ptr_port_name) {
16782
NDR_PULL_ALLOC(ndr, r->port_name);
16783
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->port_name, _ptr_port_name));
16785
r->port_name = NULL;
16787
ndr->flags = _flags_save_string;
16789
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
16791
if (ndr_flags & NDR_BUFFERS) {
16793
uint32_t _flags_save_string = ndr->flags;
16794
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16795
if (r->port_name) {
16796
uint32_t _relative_save_offset;
16797
_relative_save_offset = ndr->offset;
16798
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->port_name));
16799
_mem_save_port_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16800
NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0);
16801
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->port_name));
16802
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0);
16803
ndr->offset = _relative_save_offset;
16805
ndr->flags = _flags_save_string;
16808
return NDR_ERR_SUCCESS;
16811
_PUBLIC_ void ndr_print_spoolss_PortInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfo1 *r)
16813
ndr_print_struct(ndr, name, "spoolss_PortInfo1");
16815
ndr_print_ptr(ndr, "port_name", r->port_name);
16817
if (r->port_name) {
16818
ndr_print_string(ndr, "port_name", r->port_name);
16824
_PUBLIC_ size_t ndr_size_spoolss_PortInfo1(const struct spoolss_PortInfo1 *r, struct smb_iconv_convenience *ic, int flags)
16826
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PortInfo1, ic);
16829
static enum ndr_err_code ndr_push_spoolss_PortType(struct ndr_push *ndr, int ndr_flags, uint32_t r)
16831
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
16832
return NDR_ERR_SUCCESS;
16835
static enum ndr_err_code ndr_pull_spoolss_PortType(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
16838
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
16840
return NDR_ERR_SUCCESS;
16843
_PUBLIC_ void ndr_print_spoolss_PortType(struct ndr_print *ndr, const char *name, uint32_t r)
16845
ndr_print_uint32(ndr, name, r);
16847
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_WRITE", SPOOLSS_PORT_TYPE_WRITE, r);
16848
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_READ", SPOOLSS_PORT_TYPE_READ, r);
16849
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_REDIRECTED", SPOOLSS_PORT_TYPE_REDIRECTED, r);
16850
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_NET_ATTACHED", SPOOLSS_PORT_TYPE_NET_ATTACHED, r);
16854
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfo2 *r)
16856
if (ndr_flags & NDR_SCALARS) {
16857
NDR_CHECK(ndr_push_align(ndr, 5));
16859
uint32_t _flags_save_string = ndr->flags;
16860
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16861
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->port_name));
16862
ndr->flags = _flags_save_string;
16865
uint32_t _flags_save_string = ndr->flags;
16866
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16867
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
16868
ndr->flags = _flags_save_string;
16871
uint32_t _flags_save_string = ndr->flags;
16872
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16873
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->description));
16874
ndr->flags = _flags_save_string;
16876
NDR_CHECK(ndr_push_spoolss_PortType(ndr, NDR_SCALARS, r->port_type));
16877
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
16878
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
16880
if (ndr_flags & NDR_BUFFERS) {
16882
uint32_t _flags_save_string = ndr->flags;
16883
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16884
if (r->port_name) {
16885
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name));
16886
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name));
16887
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->port_name));
16889
ndr->flags = _flags_save_string;
16892
uint32_t _flags_save_string = ndr->flags;
16893
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16894
if (r->monitor_name) {
16895
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
16896
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
16897
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
16899
ndr->flags = _flags_save_string;
16902
uint32_t _flags_save_string = ndr->flags;
16903
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16904
if (r->description) {
16905
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->description));
16906
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description));
16907
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->description));
16909
ndr->flags = _flags_save_string;
16912
return NDR_ERR_SUCCESS;
16915
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfo2 *r)
16917
uint32_t _ptr_port_name;
16918
TALLOC_CTX *_mem_save_port_name_0;
16919
uint32_t _ptr_monitor_name;
16920
TALLOC_CTX *_mem_save_monitor_name_0;
16921
uint32_t _ptr_description;
16922
TALLOC_CTX *_mem_save_description_0;
16923
if (ndr_flags & NDR_SCALARS) {
16924
NDR_CHECK(ndr_pull_align(ndr, 5));
16926
uint32_t _flags_save_string = ndr->flags;
16927
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16928
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name));
16929
if (_ptr_port_name) {
16930
NDR_PULL_ALLOC(ndr, r->port_name);
16931
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->port_name, _ptr_port_name));
16933
r->port_name = NULL;
16935
ndr->flags = _flags_save_string;
16938
uint32_t _flags_save_string = ndr->flags;
16939
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16940
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
16941
if (_ptr_monitor_name) {
16942
NDR_PULL_ALLOC(ndr, r->monitor_name);
16943
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
16945
r->monitor_name = NULL;
16947
ndr->flags = _flags_save_string;
16950
uint32_t _flags_save_string = ndr->flags;
16951
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16952
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description));
16953
if (_ptr_description) {
16954
NDR_PULL_ALLOC(ndr, r->description);
16955
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->description, _ptr_description));
16957
r->description = NULL;
16959
ndr->flags = _flags_save_string;
16961
NDR_CHECK(ndr_pull_spoolss_PortType(ndr, NDR_SCALARS, &r->port_type));
16962
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
16963
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
16965
if (ndr_flags & NDR_BUFFERS) {
16967
uint32_t _flags_save_string = ndr->flags;
16968
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16969
if (r->port_name) {
16970
uint32_t _relative_save_offset;
16971
_relative_save_offset = ndr->offset;
16972
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->port_name));
16973
_mem_save_port_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16974
NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0);
16975
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->port_name));
16976
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0);
16977
ndr->offset = _relative_save_offset;
16979
ndr->flags = _flags_save_string;
16982
uint32_t _flags_save_string = ndr->flags;
16983
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16984
if (r->monitor_name) {
16985
uint32_t _relative_save_offset;
16986
_relative_save_offset = ndr->offset;
16987
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
16988
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16989
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
16990
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
16991
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
16992
ndr->offset = _relative_save_offset;
16994
ndr->flags = _flags_save_string;
16997
uint32_t _flags_save_string = ndr->flags;
16998
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16999
if (r->description) {
17000
uint32_t _relative_save_offset;
17001
_relative_save_offset = ndr->offset;
17002
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->description));
17003
_mem_save_description_0 = NDR_PULL_GET_MEM_CTX(ndr);
17004
NDR_PULL_SET_MEM_CTX(ndr, r->description, 0);
17005
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->description));
17006
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0);
17007
ndr->offset = _relative_save_offset;
17009
ndr->flags = _flags_save_string;
17012
return NDR_ERR_SUCCESS;
17015
_PUBLIC_ void ndr_print_spoolss_PortInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfo2 *r)
17017
ndr_print_struct(ndr, name, "spoolss_PortInfo2");
17019
ndr_print_ptr(ndr, "port_name", r->port_name);
17021
if (r->port_name) {
17022
ndr_print_string(ndr, "port_name", r->port_name);
17025
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
17027
if (r->monitor_name) {
17028
ndr_print_string(ndr, "monitor_name", r->monitor_name);
17031
ndr_print_ptr(ndr, "description", r->description);
17033
if (r->description) {
17034
ndr_print_string(ndr, "description", r->description);
17037
ndr_print_spoolss_PortType(ndr, "port_type", r->port_type);
17038
ndr_print_uint32(ndr, "reserved", r->reserved);
17042
_PUBLIC_ size_t ndr_size_spoolss_PortInfo2(const struct spoolss_PortInfo2 *r, struct smb_iconv_convenience *ic, int flags)
17044
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PortInfo2, ic);
17047
static enum ndr_err_code ndr_push_spoolss_PortStatus(struct ndr_push *ndr, int ndr_flags, enum spoolss_PortStatus r)
17049
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
17050
return NDR_ERR_SUCCESS;
17053
static enum ndr_err_code ndr_pull_spoolss_PortStatus(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PortStatus *r)
17056
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
17058
return NDR_ERR_SUCCESS;
17061
_PUBLIC_ void ndr_print_spoolss_PortStatus(struct ndr_print *ndr, const char *name, enum spoolss_PortStatus r)
17063
const char *val = NULL;
17066
case PORT_STATUS_CLEAR: val = "PORT_STATUS_CLEAR"; break;
17067
case PORT_STATUS_OFFLINE: val = "PORT_STATUS_OFFLINE"; break;
17068
case PORT_STATUS_PAPER_JAM: val = "PORT_STATUS_PAPER_JAM"; break;
17069
case PORT_STATUS_PAPER_OUT: val = "PORT_STATUS_PAPER_OUT"; break;
17070
case PORT_STATUS_OUTPUT_BIN_FULL: val = "PORT_STATUS_OUTPUT_BIN_FULL"; break;
17071
case PORT_STATUS_PAPER_PROBLEM: val = "PORT_STATUS_PAPER_PROBLEM"; break;
17072
case PORT_STATUS_NO_TONER: val = "PORT_STATUS_NO_TONER"; break;
17073
case PORT_STATUS_DOOR_OPEN: val = "PORT_STATUS_DOOR_OPEN"; break;
17074
case PORT_STATUS_USER_INTERVENTION: val = "PORT_STATUS_USER_INTERVENTION"; break;
17075
case PORT_STATUS_OUT_OF_MEMORY: val = "PORT_STATUS_OUT_OF_MEMORY"; break;
17076
case PORT_STATUS_TONER_LOW: val = "PORT_STATUS_TONER_LOW"; break;
17077
case PORT_STATUS_WARMING_UP: val = "PORT_STATUS_WARMING_UP"; break;
17078
case PORT_STATUS_POWER_SAVE: val = "PORT_STATUS_POWER_SAVE"; break;
17080
ndr_print_enum(ndr, name, "ENUM", val, r);
17083
static enum ndr_err_code ndr_push_spoolss_PortSeverity(struct ndr_push *ndr, int ndr_flags, enum spoolss_PortSeverity r)
17085
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
17086
return NDR_ERR_SUCCESS;
17089
static enum ndr_err_code ndr_pull_spoolss_PortSeverity(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PortSeverity *r)
17092
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
17094
return NDR_ERR_SUCCESS;
17097
_PUBLIC_ void ndr_print_spoolss_PortSeverity(struct ndr_print *ndr, const char *name, enum spoolss_PortSeverity r)
17099
const char *val = NULL;
17102
case PORT_STATUS_TYPE_ERROR: val = "PORT_STATUS_TYPE_ERROR"; break;
17103
case PORT_STATUS_TYPE_WARNING: val = "PORT_STATUS_TYPE_WARNING"; break;
17104
case PORT_STATUS_TYPE_INFO: val = "PORT_STATUS_TYPE_INFO"; break;
17106
ndr_print_enum(ndr, name, "ENUM", val, r);
17109
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfo3 *r)
17111
if (ndr_flags & NDR_SCALARS) {
17112
NDR_CHECK(ndr_push_align(ndr, 5));
17113
NDR_CHECK(ndr_push_spoolss_PortStatus(ndr, NDR_SCALARS, r->status));
17115
uint32_t _flags_save_string = ndr->flags;
17116
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17117
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->status_string));
17118
ndr->flags = _flags_save_string;
17120
NDR_CHECK(ndr_push_spoolss_PortSeverity(ndr, NDR_SCALARS, r->severity));
17121
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
17123
if (ndr_flags & NDR_BUFFERS) {
17125
uint32_t _flags_save_string = ndr->flags;
17126
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17127
if (r->status_string) {
17128
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->status_string));
17129
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->status_string));
17130
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->status_string));
17132
ndr->flags = _flags_save_string;
17135
return NDR_ERR_SUCCESS;
17138
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfo3 *r)
17140
uint32_t _ptr_status_string;
17141
TALLOC_CTX *_mem_save_status_string_0;
17142
if (ndr_flags & NDR_SCALARS) {
17143
NDR_CHECK(ndr_pull_align(ndr, 5));
17144
NDR_CHECK(ndr_pull_spoolss_PortStatus(ndr, NDR_SCALARS, &r->status));
17146
uint32_t _flags_save_string = ndr->flags;
17147
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17148
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_status_string));
17149
if (_ptr_status_string) {
17150
NDR_PULL_ALLOC(ndr, r->status_string);
17151
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->status_string, _ptr_status_string));
17153
r->status_string = NULL;
17155
ndr->flags = _flags_save_string;
17157
NDR_CHECK(ndr_pull_spoolss_PortSeverity(ndr, NDR_SCALARS, &r->severity));
17158
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
17160
if (ndr_flags & NDR_BUFFERS) {
17162
uint32_t _flags_save_string = ndr->flags;
17163
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17164
if (r->status_string) {
17165
uint32_t _relative_save_offset;
17166
_relative_save_offset = ndr->offset;
17167
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->status_string));
17168
_mem_save_status_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
17169
NDR_PULL_SET_MEM_CTX(ndr, r->status_string, 0);
17170
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->status_string));
17171
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_status_string_0, 0);
17172
ndr->offset = _relative_save_offset;
17174
ndr->flags = _flags_save_string;
17177
return NDR_ERR_SUCCESS;
17180
_PUBLIC_ void ndr_print_spoolss_PortInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfo3 *r)
17182
ndr_print_struct(ndr, name, "spoolss_PortInfo3");
17184
ndr_print_spoolss_PortStatus(ndr, "status", r->status);
17185
ndr_print_ptr(ndr, "status_string", r->status_string);
17187
if (r->status_string) {
17188
ndr_print_string(ndr, "status_string", r->status_string);
17191
ndr_print_spoolss_PortSeverity(ndr, "severity", r->severity);
17195
_PUBLIC_ size_t ndr_size_spoolss_PortInfo3(const struct spoolss_PortInfo3 *r, struct smb_iconv_convenience *ic, int flags)
17197
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PortInfo3, ic);
17200
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfoFF(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfoFF *r)
17202
if (ndr_flags & NDR_SCALARS) {
17203
NDR_CHECK(ndr_push_align(ndr, 5));
17205
uint32_t _flags_save_string = ndr->flags;
17206
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17207
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->port_name));
17208
ndr->flags = _flags_save_string;
17210
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->monitor_data));
17211
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
17213
if (ndr_flags & NDR_BUFFERS) {
17215
uint32_t _flags_save_string = ndr->flags;
17216
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17217
if (r->port_name) {
17218
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name));
17219
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name));
17220
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->port_name));
17222
ndr->flags = _flags_save_string;
17225
return NDR_ERR_SUCCESS;
17228
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfoFF(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfoFF *r)
17230
uint32_t _ptr_port_name;
17231
TALLOC_CTX *_mem_save_port_name_0;
17232
if (ndr_flags & NDR_SCALARS) {
17233
NDR_CHECK(ndr_pull_align(ndr, 5));
17235
uint32_t _flags_save_string = ndr->flags;
17236
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17237
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name));
17238
if (_ptr_port_name) {
17239
NDR_PULL_ALLOC(ndr, r->port_name);
17240
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->port_name, _ptr_port_name));
17242
r->port_name = NULL;
17244
ndr->flags = _flags_save_string;
17246
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->monitor_data));
17247
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
17249
if (ndr_flags & NDR_BUFFERS) {
17251
uint32_t _flags_save_string = ndr->flags;
17252
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17253
if (r->port_name) {
17254
uint32_t _relative_save_offset;
17255
_relative_save_offset = ndr->offset;
17256
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->port_name));
17257
_mem_save_port_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17258
NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0);
17259
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->port_name));
17260
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0);
17261
ndr->offset = _relative_save_offset;
17263
ndr->flags = _flags_save_string;
17266
return NDR_ERR_SUCCESS;
17269
_PUBLIC_ void ndr_print_spoolss_PortInfoFF(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfoFF *r)
17271
ndr_print_struct(ndr, name, "spoolss_PortInfoFF");
17273
ndr_print_ptr(ndr, "port_name", r->port_name);
17275
if (r->port_name) {
17276
ndr_print_string(ndr, "port_name", r->port_name);
17279
ndr_print_DATA_BLOB(ndr, "monitor_data", r->monitor_data);
17283
_PUBLIC_ size_t ndr_size_spoolss_PortInfoFF(const struct spoolss_PortInfoFF *r, struct smb_iconv_convenience *ic, int flags)
17285
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PortInfoFF, ic);
17288
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PortInfo *r)
17290
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
17292
uint32_t _flags_save_UNION = ndr->flags;
17293
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
17294
if (ndr_flags & NDR_SCALARS) {
17295
int level = ndr_push_get_switch_value(ndr, r);
17296
NDR_CHECK(ndr_push_union_align(ndr, 5));
17299
NDR_CHECK(ndr_push_align(ndr, 5));
17300
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
17301
NDR_CHECK(ndr_push_spoolss_PortInfo1(ndr, NDR_SCALARS, &r->info1));
17305
NDR_CHECK(ndr_push_align(ndr, 5));
17306
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
17307
NDR_CHECK(ndr_push_spoolss_PortInfo2(ndr, NDR_SCALARS, &r->info2));
17311
NDR_CHECK(ndr_push_align(ndr, 5));
17312
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
17313
NDR_CHECK(ndr_push_spoolss_PortInfo3(ndr, NDR_SCALARS, &r->info3));
17317
NDR_CHECK(ndr_push_align(ndr, 5));
17318
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
17319
NDR_CHECK(ndr_push_spoolss_PortInfoFF(ndr, NDR_SCALARS, &r->infoFF));
17327
if (ndr_flags & NDR_BUFFERS) {
17328
int level = ndr_push_get_switch_value(ndr, r);
17329
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
17332
NDR_CHECK(ndr_push_spoolss_PortInfo1(ndr, NDR_BUFFERS, &r->info1));
17336
NDR_CHECK(ndr_push_spoolss_PortInfo2(ndr, NDR_BUFFERS, &r->info2));
17340
NDR_CHECK(ndr_push_spoolss_PortInfo3(ndr, NDR_BUFFERS, &r->info3));
17344
NDR_CHECK(ndr_push_spoolss_PortInfoFF(ndr, NDR_BUFFERS, &r->infoFF));
17352
ndr->flags = _flags_save_UNION;
17354
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
17355
return NDR_ERR_SUCCESS;
17358
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PortInfo *r)
17360
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
17363
uint32_t _flags_save_UNION = ndr->flags;
17364
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
17365
level = ndr_pull_get_switch_value(ndr, r);
17366
if (ndr_flags & NDR_SCALARS) {
17367
NDR_CHECK(ndr_pull_union_align(ndr, 5));
17370
NDR_CHECK(ndr_pull_align(ndr, 5));
17371
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
17372
NDR_CHECK(ndr_pull_spoolss_PortInfo1(ndr, NDR_SCALARS, &r->info1));
17376
NDR_CHECK(ndr_pull_align(ndr, 5));
17377
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
17378
NDR_CHECK(ndr_pull_spoolss_PortInfo2(ndr, NDR_SCALARS, &r->info2));
17382
NDR_CHECK(ndr_pull_align(ndr, 5));
17383
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
17384
NDR_CHECK(ndr_pull_spoolss_PortInfo3(ndr, NDR_SCALARS, &r->info3));
17388
NDR_CHECK(ndr_pull_align(ndr, 5));
17389
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
17390
NDR_CHECK(ndr_pull_spoolss_PortInfoFF(ndr, NDR_SCALARS, &r->infoFF));
17398
if (ndr_flags & NDR_BUFFERS) {
17399
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
17402
NDR_CHECK(ndr_pull_spoolss_PortInfo1(ndr, NDR_BUFFERS, &r->info1));
17406
NDR_CHECK(ndr_pull_spoolss_PortInfo2(ndr, NDR_BUFFERS, &r->info2));
17410
NDR_CHECK(ndr_pull_spoolss_PortInfo3(ndr, NDR_BUFFERS, &r->info3));
17414
NDR_CHECK(ndr_pull_spoolss_PortInfoFF(ndr, NDR_BUFFERS, &r->infoFF));
17422
ndr->flags = _flags_save_UNION;
17424
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
17425
return NDR_ERR_SUCCESS;
17428
_PUBLIC_ void ndr_print_spoolss_PortInfo(struct ndr_print *ndr, const char *name, const union spoolss_PortInfo *r)
17432
uint32_t _flags_save_UNION = ndr->flags;
17433
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
17434
level = ndr_print_get_switch_value(ndr, r);
17435
ndr_print_union(ndr, name, level, "spoolss_PortInfo");
17438
ndr_print_spoolss_PortInfo1(ndr, "info1", &r->info1);
17442
ndr_print_spoolss_PortInfo2(ndr, "info2", &r->info2);
17446
ndr_print_spoolss_PortInfo3(ndr, "info3", &r->info3);
17450
ndr_print_spoolss_PortInfoFF(ndr, "infoFF", &r->infoFF);
17457
ndr->flags = _flags_save_UNION;
17461
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorInfo1 *r)
17463
if (ndr_flags & NDR_SCALARS) {
17464
NDR_CHECK(ndr_push_align(ndr, 5));
17466
uint32_t _flags_save_string = ndr->flags;
17467
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17468
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
17469
ndr->flags = _flags_save_string;
17471
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
17473
if (ndr_flags & NDR_BUFFERS) {
17475
uint32_t _flags_save_string = ndr->flags;
17476
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17477
if (r->monitor_name) {
17478
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
17479
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
17480
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
17482
ndr->flags = _flags_save_string;
17485
return NDR_ERR_SUCCESS;
17488
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_MonitorInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorInfo1 *r)
17490
uint32_t _ptr_monitor_name;
17491
TALLOC_CTX *_mem_save_monitor_name_0;
17492
if (ndr_flags & NDR_SCALARS) {
17493
NDR_CHECK(ndr_pull_align(ndr, 5));
17495
uint32_t _flags_save_string = ndr->flags;
17496
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17497
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
17498
if (_ptr_monitor_name) {
17499
NDR_PULL_ALLOC(ndr, r->monitor_name);
17500
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
17502
r->monitor_name = NULL;
17504
ndr->flags = _flags_save_string;
17506
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
17508
if (ndr_flags & NDR_BUFFERS) {
17510
uint32_t _flags_save_string = ndr->flags;
17511
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17512
if (r->monitor_name) {
17513
uint32_t _relative_save_offset;
17514
_relative_save_offset = ndr->offset;
17515
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
17516
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17517
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
17518
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
17519
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
17520
ndr->offset = _relative_save_offset;
17522
ndr->flags = _flags_save_string;
17525
return NDR_ERR_SUCCESS;
17528
_PUBLIC_ void ndr_print_spoolss_MonitorInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_MonitorInfo1 *r)
17530
ndr_print_struct(ndr, name, "spoolss_MonitorInfo1");
17532
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
17534
if (r->monitor_name) {
17535
ndr_print_string(ndr, "monitor_name", r->monitor_name);
17541
_PUBLIC_ size_t ndr_size_spoolss_MonitorInfo1(const struct spoolss_MonitorInfo1 *r, struct smb_iconv_convenience *ic, int flags)
17543
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_MonitorInfo1, ic);
17546
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorInfo2 *r)
17548
if (ndr_flags & NDR_SCALARS) {
17549
NDR_CHECK(ndr_push_align(ndr, 5));
17551
uint32_t _flags_save_string = ndr->flags;
17552
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17553
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
17554
ndr->flags = _flags_save_string;
17557
uint32_t _flags_save_string = ndr->flags;
17558
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17559
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->environment));
17560
ndr->flags = _flags_save_string;
17563
uint32_t _flags_save_string = ndr->flags;
17564
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17565
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dll_name));
17566
ndr->flags = _flags_save_string;
17568
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
17570
if (ndr_flags & NDR_BUFFERS) {
17572
uint32_t _flags_save_string = ndr->flags;
17573
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17574
if (r->monitor_name) {
17575
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
17576
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
17577
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
17579
ndr->flags = _flags_save_string;
17582
uint32_t _flags_save_string = ndr->flags;
17583
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17584
if (r->environment) {
17585
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->environment));
17586
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->environment));
17587
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->environment));
17589
ndr->flags = _flags_save_string;
17592
uint32_t _flags_save_string = ndr->flags;
17593
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17595
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dll_name));
17596
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dll_name));
17597
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dll_name));
17599
ndr->flags = _flags_save_string;
17602
return NDR_ERR_SUCCESS;
17605
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_MonitorInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorInfo2 *r)
17607
uint32_t _ptr_monitor_name;
17608
TALLOC_CTX *_mem_save_monitor_name_0;
17609
uint32_t _ptr_environment;
17610
TALLOC_CTX *_mem_save_environment_0;
17611
uint32_t _ptr_dll_name;
17612
TALLOC_CTX *_mem_save_dll_name_0;
17613
if (ndr_flags & NDR_SCALARS) {
17614
NDR_CHECK(ndr_pull_align(ndr, 5));
17616
uint32_t _flags_save_string = ndr->flags;
17617
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17618
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
17619
if (_ptr_monitor_name) {
17620
NDR_PULL_ALLOC(ndr, r->monitor_name);
17621
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
17623
r->monitor_name = NULL;
17625
ndr->flags = _flags_save_string;
17628
uint32_t _flags_save_string = ndr->flags;
17629
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17630
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
17631
if (_ptr_environment) {
17632
NDR_PULL_ALLOC(ndr, r->environment);
17633
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->environment, _ptr_environment));
17635
r->environment = NULL;
17637
ndr->flags = _flags_save_string;
17640
uint32_t _flags_save_string = ndr->flags;
17641
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17642
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dll_name));
17643
if (_ptr_dll_name) {
17644
NDR_PULL_ALLOC(ndr, r->dll_name);
17645
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dll_name, _ptr_dll_name));
17647
r->dll_name = NULL;
17649
ndr->flags = _flags_save_string;
17651
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
17653
if (ndr_flags & NDR_BUFFERS) {
17655
uint32_t _flags_save_string = ndr->flags;
17656
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17657
if (r->monitor_name) {
17658
uint32_t _relative_save_offset;
17659
_relative_save_offset = ndr->offset;
17660
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
17661
_mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17662
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
17663
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
17664
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
17665
ndr->offset = _relative_save_offset;
17667
ndr->flags = _flags_save_string;
17670
uint32_t _flags_save_string = ndr->flags;
17671
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17672
if (r->environment) {
17673
uint32_t _relative_save_offset;
17674
_relative_save_offset = ndr->offset;
17675
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->environment));
17676
_mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
17677
NDR_PULL_SET_MEM_CTX(ndr, r->environment, 0);
17678
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->environment));
17679
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
17680
ndr->offset = _relative_save_offset;
17682
ndr->flags = _flags_save_string;
17685
uint32_t _flags_save_string = ndr->flags;
17686
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17688
uint32_t _relative_save_offset;
17689
_relative_save_offset = ndr->offset;
17690
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dll_name));
17691
_mem_save_dll_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17692
NDR_PULL_SET_MEM_CTX(ndr, r->dll_name, 0);
17693
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dll_name));
17694
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dll_name_0, 0);
17695
ndr->offset = _relative_save_offset;
17697
ndr->flags = _flags_save_string;
17700
return NDR_ERR_SUCCESS;
17703
_PUBLIC_ void ndr_print_spoolss_MonitorInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_MonitorInfo2 *r)
17705
ndr_print_struct(ndr, name, "spoolss_MonitorInfo2");
17707
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
17709
if (r->monitor_name) {
17710
ndr_print_string(ndr, "monitor_name", r->monitor_name);
17713
ndr_print_ptr(ndr, "environment", r->environment);
17715
if (r->environment) {
17716
ndr_print_string(ndr, "environment", r->environment);
17719
ndr_print_ptr(ndr, "dll_name", r->dll_name);
17722
ndr_print_string(ndr, "dll_name", r->dll_name);
17728
_PUBLIC_ size_t ndr_size_spoolss_MonitorInfo2(const struct spoolss_MonitorInfo2 *r, struct smb_iconv_convenience *ic, int flags)
17730
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_MonitorInfo2, ic);
17733
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_MonitorInfo *r)
17735
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
17737
uint32_t _flags_save_UNION = ndr->flags;
17738
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
17739
if (ndr_flags & NDR_SCALARS) {
17740
int level = ndr_push_get_switch_value(ndr, r);
17741
NDR_CHECK(ndr_push_union_align(ndr, 5));
17744
NDR_CHECK(ndr_push_align(ndr, 5));
17745
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
17746
NDR_CHECK(ndr_push_spoolss_MonitorInfo1(ndr, NDR_SCALARS, &r->info1));
17750
NDR_CHECK(ndr_push_align(ndr, 5));
17751
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
17752
NDR_CHECK(ndr_push_spoolss_MonitorInfo2(ndr, NDR_SCALARS, &r->info2));
17760
if (ndr_flags & NDR_BUFFERS) {
17761
int level = ndr_push_get_switch_value(ndr, r);
17762
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
17765
NDR_CHECK(ndr_push_spoolss_MonitorInfo1(ndr, NDR_BUFFERS, &r->info1));
17769
NDR_CHECK(ndr_push_spoolss_MonitorInfo2(ndr, NDR_BUFFERS, &r->info2));
17777
ndr->flags = _flags_save_UNION;
17779
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
17780
return NDR_ERR_SUCCESS;
17783
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_MonitorInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_MonitorInfo *r)
17785
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
17788
uint32_t _flags_save_UNION = ndr->flags;
17789
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
17790
level = ndr_pull_get_switch_value(ndr, r);
17791
if (ndr_flags & NDR_SCALARS) {
17792
NDR_CHECK(ndr_pull_union_align(ndr, 5));
17795
NDR_CHECK(ndr_pull_align(ndr, 5));
17796
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
17797
NDR_CHECK(ndr_pull_spoolss_MonitorInfo1(ndr, NDR_SCALARS, &r->info1));
17801
NDR_CHECK(ndr_pull_align(ndr, 5));
17802
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
17803
NDR_CHECK(ndr_pull_spoolss_MonitorInfo2(ndr, NDR_SCALARS, &r->info2));
17811
if (ndr_flags & NDR_BUFFERS) {
17812
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
17815
NDR_CHECK(ndr_pull_spoolss_MonitorInfo1(ndr, NDR_BUFFERS, &r->info1));
17819
NDR_CHECK(ndr_pull_spoolss_MonitorInfo2(ndr, NDR_BUFFERS, &r->info2));
17827
ndr->flags = _flags_save_UNION;
17829
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
17830
return NDR_ERR_SUCCESS;
17833
_PUBLIC_ void ndr_print_spoolss_MonitorInfo(struct ndr_print *ndr, const char *name, const union spoolss_MonitorInfo *r)
17837
uint32_t _flags_save_UNION = ndr->flags;
17838
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
17839
level = ndr_print_get_switch_value(ndr, r);
17840
ndr_print_union(ndr, name, level, "spoolss_MonitorInfo");
17843
ndr_print_spoolss_MonitorInfo1(ndr, "info1", &r->info1);
17847
ndr_print_spoolss_MonitorInfo2(ndr, "info2", &r->info2);
17854
ndr->flags = _flags_save_UNION;
17858
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcDataTypesInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrintProcDataTypesInfo1 *r)
17860
if (ndr_flags & NDR_SCALARS) {
17861
NDR_CHECK(ndr_push_align(ndr, 5));
17863
uint32_t _flags_save_string = ndr->flags;
17864
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17865
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->name_array));
17866
ndr->flags = _flags_save_string;
17868
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
17870
if (ndr_flags & NDR_BUFFERS) {
17872
uint32_t _flags_save_string = ndr->flags;
17873
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17874
if (r->name_array) {
17875
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->name_array));
17876
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name_array));
17877
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->name_array));
17879
ndr->flags = _flags_save_string;
17882
return NDR_ERR_SUCCESS;
17885
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcDataTypesInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrintProcDataTypesInfo1 *r)
17887
uint32_t _ptr_name_array;
17888
TALLOC_CTX *_mem_save_name_array_0;
17889
if (ndr_flags & NDR_SCALARS) {
17890
NDR_CHECK(ndr_pull_align(ndr, 5));
17892
uint32_t _flags_save_string = ndr->flags;
17893
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17894
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name_array));
17895
if (_ptr_name_array) {
17896
NDR_PULL_ALLOC(ndr, r->name_array);
17897
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->name_array, _ptr_name_array));
17899
r->name_array = NULL;
17901
ndr->flags = _flags_save_string;
17903
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
17905
if (ndr_flags & NDR_BUFFERS) {
17907
uint32_t _flags_save_string = ndr->flags;
17908
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17909
if (r->name_array) {
17910
uint32_t _relative_save_offset;
17911
_relative_save_offset = ndr->offset;
17912
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->name_array));
17913
_mem_save_name_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
17914
NDR_PULL_SET_MEM_CTX(ndr, r->name_array, 0);
17915
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name_array));
17916
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_array_0, 0);
17917
ndr->offset = _relative_save_offset;
17919
ndr->flags = _flags_save_string;
17922
return NDR_ERR_SUCCESS;
17925
_PUBLIC_ void ndr_print_spoolss_PrintProcDataTypesInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrintProcDataTypesInfo1 *r)
17927
ndr_print_struct(ndr, name, "spoolss_PrintProcDataTypesInfo1");
17929
ndr_print_ptr(ndr, "name_array", r->name_array);
17931
if (r->name_array) {
17932
ndr_print_string(ndr, "name_array", r->name_array);
17938
_PUBLIC_ size_t ndr_size_spoolss_PrintProcDataTypesInfo1(const struct spoolss_PrintProcDataTypesInfo1 *r, struct smb_iconv_convenience *ic, int flags)
17940
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrintProcDataTypesInfo1, ic);
17943
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcDataTypesInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcDataTypesInfo *r)
17945
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
17947
uint32_t _flags_save_UNION = ndr->flags;
17948
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
17949
if (ndr_flags & NDR_SCALARS) {
17950
int level = ndr_push_get_switch_value(ndr, r);
17951
NDR_CHECK(ndr_push_union_align(ndr, 5));
17954
NDR_CHECK(ndr_push_align(ndr, 5));
17955
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
17956
NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo1(ndr, NDR_SCALARS, &r->info1));
17964
if (ndr_flags & NDR_BUFFERS) {
17965
int level = ndr_push_get_switch_value(ndr, r);
17966
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
17969
NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo1(ndr, NDR_BUFFERS, &r->info1));
17977
ndr->flags = _flags_save_UNION;
17979
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
17980
return NDR_ERR_SUCCESS;
17983
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcDataTypesInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrintProcDataTypesInfo *r)
17985
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
17988
uint32_t _flags_save_UNION = ndr->flags;
17989
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
17990
level = ndr_pull_get_switch_value(ndr, r);
17991
if (ndr_flags & NDR_SCALARS) {
17992
NDR_CHECK(ndr_pull_union_align(ndr, 5));
17995
NDR_CHECK(ndr_pull_align(ndr, 5));
17996
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
17997
NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo1(ndr, NDR_SCALARS, &r->info1));
18005
if (ndr_flags & NDR_BUFFERS) {
18006
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
18009
NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo1(ndr, NDR_BUFFERS, &r->info1));
18017
ndr->flags = _flags_save_UNION;
18019
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
18020
return NDR_ERR_SUCCESS;
18023
_PUBLIC_ void ndr_print_spoolss_PrintProcDataTypesInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcDataTypesInfo *r)
18027
uint32_t _flags_save_UNION = ndr->flags;
18028
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
18029
level = ndr_print_get_switch_value(ndr, r);
18030
ndr_print_union(ndr, name, level, "spoolss_PrintProcDataTypesInfo");
18033
ndr_print_spoolss_PrintProcDataTypesInfo1(ndr, "info1", &r->info1);
18040
ndr->flags = _flags_save_UNION;
18044
static enum ndr_err_code ndr_push_spoolss_PrinterChangeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
18046
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
18047
return NDR_ERR_SUCCESS;
18050
static enum ndr_err_code ndr_pull_spoolss_PrinterChangeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
18053
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
18055
return NDR_ERR_SUCCESS;
18058
_PUBLIC_ void ndr_print_spoolss_PrinterChangeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
18060
ndr_print_uint32(ndr, name, r);
18062
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_PRINTER", PRINTER_CHANGE_ADD_PRINTER, r);
18063
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SET_PRINTER", PRINTER_CHANGE_SET_PRINTER, r);
18064
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_PRINTER", PRINTER_CHANGE_DELETE_PRINTER, r);
18065
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_FAILED_CONNECTION_PRINTER", PRINTER_CHANGE_FAILED_CONNECTION_PRINTER, r);
18066
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_JOB", PRINTER_CHANGE_ADD_JOB, r);
18067
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SET_JOB", PRINTER_CHANGE_SET_JOB, r);
18068
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_JOB", PRINTER_CHANGE_DELETE_JOB, r);
18069
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_WRITE_JOB", PRINTER_CHANGE_WRITE_JOB, r);
18070
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_FORM", PRINTER_CHANGE_ADD_FORM, r);
18071
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SET_FORM", PRINTER_CHANGE_SET_FORM, r);
18072
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_FORM", PRINTER_CHANGE_DELETE_FORM, r);
18073
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_PORT", PRINTER_CHANGE_ADD_PORT, r);
18074
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_CONFIGURE_PORT", PRINTER_CHANGE_CONFIGURE_PORT, r);
18075
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_PORT", PRINTER_CHANGE_DELETE_PORT, r);
18076
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_PRINT_PROCESSOR", PRINTER_CHANGE_ADD_PRINT_PROCESSOR, r);
18077
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_PRINT_PROCESSOR", PRINTER_CHANGE_DELETE_PRINT_PROCESSOR, r);
18078
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SERVER", PRINTER_CHANGE_SERVER, r);
18079
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_PRINTER_DRIVER", PRINTER_CHANGE_ADD_PRINTER_DRIVER, r);
18080
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SET_PRINTER_DRIVER", PRINTER_CHANGE_SET_PRINTER_DRIVER, r);
18081
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_PRINTER_DRIVER", PRINTER_CHANGE_DELETE_PRINTER_DRIVER, r);
18082
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_TIMEOUT", PRINTER_CHANGE_TIMEOUT, r);
18086
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobNotifyField(struct ndr_push *ndr, int ndr_flags, enum spoolss_JobNotifyField r)
18088
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
18089
return NDR_ERR_SUCCESS;
18092
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobNotifyField(struct ndr_pull *ndr, int ndr_flags, enum spoolss_JobNotifyField *r)
18095
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
18097
return NDR_ERR_SUCCESS;
18100
_PUBLIC_ void ndr_print_spoolss_JobNotifyField(struct ndr_print *ndr, const char *name, enum spoolss_JobNotifyField r)
18102
const char *val = NULL;
18105
case JOB_NOTIFY_FIELD_PRINTER_NAME: val = "JOB_NOTIFY_FIELD_PRINTER_NAME"; break;
18106
case JOB_NOTIFY_FIELD_MACHINE_NAME: val = "JOB_NOTIFY_FIELD_MACHINE_NAME"; break;
18107
case JOB_NOTIFY_FIELD_PORT_NAME: val = "JOB_NOTIFY_FIELD_PORT_NAME"; break;
18108
case JOB_NOTIFY_FIELD_USER_NAME: val = "JOB_NOTIFY_FIELD_USER_NAME"; break;
18109
case JOB_NOTIFY_FIELD_NOTIFY_NAME: val = "JOB_NOTIFY_FIELD_NOTIFY_NAME"; break;
18110
case JOB_NOTIFY_FIELD_DATATYPE: val = "JOB_NOTIFY_FIELD_DATATYPE"; break;
18111
case JOB_NOTIFY_FIELD_PRINT_PROCESSOR: val = "JOB_NOTIFY_FIELD_PRINT_PROCESSOR"; break;
18112
case JOB_NOTIFY_FIELD_PARAMETERS: val = "JOB_NOTIFY_FIELD_PARAMETERS"; break;
18113
case JOB_NOTIFY_FIELD_DRIVER_NAME: val = "JOB_NOTIFY_FIELD_DRIVER_NAME"; break;
18114
case JOB_NOTIFY_FIELD_DEVMODE: val = "JOB_NOTIFY_FIELD_DEVMODE"; break;
18115
case JOB_NOTIFY_FIELD_STATUS: val = "JOB_NOTIFY_FIELD_STATUS"; break;
18116
case JOB_NOTIFY_FIELD_STATUS_STRING: val = "JOB_NOTIFY_FIELD_STATUS_STRING"; break;
18117
case JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR: val = "JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR"; break;
18118
case JOB_NOTIFY_FIELD_DOCUMENT: val = "JOB_NOTIFY_FIELD_DOCUMENT"; break;
18119
case JOB_NOTIFY_FIELD_PRIORITY: val = "JOB_NOTIFY_FIELD_PRIORITY"; break;
18120
case JOB_NOTIFY_FIELD_POSITION: val = "JOB_NOTIFY_FIELD_POSITION"; break;
18121
case JOB_NOTIFY_FIELD_SUBMITTED: val = "JOB_NOTIFY_FIELD_SUBMITTED"; break;
18122
case JOB_NOTIFY_FIELD_START_TIME: val = "JOB_NOTIFY_FIELD_START_TIME"; break;
18123
case JOB_NOTIFY_FIELD_UNTIL_TIME: val = "JOB_NOTIFY_FIELD_UNTIL_TIME"; break;
18124
case JOB_NOTIFY_FIELD_TIME: val = "JOB_NOTIFY_FIELD_TIME"; break;
18125
case JOB_NOTIFY_FIELD_TOTAL_PAGES: val = "JOB_NOTIFY_FIELD_TOTAL_PAGES"; break;
18126
case JOB_NOTIFY_FIELD_PAGES_PRINTED: val = "JOB_NOTIFY_FIELD_PAGES_PRINTED"; break;
18127
case JOB_NOTIFY_FIELD_TOTAL_BYTES: val = "JOB_NOTIFY_FIELD_TOTAL_BYTES"; break;
18128
case JOB_NOTIFY_FIELD_BYTES_PRINTED: val = "JOB_NOTIFY_FIELD_BYTES_PRINTED"; break;
18130
ndr_print_enum(ndr, name, "ENUM", val, r);
18133
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintNotifyField(struct ndr_push *ndr, int ndr_flags, enum spoolss_PrintNotifyField r)
18135
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
18136
return NDR_ERR_SUCCESS;
18139
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintNotifyField(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PrintNotifyField *r)
18142
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
18144
return NDR_ERR_SUCCESS;
18147
_PUBLIC_ void ndr_print_spoolss_PrintNotifyField(struct ndr_print *ndr, const char *name, enum spoolss_PrintNotifyField r)
18149
const char *val = NULL;
18152
case PRINTER_NOTIFY_FIELD_SERVER_NAME: val = "PRINTER_NOTIFY_FIELD_SERVER_NAME"; break;
18153
case PRINTER_NOTIFY_FIELD_PRINTER_NAME: val = "PRINTER_NOTIFY_FIELD_PRINTER_NAME"; break;
18154
case PRINTER_NOTIFY_FIELD_SHARE_NAME: val = "PRINTER_NOTIFY_FIELD_SHARE_NAME"; break;
18155
case PRINTER_NOTIFY_FIELD_PORT_NAME: val = "PRINTER_NOTIFY_FIELD_PORT_NAME"; break;
18156
case PRINTER_NOTIFY_FIELD_DRIVER_NAME: val = "PRINTER_NOTIFY_FIELD_DRIVER_NAME"; break;
18157
case PRINTER_NOTIFY_FIELD_COMMENT: val = "PRINTER_NOTIFY_FIELD_COMMENT"; break;
18158
case PRINTER_NOTIFY_FIELD_LOCATION: val = "PRINTER_NOTIFY_FIELD_LOCATION"; break;
18159
case PRINTER_NOTIFY_FIELD_DEVMODE: val = "PRINTER_NOTIFY_FIELD_DEVMODE"; break;
18160
case PRINTER_NOTIFY_FIELD_SEPFILE: val = "PRINTER_NOTIFY_FIELD_SEPFILE"; break;
18161
case PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR: val = "PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR"; break;
18162
case PRINTER_NOTIFY_FIELD_PARAMETERS: val = "PRINTER_NOTIFY_FIELD_PARAMETERS"; break;
18163
case PRINTER_NOTIFY_FIELD_DATATYPE: val = "PRINTER_NOTIFY_FIELD_DATATYPE"; break;
18164
case PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR: val = "PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR"; break;
18165
case PRINTER_NOTIFY_FIELD_ATTRIBUTES: val = "PRINTER_NOTIFY_FIELD_ATTRIBUTES"; break;
18166
case PRINTER_NOTIFY_FIELD_PRIORITY: val = "PRINTER_NOTIFY_FIELD_PRIORITY"; break;
18167
case PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY: val = "PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY"; break;
18168
case PRINTER_NOTIFY_FIELD_START_TIME: val = "PRINTER_NOTIFY_FIELD_START_TIME"; break;
18169
case PRINTER_NOTIFY_FIELD_UNTIL_TIME: val = "PRINTER_NOTIFY_FIELD_UNTIL_TIME"; break;
18170
case PRINTER_NOTIFY_FIELD_STATUS: val = "PRINTER_NOTIFY_FIELD_STATUS"; break;
18171
case PRINTER_NOTIFY_FIELD_STATUS_STRING: val = "PRINTER_NOTIFY_FIELD_STATUS_STRING"; break;
18172
case PRINTER_NOTIFY_FIELD_CJOBS: val = "PRINTER_NOTIFY_FIELD_CJOBS"; break;
18173
case PRINTER_NOTIFY_FIELD_AVERAGE_PPM: val = "PRINTER_NOTIFY_FIELD_AVERAGE_PPM"; break;
18174
case PRINTER_NOTIFY_FIELD_TOTAL_PAGES: val = "PRINTER_NOTIFY_FIELD_TOTAL_PAGES"; break;
18175
case PRINTER_NOTIFY_FIELD_PAGES_PRINTED: val = "PRINTER_NOTIFY_FIELD_PAGES_PRINTED"; break;
18176
case PRINTER_NOTIFY_FIELD_TOTAL_BYTES: val = "PRINTER_NOTIFY_FIELD_TOTAL_BYTES"; break;
18177
case PRINTER_NOTIFY_FIELD_BYTES_PRINTED: val = "PRINTER_NOTIFY_FIELD_BYTES_PRINTED"; break;
18178
case PRINTER_NOTIFY_FIELD_OBJECT_GUID: val = "PRINTER_NOTIFY_FIELD_OBJECT_GUID"; break;
18179
case PRINTER_NOTIFY_FIELD_FRIENDLY_NAME: val = "PRINTER_NOTIFY_FIELD_FRIENDLY_NAME"; break;
18181
ndr_print_enum(ndr, name, "ENUM", val, r);
18184
static enum ndr_err_code ndr_push_spoolss_NotifyType(struct ndr_push *ndr, int ndr_flags, enum spoolss_NotifyType r)
18186
NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
18187
return NDR_ERR_SUCCESS;
18190
static enum ndr_err_code ndr_pull_spoolss_NotifyType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_NotifyType *r)
18193
NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
18195
return NDR_ERR_SUCCESS;
18198
_PUBLIC_ void ndr_print_spoolss_NotifyType(struct ndr_print *ndr, const char *name, enum spoolss_NotifyType r)
18200
const char *val = NULL;
18203
case PRINTER_NOTIFY_TYPE: val = "PRINTER_NOTIFY_TYPE"; break;
18204
case JOB_NOTIFY_TYPE: val = "JOB_NOTIFY_TYPE"; break;
18206
ndr_print_enum(ndr, name, "ENUM", val, r);
18209
static enum ndr_err_code ndr_push_spoolss_Field(struct ndr_push *ndr, int ndr_flags, const union spoolss_Field *r)
18211
if (ndr_flags & NDR_SCALARS) {
18212
int level = ndr_push_get_switch_value(ndr, r);
18213
NDR_CHECK(ndr_push_union_align(ndr, 2));
18215
case PRINTER_NOTIFY_TYPE: {
18216
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->field));
18219
case JOB_NOTIFY_TYPE: {
18220
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->field));
18224
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->field));
18229
if (ndr_flags & NDR_BUFFERS) {
18230
int level = ndr_push_get_switch_value(ndr, r);
18232
case PRINTER_NOTIFY_TYPE:
18235
case JOB_NOTIFY_TYPE:
18243
return NDR_ERR_SUCCESS;
18246
static enum ndr_err_code ndr_pull_spoolss_Field(struct ndr_pull *ndr, int ndr_flags, union spoolss_Field *r)
18249
level = ndr_pull_get_switch_value(ndr, r);
18250
if (ndr_flags & NDR_SCALARS) {
18251
NDR_CHECK(ndr_pull_union_align(ndr, 2));
18253
case PRINTER_NOTIFY_TYPE: {
18254
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->field));
18257
case JOB_NOTIFY_TYPE: {
18258
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->field));
18262
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->field));
18267
if (ndr_flags & NDR_BUFFERS) {
18269
case PRINTER_NOTIFY_TYPE:
18272
case JOB_NOTIFY_TYPE:
18280
return NDR_ERR_SUCCESS;
18283
static enum ndr_err_code ndr_push_spoolss_NotifyOptionType(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyOptionType *r)
18285
uint32_t cntr_fields_1;
18286
if (ndr_flags & NDR_SCALARS) {
18287
NDR_CHECK(ndr_push_align(ndr, 5));
18288
NDR_CHECK(ndr_push_spoolss_NotifyType(ndr, NDR_SCALARS, r->type));
18289
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->u1));
18290
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
18291
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
18292
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
18293
NDR_CHECK(ndr_push_unique_ptr(ndr, r->fields));
18294
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
18296
if (ndr_flags & NDR_BUFFERS) {
18298
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
18299
for (cntr_fields_1 = 0; cntr_fields_1 < r->count; cntr_fields_1++) {
18300
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->fields[cntr_fields_1], r->type));
18301
NDR_CHECK(ndr_push_spoolss_Field(ndr, NDR_SCALARS, &r->fields[cntr_fields_1]));
18305
return NDR_ERR_SUCCESS;
18308
static enum ndr_err_code ndr_pull_spoolss_NotifyOptionType(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyOptionType *r)
18310
uint32_t _ptr_fields;
18311
uint32_t cntr_fields_1;
18312
TALLOC_CTX *_mem_save_fields_0;
18313
TALLOC_CTX *_mem_save_fields_1;
18314
if (ndr_flags & NDR_SCALARS) {
18315
NDR_CHECK(ndr_pull_align(ndr, 5));
18316
NDR_CHECK(ndr_pull_spoolss_NotifyType(ndr, NDR_SCALARS, &r->type));
18317
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->u1));
18318
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
18319
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
18320
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
18321
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_fields));
18323
NDR_PULL_ALLOC(ndr, r->fields);
18327
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
18329
if (ndr_flags & NDR_BUFFERS) {
18331
_mem_save_fields_0 = NDR_PULL_GET_MEM_CTX(ndr);
18332
NDR_PULL_SET_MEM_CTX(ndr, r->fields, 0);
18333
NDR_CHECK(ndr_pull_array_size(ndr, &r->fields));
18334
NDR_PULL_ALLOC_N(ndr, r->fields, ndr_get_array_size(ndr, &r->fields));
18335
_mem_save_fields_1 = NDR_PULL_GET_MEM_CTX(ndr);
18336
NDR_PULL_SET_MEM_CTX(ndr, r->fields, 0);
18337
for (cntr_fields_1 = 0; cntr_fields_1 < r->count; cntr_fields_1++) {
18338
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->fields[cntr_fields_1], r->type));
18339
NDR_CHECK(ndr_pull_spoolss_Field(ndr, NDR_SCALARS, &r->fields[cntr_fields_1]));
18341
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_fields_1, 0);
18342
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_fields_0, 0);
18345
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->fields, r->count));
18348
return NDR_ERR_SUCCESS;
18351
_PUBLIC_ void ndr_print_spoolss_NotifyOptionType(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyOptionType *r)
18353
uint32_t cntr_fields_1;
18354
ndr_print_struct(ndr, name, "spoolss_NotifyOptionType");
18356
ndr_print_spoolss_NotifyType(ndr, "type", r->type);
18357
ndr_print_uint16(ndr, "u1", r->u1);
18358
ndr_print_uint32(ndr, "u2", r->u2);
18359
ndr_print_uint32(ndr, "u3", r->u3);
18360
ndr_print_uint32(ndr, "count", r->count);
18361
ndr_print_ptr(ndr, "fields", r->fields);
18364
ndr->print(ndr, "%s: ARRAY(%d)", "fields", (int)r->count);
18366
for (cntr_fields_1=0;cntr_fields_1<r->count;cntr_fields_1++) {
18368
if (asprintf(&idx_1, "[%d]", cntr_fields_1) != -1) {
18369
ndr_print_set_switch_value(ndr, &r->fields[cntr_fields_1], r->type);
18370
ndr_print_spoolss_Field(ndr, "fields", &r->fields[cntr_fields_1]);
18380
static enum ndr_err_code ndr_push_spoolssNotifyOptionFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
18382
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
18383
return NDR_ERR_SUCCESS;
18386
static enum ndr_err_code ndr_pull_spoolssNotifyOptionFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
18389
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
18391
return NDR_ERR_SUCCESS;
18394
_PUBLIC_ void ndr_print_spoolssNotifyOptionFlags(struct ndr_print *ndr, const char *name, uint32_t r)
18396
ndr_print_uint32(ndr, name, r);
18398
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_NOTIFY_OPTIONS_REFRESH", PRINTER_NOTIFY_OPTIONS_REFRESH, r);
18402
static enum ndr_err_code ndr_push_spoolss_NotifyOption(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyOption *r)
18404
uint32_t cntr_types_1;
18405
if (ndr_flags & NDR_SCALARS) {
18406
NDR_CHECK(ndr_push_align(ndr, 5));
18407
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
18408
NDR_CHECK(ndr_push_spoolssNotifyOptionFlags(ndr, NDR_SCALARS, r->flags));
18409
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
18410
NDR_CHECK(ndr_push_unique_ptr(ndr, r->types));
18411
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
18413
if (ndr_flags & NDR_BUFFERS) {
18415
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
18416
for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
18417
NDR_CHECK(ndr_push_spoolss_NotifyOptionType(ndr, NDR_SCALARS, &r->types[cntr_types_1]));
18419
for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
18420
NDR_CHECK(ndr_push_spoolss_NotifyOptionType(ndr, NDR_BUFFERS, &r->types[cntr_types_1]));
18424
return NDR_ERR_SUCCESS;
18427
static enum ndr_err_code ndr_pull_spoolss_NotifyOption(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyOption *r)
18429
uint32_t _ptr_types;
18430
uint32_t cntr_types_1;
18431
TALLOC_CTX *_mem_save_types_0;
18432
TALLOC_CTX *_mem_save_types_1;
18433
if (ndr_flags & NDR_SCALARS) {
18434
NDR_CHECK(ndr_pull_align(ndr, 5));
18435
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
18436
NDR_CHECK(ndr_pull_spoolssNotifyOptionFlags(ndr, NDR_SCALARS, &r->flags));
18437
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
18438
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_types));
18440
NDR_PULL_ALLOC(ndr, r->types);
18444
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
18446
if (ndr_flags & NDR_BUFFERS) {
18448
_mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
18449
NDR_PULL_SET_MEM_CTX(ndr, r->types, 0);
18450
NDR_CHECK(ndr_pull_array_size(ndr, &r->types));
18451
NDR_PULL_ALLOC_N(ndr, r->types, ndr_get_array_size(ndr, &r->types));
18452
_mem_save_types_1 = NDR_PULL_GET_MEM_CTX(ndr);
18453
NDR_PULL_SET_MEM_CTX(ndr, r->types, 0);
18454
for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
18455
NDR_CHECK(ndr_pull_spoolss_NotifyOptionType(ndr, NDR_SCALARS, &r->types[cntr_types_1]));
18457
for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
18458
NDR_CHECK(ndr_pull_spoolss_NotifyOptionType(ndr, NDR_BUFFERS, &r->types[cntr_types_1]));
18460
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_1, 0);
18461
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, 0);
18464
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->types, r->count));
18467
return NDR_ERR_SUCCESS;
18470
_PUBLIC_ void ndr_print_spoolss_NotifyOption(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyOption *r)
18472
uint32_t cntr_types_1;
18473
ndr_print_struct(ndr, name, "spoolss_NotifyOption");
18475
ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
18476
ndr_print_spoolssNotifyOptionFlags(ndr, "flags", r->flags);
18477
ndr_print_uint32(ndr, "count", r->count);
18478
ndr_print_ptr(ndr, "types", r->types);
18481
ndr->print(ndr, "%s: ARRAY(%d)", "types", (int)r->count);
18483
for (cntr_types_1=0;cntr_types_1<r->count;cntr_types_1++) {
18485
if (asprintf(&idx_1, "[%d]", cntr_types_1) != -1) {
18486
ndr_print_spoolss_NotifyOptionType(ndr, "types", &r->types[cntr_types_1]);
18496
static enum ndr_err_code ndr_push_spoolss_NotifyString(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyString *r)
18498
if (ndr_flags & NDR_SCALARS) {
18499
NDR_CHECK(ndr_push_align(ndr, 5));
18500
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
18501
NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
18502
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
18504
if (ndr_flags & NDR_BUFFERS) {
18506
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size / 2));
18507
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, r->size / 2, sizeof(uint16_t), CH_UTF16));
18510
return NDR_ERR_SUCCESS;
18513
static enum ndr_err_code ndr_pull_spoolss_NotifyString(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyString *r)
18515
uint32_t _ptr_string;
18516
TALLOC_CTX *_mem_save_string_0;
18517
if (ndr_flags & NDR_SCALARS) {
18518
NDR_CHECK(ndr_pull_align(ndr, 5));
18519
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
18520
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
18522
NDR_PULL_ALLOC(ndr, r->string);
18526
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
18528
if (ndr_flags & NDR_BUFFERS) {
18530
_mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
18531
NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
18532
NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
18533
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_size(ndr, &r->string), sizeof(uint16_t), CH_UTF16));
18534
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
18537
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->size / 2));
18540
return NDR_ERR_SUCCESS;
18543
_PUBLIC_ void ndr_print_spoolss_NotifyString(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyString *r)
18545
ndr_print_struct(ndr, name, "spoolss_NotifyString");
18547
ndr_print_uint32(ndr, "size", r->size);
18548
ndr_print_ptr(ndr, "string", r->string);
18551
ndr_print_string(ndr, "string", r->string);
18557
static enum ndr_err_code ndr_push_spoolss_NotifyTable(struct ndr_push *ndr, int ndr_flags, enum spoolss_NotifyTable r)
18559
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
18560
return NDR_ERR_SUCCESS;
18563
static enum ndr_err_code ndr_pull_spoolss_NotifyTable(struct ndr_pull *ndr, int ndr_flags, enum spoolss_NotifyTable *r)
18566
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
18568
return NDR_ERR_SUCCESS;
18571
_PUBLIC_ void ndr_print_spoolss_NotifyTable(struct ndr_print *ndr, const char *name, enum spoolss_NotifyTable r)
18573
const char *val = NULL;
18576
case NOTIFY_TABLE_DWORD: val = "NOTIFY_TABLE_DWORD"; break;
18577
case NOTIFY_TABLE_STRING: val = "NOTIFY_TABLE_STRING"; break;
18578
case NOTIFY_TABLE_DEVMODE: val = "NOTIFY_TABLE_DEVMODE"; break;
18579
case NOTIFY_TABLE_TIME: val = "NOTIFY_TABLE_TIME"; break;
18580
case NOTIFY_TABLE_SECURITYDESCRIPTOR: val = "NOTIFY_TABLE_SECURITYDESCRIPTOR"; break;
18582
ndr_print_enum(ndr, name, "ENUM", val, r);
18585
static enum ndr_err_code ndr_push_spoolss_NotifyData(struct ndr_push *ndr, int ndr_flags, const union spoolss_NotifyData *r)
18587
if (ndr_flags & NDR_SCALARS) {
18588
int level = ndr_push_get_switch_value(ndr, r);
18589
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
18590
NDR_CHECK(ndr_push_union_align(ndr, 5));
18593
uint32_t cntr_integer_0;
18594
for (cntr_integer_0 = 0; cntr_integer_0 < 2; cntr_integer_0++) {
18595
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->integer[cntr_integer_0]));
18600
NDR_CHECK(ndr_push_spoolss_NotifyString(ndr, NDR_SCALARS, &r->string));
18604
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS, &r->devmode));
18608
NDR_CHECK(ndr_push_spoolss_TimeCtr(ndr, NDR_SCALARS, &r->time));
18612
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sd));
18616
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
18619
if (ndr_flags & NDR_BUFFERS) {
18620
int level = ndr_push_get_switch_value(ndr, r);
18626
NDR_CHECK(ndr_push_spoolss_NotifyString(ndr, NDR_BUFFERS, &r->string));
18630
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_BUFFERS, &r->devmode));
18634
NDR_CHECK(ndr_push_spoolss_TimeCtr(ndr, NDR_BUFFERS, &r->time));
18638
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sd));
18642
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
18645
return NDR_ERR_SUCCESS;
18648
static enum ndr_err_code ndr_pull_spoolss_NotifyData(struct ndr_pull *ndr, int ndr_flags, union spoolss_NotifyData *r)
18652
level = ndr_pull_get_switch_value(ndr, r);
18653
if (ndr_flags & NDR_SCALARS) {
18654
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
18655
if (_level != level) {
18656
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
18658
NDR_CHECK(ndr_pull_union_align(ndr, 5));
18661
uint32_t cntr_integer_0;
18662
for (cntr_integer_0 = 0; cntr_integer_0 < 2; cntr_integer_0++) {
18663
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->integer[cntr_integer_0]));
18668
NDR_CHECK(ndr_pull_spoolss_NotifyString(ndr, NDR_SCALARS, &r->string));
18672
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS, &r->devmode));
18676
NDR_CHECK(ndr_pull_spoolss_TimeCtr(ndr, NDR_SCALARS, &r->time));
18680
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sd));
18684
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
18687
if (ndr_flags & NDR_BUFFERS) {
18693
NDR_CHECK(ndr_pull_spoolss_NotifyString(ndr, NDR_BUFFERS, &r->string));
18697
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_BUFFERS, &r->devmode));
18701
NDR_CHECK(ndr_pull_spoolss_TimeCtr(ndr, NDR_BUFFERS, &r->time));
18705
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sd));
18709
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
18712
return NDR_ERR_SUCCESS;
18715
_PUBLIC_ void ndr_print_spoolss_NotifyData(struct ndr_print *ndr, const char *name, const union spoolss_NotifyData *r)
18718
uint32_t cntr_integer_0;
18719
level = ndr_print_get_switch_value(ndr, r);
18720
ndr_print_union(ndr, name, level, "spoolss_NotifyData");
18723
ndr->print(ndr, "%s: ARRAY(%d)", "integer", (int)2);
18725
for (cntr_integer_0=0;cntr_integer_0<2;cntr_integer_0++) {
18727
if (asprintf(&idx_0, "[%d]", cntr_integer_0) != -1) {
18728
ndr_print_uint32(ndr, "integer", r->integer[cntr_integer_0]);
18736
ndr_print_spoolss_NotifyString(ndr, "string", &r->string);
18740
ndr_print_spoolss_DevmodeContainer(ndr, "devmode", &r->devmode);
18744
ndr_print_spoolss_TimeCtr(ndr, "time", &r->time);
18748
ndr_print_sec_desc_buf(ndr, "sd", &r->sd);
18752
ndr_print_bad_level(ndr, name, level);
18756
static enum ndr_err_code ndr_push_spoolss_Notify(struct ndr_push *ndr, int ndr_flags, const struct spoolss_Notify *r)
18758
if (ndr_flags & NDR_SCALARS) {
18759
NDR_CHECK(ndr_push_align(ndr, 5));
18760
NDR_CHECK(ndr_push_spoolss_NotifyType(ndr, NDR_SCALARS, r->type));
18761
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->field, r->type));
18762
NDR_CHECK(ndr_push_spoolss_Field(ndr, NDR_SCALARS, &r->field));
18763
NDR_CHECK(ndr_push_spoolss_NotifyTable(ndr, NDR_SCALARS, r->variable_type));
18764
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
18765
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->data, r->variable_type));
18766
NDR_CHECK(ndr_push_spoolss_NotifyData(ndr, NDR_SCALARS, &r->data));
18767
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
18769
if (ndr_flags & NDR_BUFFERS) {
18770
NDR_CHECK(ndr_push_spoolss_NotifyData(ndr, NDR_BUFFERS, &r->data));
18772
return NDR_ERR_SUCCESS;
18775
static enum ndr_err_code ndr_pull_spoolss_Notify(struct ndr_pull *ndr, int ndr_flags, struct spoolss_Notify *r)
18777
if (ndr_flags & NDR_SCALARS) {
18778
NDR_CHECK(ndr_pull_align(ndr, 5));
18779
NDR_CHECK(ndr_pull_spoolss_NotifyType(ndr, NDR_SCALARS, &r->type));
18780
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->field, r->type));
18781
NDR_CHECK(ndr_pull_spoolss_Field(ndr, NDR_SCALARS, &r->field));
18782
NDR_CHECK(ndr_pull_spoolss_NotifyTable(ndr, NDR_SCALARS, &r->variable_type));
18783
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
18784
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->data, r->variable_type));
18785
NDR_CHECK(ndr_pull_spoolss_NotifyData(ndr, NDR_SCALARS, &r->data));
18786
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
18788
if (ndr_flags & NDR_BUFFERS) {
18789
NDR_CHECK(ndr_pull_spoolss_NotifyData(ndr, NDR_BUFFERS, &r->data));
18791
return NDR_ERR_SUCCESS;
18794
_PUBLIC_ void ndr_print_spoolss_Notify(struct ndr_print *ndr, const char *name, const struct spoolss_Notify *r)
18796
ndr_print_struct(ndr, name, "spoolss_Notify");
18798
ndr_print_spoolss_NotifyType(ndr, "type", r->type);
18799
ndr_print_set_switch_value(ndr, &r->field, r->type);
18800
ndr_print_spoolss_Field(ndr, "field", &r->field);
18801
ndr_print_spoolss_NotifyTable(ndr, "variable_type", r->variable_type);
18802
ndr_print_uint32(ndr, "job_id", r->job_id);
18803
ndr_print_set_switch_value(ndr, &r->data, r->variable_type);
18804
ndr_print_spoolss_NotifyData(ndr, "data", &r->data);
18808
static enum ndr_err_code ndr_push_spoolss_NotifyInfo(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyInfo *r)
18810
uint32_t cntr_notifies_0;
18811
if (ndr_flags & NDR_SCALARS) {
18812
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
18813
NDR_CHECK(ndr_push_align(ndr, 5));
18814
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
18815
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
18816
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
18817
for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) {
18818
NDR_CHECK(ndr_push_spoolss_Notify(ndr, NDR_SCALARS, &r->notifies[cntr_notifies_0]));
18820
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
18822
if (ndr_flags & NDR_BUFFERS) {
18823
for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) {
18824
NDR_CHECK(ndr_push_spoolss_Notify(ndr, NDR_BUFFERS, &r->notifies[cntr_notifies_0]));
18827
return NDR_ERR_SUCCESS;
18830
static enum ndr_err_code ndr_pull_spoolss_NotifyInfo(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyInfo *r)
18832
uint32_t cntr_notifies_0;
18833
TALLOC_CTX *_mem_save_notifies_0;
18834
if (ndr_flags & NDR_SCALARS) {
18835
NDR_CHECK(ndr_pull_array_size(ndr, &r->notifies));
18836
NDR_CHECK(ndr_pull_align(ndr, 5));
18837
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
18838
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
18839
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
18840
NDR_PULL_ALLOC_N(ndr, r->notifies, ndr_get_array_size(ndr, &r->notifies));
18841
_mem_save_notifies_0 = NDR_PULL_GET_MEM_CTX(ndr);
18842
NDR_PULL_SET_MEM_CTX(ndr, r->notifies, 0);
18843
for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) {
18844
NDR_CHECK(ndr_pull_spoolss_Notify(ndr, NDR_SCALARS, &r->notifies[cntr_notifies_0]));
18846
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notifies_0, 0);
18848
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->notifies, r->count));
18850
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
18852
if (ndr_flags & NDR_BUFFERS) {
18853
_mem_save_notifies_0 = NDR_PULL_GET_MEM_CTX(ndr);
18854
NDR_PULL_SET_MEM_CTX(ndr, r->notifies, 0);
18855
for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) {
18856
NDR_CHECK(ndr_pull_spoolss_Notify(ndr, NDR_BUFFERS, &r->notifies[cntr_notifies_0]));
18858
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notifies_0, 0);
18860
return NDR_ERR_SUCCESS;
18863
_PUBLIC_ void ndr_print_spoolss_NotifyInfo(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyInfo *r)
18865
uint32_t cntr_notifies_0;
18866
ndr_print_struct(ndr, name, "spoolss_NotifyInfo");
18868
ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
18869
ndr_print_uint32(ndr, "flags", r->flags);
18870
ndr_print_uint32(ndr, "count", r->count);
18871
ndr->print(ndr, "%s: ARRAY(%d)", "notifies", (int)r->count);
18873
for (cntr_notifies_0=0;cntr_notifies_0<r->count;cntr_notifies_0++) {
18875
if (asprintf(&idx_0, "[%d]", cntr_notifies_0) != -1) {
18876
ndr_print_spoolss_Notify(ndr, "notifies", &r->notifies[cntr_notifies_0]);
18884
static enum ndr_err_code ndr_push_spoolss_ReplyPrinterInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_ReplyPrinterInfo *r)
18886
if (ndr_flags & NDR_SCALARS) {
18887
int level = ndr_push_get_switch_value(ndr, r);
18888
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
18889
NDR_CHECK(ndr_push_union_align(ndr, 5));
18892
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
18896
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
18899
if (ndr_flags & NDR_BUFFERS) {
18900
int level = ndr_push_get_switch_value(ndr, r);
18904
NDR_CHECK(ndr_push_spoolss_NotifyInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
18909
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
18912
return NDR_ERR_SUCCESS;
18915
static enum ndr_err_code ndr_pull_spoolss_ReplyPrinterInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_ReplyPrinterInfo *r)
18919
TALLOC_CTX *_mem_save_info0_0;
18920
level = ndr_pull_get_switch_value(ndr, r);
18921
if (ndr_flags & NDR_SCALARS) {
18922
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
18923
if (_level != level) {
18924
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
18926
NDR_CHECK(ndr_pull_union_align(ndr, 5));
18929
uint32_t _ptr_info0;
18930
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
18932
NDR_PULL_ALLOC(ndr, r->info0);
18939
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
18942
if (ndr_flags & NDR_BUFFERS) {
18946
_mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
18947
NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
18948
NDR_CHECK(ndr_pull_spoolss_NotifyInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
18949
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
18954
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
18957
return NDR_ERR_SUCCESS;
18960
_PUBLIC_ void ndr_print_spoolss_ReplyPrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_ReplyPrinterInfo *r)
18963
level = ndr_print_get_switch_value(ndr, r);
18964
ndr_print_union(ndr, name, level, "spoolss_ReplyPrinterInfo");
18967
ndr_print_ptr(ndr, "info0", r->info0);
18970
ndr_print_spoolss_NotifyInfo(ndr, "info0", r->info0);
18976
ndr_print_bad_level(ndr, name, level);
18980
static enum ndr_err_code ndr_push_spoolss_PrinterNotifyFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
18982
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
18983
return NDR_ERR_SUCCESS;
18986
static enum ndr_err_code ndr_pull_spoolss_PrinterNotifyFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
18989
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
18991
return NDR_ERR_SUCCESS;
18994
_PUBLIC_ void ndr_print_spoolss_PrinterNotifyFlags(struct ndr_print *ndr, const char *name, uint32_t r)
18996
ndr_print_uint32(ndr, name, r);
18998
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_NOTIFY_INFO_DISCARDED", PRINTER_NOTIFY_INFO_DISCARDED, r);
18999
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_NOTIFY_INFO_DISCARDNOTED", PRINTER_NOTIFY_INFO_DISCARDNOTED, r);
19000
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_NOTIFY_INFO_COLOR_MISMATCH", PRINTER_NOTIFY_INFO_COLOR_MISMATCH, r);
19004
static enum ndr_err_code ndr_push_spoolss_UserLevel1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UserLevel1 *r)
19006
if (ndr_flags & NDR_SCALARS) {
19007
NDR_CHECK(ndr_push_align(ndr, 5));
19008
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
19009
NDR_CHECK(ndr_push_unique_ptr(ndr, r->client));
19010
NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
19011
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build));
19012
NDR_CHECK(ndr_push_spoolss_MajorVersion(ndr, NDR_SCALARS, r->major));
19013
NDR_CHECK(ndr_push_spoolss_MinorVersion(ndr, NDR_SCALARS, r->minor));
19014
NDR_CHECK(ndr_push_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, r->processor));
19015
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
19017
if (ndr_flags & NDR_BUFFERS) {
19019
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16)));
19020
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
19021
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16)));
19022
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client, ndr_charset_length(r->client, CH_UTF16), sizeof(uint16_t), CH_UTF16));
19025
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
19026
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
19027
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
19028
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16));
19031
return NDR_ERR_SUCCESS;
19034
static enum ndr_err_code ndr_pull_spoolss_UserLevel1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UserLevel1 *r)
19036
uint32_t _ptr_client;
19037
TALLOC_CTX *_mem_save_client_0;
19038
uint32_t _ptr_user;
19039
TALLOC_CTX *_mem_save_user_0;
19040
if (ndr_flags & NDR_SCALARS) {
19041
NDR_CHECK(ndr_pull_align(ndr, 5));
19042
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
19043
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client));
19045
NDR_PULL_ALLOC(ndr, r->client);
19049
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
19051
NDR_PULL_ALLOC(ndr, r->user);
19055
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build));
19056
NDR_CHECK(ndr_pull_spoolss_MajorVersion(ndr, NDR_SCALARS, &r->major));
19057
NDR_CHECK(ndr_pull_spoolss_MinorVersion(ndr, NDR_SCALARS, &r->minor));
19058
NDR_CHECK(ndr_pull_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, &r->processor));
19059
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
19061
if (ndr_flags & NDR_BUFFERS) {
19063
_mem_save_client_0 = NDR_PULL_GET_MEM_CTX(ndr);
19064
NDR_PULL_SET_MEM_CTX(ndr, r->client, 0);
19065
NDR_CHECK(ndr_pull_array_size(ndr, &r->client));
19066
NDR_CHECK(ndr_pull_array_length(ndr, &r->client));
19067
if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) {
19068
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));
19070
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t)));
19071
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16));
19072
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0);
19075
_mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
19076
NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
19077
NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
19078
NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
19079
if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
19080
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));
19082
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
19083
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
19084
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
19087
return NDR_ERR_SUCCESS;
19090
_PUBLIC_ void ndr_print_spoolss_UserLevel1(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevel1 *r)
19092
ndr_print_struct(ndr, name, "spoolss_UserLevel1");
19094
ndr_print_uint32(ndr, "size", r->size);
19095
ndr_print_ptr(ndr, "client", r->client);
19098
ndr_print_string(ndr, "client", r->client);
19101
ndr_print_ptr(ndr, "user", r->user);
19104
ndr_print_string(ndr, "user", r->user);
19107
ndr_print_uint32(ndr, "build", r->build);
19108
ndr_print_spoolss_MajorVersion(ndr, "major", r->major);
19109
ndr_print_spoolss_MinorVersion(ndr, "minor", r->minor);
19110
ndr_print_spoolss_ProcessorArchitecture(ndr, "processor", r->processor);
19114
static enum ndr_err_code ndr_push_spoolss_UserLevel2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UserLevel2 *r)
19116
if (ndr_flags & NDR_SCALARS) {
19117
NDR_CHECK(ndr_push_align(ndr, 4));
19118
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->not_used));
19119
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
19121
if (ndr_flags & NDR_BUFFERS) {
19123
return NDR_ERR_SUCCESS;
19126
static enum ndr_err_code ndr_pull_spoolss_UserLevel2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UserLevel2 *r)
19128
if (ndr_flags & NDR_SCALARS) {
19129
NDR_CHECK(ndr_pull_align(ndr, 4));
19130
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->not_used));
19131
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
19133
if (ndr_flags & NDR_BUFFERS) {
19135
return NDR_ERR_SUCCESS;
19138
_PUBLIC_ void ndr_print_spoolss_UserLevel2(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevel2 *r)
19140
ndr_print_struct(ndr, name, "spoolss_UserLevel2");
19142
ndr_print_uint32(ndr, "not_used", r->not_used);
19146
static enum ndr_err_code ndr_push_spoolss_UserLevel3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UserLevel3 *r)
19148
if (ndr_flags & NDR_SCALARS) {
19149
NDR_CHECK(ndr_push_align(ndr, 5));
19150
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
19151
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
19152
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size2));
19153
NDR_CHECK(ndr_push_unique_ptr(ndr, r->client));
19154
NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
19155
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build));
19156
NDR_CHECK(ndr_push_spoolss_MajorVersion(ndr, NDR_SCALARS, r->major));
19157
NDR_CHECK(ndr_push_spoolss_MinorVersion(ndr, NDR_SCALARS, r->minor));
19158
NDR_CHECK(ndr_push_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, r->processor));
19159
NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->reserved));
19160
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
19162
if (ndr_flags & NDR_BUFFERS) {
19164
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16)));
19165
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
19166
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16)));
19167
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client, ndr_charset_length(r->client, CH_UTF16), sizeof(uint16_t), CH_UTF16));
19170
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
19171
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
19172
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
19173
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16));
19176
return NDR_ERR_SUCCESS;
19179
static enum ndr_err_code ndr_pull_spoolss_UserLevel3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UserLevel3 *r)
19181
uint32_t _ptr_client;
19182
TALLOC_CTX *_mem_save_client_0;
19183
uint32_t _ptr_user;
19184
TALLOC_CTX *_mem_save_user_0;
19185
if (ndr_flags & NDR_SCALARS) {
19186
NDR_CHECK(ndr_pull_align(ndr, 5));
19187
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
19188
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
19189
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size2));
19190
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client));
19192
NDR_PULL_ALLOC(ndr, r->client);
19196
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
19198
NDR_PULL_ALLOC(ndr, r->user);
19202
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build));
19203
NDR_CHECK(ndr_pull_spoolss_MajorVersion(ndr, NDR_SCALARS, &r->major));
19204
NDR_CHECK(ndr_pull_spoolss_MinorVersion(ndr, NDR_SCALARS, &r->minor));
19205
NDR_CHECK(ndr_pull_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, &r->processor));
19206
NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->reserved));
19207
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
19209
if (ndr_flags & NDR_BUFFERS) {
19211
_mem_save_client_0 = NDR_PULL_GET_MEM_CTX(ndr);
19212
NDR_PULL_SET_MEM_CTX(ndr, r->client, 0);
19213
NDR_CHECK(ndr_pull_array_size(ndr, &r->client));
19214
NDR_CHECK(ndr_pull_array_length(ndr, &r->client));
19215
if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) {
19216
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));
19218
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t)));
19219
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16));
19220
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0);
19223
_mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
19224
NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
19225
NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
19226
NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
19227
if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
19228
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));
19230
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
19231
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
19232
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
19235
return NDR_ERR_SUCCESS;
19238
_PUBLIC_ void ndr_print_spoolss_UserLevel3(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevel3 *r)
19240
ndr_print_struct(ndr, name, "spoolss_UserLevel3");
19242
ndr_print_uint32(ndr, "size", r->size);
19243
ndr_print_uint32(ndr, "flags", r->flags);
19244
ndr_print_uint32(ndr, "size2", r->size2);
19245
ndr_print_ptr(ndr, "client", r->client);
19248
ndr_print_string(ndr, "client", r->client);
19251
ndr_print_ptr(ndr, "user", r->user);
19254
ndr_print_string(ndr, "user", r->user);
19257
ndr_print_uint32(ndr, "build", r->build);
19258
ndr_print_spoolss_MajorVersion(ndr, "major", r->major);
19259
ndr_print_spoolss_MinorVersion(ndr, "minor", r->minor);
19260
ndr_print_spoolss_ProcessorArchitecture(ndr, "processor", r->processor);
19261
ndr_print_udlong(ndr, "reserved", r->reserved);
19265
static enum ndr_err_code ndr_push_spoolss_UserLevel(struct ndr_push *ndr, int ndr_flags, const union spoolss_UserLevel *r)
19267
if (ndr_flags & NDR_SCALARS) {
19268
int level = ndr_push_get_switch_value(ndr, r);
19269
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
19270
NDR_CHECK(ndr_push_union_align(ndr, 5));
19273
NDR_CHECK(ndr_push_unique_ptr(ndr, r->level1));
19277
NDR_CHECK(ndr_push_unique_ptr(ndr, r->level2));
19281
NDR_CHECK(ndr_push_unique_ptr(ndr, r->level3));
19285
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
19288
if (ndr_flags & NDR_BUFFERS) {
19289
int level = ndr_push_get_switch_value(ndr, r);
19293
NDR_CHECK(ndr_push_spoolss_UserLevel1(ndr, NDR_SCALARS|NDR_BUFFERS, r->level1));
19299
NDR_CHECK(ndr_push_spoolss_UserLevel2(ndr, NDR_SCALARS, r->level2));
19305
NDR_CHECK(ndr_push_spoolss_UserLevel3(ndr, NDR_SCALARS|NDR_BUFFERS, r->level3));
19310
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
19313
return NDR_ERR_SUCCESS;
19316
static enum ndr_err_code ndr_pull_spoolss_UserLevel(struct ndr_pull *ndr, int ndr_flags, union spoolss_UserLevel *r)
19320
TALLOC_CTX *_mem_save_level1_0;
19321
TALLOC_CTX *_mem_save_level2_0;
19322
TALLOC_CTX *_mem_save_level3_0;
19323
level = ndr_pull_get_switch_value(ndr, r);
19324
if (ndr_flags & NDR_SCALARS) {
19325
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
19326
if (_level != level) {
19327
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
19329
NDR_CHECK(ndr_pull_union_align(ndr, 5));
19332
uint32_t _ptr_level1;
19333
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_level1));
19335
NDR_PULL_ALLOC(ndr, r->level1);
19342
uint32_t _ptr_level2;
19343
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_level2));
19345
NDR_PULL_ALLOC(ndr, r->level2);
19352
uint32_t _ptr_level3;
19353
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_level3));
19355
NDR_PULL_ALLOC(ndr, r->level3);
19362
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
19365
if (ndr_flags & NDR_BUFFERS) {
19369
_mem_save_level1_0 = NDR_PULL_GET_MEM_CTX(ndr);
19370
NDR_PULL_SET_MEM_CTX(ndr, r->level1, 0);
19371
NDR_CHECK(ndr_pull_spoolss_UserLevel1(ndr, NDR_SCALARS|NDR_BUFFERS, r->level1));
19372
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level1_0, 0);
19378
_mem_save_level2_0 = NDR_PULL_GET_MEM_CTX(ndr);
19379
NDR_PULL_SET_MEM_CTX(ndr, r->level2, 0);
19380
NDR_CHECK(ndr_pull_spoolss_UserLevel2(ndr, NDR_SCALARS, r->level2));
19381
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level2_0, 0);
19387
_mem_save_level3_0 = NDR_PULL_GET_MEM_CTX(ndr);
19388
NDR_PULL_SET_MEM_CTX(ndr, r->level3, 0);
19389
NDR_CHECK(ndr_pull_spoolss_UserLevel3(ndr, NDR_SCALARS|NDR_BUFFERS, r->level3));
19390
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level3_0, 0);
19395
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
19398
return NDR_ERR_SUCCESS;
19401
_PUBLIC_ void ndr_print_spoolss_UserLevel(struct ndr_print *ndr, const char *name, const union spoolss_UserLevel *r)
19404
level = ndr_print_get_switch_value(ndr, r);
19405
ndr_print_union(ndr, name, level, "spoolss_UserLevel");
19408
ndr_print_ptr(ndr, "level1", r->level1);
19411
ndr_print_spoolss_UserLevel1(ndr, "level1", r->level1);
19417
ndr_print_ptr(ndr, "level2", r->level2);
19420
ndr_print_spoolss_UserLevel2(ndr, "level2", r->level2);
19426
ndr_print_ptr(ndr, "level3", r->level3);
19429
ndr_print_spoolss_UserLevel3(ndr, "level3", r->level3);
19435
ndr_print_bad_level(ndr, name, level);
19439
static enum ndr_err_code ndr_push_spoolss_UserLevelCtr(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UserLevelCtr *r)
19441
if (ndr_flags & NDR_SCALARS) {
19442
NDR_CHECK(ndr_push_align(ndr, 5));
19443
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
19444
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->user_info, r->level));
19445
NDR_CHECK(ndr_push_spoolss_UserLevel(ndr, NDR_SCALARS, &r->user_info));
19446
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
19448
if (ndr_flags & NDR_BUFFERS) {
19449
NDR_CHECK(ndr_push_spoolss_UserLevel(ndr, NDR_BUFFERS, &r->user_info));
19451
return NDR_ERR_SUCCESS;
19454
static enum ndr_err_code ndr_pull_spoolss_UserLevelCtr(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UserLevelCtr *r)
19456
if (ndr_flags & NDR_SCALARS) {
19457
NDR_CHECK(ndr_pull_align(ndr, 5));
19458
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
19459
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->user_info, r->level));
19460
NDR_CHECK(ndr_pull_spoolss_UserLevel(ndr, NDR_SCALARS, &r->user_info));
19461
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
19463
if (ndr_flags & NDR_BUFFERS) {
19464
NDR_CHECK(ndr_pull_spoolss_UserLevel(ndr, NDR_BUFFERS, &r->user_info));
19466
return NDR_ERR_SUCCESS;
19469
_PUBLIC_ void ndr_print_spoolss_UserLevelCtr(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevelCtr *r)
19471
ndr_print_struct(ndr, name, "spoolss_UserLevelCtr");
19473
ndr_print_uint32(ndr, "level", r->level);
19474
ndr_print_set_switch_value(ndr, &r->user_info, r->level);
19475
ndr_print_spoolss_UserLevel(ndr, "user_info", &r->user_info);
19479
static enum ndr_err_code ndr_push_spoolss_AccessRights(struct ndr_push *ndr, int ndr_flags, uint32_t r)
19481
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
19482
return NDR_ERR_SUCCESS;
19485
static enum ndr_err_code ndr_pull_spoolss_AccessRights(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
19488
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
19490
return NDR_ERR_SUCCESS;
19493
_PUBLIC_ void ndr_print_spoolss_AccessRights(struct ndr_print *ndr, const char *name, uint32_t r)
19495
ndr_print_uint32(ndr, name, r);
19497
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SERVER_ACCESS_ADMINISTER", SERVER_ACCESS_ADMINISTER, r);
19498
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SERVER_ACCESS_ENUMERATE", SERVER_ACCESS_ENUMERATE, r);
19499
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ACCESS_ADMINISTER", PRINTER_ACCESS_ADMINISTER, r);
19500
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ACCESS_USE", PRINTER_ACCESS_USE, r);
19501
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_ACCESS_ADMINISTER", JOB_ACCESS_ADMINISTER, r);
19502
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_ACCESS_READ", JOB_ACCESS_READ, r);
19506
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterEnumValues(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterEnumValues *r)
19508
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
19509
if (ndr_flags & NDR_SCALARS) {
19510
NDR_CHECK(ndr_push_align(ndr, 5));
19511
NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
19513
uint32_t _flags_save_string = ndr->flags;
19514
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19515
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->value_name));
19516
ndr->flags = _flags_save_string;
19518
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2 * strlen_m_term(r->value_name)));
19519
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->type));
19521
uint32_t _flags_save_DATA_BLOB = ndr->flags;
19522
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING|ndr_spoolss_PrinterEnumValues_align(r->type));
19523
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data));
19524
ndr->flags = _flags_save_DATA_BLOB;
19526
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data?r->data->length:0));
19527
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
19529
if (ndr_flags & NDR_BUFFERS) {
19530
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
19532
uint32_t _flags_save_string = ndr->flags;
19533
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19534
if (r->value_name) {
19535
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value_name));
19536
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->value_name));
19537
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value_name));
19539
ndr->flags = _flags_save_string;
19542
uint32_t _flags_save_DATA_BLOB = ndr->flags;
19543
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING|ndr_spoolss_PrinterEnumValues_align(r->type));
19545
NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data));
19547
struct ndr_push *_ndr_data;
19548
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_data, 0, r->data?r->data->length:0));
19549
NDR_CHECK(ndr_push_DATA_BLOB(_ndr_data, NDR_SCALARS, *r->data));
19550
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_data, 0, r->data?r->data->length:0));
19552
NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data));
19554
ndr->flags = _flags_save_DATA_BLOB;
19557
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
19558
return NDR_ERR_SUCCESS;
19561
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterEnumValues(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterEnumValues *r)
19563
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
19564
uint32_t _ptr_value_name;
19565
TALLOC_CTX *_mem_save_value_name_0;
19566
uint32_t _ptr_data;
19567
TALLOC_CTX *_mem_save_data_0;
19568
if (ndr_flags & NDR_SCALARS) {
19569
NDR_CHECK(ndr_pull_align(ndr, 5));
19570
NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
19572
uint32_t _flags_save_string = ndr->flags;
19573
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19574
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value_name));
19575
if (_ptr_value_name) {
19576
NDR_PULL_ALLOC(ndr, r->value_name);
19577
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->value_name, _ptr_value_name));
19579
r->value_name = NULL;
19581
ndr->flags = _flags_save_string;
19583
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value_name_len));
19584
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->type));
19586
uint32_t _flags_save_DATA_BLOB = ndr->flags;
19587
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING|ndr_spoolss_PrinterEnumValues_align(r->type));
19588
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
19590
NDR_PULL_ALLOC(ndr, r->data);
19591
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data, _ptr_data));
19595
ndr->flags = _flags_save_DATA_BLOB;
19597
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data_length));
19598
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
19600
if (ndr_flags & NDR_BUFFERS) {
19601
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
19603
uint32_t _flags_save_string = ndr->flags;
19604
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19605
if (r->value_name) {
19606
uint32_t _relative_save_offset;
19607
_relative_save_offset = ndr->offset;
19608
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->value_name));
19609
_mem_save_value_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
19610
NDR_PULL_SET_MEM_CTX(ndr, r->value_name, 0);
19611
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->value_name));
19612
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_name_0, 0);
19613
ndr->offset = _relative_save_offset;
19615
ndr->flags = _flags_save_string;
19618
uint32_t _flags_save_DATA_BLOB = ndr->flags;
19619
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING|ndr_spoolss_PrinterEnumValues_align(r->type));
19621
uint32_t _relative_save_offset;
19622
_relative_save_offset = ndr->offset;
19623
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data));
19624
_mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
19625
NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
19627
struct ndr_pull *_ndr_data;
19628
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_data, 0, r->data_length));
19629
NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_data, NDR_SCALARS, r->data));
19630
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_data, 0, r->data_length));
19632
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
19633
ndr->offset = _relative_save_offset;
19635
ndr->flags = _flags_save_DATA_BLOB;
19638
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
19639
return NDR_ERR_SUCCESS;
19642
_PUBLIC_ void ndr_print_spoolss_PrinterEnumValues(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterEnumValues *r)
19644
ndr_print_struct(ndr, name, "spoolss_PrinterEnumValues");
19646
ndr_print_ptr(ndr, "value_name", r->value_name);
19648
if (r->value_name) {
19649
ndr_print_string(ndr, "value_name", r->value_name);
19652
ndr_print_uint32(ndr, "value_name_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m_term(r->value_name):r->value_name_len);
19653
ndr_print_winreg_Type(ndr, "type", r->type);
19654
ndr_print_ptr(ndr, "data", r->data);
19657
ndr_print_DATA_BLOB(ndr, "data", *r->data);
19660
ndr_print_uint32(ndr, "data_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->data?r->data->length:0:r->data_length);
19664
_PUBLIC_ size_t ndr_size_spoolss_PrinterEnumValues(const struct spoolss_PrinterEnumValues *r, struct smb_iconv_convenience *ic, int flags)
19666
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterEnumValues, ic);
19669
static enum ndr_err_code ndr_push_spoolss_KeyNames(struct ndr_push *ndr, int ndr_flags, const union spoolss_KeyNames *r)
19671
if (ndr_flags & NDR_SCALARS) {
19672
int level = ndr_push_get_switch_value(ndr, r);
19673
NDR_CHECK(ndr_push_union_align(ndr, 4));
19683
uint32_t _flags_save_string_array = ndr->flags;
19684
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19685
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string_array));
19686
ndr->flags = _flags_save_string_array;
19692
if (ndr_flags & NDR_BUFFERS) {
19693
int level = ndr_push_get_switch_value(ndr, r);
19706
return NDR_ERR_SUCCESS;
19709
static enum ndr_err_code ndr_pull_spoolss_KeyNames(struct ndr_pull *ndr, int ndr_flags, union spoolss_KeyNames *r)
19712
level = ndr_pull_get_switch_value(ndr, r);
19713
if (ndr_flags & NDR_SCALARS) {
19714
NDR_CHECK(ndr_pull_union_align(ndr, 4));
19724
uint32_t _flags_save_string_array = ndr->flags;
19725
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19726
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string_array));
19727
ndr->flags = _flags_save_string_array;
19733
if (ndr_flags & NDR_BUFFERS) {
19746
return NDR_ERR_SUCCESS;
19749
_PUBLIC_ void ndr_print_spoolss_KeyNames(struct ndr_print *ndr, const char *name, const union spoolss_KeyNames *r)
19752
level = ndr_print_get_switch_value(ndr, r);
19753
ndr_print_union(ndr, name, level, "spoolss_KeyNames");
19762
ndr_print_string_array(ndr, "string_array", r->string_array);
19768
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DeleteDriverFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
19770
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
19771
return NDR_ERR_SUCCESS;
19774
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DeleteDriverFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
19777
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
19779
return NDR_ERR_SUCCESS;
19782
_PUBLIC_ void ndr_print_spoolss_DeleteDriverFlags(struct ndr_print *ndr, const char *name, uint32_t r)
19784
ndr_print_uint32(ndr, name, r);
19786
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DPD_DELETE_UNUSED_FILES", DPD_DELETE_UNUSED_FILES, r);
19787
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DPD_DELETE_SPECIFIC_VERSION", DPD_DELETE_SPECIFIC_VERSION, r);
19788
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DPD_DELETE_ALL_FILES", DPD_DELETE_ALL_FILES, r);
19792
static enum ndr_err_code ndr_push_spoolss_PortProtocol(struct ndr_push *ndr, int ndr_flags, enum spoolss_PortProtocol r)
19794
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
19795
return NDR_ERR_SUCCESS;
19798
static enum ndr_err_code ndr_pull_spoolss_PortProtocol(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PortProtocol *r)
19801
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
19803
return NDR_ERR_SUCCESS;
19806
_PUBLIC_ void ndr_print_spoolss_PortProtocol(struct ndr_print *ndr, const char *name, enum spoolss_PortProtocol r)
19808
const char *val = NULL;
19811
case PROTOCOL_RAWTCP_TYPE: val = "PROTOCOL_RAWTCP_TYPE"; break;
19812
case PROTOCOL_LPR_TYPE: val = "PROTOCOL_LPR_TYPE"; break;
19814
ndr_print_enum(ndr, name, "ENUM", val, r);
19817
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortData1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortData1 *r)
19819
if (ndr_flags & NDR_SCALARS) {
19820
NDR_CHECK(ndr_push_align(ndr, 4));
19821
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->portname, 64, sizeof(uint16_t), CH_UTF16));
19822
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x00000001));
19823
NDR_CHECK(ndr_push_spoolss_PortProtocol(ndr, NDR_SCALARS, r->protocol));
19824
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, sizeof(r)));
19825
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
19826
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hostaddress, 49, sizeof(uint16_t), CH_UTF16));
19827
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->snmpcommunity, 33, sizeof(uint16_t), CH_UTF16));
19828
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dblspool));
19829
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->queue, 33, sizeof(uint16_t), CH_UTF16));
19830
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ip_address, 16, sizeof(uint16_t), CH_UTF16));
19831
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hardware_address, 13, sizeof(uint16_t), CH_UTF16));
19832
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->device_type, 257, sizeof(uint16_t), CH_UTF16));
19833
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->port_number));
19834
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_enabled));
19835
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_dev_index));
19836
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
19838
if (ndr_flags & NDR_BUFFERS) {
19840
return NDR_ERR_SUCCESS;
19843
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortData1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortData1 *r)
19845
if (ndr_flags & NDR_SCALARS) {
19846
NDR_CHECK(ndr_pull_align(ndr, 4));
19847
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->portname, 64, sizeof(uint16_t), CH_UTF16));
19848
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
19849
NDR_CHECK(ndr_pull_spoolss_PortProtocol(ndr, NDR_SCALARS, &r->protocol));
19850
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
19851
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
19852
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hostaddress, 49, sizeof(uint16_t), CH_UTF16));
19853
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->snmpcommunity, 33, sizeof(uint16_t), CH_UTF16));
19854
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dblspool));
19855
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->queue, 33, sizeof(uint16_t), CH_UTF16));
19856
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ip_address, 16, sizeof(uint16_t), CH_UTF16));
19857
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hardware_address, 13, sizeof(uint16_t), CH_UTF16));
19858
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device_type, 257, sizeof(uint16_t), CH_UTF16));
19859
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->port_number));
19860
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_enabled));
19861
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_dev_index));
19862
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
19864
if (ndr_flags & NDR_BUFFERS) {
19866
return NDR_ERR_SUCCESS;
19869
_PUBLIC_ void ndr_print_spoolss_PortData1(struct ndr_print *ndr, const char *name, const struct spoolss_PortData1 *r)
19871
ndr_print_struct(ndr, name, "spoolss_PortData1");
19873
ndr_print_string(ndr, "portname", r->portname);
19874
ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x00000001:r->version);
19875
ndr_print_spoolss_PortProtocol(ndr, "protocol", r->protocol);
19876
ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?sizeof(r):r->size);
19877
ndr_print_uint32(ndr, "reserved", r->reserved);
19878
ndr_print_string(ndr, "hostaddress", r->hostaddress);
19879
ndr_print_string(ndr, "snmpcommunity", r->snmpcommunity);
19880
ndr_print_uint32(ndr, "dblspool", r->dblspool);
19881
ndr_print_string(ndr, "queue", r->queue);
19882
ndr_print_string(ndr, "ip_address", r->ip_address);
19883
ndr_print_string(ndr, "hardware_address", r->hardware_address);
19884
ndr_print_string(ndr, "device_type", r->device_type);
19885
ndr_print_uint32(ndr, "port_number", r->port_number);
19886
ndr_print_uint32(ndr, "snmp_enabled", r->snmp_enabled);
19887
ndr_print_uint32(ndr, "snmp_dev_index", r->snmp_dev_index);
19891
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortData2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortData2 *r)
19893
if (ndr_flags & NDR_SCALARS) {
19894
NDR_CHECK(ndr_push_align(ndr, 4));
19895
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->portname, 64, sizeof(uint16_t), CH_UTF16));
19896
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x00000002));
19897
NDR_CHECK(ndr_push_spoolss_PortProtocol(ndr, NDR_SCALARS, r->protocol));
19898
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, sizeof(r)));
19899
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
19900
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hostaddress, 128, sizeof(uint16_t), CH_UTF16));
19901
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->snmpcommunity, 33, sizeof(uint16_t), CH_UTF16));
19902
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dblspool));
19903
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->queue, 33, sizeof(uint16_t), CH_UTF16));
19904
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->device_type, 257, sizeof(uint16_t), CH_UTF16));
19905
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->port_number));
19906
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_enabled));
19907
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_dev_index));
19908
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->port_monitor_mib_index));
19909
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
19911
if (ndr_flags & NDR_BUFFERS) {
19913
return NDR_ERR_SUCCESS;
19916
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortData2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortData2 *r)
19918
if (ndr_flags & NDR_SCALARS) {
19919
NDR_CHECK(ndr_pull_align(ndr, 4));
19920
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->portname, 64, sizeof(uint16_t), CH_UTF16));
19921
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
19922
NDR_CHECK(ndr_pull_spoolss_PortProtocol(ndr, NDR_SCALARS, &r->protocol));
19923
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
19924
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
19925
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hostaddress, 128, sizeof(uint16_t), CH_UTF16));
19926
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->snmpcommunity, 33, sizeof(uint16_t), CH_UTF16));
19927
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dblspool));
19928
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->queue, 33, sizeof(uint16_t), CH_UTF16));
19929
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device_type, 257, sizeof(uint16_t), CH_UTF16));
19930
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->port_number));
19931
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_enabled));
19932
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_dev_index));
19933
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->port_monitor_mib_index));
19934
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
19936
if (ndr_flags & NDR_BUFFERS) {
19938
return NDR_ERR_SUCCESS;
19941
_PUBLIC_ void ndr_print_spoolss_PortData2(struct ndr_print *ndr, const char *name, const struct spoolss_PortData2 *r)
19943
ndr_print_struct(ndr, name, "spoolss_PortData2");
19945
ndr_print_string(ndr, "portname", r->portname);
19946
ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x00000002:r->version);
19947
ndr_print_spoolss_PortProtocol(ndr, "protocol", r->protocol);
19948
ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?sizeof(r):r->size);
19949
ndr_print_uint32(ndr, "reserved", r->reserved);
19950
ndr_print_string(ndr, "hostaddress", r->hostaddress);
19951
ndr_print_string(ndr, "snmpcommunity", r->snmpcommunity);
19952
ndr_print_uint32(ndr, "dblspool", r->dblspool);
19953
ndr_print_string(ndr, "queue", r->queue);
19954
ndr_print_string(ndr, "device_type", r->device_type);
19955
ndr_print_uint32(ndr, "port_number", r->port_number);
19956
ndr_print_uint32(ndr, "snmp_enabled", r->snmp_enabled);
19957
ndr_print_uint32(ndr, "snmp_dev_index", r->snmp_dev_index);
19958
ndr_print_uint32(ndr, "port_monitor_mib_index", r->port_monitor_mib_index);
19962
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorUi(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorUi *r)
19964
if (ndr_flags & NDR_SCALARS) {
19965
NDR_CHECK(ndr_push_align(ndr, 4));
19967
uint32_t _flags_save_string = ndr->flags;
19968
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19969
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dll_name));
19970
ndr->flags = _flags_save_string;
19972
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
19974
if (ndr_flags & NDR_BUFFERS) {
19976
return NDR_ERR_SUCCESS;
19979
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_MonitorUi(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorUi *r)
19981
if (ndr_flags & NDR_SCALARS) {
19982
NDR_CHECK(ndr_pull_align(ndr, 4));
19984
uint32_t _flags_save_string = ndr->flags;
19985
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19986
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dll_name));
19987
ndr->flags = _flags_save_string;
19989
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
19991
if (ndr_flags & NDR_BUFFERS) {
19993
return NDR_ERR_SUCCESS;
19996
_PUBLIC_ void ndr_print_spoolss_MonitorUi(struct ndr_print *ndr, const char *name, const struct spoolss_MonitorUi *r)
19998
ndr_print_struct(ndr, name, "spoolss_MonitorUi");
20000
ndr_print_string(ndr, "dll_name", r->dll_name);
20004
static enum ndr_err_code ndr_push_spoolss_AddPrinterDriverExFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
20006
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
20007
return NDR_ERR_SUCCESS;
20010
static enum ndr_err_code ndr_pull_spoolss_AddPrinterDriverExFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
20013
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
20015
return NDR_ERR_SUCCESS;
20018
_PUBLIC_ void ndr_print_spoolss_AddPrinterDriverExFlags(struct ndr_print *ndr, const char *name, uint32_t r)
20020
ndr_print_uint32(ndr, name, r);
20022
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_STRICT_UPGRADE", APD_STRICT_UPGRADE, r);
20023
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_STRICT_DOWNGRADE", APD_STRICT_DOWNGRADE, r);
20024
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_COPY_ALL_FILES", APD_COPY_ALL_FILES, r);
20025
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_COPY_NEW_FILES", APD_COPY_NEW_FILES, r);
20026
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_COPY_FROM_DIRECTORY", APD_COPY_FROM_DIRECTORY, r);
20027
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_DONT_COPY_FILES_TO_CLUSTER", APD_DONT_COPY_FILES_TO_CLUSTER, r);
20028
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_COPY_TO_ALL_SPOOLERS", APD_COPY_TO_ALL_SPOOLERS, r);
20029
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_RETURN_BLOCKING_STATUS_CODE", APD_RETURN_BLOCKING_STATUS_CODE, r);
20033
static enum ndr_err_code ndr_push_spoolss_CorePrinterDriver(struct ndr_push *ndr, int ndr_flags, const struct spoolss_CorePrinterDriver *r)
20035
if (ndr_flags & NDR_SCALARS) {
20036
NDR_CHECK(ndr_push_align(ndr, 8));
20037
NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->core_driver_guid));
20038
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date));
20039
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
20040
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->formname, 520, sizeof(uint8_t), CH_UTF8));
20041
NDR_CHECK(ndr_push_trailer_align(ndr, 8));
20043
if (ndr_flags & NDR_BUFFERS) {
20045
return NDR_ERR_SUCCESS;
20048
static enum ndr_err_code ndr_pull_spoolss_CorePrinterDriver(struct ndr_pull *ndr, int ndr_flags, struct spoolss_CorePrinterDriver *r)
20050
if (ndr_flags & NDR_SCALARS) {
20051
NDR_CHECK(ndr_pull_align(ndr, 8));
20052
NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->core_driver_guid));
20053
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date));
20054
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
20055
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->formname, 520, sizeof(uint8_t), CH_UTF8));
20056
NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
20058
if (ndr_flags & NDR_BUFFERS) {
20060
return NDR_ERR_SUCCESS;
20063
_PUBLIC_ void ndr_print_spoolss_CorePrinterDriver(struct ndr_print *ndr, const char *name, const struct spoolss_CorePrinterDriver *r)
20065
ndr_print_struct(ndr, name, "spoolss_CorePrinterDriver");
20067
ndr_print_GUID(ndr, "core_driver_guid", &r->core_driver_guid);
20068
ndr_print_NTTIME(ndr, "driver_date", r->driver_date);
20069
ndr_print_hyper(ndr, "driver_version", r->driver_version);
20070
ndr_print_string(ndr, "formname", r->formname);
20074
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrinters(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrinters *r)
20076
if (flags & NDR_IN) {
20077
NDR_CHECK(ndr_push_spoolss_EnumPrinterFlags(ndr, NDR_SCALARS, r->in.flags));
20078
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
20079
if (r->in.server) {
20080
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
20081
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
20082
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
20083
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
20085
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
20086
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
20087
if (r->in.buffer) {
20088
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
20090
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
20092
if (flags & NDR_OUT) {
20093
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
20095
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
20097
if (r->out.needed == NULL) {
20098
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20100
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
20101
if (r->out.count == NULL) {
20102
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20104
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
20105
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
20107
return NDR_ERR_SUCCESS;
20110
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrinters(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrinters *r)
20112
uint32_t _ptr_server;
20113
uint32_t _ptr_buffer;
20114
uint32_t _ptr_info;
20115
TALLOC_CTX *_mem_save_server_0;
20116
TALLOC_CTX *_mem_save_buffer_0;
20117
TALLOC_CTX *_mem_save_info_0;
20118
TALLOC_CTX *_mem_save_needed_0;
20119
TALLOC_CTX *_mem_save_count_0;
20120
if (flags & NDR_IN) {
20121
ZERO_STRUCT(r->out);
20123
NDR_CHECK(ndr_pull_spoolss_EnumPrinterFlags(ndr, NDR_SCALARS, &r->in.flags));
20124
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
20126
NDR_PULL_ALLOC(ndr, r->in.server);
20128
r->in.server = NULL;
20130
if (r->in.server) {
20131
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
20132
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
20133
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
20134
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
20135
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
20136
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));
20138
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
20139
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
20140
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
20142
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
20143
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
20145
NDR_PULL_ALLOC(ndr, r->in.buffer);
20147
r->in.buffer = NULL;
20149
if (r->in.buffer) {
20150
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
20151
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
20152
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
20153
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
20155
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
20156
NDR_PULL_ALLOC(ndr, r->out.needed);
20157
ZERO_STRUCTP(r->out.needed);
20158
NDR_PULL_ALLOC(ndr, r->out.count);
20159
ZERO_STRUCTP(r->out.count);
20161
if (flags & NDR_OUT) {
20162
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
20164
NDR_PULL_ALLOC(ndr, r->out.info);
20166
r->out.info = NULL;
20169
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
20170
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
20171
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
20172
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
20174
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20175
NDR_PULL_ALLOC(ndr, r->out.needed);
20177
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
20178
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
20179
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
20180
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
20181
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20182
NDR_PULL_ALLOC(ndr, r->out.count);
20184
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
20185
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
20186
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
20187
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
20188
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
20190
return NDR_ERR_SUCCESS;
20193
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrinters(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrinters *r)
20195
uint32_t cntr_info_0;
20196
if (flags & NDR_IN) {
20197
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
20198
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
20200
if (flags & NDR_OUT) {
20201
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
20202
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
20203
NDR_CHECK(ndr_push_spoolss_PrinterInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
20205
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
20206
NDR_CHECK(ndr_push_spoolss_PrinterInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
20209
return NDR_ERR_SUCCESS;
20212
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrinters(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrinters *r)
20214
uint32_t cntr_info_0;
20215
TALLOC_CTX *_mem_save_info_0;
20216
if (flags & NDR_IN) {
20217
ZERO_STRUCT(r->out);
20219
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
20220
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
20222
if (flags & NDR_OUT) {
20223
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
20224
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
20225
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
20226
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
20227
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
20228
NDR_CHECK(ndr_pull_spoolss_PrinterInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
20230
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
20231
NDR_CHECK(ndr_pull_spoolss_PrinterInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
20233
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
20235
return NDR_ERR_SUCCESS;
20238
_PUBLIC_ void ndr_print_spoolss_EnumPrinters(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinters *r)
20240
uint32_t cntr_info_2;
20241
ndr_print_struct(ndr, name, "spoolss_EnumPrinters");
20243
if (flags & NDR_SET_VALUES) {
20244
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
20246
if (flags & NDR_IN) {
20247
ndr_print_struct(ndr, "in", "spoolss_EnumPrinters");
20249
ndr_print_spoolss_EnumPrinterFlags(ndr, "flags", r->in.flags);
20250
ndr_print_ptr(ndr, "server", r->in.server);
20252
if (r->in.server) {
20253
ndr_print_string(ndr, "server", r->in.server);
20256
ndr_print_uint32(ndr, "level", r->in.level);
20257
ndr_print_ptr(ndr, "buffer", r->in.buffer);
20259
if (r->in.buffer) {
20260
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
20263
ndr_print_uint32(ndr, "offered", r->in.offered);
20266
if (flags & NDR_OUT) {
20267
ndr_print_struct(ndr, "out", "spoolss_EnumPrinters");
20269
ndr_print_ptr(ndr, "count", r->out.count);
20271
ndr_print_uint32(ndr, "count", *r->out.count);
20273
ndr_print_ptr(ndr, "info", r->out.info);
20275
ndr_print_ptr(ndr, "info", *r->out.info);
20277
if (*r->out.info) {
20278
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
20280
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
20282
if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) {
20283
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
20284
ndr_print_spoolss_PrinterInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
20292
ndr_print_ptr(ndr, "needed", r->out.needed);
20294
ndr_print_uint32(ndr, "needed", *r->out.needed);
20296
ndr_print_WERROR(ndr, "result", r->out.result);
20302
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_OpenPrinter(struct ndr_push *ndr, int flags, const struct spoolss_OpenPrinter *r)
20304
if (flags & NDR_IN) {
20305
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.printername));
20306
if (r->in.printername) {
20307
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
20308
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
20309
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
20310
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.printername, ndr_charset_length(r->in.printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
20312
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.datatype));
20313
if (r->in.datatype) {
20314
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16)));
20315
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
20316
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16)));
20317
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.datatype, ndr_charset_length(r->in.datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
20319
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
20320
NDR_CHECK(ndr_push_spoolss_AccessRights(ndr, NDR_SCALARS, r->in.access_mask));
20322
if (flags & NDR_OUT) {
20323
if (r->out.handle == NULL) {
20324
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20326
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
20327
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
20329
return NDR_ERR_SUCCESS;
20332
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OpenPrinter(struct ndr_pull *ndr, int flags, struct spoolss_OpenPrinter *r)
20334
uint32_t _ptr_printername;
20335
uint32_t _ptr_datatype;
20336
TALLOC_CTX *_mem_save_printername_0;
20337
TALLOC_CTX *_mem_save_datatype_0;
20338
TALLOC_CTX *_mem_save_handle_0;
20339
if (flags & NDR_IN) {
20340
ZERO_STRUCT(r->out);
20342
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
20343
if (_ptr_printername) {
20344
NDR_PULL_ALLOC(ndr, r->in.printername);
20346
r->in.printername = NULL;
20348
if (r->in.printername) {
20349
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
20350
NDR_PULL_SET_MEM_CTX(ndr, r->in.printername, 0);
20351
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.printername));
20352
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.printername));
20353
if (ndr_get_array_length(ndr, &r->in.printername) > ndr_get_array_size(ndr, &r->in.printername)) {
20354
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));
20356
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t)));
20357
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.printername, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t), CH_UTF16));
20358
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
20360
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
20361
if (_ptr_datatype) {
20362
NDR_PULL_ALLOC(ndr, r->in.datatype);
20364
r->in.datatype = NULL;
20366
if (r->in.datatype) {
20367
_mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
20368
NDR_PULL_SET_MEM_CTX(ndr, r->in.datatype, 0);
20369
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.datatype));
20370
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.datatype));
20371
if (ndr_get_array_length(ndr, &r->in.datatype) > ndr_get_array_size(ndr, &r->in.datatype)) {
20372
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));
20374
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t)));
20375
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.datatype, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t), CH_UTF16));
20376
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
20378
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
20379
NDR_CHECK(ndr_pull_spoolss_AccessRights(ndr, NDR_SCALARS, &r->in.access_mask));
20380
NDR_PULL_ALLOC(ndr, r->out.handle);
20381
ZERO_STRUCTP(r->out.handle);
20383
if (flags & NDR_OUT) {
20384
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20385
NDR_PULL_ALLOC(ndr, r->out.handle);
20387
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
20388
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
20389
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
20390
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
20391
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
20393
return NDR_ERR_SUCCESS;
20396
_PUBLIC_ void ndr_print_spoolss_OpenPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_OpenPrinter *r)
20398
ndr_print_struct(ndr, name, "spoolss_OpenPrinter");
20400
if (flags & NDR_SET_VALUES) {
20401
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
20403
if (flags & NDR_IN) {
20404
ndr_print_struct(ndr, "in", "spoolss_OpenPrinter");
20406
ndr_print_ptr(ndr, "printername", r->in.printername);
20408
if (r->in.printername) {
20409
ndr_print_string(ndr, "printername", r->in.printername);
20412
ndr_print_ptr(ndr, "datatype", r->in.datatype);
20414
if (r->in.datatype) {
20415
ndr_print_string(ndr, "datatype", r->in.datatype);
20418
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", &r->in.devmode_ctr);
20419
ndr_print_spoolss_AccessRights(ndr, "access_mask", r->in.access_mask);
20422
if (flags & NDR_OUT) {
20423
ndr_print_struct(ndr, "out", "spoolss_OpenPrinter");
20425
ndr_print_ptr(ndr, "handle", r->out.handle);
20427
ndr_print_policy_handle(ndr, "handle", r->out.handle);
20429
ndr_print_WERROR(ndr, "result", r->out.result);
20435
static enum ndr_err_code ndr_push_spoolss_SetJob(struct ndr_push *ndr, int flags, const struct spoolss_SetJob *r)
20437
if (flags & NDR_IN) {
20438
if (r->in.handle == NULL) {
20439
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20441
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
20442
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.job_id));
20443
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.ctr));
20445
NDR_CHECK(ndr_push_spoolss_JobInfoContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
20447
NDR_CHECK(ndr_push_spoolss_JobControl(ndr, NDR_SCALARS, r->in.command));
20449
if (flags & NDR_OUT) {
20450
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
20452
return NDR_ERR_SUCCESS;
20455
static enum ndr_err_code ndr_pull_spoolss_SetJob(struct ndr_pull *ndr, int flags, struct spoolss_SetJob *r)
20458
TALLOC_CTX *_mem_save_handle_0;
20459
TALLOC_CTX *_mem_save_ctr_0;
20460
if (flags & NDR_IN) {
20461
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20462
NDR_PULL_ALLOC(ndr, r->in.handle);
20464
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
20465
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
20466
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
20467
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
20468
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.job_id));
20469
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
20471
NDR_PULL_ALLOC(ndr, r->in.ctr);
20476
_mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
20477
NDR_PULL_SET_MEM_CTX(ndr, r->in.ctr, 0);
20478
NDR_CHECK(ndr_pull_spoolss_JobInfoContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
20479
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, 0);
20481
NDR_CHECK(ndr_pull_spoolss_JobControl(ndr, NDR_SCALARS, &r->in.command));
20483
if (flags & NDR_OUT) {
20484
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
20486
return NDR_ERR_SUCCESS;
20489
_PUBLIC_ void ndr_print_spoolss_SetJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetJob *r)
20491
ndr_print_struct(ndr, name, "spoolss_SetJob");
20493
if (flags & NDR_SET_VALUES) {
20494
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
20496
if (flags & NDR_IN) {
20497
ndr_print_struct(ndr, "in", "spoolss_SetJob");
20499
ndr_print_ptr(ndr, "handle", r->in.handle);
20501
ndr_print_policy_handle(ndr, "handle", r->in.handle);
20503
ndr_print_uint32(ndr, "job_id", r->in.job_id);
20504
ndr_print_ptr(ndr, "ctr", r->in.ctr);
20507
ndr_print_spoolss_JobInfoContainer(ndr, "ctr", r->in.ctr);
20510
ndr_print_spoolss_JobControl(ndr, "command", r->in.command);
20513
if (flags & NDR_OUT) {
20514
ndr_print_struct(ndr, "out", "spoolss_SetJob");
20516
ndr_print_WERROR(ndr, "result", r->out.result);
20522
static enum ndr_err_code ndr_push_spoolss_GetJob(struct ndr_push *ndr, int flags, const struct spoolss_GetJob *r)
20524
if (flags & NDR_IN) {
20525
if (r->in.handle == NULL) {
20526
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20528
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
20529
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.job_id));
20530
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
20531
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
20532
if (r->in.buffer) {
20533
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
20535
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
20537
if (flags & NDR_OUT) {
20538
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
20541
struct ndr_push *_ndr_info;
20542
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
20543
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
20544
NDR_CHECK(ndr_push_spoolss_JobInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
20545
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
20548
if (r->out.needed == NULL) {
20549
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20551
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
20552
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
20554
return NDR_ERR_SUCCESS;
20557
static enum ndr_err_code ndr_pull_spoolss_GetJob(struct ndr_pull *ndr, int flags, struct spoolss_GetJob *r)
20559
uint32_t _ptr_buffer;
20560
uint32_t _ptr_info;
20561
TALLOC_CTX *_mem_save_handle_0;
20562
TALLOC_CTX *_mem_save_buffer_0;
20563
TALLOC_CTX *_mem_save_info_0;
20564
TALLOC_CTX *_mem_save_needed_0;
20565
if (flags & NDR_IN) {
20566
ZERO_STRUCT(r->out);
20568
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20569
NDR_PULL_ALLOC(ndr, r->in.handle);
20571
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
20572
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
20573
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
20574
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
20575
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.job_id));
20576
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
20577
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
20579
NDR_PULL_ALLOC(ndr, r->in.buffer);
20581
r->in.buffer = NULL;
20583
if (r->in.buffer) {
20584
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
20585
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
20586
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
20587
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
20589
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
20590
NDR_PULL_ALLOC(ndr, r->out.needed);
20591
ZERO_STRUCTP(r->out.needed);
20593
if (flags & NDR_OUT) {
20594
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
20596
NDR_PULL_ALLOC(ndr, r->out.info);
20598
r->out.info = NULL;
20601
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
20602
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
20604
struct ndr_pull *_ndr_info;
20605
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
20606
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
20607
NDR_CHECK(ndr_pull_spoolss_JobInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
20608
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
20610
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
20612
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20613
NDR_PULL_ALLOC(ndr, r->out.needed);
20615
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
20616
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
20617
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
20618
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
20619
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
20621
return NDR_ERR_SUCCESS;
20624
_PUBLIC_ void ndr_print_spoolss_GetJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetJob *r)
20626
ndr_print_struct(ndr, name, "spoolss_GetJob");
20628
if (flags & NDR_SET_VALUES) {
20629
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
20631
if (flags & NDR_IN) {
20632
ndr_print_struct(ndr, "in", "spoolss_GetJob");
20634
ndr_print_ptr(ndr, "handle", r->in.handle);
20636
ndr_print_policy_handle(ndr, "handle", r->in.handle);
20638
ndr_print_uint32(ndr, "job_id", r->in.job_id);
20639
ndr_print_uint32(ndr, "level", r->in.level);
20640
ndr_print_ptr(ndr, "buffer", r->in.buffer);
20642
if (r->in.buffer) {
20643
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
20646
ndr_print_uint32(ndr, "offered", r->in.offered);
20649
if (flags & NDR_OUT) {
20650
ndr_print_struct(ndr, "out", "spoolss_GetJob");
20652
ndr_print_ptr(ndr, "info", r->out.info);
20655
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
20656
ndr_print_spoolss_JobInfo(ndr, "info", r->out.info);
20659
ndr_print_ptr(ndr, "needed", r->out.needed);
20661
ndr_print_uint32(ndr, "needed", *r->out.needed);
20663
ndr_print_WERROR(ndr, "result", r->out.result);
20669
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumJobs(struct ndr_push *ndr, int flags, const struct _spoolss_EnumJobs *r)
20671
if (flags & NDR_IN) {
20672
if (r->in.handle == NULL) {
20673
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20675
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
20676
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.firstjob));
20677
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.numjobs));
20678
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
20679
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
20680
if (r->in.buffer) {
20681
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
20683
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
20685
if (flags & NDR_OUT) {
20686
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
20688
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
20690
if (r->out.needed == NULL) {
20691
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20693
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
20694
if (r->out.count == NULL) {
20695
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20697
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
20698
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
20700
return NDR_ERR_SUCCESS;
20703
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumJobs(struct ndr_pull *ndr, int flags, struct _spoolss_EnumJobs *r)
20705
uint32_t _ptr_buffer;
20706
uint32_t _ptr_info;
20707
TALLOC_CTX *_mem_save_handle_0;
20708
TALLOC_CTX *_mem_save_buffer_0;
20709
TALLOC_CTX *_mem_save_info_0;
20710
TALLOC_CTX *_mem_save_needed_0;
20711
TALLOC_CTX *_mem_save_count_0;
20712
if (flags & NDR_IN) {
20713
ZERO_STRUCT(r->out);
20715
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20716
NDR_PULL_ALLOC(ndr, r->in.handle);
20718
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
20719
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
20720
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
20721
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
20722
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.firstjob));
20723
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.numjobs));
20724
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
20725
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
20727
NDR_PULL_ALLOC(ndr, r->in.buffer);
20729
r->in.buffer = NULL;
20731
if (r->in.buffer) {
20732
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
20733
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
20734
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
20735
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
20737
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
20738
NDR_PULL_ALLOC(ndr, r->out.needed);
20739
ZERO_STRUCTP(r->out.needed);
20740
NDR_PULL_ALLOC(ndr, r->out.count);
20741
ZERO_STRUCTP(r->out.count);
20743
if (flags & NDR_OUT) {
20744
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
20746
NDR_PULL_ALLOC(ndr, r->out.info);
20748
r->out.info = NULL;
20751
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
20752
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
20753
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
20754
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
20756
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20757
NDR_PULL_ALLOC(ndr, r->out.needed);
20759
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
20760
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
20761
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
20762
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
20763
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20764
NDR_PULL_ALLOC(ndr, r->out.count);
20766
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
20767
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
20768
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
20769
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
20770
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
20772
return NDR_ERR_SUCCESS;
20775
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumJobs(struct ndr_push *ndr, int flags, const struct __spoolss_EnumJobs *r)
20777
uint32_t cntr_info_0;
20778
if (flags & NDR_IN) {
20779
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
20780
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
20782
if (flags & NDR_OUT) {
20783
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
20784
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
20785
NDR_CHECK(ndr_push_spoolss_JobInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
20787
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
20788
NDR_CHECK(ndr_push_spoolss_JobInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
20791
return NDR_ERR_SUCCESS;
20794
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumJobs(struct ndr_pull *ndr, int flags, struct __spoolss_EnumJobs *r)
20796
uint32_t cntr_info_0;
20797
TALLOC_CTX *_mem_save_info_0;
20798
if (flags & NDR_IN) {
20799
ZERO_STRUCT(r->out);
20801
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
20802
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
20804
if (flags & NDR_OUT) {
20805
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
20806
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
20807
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
20808
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
20809
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
20810
NDR_CHECK(ndr_pull_spoolss_JobInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
20812
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
20813
NDR_CHECK(ndr_pull_spoolss_JobInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
20815
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
20817
return NDR_ERR_SUCCESS;
20820
_PUBLIC_ void ndr_print_spoolss_EnumJobs(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumJobs *r)
20822
uint32_t cntr_info_2;
20823
ndr_print_struct(ndr, name, "spoolss_EnumJobs");
20825
if (flags & NDR_SET_VALUES) {
20826
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
20828
if (flags & NDR_IN) {
20829
ndr_print_struct(ndr, "in", "spoolss_EnumJobs");
20831
ndr_print_ptr(ndr, "handle", r->in.handle);
20833
ndr_print_policy_handle(ndr, "handle", r->in.handle);
20835
ndr_print_uint32(ndr, "firstjob", r->in.firstjob);
20836
ndr_print_uint32(ndr, "numjobs", r->in.numjobs);
20837
ndr_print_uint32(ndr, "level", r->in.level);
20838
ndr_print_ptr(ndr, "buffer", r->in.buffer);
20840
if (r->in.buffer) {
20841
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
20844
ndr_print_uint32(ndr, "offered", r->in.offered);
20847
if (flags & NDR_OUT) {
20848
ndr_print_struct(ndr, "out", "spoolss_EnumJobs");
20850
ndr_print_ptr(ndr, "count", r->out.count);
20852
ndr_print_uint32(ndr, "count", *r->out.count);
20854
ndr_print_ptr(ndr, "info", r->out.info);
20856
ndr_print_ptr(ndr, "info", *r->out.info);
20858
if (*r->out.info) {
20859
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
20861
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
20863
if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) {
20864
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
20865
ndr_print_spoolss_JobInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
20873
ndr_print_ptr(ndr, "needed", r->out.needed);
20875
ndr_print_uint32(ndr, "needed", *r->out.needed);
20877
ndr_print_WERROR(ndr, "result", r->out.result);
20883
static enum ndr_err_code ndr_push_spoolss_AddPrinter(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinter *r)
20885
if (flags & NDR_IN) {
20886
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
20887
if (r->in.server) {
20888
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
20889
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
20890
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
20891
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
20893
if (r->in.info_ctr == NULL) {
20894
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20896
NDR_CHECK(ndr_push_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
20897
if (r->in.devmode_ctr == NULL) {
20898
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20900
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
20901
if (r->in.secdesc_ctr == NULL) {
20902
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20904
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr));
20906
if (flags & NDR_OUT) {
20907
if (r->out.handle == NULL) {
20908
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
20910
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
20911
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
20913
return NDR_ERR_SUCCESS;
20916
static enum ndr_err_code ndr_pull_spoolss_AddPrinter(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinter *r)
20918
uint32_t _ptr_server;
20919
TALLOC_CTX *_mem_save_server_0;
20920
TALLOC_CTX *_mem_save_info_ctr_0;
20921
TALLOC_CTX *_mem_save_devmode_ctr_0;
20922
TALLOC_CTX *_mem_save_secdesc_ctr_0;
20923
TALLOC_CTX *_mem_save_handle_0;
20924
if (flags & NDR_IN) {
20925
ZERO_STRUCT(r->out);
20927
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
20929
NDR_PULL_ALLOC(ndr, r->in.server);
20931
r->in.server = NULL;
20933
if (r->in.server) {
20934
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
20935
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
20936
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
20937
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
20938
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
20939
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));
20941
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
20942
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
20943
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
20945
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20946
NDR_PULL_ALLOC(ndr, r->in.info_ctr);
20948
_mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
20949
NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC);
20950
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
20951
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
20952
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20953
NDR_PULL_ALLOC(ndr, r->in.devmode_ctr);
20955
_mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
20956
NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC);
20957
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
20958
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC);
20959
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20960
NDR_PULL_ALLOC(ndr, r->in.secdesc_ctr);
20962
_mem_save_secdesc_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
20963
NDR_PULL_SET_MEM_CTX(ndr, r->in.secdesc_ctr, LIBNDR_FLAG_REF_ALLOC);
20964
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr));
20965
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_ctr_0, LIBNDR_FLAG_REF_ALLOC);
20966
NDR_PULL_ALLOC(ndr, r->out.handle);
20967
ZERO_STRUCTP(r->out.handle);
20969
if (flags & NDR_OUT) {
20970
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
20971
NDR_PULL_ALLOC(ndr, r->out.handle);
20973
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
20974
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
20975
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
20976
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
20977
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
20979
return NDR_ERR_SUCCESS;
20982
_PUBLIC_ void ndr_print_spoolss_AddPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinter *r)
20984
ndr_print_struct(ndr, name, "spoolss_AddPrinter");
20986
if (flags & NDR_SET_VALUES) {
20987
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
20989
if (flags & NDR_IN) {
20990
ndr_print_struct(ndr, "in", "spoolss_AddPrinter");
20992
ndr_print_ptr(ndr, "server", r->in.server);
20994
if (r->in.server) {
20995
ndr_print_string(ndr, "server", r->in.server);
20998
ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr);
21000
ndr_print_spoolss_SetPrinterInfoCtr(ndr, "info_ctr", r->in.info_ctr);
21002
ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr);
21004
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr);
21006
ndr_print_ptr(ndr, "secdesc_ctr", r->in.secdesc_ctr);
21008
ndr_print_sec_desc_buf(ndr, "secdesc_ctr", r->in.secdesc_ctr);
21012
if (flags & NDR_OUT) {
21013
ndr_print_struct(ndr, "out", "spoolss_AddPrinter");
21015
ndr_print_ptr(ndr, "handle", r->out.handle);
21017
ndr_print_policy_handle(ndr, "handle", r->out.handle);
21019
ndr_print_WERROR(ndr, "result", r->out.result);
21025
static enum ndr_err_code ndr_push_spoolss_DeletePrinter(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinter *r)
21027
if (flags & NDR_IN) {
21028
if (r->in.handle == NULL) {
21029
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21031
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21033
if (flags & NDR_OUT) {
21034
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21036
return NDR_ERR_SUCCESS;
21039
static enum ndr_err_code ndr_pull_spoolss_DeletePrinter(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinter *r)
21041
TALLOC_CTX *_mem_save_handle_0;
21042
if (flags & NDR_IN) {
21043
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21044
NDR_PULL_ALLOC(ndr, r->in.handle);
21046
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
21047
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
21048
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21049
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
21051
if (flags & NDR_OUT) {
21052
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
21054
return NDR_ERR_SUCCESS;
21057
_PUBLIC_ void ndr_print_spoolss_DeletePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinter *r)
21059
ndr_print_struct(ndr, name, "spoolss_DeletePrinter");
21061
if (flags & NDR_SET_VALUES) {
21062
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
21064
if (flags & NDR_IN) {
21065
ndr_print_struct(ndr, "in", "spoolss_DeletePrinter");
21067
ndr_print_ptr(ndr, "handle", r->in.handle);
21069
ndr_print_policy_handle(ndr, "handle", r->in.handle);
21073
if (flags & NDR_OUT) {
21074
ndr_print_struct(ndr, "out", "spoolss_DeletePrinter");
21076
ndr_print_WERROR(ndr, "result", r->out.result);
21082
static enum ndr_err_code ndr_push_spoolss_SetPrinter(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinter *r)
21084
if (flags & NDR_IN) {
21085
if (r->in.handle == NULL) {
21086
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21088
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21089
if (r->in.info_ctr == NULL) {
21090
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21092
NDR_CHECK(ndr_push_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
21093
if (r->in.devmode_ctr == NULL) {
21094
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21096
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
21097
if (r->in.secdesc_ctr == NULL) {
21098
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21100
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr));
21101
NDR_CHECK(ndr_push_spoolss_PrinterControl(ndr, NDR_SCALARS, r->in.command));
21103
if (flags & NDR_OUT) {
21104
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21106
return NDR_ERR_SUCCESS;
21109
static enum ndr_err_code ndr_pull_spoolss_SetPrinter(struct ndr_pull *ndr, int flags, struct spoolss_SetPrinter *r)
21111
TALLOC_CTX *_mem_save_handle_0;
21112
TALLOC_CTX *_mem_save_info_ctr_0;
21113
TALLOC_CTX *_mem_save_devmode_ctr_0;
21114
TALLOC_CTX *_mem_save_secdesc_ctr_0;
21115
if (flags & NDR_IN) {
21116
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21117
NDR_PULL_ALLOC(ndr, r->in.handle);
21119
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
21120
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
21121
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21122
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
21123
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21124
NDR_PULL_ALLOC(ndr, r->in.info_ctr);
21126
_mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
21127
NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC);
21128
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
21129
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
21130
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21131
NDR_PULL_ALLOC(ndr, r->in.devmode_ctr);
21133
_mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
21134
NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC);
21135
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
21136
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC);
21137
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21138
NDR_PULL_ALLOC(ndr, r->in.secdesc_ctr);
21140
_mem_save_secdesc_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
21141
NDR_PULL_SET_MEM_CTX(ndr, r->in.secdesc_ctr, LIBNDR_FLAG_REF_ALLOC);
21142
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr));
21143
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_ctr_0, LIBNDR_FLAG_REF_ALLOC);
21144
NDR_CHECK(ndr_pull_spoolss_PrinterControl(ndr, NDR_SCALARS, &r->in.command));
21146
if (flags & NDR_OUT) {
21147
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
21149
return NDR_ERR_SUCCESS;
21152
_PUBLIC_ void ndr_print_spoolss_SetPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinter *r)
21154
ndr_print_struct(ndr, name, "spoolss_SetPrinter");
21156
if (flags & NDR_SET_VALUES) {
21157
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
21159
if (flags & NDR_IN) {
21160
ndr_print_struct(ndr, "in", "spoolss_SetPrinter");
21162
ndr_print_ptr(ndr, "handle", r->in.handle);
21164
ndr_print_policy_handle(ndr, "handle", r->in.handle);
21166
ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr);
21168
ndr_print_spoolss_SetPrinterInfoCtr(ndr, "info_ctr", r->in.info_ctr);
21170
ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr);
21172
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr);
21174
ndr_print_ptr(ndr, "secdesc_ctr", r->in.secdesc_ctr);
21176
ndr_print_sec_desc_buf(ndr, "secdesc_ctr", r->in.secdesc_ctr);
21178
ndr_print_spoolss_PrinterControl(ndr, "command", r->in.command);
21181
if (flags & NDR_OUT) {
21182
ndr_print_struct(ndr, "out", "spoolss_SetPrinter");
21184
ndr_print_WERROR(ndr, "result", r->out.result);
21190
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_GetPrinter(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinter *r)
21192
if (flags & NDR_IN) {
21193
if (r->in.handle == NULL) {
21194
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21196
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21197
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
21198
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
21199
if (r->in.buffer) {
21200
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
21202
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
21204
if (flags & NDR_OUT) {
21205
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
21208
struct ndr_push *_ndr_info;
21209
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
21210
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
21211
NDR_CHECK(ndr_push_spoolss_PrinterInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
21212
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
21215
if (r->out.needed == NULL) {
21216
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21218
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
21219
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21221
return NDR_ERR_SUCCESS;
21224
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_GetPrinter(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinter *r)
21226
uint32_t _ptr_buffer;
21227
uint32_t _ptr_info;
21228
TALLOC_CTX *_mem_save_handle_0;
21229
TALLOC_CTX *_mem_save_buffer_0;
21230
TALLOC_CTX *_mem_save_info_0;
21231
TALLOC_CTX *_mem_save_needed_0;
21232
if (flags & NDR_IN) {
21233
ZERO_STRUCT(r->out);
21235
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21236
NDR_PULL_ALLOC(ndr, r->in.handle);
21238
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
21239
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
21240
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21241
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
21242
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
21243
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
21245
NDR_PULL_ALLOC(ndr, r->in.buffer);
21247
r->in.buffer = NULL;
21249
if (r->in.buffer) {
21250
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
21251
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
21252
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
21253
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
21255
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
21256
NDR_PULL_ALLOC(ndr, r->out.needed);
21257
ZERO_STRUCTP(r->out.needed);
21259
if (flags & NDR_OUT) {
21260
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
21262
NDR_PULL_ALLOC(ndr, r->out.info);
21264
r->out.info = NULL;
21267
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
21268
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
21270
struct ndr_pull *_ndr_info;
21271
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
21272
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
21273
NDR_CHECK(ndr_pull_spoolss_PrinterInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
21274
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
21276
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
21278
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21279
NDR_PULL_ALLOC(ndr, r->out.needed);
21281
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
21282
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
21283
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
21284
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
21285
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
21287
return NDR_ERR_SUCCESS;
21290
_PUBLIC_ void ndr_print_spoolss_GetPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinter *r)
21292
ndr_print_struct(ndr, name, "spoolss_GetPrinter");
21294
if (flags & NDR_SET_VALUES) {
21295
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
21297
if (flags & NDR_IN) {
21298
ndr_print_struct(ndr, "in", "spoolss_GetPrinter");
21300
ndr_print_ptr(ndr, "handle", r->in.handle);
21302
ndr_print_policy_handle(ndr, "handle", r->in.handle);
21304
ndr_print_uint32(ndr, "level", r->in.level);
21305
ndr_print_ptr(ndr, "buffer", r->in.buffer);
21307
if (r->in.buffer) {
21308
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
21311
ndr_print_uint32(ndr, "offered", r->in.offered);
21314
if (flags & NDR_OUT) {
21315
ndr_print_struct(ndr, "out", "spoolss_GetPrinter");
21317
ndr_print_ptr(ndr, "info", r->out.info);
21320
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
21321
ndr_print_spoolss_PrinterInfo(ndr, "info", r->out.info);
21324
ndr_print_ptr(ndr, "needed", r->out.needed);
21326
ndr_print_uint32(ndr, "needed", *r->out.needed);
21328
ndr_print_WERROR(ndr, "result", r->out.result);
21334
static enum ndr_err_code ndr_push_spoolss_AddPrinterDriver(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterDriver *r)
21336
if (flags & NDR_IN) {
21337
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
21338
if (r->in.servername) {
21339
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
21340
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
21341
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
21342
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
21344
if (r->in.info_ctr == NULL) {
21345
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21347
NDR_CHECK(ndr_push_spoolss_AddDriverInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
21349
if (flags & NDR_OUT) {
21350
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21352
return NDR_ERR_SUCCESS;
21355
static enum ndr_err_code ndr_pull_spoolss_AddPrinterDriver(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterDriver *r)
21357
uint32_t _ptr_servername;
21358
TALLOC_CTX *_mem_save_servername_0;
21359
TALLOC_CTX *_mem_save_info_ctr_0;
21360
if (flags & NDR_IN) {
21361
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
21362
if (_ptr_servername) {
21363
NDR_PULL_ALLOC(ndr, r->in.servername);
21365
r->in.servername = NULL;
21367
if (r->in.servername) {
21368
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
21369
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
21370
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
21371
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
21372
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
21373
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));
21375
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
21376
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
21377
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
21379
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21380
NDR_PULL_ALLOC(ndr, r->in.info_ctr);
21382
_mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
21383
NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC);
21384
NDR_CHECK(ndr_pull_spoolss_AddDriverInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
21385
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
21387
if (flags & NDR_OUT) {
21388
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
21390
return NDR_ERR_SUCCESS;
21393
_PUBLIC_ void ndr_print_spoolss_AddPrinterDriver(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterDriver *r)
21395
ndr_print_struct(ndr, name, "spoolss_AddPrinterDriver");
21397
if (flags & NDR_SET_VALUES) {
21398
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
21400
if (flags & NDR_IN) {
21401
ndr_print_struct(ndr, "in", "spoolss_AddPrinterDriver");
21403
ndr_print_ptr(ndr, "servername", r->in.servername);
21405
if (r->in.servername) {
21406
ndr_print_string(ndr, "servername", r->in.servername);
21409
ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr);
21411
ndr_print_spoolss_AddDriverInfoCtr(ndr, "info_ctr", r->in.info_ctr);
21415
if (flags & NDR_OUT) {
21416
ndr_print_struct(ndr, "out", "spoolss_AddPrinterDriver");
21418
ndr_print_WERROR(ndr, "result", r->out.result);
21424
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrinterDrivers(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrinterDrivers *r)
21426
if (flags & NDR_IN) {
21427
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
21428
if (r->in.server) {
21429
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
21430
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
21431
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
21432
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
21434
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment));
21435
if (r->in.environment) {
21436
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
21437
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
21438
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
21439
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
21441
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
21442
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
21443
if (r->in.buffer) {
21444
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
21446
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
21448
if (flags & NDR_OUT) {
21449
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
21451
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
21453
if (r->out.needed == NULL) {
21454
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21456
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
21457
if (r->out.count == NULL) {
21458
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21460
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
21461
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21463
return NDR_ERR_SUCCESS;
21466
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrinterDrivers(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrinterDrivers *r)
21468
uint32_t _ptr_server;
21469
uint32_t _ptr_environment;
21470
uint32_t _ptr_buffer;
21471
uint32_t _ptr_info;
21472
TALLOC_CTX *_mem_save_server_0;
21473
TALLOC_CTX *_mem_save_environment_0;
21474
TALLOC_CTX *_mem_save_buffer_0;
21475
TALLOC_CTX *_mem_save_info_0;
21476
TALLOC_CTX *_mem_save_needed_0;
21477
TALLOC_CTX *_mem_save_count_0;
21478
if (flags & NDR_IN) {
21479
ZERO_STRUCT(r->out);
21481
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
21483
NDR_PULL_ALLOC(ndr, r->in.server);
21485
r->in.server = NULL;
21487
if (r->in.server) {
21488
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
21489
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
21490
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
21491
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
21492
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
21493
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));
21495
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
21496
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
21497
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
21499
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
21500
if (_ptr_environment) {
21501
NDR_PULL_ALLOC(ndr, r->in.environment);
21503
r->in.environment = NULL;
21505
if (r->in.environment) {
21506
_mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
21507
NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0);
21508
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment));
21509
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment));
21510
if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) {
21511
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));
21513
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t)));
21514
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16));
21515
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
21517
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
21518
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
21520
NDR_PULL_ALLOC(ndr, r->in.buffer);
21522
r->in.buffer = NULL;
21524
if (r->in.buffer) {
21525
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
21526
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
21527
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
21528
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
21530
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
21531
NDR_PULL_ALLOC(ndr, r->out.needed);
21532
ZERO_STRUCTP(r->out.needed);
21533
NDR_PULL_ALLOC(ndr, r->out.count);
21534
ZERO_STRUCTP(r->out.count);
21536
if (flags & NDR_OUT) {
21537
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
21539
NDR_PULL_ALLOC(ndr, r->out.info);
21541
r->out.info = NULL;
21544
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
21545
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
21546
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
21547
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
21549
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21550
NDR_PULL_ALLOC(ndr, r->out.needed);
21552
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
21553
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
21554
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
21555
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
21556
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21557
NDR_PULL_ALLOC(ndr, r->out.count);
21559
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
21560
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
21561
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
21562
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
21563
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
21565
return NDR_ERR_SUCCESS;
21568
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrinterDrivers(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrinterDrivers *r)
21570
uint32_t cntr_info_0;
21571
if (flags & NDR_IN) {
21572
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
21573
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
21575
if (flags & NDR_OUT) {
21576
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
21577
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
21578
NDR_CHECK(ndr_push_spoolss_DriverInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
21580
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
21581
NDR_CHECK(ndr_push_spoolss_DriverInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
21584
return NDR_ERR_SUCCESS;
21587
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrinterDrivers(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrinterDrivers *r)
21589
uint32_t cntr_info_0;
21590
TALLOC_CTX *_mem_save_info_0;
21591
if (flags & NDR_IN) {
21592
ZERO_STRUCT(r->out);
21594
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
21595
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
21597
if (flags & NDR_OUT) {
21598
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
21599
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
21600
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
21601
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
21602
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
21603
NDR_CHECK(ndr_pull_spoolss_DriverInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
21605
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
21606
NDR_CHECK(ndr_pull_spoolss_DriverInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
21608
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
21610
return NDR_ERR_SUCCESS;
21613
_PUBLIC_ void ndr_print_spoolss_EnumPrinterDrivers(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterDrivers *r)
21615
uint32_t cntr_info_2;
21616
ndr_print_struct(ndr, name, "spoolss_EnumPrinterDrivers");
21618
if (flags & NDR_SET_VALUES) {
21619
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
21621
if (flags & NDR_IN) {
21622
ndr_print_struct(ndr, "in", "spoolss_EnumPrinterDrivers");
21624
ndr_print_ptr(ndr, "server", r->in.server);
21626
if (r->in.server) {
21627
ndr_print_string(ndr, "server", r->in.server);
21630
ndr_print_ptr(ndr, "environment", r->in.environment);
21632
if (r->in.environment) {
21633
ndr_print_string(ndr, "environment", r->in.environment);
21636
ndr_print_uint32(ndr, "level", r->in.level);
21637
ndr_print_ptr(ndr, "buffer", r->in.buffer);
21639
if (r->in.buffer) {
21640
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
21643
ndr_print_uint32(ndr, "offered", r->in.offered);
21646
if (flags & NDR_OUT) {
21647
ndr_print_struct(ndr, "out", "spoolss_EnumPrinterDrivers");
21649
ndr_print_ptr(ndr, "count", r->out.count);
21651
ndr_print_uint32(ndr, "count", *r->out.count);
21653
ndr_print_ptr(ndr, "info", r->out.info);
21655
ndr_print_ptr(ndr, "info", *r->out.info);
21657
if (*r->out.info) {
21658
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
21660
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
21662
if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) {
21663
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
21664
ndr_print_spoolss_DriverInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
21672
ndr_print_ptr(ndr, "needed", r->out.needed);
21674
ndr_print_uint32(ndr, "needed", *r->out.needed);
21676
ndr_print_WERROR(ndr, "result", r->out.result);
21682
static enum ndr_err_code ndr_push_spoolss_GetPrinterDriver(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriver *r)
21684
if (flags & NDR_IN) {
21685
if (r->in.handle == NULL) {
21686
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21688
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21689
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.architecture));
21690
if (r->in.architecture) {
21691
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
21692
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
21693
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
21694
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
21696
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
21697
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
21698
if (r->in.buffer) {
21699
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
21701
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
21703
if (flags & NDR_OUT) {
21704
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
21707
struct ndr_push *_ndr_info;
21708
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
21709
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
21710
NDR_CHECK(ndr_push_spoolss_DriverInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
21711
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
21714
if (r->out.needed == NULL) {
21715
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21717
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
21718
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21720
return NDR_ERR_SUCCESS;
21723
static enum ndr_err_code ndr_pull_spoolss_GetPrinterDriver(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriver *r)
21725
uint32_t _ptr_architecture;
21726
uint32_t _ptr_buffer;
21727
uint32_t _ptr_info;
21728
TALLOC_CTX *_mem_save_handle_0;
21729
TALLOC_CTX *_mem_save_architecture_0;
21730
TALLOC_CTX *_mem_save_buffer_0;
21731
TALLOC_CTX *_mem_save_info_0;
21732
TALLOC_CTX *_mem_save_needed_0;
21733
if (flags & NDR_IN) {
21734
ZERO_STRUCT(r->out);
21736
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21737
NDR_PULL_ALLOC(ndr, r->in.handle);
21739
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
21740
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
21741
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
21742
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
21743
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
21744
if (_ptr_architecture) {
21745
NDR_PULL_ALLOC(ndr, r->in.architecture);
21747
r->in.architecture = NULL;
21749
if (r->in.architecture) {
21750
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
21751
NDR_PULL_SET_MEM_CTX(ndr, r->in.architecture, 0);
21752
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
21753
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
21754
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
21755
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));
21757
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
21758
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
21759
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
21761
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
21762
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
21764
NDR_PULL_ALLOC(ndr, r->in.buffer);
21766
r->in.buffer = NULL;
21768
if (r->in.buffer) {
21769
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
21770
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
21771
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
21772
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
21774
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
21775
NDR_PULL_ALLOC(ndr, r->out.needed);
21776
ZERO_STRUCTP(r->out.needed);
21778
if (flags & NDR_OUT) {
21779
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
21781
NDR_PULL_ALLOC(ndr, r->out.info);
21783
r->out.info = NULL;
21786
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
21787
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
21789
struct ndr_pull *_ndr_info;
21790
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
21791
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
21792
NDR_CHECK(ndr_pull_spoolss_DriverInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
21793
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
21795
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
21797
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21798
NDR_PULL_ALLOC(ndr, r->out.needed);
21800
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
21801
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
21802
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
21803
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
21804
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
21806
return NDR_ERR_SUCCESS;
21809
_PUBLIC_ void ndr_print_spoolss_GetPrinterDriver(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriver *r)
21811
ndr_print_struct(ndr, name, "spoolss_GetPrinterDriver");
21813
if (flags & NDR_SET_VALUES) {
21814
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
21816
if (flags & NDR_IN) {
21817
ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriver");
21819
ndr_print_ptr(ndr, "handle", r->in.handle);
21821
ndr_print_policy_handle(ndr, "handle", r->in.handle);
21823
ndr_print_ptr(ndr, "architecture", r->in.architecture);
21825
if (r->in.architecture) {
21826
ndr_print_string(ndr, "architecture", r->in.architecture);
21829
ndr_print_uint32(ndr, "level", r->in.level);
21830
ndr_print_ptr(ndr, "buffer", r->in.buffer);
21832
if (r->in.buffer) {
21833
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
21836
ndr_print_uint32(ndr, "offered", r->in.offered);
21839
if (flags & NDR_OUT) {
21840
ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriver");
21842
ndr_print_ptr(ndr, "info", r->out.info);
21845
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
21846
ndr_print_spoolss_DriverInfo(ndr, "info", r->out.info);
21849
ndr_print_ptr(ndr, "needed", r->out.needed);
21851
ndr_print_uint32(ndr, "needed", *r->out.needed);
21853
ndr_print_WERROR(ndr, "result", r->out.result);
21859
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_GetPrinterDriverDirectory(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriverDirectory *r)
21861
if (flags & NDR_IN) {
21862
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
21863
if (r->in.server) {
21864
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
21865
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
21866
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
21867
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
21869
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment));
21870
if (r->in.environment) {
21871
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
21872
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
21873
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
21874
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
21876
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
21877
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
21878
if (r->in.buffer) {
21879
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
21881
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
21883
if (flags & NDR_OUT) {
21884
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
21887
struct ndr_push *_ndr_info;
21888
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
21889
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
21890
NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo(_ndr_info, NDR_SCALARS, r->out.info));
21891
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
21894
if (r->out.needed == NULL) {
21895
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
21897
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
21898
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
21900
return NDR_ERR_SUCCESS;
21903
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_GetPrinterDriverDirectory(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriverDirectory *r)
21905
uint32_t _ptr_server;
21906
uint32_t _ptr_environment;
21907
uint32_t _ptr_buffer;
21908
uint32_t _ptr_info;
21909
TALLOC_CTX *_mem_save_server_0;
21910
TALLOC_CTX *_mem_save_environment_0;
21911
TALLOC_CTX *_mem_save_buffer_0;
21912
TALLOC_CTX *_mem_save_info_0;
21913
TALLOC_CTX *_mem_save_needed_0;
21914
if (flags & NDR_IN) {
21915
ZERO_STRUCT(r->out);
21917
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
21919
NDR_PULL_ALLOC(ndr, r->in.server);
21921
r->in.server = NULL;
21923
if (r->in.server) {
21924
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
21925
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
21926
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
21927
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
21928
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
21929
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));
21931
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
21932
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
21933
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
21935
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
21936
if (_ptr_environment) {
21937
NDR_PULL_ALLOC(ndr, r->in.environment);
21939
r->in.environment = NULL;
21941
if (r->in.environment) {
21942
_mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
21943
NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0);
21944
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment));
21945
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment));
21946
if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) {
21947
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));
21949
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t)));
21950
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16));
21951
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
21953
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
21954
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
21956
NDR_PULL_ALLOC(ndr, r->in.buffer);
21958
r->in.buffer = NULL;
21960
if (r->in.buffer) {
21961
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
21962
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
21963
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
21964
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
21966
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
21967
NDR_PULL_ALLOC(ndr, r->out.needed);
21968
ZERO_STRUCTP(r->out.needed);
21970
if (flags & NDR_OUT) {
21971
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
21973
NDR_PULL_ALLOC(ndr, r->out.info);
21975
r->out.info = NULL;
21978
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
21979
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
21981
struct ndr_pull *_ndr_info;
21982
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
21983
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
21984
NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo(_ndr_info, NDR_SCALARS, r->out.info));
21985
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
21987
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
21989
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
21990
NDR_PULL_ALLOC(ndr, r->out.needed);
21992
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
21993
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
21994
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
21995
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
21996
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
21998
return NDR_ERR_SUCCESS;
22001
_PUBLIC_ void ndr_print_spoolss_GetPrinterDriverDirectory(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriverDirectory *r)
22003
ndr_print_struct(ndr, name, "spoolss_GetPrinterDriverDirectory");
22005
if (flags & NDR_SET_VALUES) {
22006
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22008
if (flags & NDR_IN) {
22009
ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriverDirectory");
22011
ndr_print_ptr(ndr, "server", r->in.server);
22013
if (r->in.server) {
22014
ndr_print_string(ndr, "server", r->in.server);
22017
ndr_print_ptr(ndr, "environment", r->in.environment);
22019
if (r->in.environment) {
22020
ndr_print_string(ndr, "environment", r->in.environment);
22023
ndr_print_uint32(ndr, "level", r->in.level);
22024
ndr_print_ptr(ndr, "buffer", r->in.buffer);
22026
if (r->in.buffer) {
22027
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
22030
ndr_print_uint32(ndr, "offered", r->in.offered);
22033
if (flags & NDR_OUT) {
22034
ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriverDirectory");
22036
ndr_print_ptr(ndr, "info", r->out.info);
22039
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
22040
ndr_print_spoolss_DriverDirectoryInfo(ndr, "info", r->out.info);
22043
ndr_print_ptr(ndr, "needed", r->out.needed);
22045
ndr_print_uint32(ndr, "needed", *r->out.needed);
22047
ndr_print_WERROR(ndr, "result", r->out.result);
22053
static enum ndr_err_code ndr_push_spoolss_DeletePrinterDriver(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterDriver *r)
22055
if (flags & NDR_IN) {
22056
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
22057
if (r->in.server) {
22058
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
22059
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22060
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
22061
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22063
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
22064
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22065
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
22066
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22067
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.driver, CH_UTF16)));
22068
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22069
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.driver, CH_UTF16)));
22070
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.driver, ndr_charset_length(r->in.driver, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22072
if (flags & NDR_OUT) {
22073
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22075
return NDR_ERR_SUCCESS;
22078
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterDriver(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterDriver *r)
22080
uint32_t _ptr_server;
22081
TALLOC_CTX *_mem_save_server_0;
22082
if (flags & NDR_IN) {
22083
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
22085
NDR_PULL_ALLOC(ndr, r->in.server);
22087
r->in.server = NULL;
22089
if (r->in.server) {
22090
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
22091
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
22092
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
22093
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
22094
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
22095
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));
22097
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
22098
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
22099
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
22101
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
22102
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
22103
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
22104
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));
22106
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
22107
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
22108
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.driver));
22109
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.driver));
22110
if (ndr_get_array_length(ndr, &r->in.driver) > ndr_get_array_size(ndr, &r->in.driver)) {
22111
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));
22113
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.driver), sizeof(uint16_t)));
22114
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.driver, ndr_get_array_length(ndr, &r->in.driver), sizeof(uint16_t), CH_UTF16));
22116
if (flags & NDR_OUT) {
22117
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22119
return NDR_ERR_SUCCESS;
22122
_PUBLIC_ void ndr_print_spoolss_DeletePrinterDriver(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterDriver *r)
22124
ndr_print_struct(ndr, name, "spoolss_DeletePrinterDriver");
22126
if (flags & NDR_SET_VALUES) {
22127
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22129
if (flags & NDR_IN) {
22130
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterDriver");
22132
ndr_print_ptr(ndr, "server", r->in.server);
22134
if (r->in.server) {
22135
ndr_print_string(ndr, "server", r->in.server);
22138
ndr_print_string(ndr, "architecture", r->in.architecture);
22139
ndr_print_string(ndr, "driver", r->in.driver);
22142
if (flags & NDR_OUT) {
22143
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterDriver");
22145
ndr_print_WERROR(ndr, "result", r->out.result);
22151
static enum ndr_err_code ndr_push_spoolss_AddPrintProcessor(struct ndr_push *ndr, int flags, const struct spoolss_AddPrintProcessor *r)
22153
if (flags & NDR_IN) {
22154
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
22155
if (r->in.server) {
22156
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
22157
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22158
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
22159
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22161
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
22162
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22163
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
22164
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22165
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path_name, CH_UTF16)));
22166
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22167
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path_name, CH_UTF16)));
22168
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));
22169
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.print_processor_name, CH_UTF16)));
22170
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22171
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.print_processor_name, CH_UTF16)));
22172
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));
22174
if (flags & NDR_OUT) {
22175
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22177
return NDR_ERR_SUCCESS;
22180
static enum ndr_err_code ndr_pull_spoolss_AddPrintProcessor(struct ndr_pull *ndr, int flags, struct spoolss_AddPrintProcessor *r)
22182
uint32_t _ptr_server;
22183
TALLOC_CTX *_mem_save_server_0;
22184
if (flags & NDR_IN) {
22185
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
22187
NDR_PULL_ALLOC(ndr, r->in.server);
22189
r->in.server = NULL;
22191
if (r->in.server) {
22192
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
22193
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
22194
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
22195
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
22196
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
22197
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));
22199
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
22200
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
22201
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
22203
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
22204
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
22205
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
22206
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));
22208
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
22209
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
22210
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path_name));
22211
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path_name));
22212
if (ndr_get_array_length(ndr, &r->in.path_name) > ndr_get_array_size(ndr, &r->in.path_name)) {
22213
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));
22215
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path_name), sizeof(uint16_t)));
22216
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));
22217
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.print_processor_name));
22218
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.print_processor_name));
22219
if (ndr_get_array_length(ndr, &r->in.print_processor_name) > ndr_get_array_size(ndr, &r->in.print_processor_name)) {
22220
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));
22222
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.print_processor_name), sizeof(uint16_t)));
22223
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));
22225
if (flags & NDR_OUT) {
22226
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22228
return NDR_ERR_SUCCESS;
22231
_PUBLIC_ void ndr_print_spoolss_AddPrintProcessor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrintProcessor *r)
22233
ndr_print_struct(ndr, name, "spoolss_AddPrintProcessor");
22235
if (flags & NDR_SET_VALUES) {
22236
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22238
if (flags & NDR_IN) {
22239
ndr_print_struct(ndr, "in", "spoolss_AddPrintProcessor");
22241
ndr_print_ptr(ndr, "server", r->in.server);
22243
if (r->in.server) {
22244
ndr_print_string(ndr, "server", r->in.server);
22247
ndr_print_string(ndr, "architecture", r->in.architecture);
22248
ndr_print_string(ndr, "path_name", r->in.path_name);
22249
ndr_print_string(ndr, "print_processor_name", r->in.print_processor_name);
22252
if (flags & NDR_OUT) {
22253
ndr_print_struct(ndr, "out", "spoolss_AddPrintProcessor");
22255
ndr_print_WERROR(ndr, "result", r->out.result);
22261
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrintProcessors(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrintProcessors *r)
22263
if (flags & NDR_IN) {
22264
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
22265
if (r->in.servername) {
22266
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
22267
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22268
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
22269
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22271
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment));
22272
if (r->in.environment) {
22273
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
22274
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22275
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
22276
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22278
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
22279
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
22280
if (r->in.buffer) {
22281
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
22283
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
22285
if (flags & NDR_OUT) {
22286
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
22288
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
22290
if (r->out.needed == NULL) {
22291
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22293
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
22294
if (r->out.count == NULL) {
22295
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22297
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
22298
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22300
return NDR_ERR_SUCCESS;
22303
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrintProcessors(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrintProcessors *r)
22305
uint32_t _ptr_servername;
22306
uint32_t _ptr_environment;
22307
uint32_t _ptr_buffer;
22308
uint32_t _ptr_info;
22309
TALLOC_CTX *_mem_save_servername_0;
22310
TALLOC_CTX *_mem_save_environment_0;
22311
TALLOC_CTX *_mem_save_buffer_0;
22312
TALLOC_CTX *_mem_save_info_0;
22313
TALLOC_CTX *_mem_save_needed_0;
22314
TALLOC_CTX *_mem_save_count_0;
22315
if (flags & NDR_IN) {
22316
ZERO_STRUCT(r->out);
22318
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
22319
if (_ptr_servername) {
22320
NDR_PULL_ALLOC(ndr, r->in.servername);
22322
r->in.servername = NULL;
22324
if (r->in.servername) {
22325
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
22326
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
22327
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
22328
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
22329
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
22330
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));
22332
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
22333
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
22334
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
22336
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
22337
if (_ptr_environment) {
22338
NDR_PULL_ALLOC(ndr, r->in.environment);
22340
r->in.environment = NULL;
22342
if (r->in.environment) {
22343
_mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
22344
NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0);
22345
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment));
22346
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment));
22347
if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) {
22348
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));
22350
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t)));
22351
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16));
22352
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
22354
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
22355
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
22357
NDR_PULL_ALLOC(ndr, r->in.buffer);
22359
r->in.buffer = NULL;
22361
if (r->in.buffer) {
22362
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
22363
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
22364
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
22365
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
22367
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
22368
NDR_PULL_ALLOC(ndr, r->out.needed);
22369
ZERO_STRUCTP(r->out.needed);
22370
NDR_PULL_ALLOC(ndr, r->out.count);
22371
ZERO_STRUCTP(r->out.count);
22373
if (flags & NDR_OUT) {
22374
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
22376
NDR_PULL_ALLOC(ndr, r->out.info);
22378
r->out.info = NULL;
22381
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
22382
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
22383
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
22384
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
22386
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22387
NDR_PULL_ALLOC(ndr, r->out.needed);
22389
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
22390
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
22391
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
22392
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
22393
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22394
NDR_PULL_ALLOC(ndr, r->out.count);
22396
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
22397
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
22398
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
22399
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
22400
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22402
return NDR_ERR_SUCCESS;
22405
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrintProcessors(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrintProcessors *r)
22407
uint32_t cntr_info_0;
22408
if (flags & NDR_IN) {
22409
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
22410
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
22412
if (flags & NDR_OUT) {
22413
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
22414
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
22415
NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
22417
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
22418
NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
22421
return NDR_ERR_SUCCESS;
22424
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrintProcessors(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrintProcessors *r)
22426
uint32_t cntr_info_0;
22427
TALLOC_CTX *_mem_save_info_0;
22428
if (flags & NDR_IN) {
22429
ZERO_STRUCT(r->out);
22431
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
22432
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
22434
if (flags & NDR_OUT) {
22435
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
22436
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
22437
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
22438
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
22439
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
22440
NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
22442
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
22443
NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
22445
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
22447
return NDR_ERR_SUCCESS;
22450
_PUBLIC_ void ndr_print_spoolss_EnumPrintProcessors(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrintProcessors *r)
22452
uint32_t cntr_info_2;
22453
ndr_print_struct(ndr, name, "spoolss_EnumPrintProcessors");
22455
if (flags & NDR_SET_VALUES) {
22456
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22458
if (flags & NDR_IN) {
22459
ndr_print_struct(ndr, "in", "spoolss_EnumPrintProcessors");
22461
ndr_print_ptr(ndr, "servername", r->in.servername);
22463
if (r->in.servername) {
22464
ndr_print_string(ndr, "servername", r->in.servername);
22467
ndr_print_ptr(ndr, "environment", r->in.environment);
22469
if (r->in.environment) {
22470
ndr_print_string(ndr, "environment", r->in.environment);
22473
ndr_print_uint32(ndr, "level", r->in.level);
22474
ndr_print_ptr(ndr, "buffer", r->in.buffer);
22476
if (r->in.buffer) {
22477
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
22480
ndr_print_uint32(ndr, "offered", r->in.offered);
22483
if (flags & NDR_OUT) {
22484
ndr_print_struct(ndr, "out", "spoolss_EnumPrintProcessors");
22486
ndr_print_ptr(ndr, "count", r->out.count);
22488
ndr_print_uint32(ndr, "count", *r->out.count);
22490
ndr_print_ptr(ndr, "info", r->out.info);
22492
ndr_print_ptr(ndr, "info", *r->out.info);
22494
if (*r->out.info) {
22495
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
22497
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
22499
if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) {
22500
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
22501
ndr_print_spoolss_PrintProcessorInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
22509
ndr_print_ptr(ndr, "needed", r->out.needed);
22511
ndr_print_uint32(ndr, "needed", *r->out.needed);
22513
ndr_print_WERROR(ndr, "result", r->out.result);
22519
static enum ndr_err_code ndr_push_spoolss_GetPrintProcessorDirectory(struct ndr_push *ndr, int flags, const struct spoolss_GetPrintProcessorDirectory *r)
22521
if (flags & NDR_IN) {
22522
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
22523
if (r->in.server) {
22524
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
22525
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22526
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
22527
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22529
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment));
22530
if (r->in.environment) {
22531
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
22532
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
22533
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
22534
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
22536
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
22537
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
22538
if (r->in.buffer) {
22539
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
22541
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
22543
if (flags & NDR_OUT) {
22544
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
22547
struct ndr_push *_ndr_info;
22548
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
22549
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
22550
NDR_CHECK(ndr_push_spoolss_PrintProcessorDirectoryInfo(_ndr_info, NDR_SCALARS, r->out.info));
22551
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
22554
if (r->out.needed == NULL) {
22555
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22557
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
22558
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22560
return NDR_ERR_SUCCESS;
22563
static enum ndr_err_code ndr_pull_spoolss_GetPrintProcessorDirectory(struct ndr_pull *ndr, int flags, struct spoolss_GetPrintProcessorDirectory *r)
22565
uint32_t _ptr_server;
22566
uint32_t _ptr_environment;
22567
uint32_t _ptr_buffer;
22568
uint32_t _ptr_info;
22569
TALLOC_CTX *_mem_save_server_0;
22570
TALLOC_CTX *_mem_save_environment_0;
22571
TALLOC_CTX *_mem_save_buffer_0;
22572
TALLOC_CTX *_mem_save_info_0;
22573
TALLOC_CTX *_mem_save_needed_0;
22574
if (flags & NDR_IN) {
22575
ZERO_STRUCT(r->out);
22577
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
22579
NDR_PULL_ALLOC(ndr, r->in.server);
22581
r->in.server = NULL;
22583
if (r->in.server) {
22584
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
22585
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
22586
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
22587
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
22588
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
22589
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));
22591
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
22592
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
22593
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
22595
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
22596
if (_ptr_environment) {
22597
NDR_PULL_ALLOC(ndr, r->in.environment);
22599
r->in.environment = NULL;
22601
if (r->in.environment) {
22602
_mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
22603
NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0);
22604
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment));
22605
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment));
22606
if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) {
22607
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));
22609
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t)));
22610
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16));
22611
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
22613
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
22614
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
22616
NDR_PULL_ALLOC(ndr, r->in.buffer);
22618
r->in.buffer = NULL;
22620
if (r->in.buffer) {
22621
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
22622
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
22623
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
22624
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
22626
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
22627
NDR_PULL_ALLOC(ndr, r->out.needed);
22628
ZERO_STRUCTP(r->out.needed);
22630
if (flags & NDR_OUT) {
22631
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
22633
NDR_PULL_ALLOC(ndr, r->out.info);
22635
r->out.info = NULL;
22638
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
22639
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
22641
struct ndr_pull *_ndr_info;
22642
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
22643
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
22644
NDR_CHECK(ndr_pull_spoolss_PrintProcessorDirectoryInfo(_ndr_info, NDR_SCALARS, r->out.info));
22645
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
22647
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
22649
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22650
NDR_PULL_ALLOC(ndr, r->out.needed);
22652
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
22653
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
22654
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
22655
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
22656
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22658
return NDR_ERR_SUCCESS;
22661
_PUBLIC_ void ndr_print_spoolss_GetPrintProcessorDirectory(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrintProcessorDirectory *r)
22663
ndr_print_struct(ndr, name, "spoolss_GetPrintProcessorDirectory");
22665
if (flags & NDR_SET_VALUES) {
22666
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22668
if (flags & NDR_IN) {
22669
ndr_print_struct(ndr, "in", "spoolss_GetPrintProcessorDirectory");
22671
ndr_print_ptr(ndr, "server", r->in.server);
22673
if (r->in.server) {
22674
ndr_print_string(ndr, "server", r->in.server);
22677
ndr_print_ptr(ndr, "environment", r->in.environment);
22679
if (r->in.environment) {
22680
ndr_print_string(ndr, "environment", r->in.environment);
22683
ndr_print_uint32(ndr, "level", r->in.level);
22684
ndr_print_ptr(ndr, "buffer", r->in.buffer);
22686
if (r->in.buffer) {
22687
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
22690
ndr_print_uint32(ndr, "offered", r->in.offered);
22693
if (flags & NDR_OUT) {
22694
ndr_print_struct(ndr, "out", "spoolss_GetPrintProcessorDirectory");
22696
ndr_print_ptr(ndr, "info", r->out.info);
22699
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
22700
ndr_print_spoolss_PrintProcessorDirectoryInfo(ndr, "info", r->out.info);
22703
ndr_print_ptr(ndr, "needed", r->out.needed);
22705
ndr_print_uint32(ndr, "needed", *r->out.needed);
22707
ndr_print_WERROR(ndr, "result", r->out.result);
22713
static enum ndr_err_code ndr_push_spoolss_StartDocPrinter(struct ndr_push *ndr, int flags, const struct spoolss_StartDocPrinter *r)
22715
if (flags & NDR_IN) {
22716
if (r->in.handle == NULL) {
22717
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22719
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22720
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
22721
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level));
22722
NDR_CHECK(ndr_push_spoolss_DocumentInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
22724
if (flags & NDR_OUT) {
22725
if (r->out.job_id == NULL) {
22726
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22728
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.job_id));
22729
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22731
return NDR_ERR_SUCCESS;
22734
static enum ndr_err_code ndr_pull_spoolss_StartDocPrinter(struct ndr_pull *ndr, int flags, struct spoolss_StartDocPrinter *r)
22736
TALLOC_CTX *_mem_save_handle_0;
22737
TALLOC_CTX *_mem_save_job_id_0;
22738
if (flags & NDR_IN) {
22739
ZERO_STRUCT(r->out);
22741
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22742
NDR_PULL_ALLOC(ndr, r->in.handle);
22744
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
22745
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
22746
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22747
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
22748
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
22749
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level));
22750
NDR_CHECK(ndr_pull_spoolss_DocumentInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
22751
NDR_PULL_ALLOC(ndr, r->out.job_id);
22752
ZERO_STRUCTP(r->out.job_id);
22754
if (flags & NDR_OUT) {
22755
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22756
NDR_PULL_ALLOC(ndr, r->out.job_id);
22758
_mem_save_job_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
22759
NDR_PULL_SET_MEM_CTX(ndr, r->out.job_id, LIBNDR_FLAG_REF_ALLOC);
22760
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.job_id));
22761
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_job_id_0, LIBNDR_FLAG_REF_ALLOC);
22762
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22764
return NDR_ERR_SUCCESS;
22767
_PUBLIC_ void ndr_print_spoolss_StartDocPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_StartDocPrinter *r)
22769
ndr_print_struct(ndr, name, "spoolss_StartDocPrinter");
22771
if (flags & NDR_SET_VALUES) {
22772
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22774
if (flags & NDR_IN) {
22775
ndr_print_struct(ndr, "in", "spoolss_StartDocPrinter");
22777
ndr_print_ptr(ndr, "handle", r->in.handle);
22779
ndr_print_policy_handle(ndr, "handle", r->in.handle);
22781
ndr_print_uint32(ndr, "level", r->in.level);
22782
ndr_print_set_switch_value(ndr, &r->in.info, r->in.level);
22783
ndr_print_spoolss_DocumentInfo(ndr, "info", &r->in.info);
22786
if (flags & NDR_OUT) {
22787
ndr_print_struct(ndr, "out", "spoolss_StartDocPrinter");
22789
ndr_print_ptr(ndr, "job_id", r->out.job_id);
22791
ndr_print_uint32(ndr, "job_id", *r->out.job_id);
22793
ndr_print_WERROR(ndr, "result", r->out.result);
22799
static enum ndr_err_code ndr_push_spoolss_StartPagePrinter(struct ndr_push *ndr, int flags, const struct spoolss_StartPagePrinter *r)
22801
if (flags & NDR_IN) {
22802
if (r->in.handle == NULL) {
22803
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22805
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22807
if (flags & NDR_OUT) {
22808
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22810
return NDR_ERR_SUCCESS;
22813
static enum ndr_err_code ndr_pull_spoolss_StartPagePrinter(struct ndr_pull *ndr, int flags, struct spoolss_StartPagePrinter *r)
22815
TALLOC_CTX *_mem_save_handle_0;
22816
if (flags & NDR_IN) {
22817
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22818
NDR_PULL_ALLOC(ndr, r->in.handle);
22820
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
22821
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
22822
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22823
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
22825
if (flags & NDR_OUT) {
22826
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22828
return NDR_ERR_SUCCESS;
22831
_PUBLIC_ void ndr_print_spoolss_StartPagePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_StartPagePrinter *r)
22833
ndr_print_struct(ndr, name, "spoolss_StartPagePrinter");
22835
if (flags & NDR_SET_VALUES) {
22836
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22838
if (flags & NDR_IN) {
22839
ndr_print_struct(ndr, "in", "spoolss_StartPagePrinter");
22841
ndr_print_ptr(ndr, "handle", r->in.handle);
22843
ndr_print_policy_handle(ndr, "handle", r->in.handle);
22847
if (flags & NDR_OUT) {
22848
ndr_print_struct(ndr, "out", "spoolss_StartPagePrinter");
22850
ndr_print_WERROR(ndr, "result", r->out.result);
22856
static enum ndr_err_code ndr_push_spoolss_WritePrinter(struct ndr_push *ndr, int flags, const struct spoolss_WritePrinter *r)
22858
if (flags & NDR_IN) {
22859
if (r->in.handle == NULL) {
22860
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22862
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22863
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.data));
22864
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.data.length));
22866
if (flags & NDR_OUT) {
22867
if (r->out.num_written == NULL) {
22868
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22870
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_written));
22871
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22873
return NDR_ERR_SUCCESS;
22876
static enum ndr_err_code ndr_pull_spoolss_WritePrinter(struct ndr_pull *ndr, int flags, struct spoolss_WritePrinter *r)
22878
TALLOC_CTX *_mem_save_handle_0;
22879
TALLOC_CTX *_mem_save_num_written_0;
22880
if (flags & NDR_IN) {
22881
ZERO_STRUCT(r->out);
22883
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22884
NDR_PULL_ALLOC(ndr, r->in.handle);
22886
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
22887
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
22888
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22889
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
22890
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.data));
22891
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in._data_size));
22892
NDR_PULL_ALLOC(ndr, r->out.num_written);
22893
ZERO_STRUCTP(r->out.num_written);
22895
if (flags & NDR_OUT) {
22896
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22897
NDR_PULL_ALLOC(ndr, r->out.num_written);
22899
_mem_save_num_written_0 = NDR_PULL_GET_MEM_CTX(ndr);
22900
NDR_PULL_SET_MEM_CTX(ndr, r->out.num_written, LIBNDR_FLAG_REF_ALLOC);
22901
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_written));
22902
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_written_0, LIBNDR_FLAG_REF_ALLOC);
22903
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22905
return NDR_ERR_SUCCESS;
22908
_PUBLIC_ void ndr_print_spoolss_WritePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_WritePrinter *r)
22910
ndr_print_struct(ndr, name, "spoolss_WritePrinter");
22912
if (flags & NDR_SET_VALUES) {
22913
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22915
if (flags & NDR_IN) {
22916
ndr_print_struct(ndr, "in", "spoolss_WritePrinter");
22918
ndr_print_ptr(ndr, "handle", r->in.handle);
22920
ndr_print_policy_handle(ndr, "handle", r->in.handle);
22922
ndr_print_DATA_BLOB(ndr, "data", r->in.data);
22923
ndr_print_uint32(ndr, "_data_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->in.data.length:r->in._data_size);
22926
if (flags & NDR_OUT) {
22927
ndr_print_struct(ndr, "out", "spoolss_WritePrinter");
22929
ndr_print_ptr(ndr, "num_written", r->out.num_written);
22931
ndr_print_uint32(ndr, "num_written", *r->out.num_written);
22933
ndr_print_WERROR(ndr, "result", r->out.result);
22939
static enum ndr_err_code ndr_push_spoolss_EndPagePrinter(struct ndr_push *ndr, int flags, const struct spoolss_EndPagePrinter *r)
22941
if (flags & NDR_IN) {
22942
if (r->in.handle == NULL) {
22943
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
22945
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22947
if (flags & NDR_OUT) {
22948
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
22950
return NDR_ERR_SUCCESS;
22953
static enum ndr_err_code ndr_pull_spoolss_EndPagePrinter(struct ndr_pull *ndr, int flags, struct spoolss_EndPagePrinter *r)
22955
TALLOC_CTX *_mem_save_handle_0;
22956
if (flags & NDR_IN) {
22957
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
22958
NDR_PULL_ALLOC(ndr, r->in.handle);
22960
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
22961
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
22962
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
22963
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
22965
if (flags & NDR_OUT) {
22966
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
22968
return NDR_ERR_SUCCESS;
22971
_PUBLIC_ void ndr_print_spoolss_EndPagePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EndPagePrinter *r)
22973
ndr_print_struct(ndr, name, "spoolss_EndPagePrinter");
22975
if (flags & NDR_SET_VALUES) {
22976
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
22978
if (flags & NDR_IN) {
22979
ndr_print_struct(ndr, "in", "spoolss_EndPagePrinter");
22981
ndr_print_ptr(ndr, "handle", r->in.handle);
22983
ndr_print_policy_handle(ndr, "handle", r->in.handle);
22987
if (flags & NDR_OUT) {
22988
ndr_print_struct(ndr, "out", "spoolss_EndPagePrinter");
22990
ndr_print_WERROR(ndr, "result", r->out.result);
22996
static enum ndr_err_code ndr_push_spoolss_AbortPrinter(struct ndr_push *ndr, int flags, const struct spoolss_AbortPrinter *r)
22998
if (flags & NDR_IN) {
22999
if (r->in.handle == NULL) {
23000
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23002
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23004
if (flags & NDR_OUT) {
23005
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23007
return NDR_ERR_SUCCESS;
23010
static enum ndr_err_code ndr_pull_spoolss_AbortPrinter(struct ndr_pull *ndr, int flags, struct spoolss_AbortPrinter *r)
23012
TALLOC_CTX *_mem_save_handle_0;
23013
if (flags & NDR_IN) {
23014
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23015
NDR_PULL_ALLOC(ndr, r->in.handle);
23017
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23018
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23019
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23020
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23022
if (flags & NDR_OUT) {
23023
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23025
return NDR_ERR_SUCCESS;
23028
_PUBLIC_ void ndr_print_spoolss_AbortPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AbortPrinter *r)
23030
ndr_print_struct(ndr, name, "spoolss_AbortPrinter");
23032
if (flags & NDR_SET_VALUES) {
23033
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23035
if (flags & NDR_IN) {
23036
ndr_print_struct(ndr, "in", "spoolss_AbortPrinter");
23038
ndr_print_ptr(ndr, "handle", r->in.handle);
23040
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23044
if (flags & NDR_OUT) {
23045
ndr_print_struct(ndr, "out", "spoolss_AbortPrinter");
23047
ndr_print_WERROR(ndr, "result", r->out.result);
23053
static enum ndr_err_code ndr_push_spoolss_ReadPrinter(struct ndr_push *ndr, int flags, const struct spoolss_ReadPrinter *r)
23055
if (flags & NDR_IN) {
23056
if (r->in.handle == NULL) {
23057
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23059
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23060
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.data_size));
23062
if (flags & NDR_OUT) {
23063
if (r->out.data == NULL) {
23064
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23066
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.data_size));
23067
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.data_size));
23068
if (r->out._data_size == NULL) {
23069
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23071
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out._data_size));
23072
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23074
return NDR_ERR_SUCCESS;
23077
static enum ndr_err_code ndr_pull_spoolss_ReadPrinter(struct ndr_pull *ndr, int flags, struct spoolss_ReadPrinter *r)
23079
TALLOC_CTX *_mem_save_handle_0;
23080
TALLOC_CTX *_mem_save__data_size_0;
23081
if (flags & NDR_IN) {
23082
ZERO_STRUCT(r->out);
23084
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23085
NDR_PULL_ALLOC(ndr, r->in.handle);
23087
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23088
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23089
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23090
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23091
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.data_size));
23092
NDR_PULL_ALLOC_N(ndr, r->out.data, r->in.data_size);
23093
memset(r->out.data, 0, (r->in.data_size) * sizeof(*r->out.data));
23094
NDR_PULL_ALLOC(ndr, r->out._data_size);
23095
ZERO_STRUCTP(r->out._data_size);
23097
if (flags & NDR_OUT) {
23098
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data));
23099
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23100
NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data));
23102
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data)));
23103
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23104
NDR_PULL_ALLOC(ndr, r->out._data_size);
23106
_mem_save__data_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
23107
NDR_PULL_SET_MEM_CTX(ndr, r->out._data_size, LIBNDR_FLAG_REF_ALLOC);
23108
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out._data_size));
23109
NDR_PULL_SET_MEM_CTX(ndr, _mem_save__data_size_0, LIBNDR_FLAG_REF_ALLOC);
23110
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23112
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.data_size));
23115
return NDR_ERR_SUCCESS;
23118
_PUBLIC_ void ndr_print_spoolss_ReadPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ReadPrinter *r)
23120
ndr_print_struct(ndr, name, "spoolss_ReadPrinter");
23122
if (flags & NDR_SET_VALUES) {
23123
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23125
if (flags & NDR_IN) {
23126
ndr_print_struct(ndr, "in", "spoolss_ReadPrinter");
23128
ndr_print_ptr(ndr, "handle", r->in.handle);
23130
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23132
ndr_print_uint32(ndr, "data_size", r->in.data_size);
23135
if (flags & NDR_OUT) {
23136
ndr_print_struct(ndr, "out", "spoolss_ReadPrinter");
23138
ndr_print_ptr(ndr, "data", r->out.data);
23140
ndr_print_array_uint8(ndr, "data", r->out.data, r->in.data_size);
23142
ndr_print_ptr(ndr, "_data_size", r->out._data_size);
23144
ndr_print_uint32(ndr, "_data_size", *r->out._data_size);
23146
ndr_print_WERROR(ndr, "result", r->out.result);
23152
static enum ndr_err_code ndr_push_spoolss_EndDocPrinter(struct ndr_push *ndr, int flags, const struct spoolss_EndDocPrinter *r)
23154
if (flags & NDR_IN) {
23155
if (r->in.handle == NULL) {
23156
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23158
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23160
if (flags & NDR_OUT) {
23161
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23163
return NDR_ERR_SUCCESS;
23166
static enum ndr_err_code ndr_pull_spoolss_EndDocPrinter(struct ndr_pull *ndr, int flags, struct spoolss_EndDocPrinter *r)
23168
TALLOC_CTX *_mem_save_handle_0;
23169
if (flags & NDR_IN) {
23170
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23171
NDR_PULL_ALLOC(ndr, r->in.handle);
23173
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23174
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23175
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23176
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23178
if (flags & NDR_OUT) {
23179
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23181
return NDR_ERR_SUCCESS;
23184
_PUBLIC_ void ndr_print_spoolss_EndDocPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EndDocPrinter *r)
23186
ndr_print_struct(ndr, name, "spoolss_EndDocPrinter");
23188
if (flags & NDR_SET_VALUES) {
23189
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23191
if (flags & NDR_IN) {
23192
ndr_print_struct(ndr, "in", "spoolss_EndDocPrinter");
23194
ndr_print_ptr(ndr, "handle", r->in.handle);
23196
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23200
if (flags & NDR_OUT) {
23201
ndr_print_struct(ndr, "out", "spoolss_EndDocPrinter");
23203
ndr_print_WERROR(ndr, "result", r->out.result);
23209
static enum ndr_err_code ndr_push_spoolss_AddJob(struct ndr_push *ndr, int flags, const struct spoolss_AddJob *r)
23211
if (flags & NDR_IN) {
23212
if (r->in.handle == NULL) {
23213
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23215
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23216
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
23217
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
23218
if (r->in.buffer) {
23219
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
23220
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.buffer, r->in.offered));
23222
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
23224
if (flags & NDR_OUT) {
23225
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.buffer));
23226
if (r->out.buffer) {
23227
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
23228
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.buffer, r->in.offered));
23230
if (r->out.needed == NULL) {
23231
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23233
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
23234
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23236
return NDR_ERR_SUCCESS;
23239
static enum ndr_err_code ndr_pull_spoolss_AddJob(struct ndr_pull *ndr, int flags, struct spoolss_AddJob *r)
23241
uint32_t _ptr_buffer;
23242
TALLOC_CTX *_mem_save_handle_0;
23243
TALLOC_CTX *_mem_save_buffer_0;
23244
TALLOC_CTX *_mem_save_needed_0;
23245
if (flags & NDR_IN) {
23246
ZERO_STRUCT(r->out);
23248
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23249
NDR_PULL_ALLOC(ndr, r->in.handle);
23251
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23252
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23253
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23254
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23255
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
23256
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
23258
NDR_PULL_ALLOC(ndr, r->in.buffer);
23260
r->in.buffer = NULL;
23262
if (r->in.buffer) {
23263
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
23264
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
23265
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer));
23266
NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer));
23267
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer)));
23268
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
23270
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
23271
NDR_PULL_ALLOC(ndr, r->out.needed);
23272
ZERO_STRUCTP(r->out.needed);
23273
if (r->in.buffer) {
23274
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, r->in.offered));
23277
if (flags & NDR_OUT) {
23278
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
23280
NDR_PULL_ALLOC(ndr, r->out.buffer);
23282
r->out.buffer = NULL;
23284
if (r->out.buffer) {
23285
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
23286
NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, 0);
23287
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.buffer));
23288
NDR_PULL_ALLOC_N(ndr, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer));
23289
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer)));
23290
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
23292
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23293
NDR_PULL_ALLOC(ndr, r->out.needed);
23295
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
23296
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
23297
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
23298
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
23299
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23300
if (r->out.buffer) {
23301
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.buffer, r->in.offered));
23304
return NDR_ERR_SUCCESS;
23307
_PUBLIC_ void ndr_print_spoolss_AddJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddJob *r)
23309
ndr_print_struct(ndr, name, "spoolss_AddJob");
23311
if (flags & NDR_SET_VALUES) {
23312
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23314
if (flags & NDR_IN) {
23315
ndr_print_struct(ndr, "in", "spoolss_AddJob");
23317
ndr_print_ptr(ndr, "handle", r->in.handle);
23319
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23321
ndr_print_uint32(ndr, "level", r->in.level);
23322
ndr_print_ptr(ndr, "buffer", r->in.buffer);
23324
if (r->in.buffer) {
23325
ndr_print_array_uint8(ndr, "buffer", r->in.buffer, r->in.offered);
23328
ndr_print_uint32(ndr, "offered", r->in.offered);
23331
if (flags & NDR_OUT) {
23332
ndr_print_struct(ndr, "out", "spoolss_AddJob");
23334
ndr_print_ptr(ndr, "buffer", r->out.buffer);
23336
if (r->out.buffer) {
23337
ndr_print_array_uint8(ndr, "buffer", r->out.buffer, r->in.offered);
23340
ndr_print_ptr(ndr, "needed", r->out.needed);
23342
ndr_print_uint32(ndr, "needed", *r->out.needed);
23344
ndr_print_WERROR(ndr, "result", r->out.result);
23350
static enum ndr_err_code ndr_push_spoolss_ScheduleJob(struct ndr_push *ndr, int flags, const struct spoolss_ScheduleJob *r)
23352
if (flags & NDR_IN) {
23353
if (r->in.handle == NULL) {
23354
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23356
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23357
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.jobid));
23359
if (flags & NDR_OUT) {
23360
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23362
return NDR_ERR_SUCCESS;
23365
static enum ndr_err_code ndr_pull_spoolss_ScheduleJob(struct ndr_pull *ndr, int flags, struct spoolss_ScheduleJob *r)
23367
TALLOC_CTX *_mem_save_handle_0;
23368
if (flags & NDR_IN) {
23369
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23370
NDR_PULL_ALLOC(ndr, r->in.handle);
23372
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23373
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23374
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23375
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23376
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.jobid));
23378
if (flags & NDR_OUT) {
23379
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23381
return NDR_ERR_SUCCESS;
23384
_PUBLIC_ void ndr_print_spoolss_ScheduleJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ScheduleJob *r)
23386
ndr_print_struct(ndr, name, "spoolss_ScheduleJob");
23388
if (flags & NDR_SET_VALUES) {
23389
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23391
if (flags & NDR_IN) {
23392
ndr_print_struct(ndr, "in", "spoolss_ScheduleJob");
23394
ndr_print_ptr(ndr, "handle", r->in.handle);
23396
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23398
ndr_print_uint32(ndr, "jobid", r->in.jobid);
23401
if (flags & NDR_OUT) {
23402
ndr_print_struct(ndr, "out", "spoolss_ScheduleJob");
23404
ndr_print_WERROR(ndr, "result", r->out.result);
23410
static enum ndr_err_code ndr_push_spoolss_GetPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterData *r)
23412
if (flags & NDR_IN) {
23413
if (r->in.handle == NULL) {
23414
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23416
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23417
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
23418
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23419
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
23420
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));
23421
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
23423
if (flags & NDR_OUT) {
23424
if (r->out.type == NULL) {
23425
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23427
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type));
23428
if (r->out.data == NULL) {
23429
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23431
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
23432
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.offered));
23433
if (r->out.needed == NULL) {
23434
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23436
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
23437
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23439
return NDR_ERR_SUCCESS;
23442
static enum ndr_err_code ndr_pull_spoolss_GetPrinterData(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterData *r)
23444
TALLOC_CTX *_mem_save_handle_0;
23445
TALLOC_CTX *_mem_save_type_0;
23446
TALLOC_CTX *_mem_save_needed_0;
23447
if (flags & NDR_IN) {
23448
ZERO_STRUCT(r->out);
23450
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23451
NDR_PULL_ALLOC(ndr, r->in.handle);
23453
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23454
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23455
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23456
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23457
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
23458
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
23459
if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
23460
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));
23462
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
23463
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));
23464
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
23465
NDR_PULL_ALLOC(ndr, r->out.type);
23466
ZERO_STRUCTP(r->out.type);
23467
NDR_PULL_ALLOC_N(ndr, r->out.data, r->in.offered);
23468
memset(r->out.data, 0, (r->in.offered) * sizeof(*r->out.data));
23469
NDR_PULL_ALLOC(ndr, r->out.needed);
23470
ZERO_STRUCTP(r->out.needed);
23472
if (flags & NDR_OUT) {
23473
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23474
NDR_PULL_ALLOC(ndr, r->out.type);
23476
_mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
23477
NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC);
23478
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type));
23479
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC);
23480
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data));
23481
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23482
NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data));
23484
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data)));
23485
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23486
NDR_PULL_ALLOC(ndr, r->out.needed);
23488
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
23489
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
23490
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
23491
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
23492
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23494
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.offered));
23497
return NDR_ERR_SUCCESS;
23500
_PUBLIC_ void ndr_print_spoolss_GetPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterData *r)
23502
ndr_print_struct(ndr, name, "spoolss_GetPrinterData");
23504
if (flags & NDR_SET_VALUES) {
23505
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23507
if (flags & NDR_IN) {
23508
ndr_print_struct(ndr, "in", "spoolss_GetPrinterData");
23510
ndr_print_ptr(ndr, "handle", r->in.handle);
23512
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23514
ndr_print_string(ndr, "value_name", r->in.value_name);
23515
ndr_print_uint32(ndr, "offered", r->in.offered);
23518
if (flags & NDR_OUT) {
23519
ndr_print_struct(ndr, "out", "spoolss_GetPrinterData");
23521
ndr_print_ptr(ndr, "type", r->out.type);
23523
ndr_print_winreg_Type(ndr, "type", *r->out.type);
23525
ndr_print_ptr(ndr, "data", r->out.data);
23527
ndr_print_array_uint8(ndr, "data", r->out.data, r->in.offered);
23529
ndr_print_ptr(ndr, "needed", r->out.needed);
23531
ndr_print_uint32(ndr, "needed", *r->out.needed);
23533
ndr_print_WERROR(ndr, "result", r->out.result);
23539
static enum ndr_err_code ndr_push_spoolss_SetPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinterData *r)
23541
if (flags & NDR_IN) {
23542
if (r->in.handle == NULL) {
23543
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23545
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23546
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
23547
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23548
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
23549
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));
23550
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type));
23551
if (r->in.data == NULL) {
23552
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23554
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
23555
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.offered));
23556
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
23558
if (flags & NDR_OUT) {
23559
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23561
return NDR_ERR_SUCCESS;
23564
static enum ndr_err_code ndr_pull_spoolss_SetPrinterData(struct ndr_pull *ndr, int flags, struct spoolss_SetPrinterData *r)
23566
TALLOC_CTX *_mem_save_handle_0;
23567
if (flags & NDR_IN) {
23568
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23569
NDR_PULL_ALLOC(ndr, r->in.handle);
23571
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23572
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23573
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23574
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23575
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
23576
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
23577
if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
23578
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));
23580
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
23581
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));
23582
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type));
23583
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data));
23584
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23585
NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data));
23587
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_size(ndr, &r->in.data)));
23588
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
23590
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.offered));
23593
if (flags & NDR_OUT) {
23594
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23596
return NDR_ERR_SUCCESS;
23599
_PUBLIC_ void ndr_print_spoolss_SetPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinterData *r)
23601
ndr_print_struct(ndr, name, "spoolss_SetPrinterData");
23603
if (flags & NDR_SET_VALUES) {
23604
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23606
if (flags & NDR_IN) {
23607
ndr_print_struct(ndr, "in", "spoolss_SetPrinterData");
23609
ndr_print_ptr(ndr, "handle", r->in.handle);
23611
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23613
ndr_print_string(ndr, "value_name", r->in.value_name);
23614
ndr_print_winreg_Type(ndr, "type", r->in.type);
23615
ndr_print_ptr(ndr, "data", r->in.data);
23617
ndr_print_array_uint8(ndr, "data", r->in.data, r->in.offered);
23619
ndr_print_uint32(ndr, "offered", r->in.offered);
23622
if (flags & NDR_OUT) {
23623
ndr_print_struct(ndr, "out", "spoolss_SetPrinterData");
23625
ndr_print_WERROR(ndr, "result", r->out.result);
23631
static enum ndr_err_code ndr_push_spoolss_WaitForPrinterChange(struct ndr_push *ndr, int flags, const struct spoolss_WaitForPrinterChange *r)
23633
if (flags & NDR_IN) {
23635
if (flags & NDR_OUT) {
23636
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23638
return NDR_ERR_SUCCESS;
23641
static enum ndr_err_code ndr_pull_spoolss_WaitForPrinterChange(struct ndr_pull *ndr, int flags, struct spoolss_WaitForPrinterChange *r)
23643
if (flags & NDR_IN) {
23645
if (flags & NDR_OUT) {
23646
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23648
return NDR_ERR_SUCCESS;
23651
_PUBLIC_ void ndr_print_spoolss_WaitForPrinterChange(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_WaitForPrinterChange *r)
23653
ndr_print_struct(ndr, name, "spoolss_WaitForPrinterChange");
23655
if (flags & NDR_SET_VALUES) {
23656
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23658
if (flags & NDR_IN) {
23659
ndr_print_struct(ndr, "in", "spoolss_WaitForPrinterChange");
23663
if (flags & NDR_OUT) {
23664
ndr_print_struct(ndr, "out", "spoolss_WaitForPrinterChange");
23666
ndr_print_WERROR(ndr, "result", r->out.result);
23672
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_ClosePrinter(struct ndr_push *ndr, int flags, const struct spoolss_ClosePrinter *r)
23674
if (flags & NDR_IN) {
23675
if (r->in.handle == NULL) {
23676
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23678
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23680
if (flags & NDR_OUT) {
23681
if (r->out.handle == NULL) {
23682
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23684
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
23685
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23687
return NDR_ERR_SUCCESS;
23690
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_ClosePrinter(struct ndr_pull *ndr, int flags, struct spoolss_ClosePrinter *r)
23692
TALLOC_CTX *_mem_save_handle_0;
23693
if (flags & NDR_IN) {
23694
ZERO_STRUCT(r->out);
23696
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23697
NDR_PULL_ALLOC(ndr, r->in.handle);
23699
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23700
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23701
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23702
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23703
NDR_PULL_ALLOC(ndr, r->out.handle);
23704
*r->out.handle = *r->in.handle;
23706
if (flags & NDR_OUT) {
23707
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23708
NDR_PULL_ALLOC(ndr, r->out.handle);
23710
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23711
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
23712
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
23713
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23714
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23716
return NDR_ERR_SUCCESS;
23719
_PUBLIC_ void ndr_print_spoolss_ClosePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ClosePrinter *r)
23721
ndr_print_struct(ndr, name, "spoolss_ClosePrinter");
23723
if (flags & NDR_SET_VALUES) {
23724
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23726
if (flags & NDR_IN) {
23727
ndr_print_struct(ndr, "in", "spoolss_ClosePrinter");
23729
ndr_print_ptr(ndr, "handle", r->in.handle);
23731
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23735
if (flags & NDR_OUT) {
23736
ndr_print_struct(ndr, "out", "spoolss_ClosePrinter");
23738
ndr_print_ptr(ndr, "handle", r->out.handle);
23740
ndr_print_policy_handle(ndr, "handle", r->out.handle);
23742
ndr_print_WERROR(ndr, "result", r->out.result);
23748
static enum ndr_err_code ndr_push_spoolss_AddForm(struct ndr_push *ndr, int flags, const struct spoolss_AddForm *r)
23750
if (flags & NDR_IN) {
23751
if (r->in.handle == NULL) {
23752
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23754
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23755
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
23756
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level));
23757
NDR_CHECK(ndr_push_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
23759
if (flags & NDR_OUT) {
23760
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23762
return NDR_ERR_SUCCESS;
23765
static enum ndr_err_code ndr_pull_spoolss_AddForm(struct ndr_pull *ndr, int flags, struct spoolss_AddForm *r)
23767
TALLOC_CTX *_mem_save_handle_0;
23768
if (flags & NDR_IN) {
23769
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23770
NDR_PULL_ALLOC(ndr, r->in.handle);
23772
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23773
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23774
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23775
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23776
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
23777
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level));
23778
NDR_CHECK(ndr_pull_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
23780
if (flags & NDR_OUT) {
23781
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23783
return NDR_ERR_SUCCESS;
23786
_PUBLIC_ void ndr_print_spoolss_AddForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddForm *r)
23788
ndr_print_struct(ndr, name, "spoolss_AddForm");
23790
if (flags & NDR_SET_VALUES) {
23791
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23793
if (flags & NDR_IN) {
23794
ndr_print_struct(ndr, "in", "spoolss_AddForm");
23796
ndr_print_ptr(ndr, "handle", r->in.handle);
23798
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23800
ndr_print_uint32(ndr, "level", r->in.level);
23801
ndr_print_set_switch_value(ndr, &r->in.info, r->in.level);
23802
ndr_print_spoolss_AddFormInfo(ndr, "info", &r->in.info);
23805
if (flags & NDR_OUT) {
23806
ndr_print_struct(ndr, "out", "spoolss_AddForm");
23808
ndr_print_WERROR(ndr, "result", r->out.result);
23814
static enum ndr_err_code ndr_push_spoolss_DeleteForm(struct ndr_push *ndr, int flags, const struct spoolss_DeleteForm *r)
23816
if (flags & NDR_IN) {
23817
if (r->in.handle == NULL) {
23818
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23820
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23821
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
23822
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23823
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
23824
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));
23826
if (flags & NDR_OUT) {
23827
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23829
return NDR_ERR_SUCCESS;
23832
static enum ndr_err_code ndr_pull_spoolss_DeleteForm(struct ndr_pull *ndr, int flags, struct spoolss_DeleteForm *r)
23834
TALLOC_CTX *_mem_save_handle_0;
23835
if (flags & NDR_IN) {
23836
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23837
NDR_PULL_ALLOC(ndr, r->in.handle);
23839
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23840
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23841
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23842
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23843
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.form_name));
23844
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.form_name));
23845
if (ndr_get_array_length(ndr, &r->in.form_name) > ndr_get_array_size(ndr, &r->in.form_name)) {
23846
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));
23848
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t)));
23849
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));
23851
if (flags & NDR_OUT) {
23852
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23854
return NDR_ERR_SUCCESS;
23857
_PUBLIC_ void ndr_print_spoolss_DeleteForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeleteForm *r)
23859
ndr_print_struct(ndr, name, "spoolss_DeleteForm");
23861
if (flags & NDR_SET_VALUES) {
23862
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
23864
if (flags & NDR_IN) {
23865
ndr_print_struct(ndr, "in", "spoolss_DeleteForm");
23867
ndr_print_ptr(ndr, "handle", r->in.handle);
23869
ndr_print_policy_handle(ndr, "handle", r->in.handle);
23871
ndr_print_string(ndr, "form_name", r->in.form_name);
23874
if (flags & NDR_OUT) {
23875
ndr_print_struct(ndr, "out", "spoolss_DeleteForm");
23877
ndr_print_WERROR(ndr, "result", r->out.result);
23883
static enum ndr_err_code ndr_push_spoolss_GetForm(struct ndr_push *ndr, int flags, const struct spoolss_GetForm *r)
23885
if (flags & NDR_IN) {
23886
if (r->in.handle == NULL) {
23887
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23889
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23890
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
23891
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
23892
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
23893
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));
23894
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
23895
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
23896
if (r->in.buffer) {
23897
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
23899
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
23901
if (flags & NDR_OUT) {
23902
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
23905
struct ndr_push *_ndr_info;
23906
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
23907
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
23908
NDR_CHECK(ndr_push_spoolss_FormInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
23909
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
23912
if (r->out.needed == NULL) {
23913
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
23915
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
23916
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
23918
return NDR_ERR_SUCCESS;
23921
static enum ndr_err_code ndr_pull_spoolss_GetForm(struct ndr_pull *ndr, int flags, struct spoolss_GetForm *r)
23923
uint32_t _ptr_buffer;
23924
uint32_t _ptr_info;
23925
TALLOC_CTX *_mem_save_handle_0;
23926
TALLOC_CTX *_mem_save_buffer_0;
23927
TALLOC_CTX *_mem_save_info_0;
23928
TALLOC_CTX *_mem_save_needed_0;
23929
if (flags & NDR_IN) {
23930
ZERO_STRUCT(r->out);
23932
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23933
NDR_PULL_ALLOC(ndr, r->in.handle);
23935
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
23936
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
23937
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
23938
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
23939
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.form_name));
23940
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.form_name));
23941
if (ndr_get_array_length(ndr, &r->in.form_name) > ndr_get_array_size(ndr, &r->in.form_name)) {
23942
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));
23944
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t)));
23945
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));
23946
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
23947
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
23949
NDR_PULL_ALLOC(ndr, r->in.buffer);
23951
r->in.buffer = NULL;
23953
if (r->in.buffer) {
23954
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
23955
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
23956
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
23957
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
23959
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
23960
NDR_PULL_ALLOC(ndr, r->out.needed);
23961
ZERO_STRUCTP(r->out.needed);
23963
if (flags & NDR_OUT) {
23964
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
23966
NDR_PULL_ALLOC(ndr, r->out.info);
23968
r->out.info = NULL;
23971
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
23972
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
23974
struct ndr_pull *_ndr_info;
23975
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
23976
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
23977
NDR_CHECK(ndr_pull_spoolss_FormInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
23978
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
23980
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
23982
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
23983
NDR_PULL_ALLOC(ndr, r->out.needed);
23985
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
23986
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
23987
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
23988
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
23989
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
23991
return NDR_ERR_SUCCESS;
23994
_PUBLIC_ void ndr_print_spoolss_GetForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetForm *r)
23996
ndr_print_struct(ndr, name, "spoolss_GetForm");
23998
if (flags & NDR_SET_VALUES) {
23999
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24001
if (flags & NDR_IN) {
24002
ndr_print_struct(ndr, "in", "spoolss_GetForm");
24004
ndr_print_ptr(ndr, "handle", r->in.handle);
24006
ndr_print_policy_handle(ndr, "handle", r->in.handle);
24008
ndr_print_string(ndr, "form_name", r->in.form_name);
24009
ndr_print_uint32(ndr, "level", r->in.level);
24010
ndr_print_ptr(ndr, "buffer", r->in.buffer);
24012
if (r->in.buffer) {
24013
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
24016
ndr_print_uint32(ndr, "offered", r->in.offered);
24019
if (flags & NDR_OUT) {
24020
ndr_print_struct(ndr, "out", "spoolss_GetForm");
24022
ndr_print_ptr(ndr, "info", r->out.info);
24025
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
24026
ndr_print_spoolss_FormInfo(ndr, "info", r->out.info);
24029
ndr_print_ptr(ndr, "needed", r->out.needed);
24031
ndr_print_uint32(ndr, "needed", *r->out.needed);
24033
ndr_print_WERROR(ndr, "result", r->out.result);
24039
static enum ndr_err_code ndr_push_spoolss_SetForm(struct ndr_push *ndr, int flags, const struct spoolss_SetForm *r)
24041
if (flags & NDR_IN) {
24042
if (r->in.handle == NULL) {
24043
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24045
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24046
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
24047
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
24048
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
24049
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));
24050
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
24051
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level));
24052
NDR_CHECK(ndr_push_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
24054
if (flags & NDR_OUT) {
24055
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24057
return NDR_ERR_SUCCESS;
24060
static enum ndr_err_code ndr_pull_spoolss_SetForm(struct ndr_pull *ndr, int flags, struct spoolss_SetForm *r)
24062
TALLOC_CTX *_mem_save_handle_0;
24063
if (flags & NDR_IN) {
24064
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24065
NDR_PULL_ALLOC(ndr, r->in.handle);
24067
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24068
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
24069
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24070
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
24071
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.form_name));
24072
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.form_name));
24073
if (ndr_get_array_length(ndr, &r->in.form_name) > ndr_get_array_size(ndr, &r->in.form_name)) {
24074
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));
24076
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t)));
24077
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));
24078
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
24079
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level));
24080
NDR_CHECK(ndr_pull_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
24082
if (flags & NDR_OUT) {
24083
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24085
return NDR_ERR_SUCCESS;
24088
_PUBLIC_ void ndr_print_spoolss_SetForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetForm *r)
24090
ndr_print_struct(ndr, name, "spoolss_SetForm");
24092
if (flags & NDR_SET_VALUES) {
24093
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24095
if (flags & NDR_IN) {
24096
ndr_print_struct(ndr, "in", "spoolss_SetForm");
24098
ndr_print_ptr(ndr, "handle", r->in.handle);
24100
ndr_print_policy_handle(ndr, "handle", r->in.handle);
24102
ndr_print_string(ndr, "form_name", r->in.form_name);
24103
ndr_print_uint32(ndr, "level", r->in.level);
24104
ndr_print_set_switch_value(ndr, &r->in.info, r->in.level);
24105
ndr_print_spoolss_AddFormInfo(ndr, "info", &r->in.info);
24108
if (flags & NDR_OUT) {
24109
ndr_print_struct(ndr, "out", "spoolss_SetForm");
24111
ndr_print_WERROR(ndr, "result", r->out.result);
24117
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumForms(struct ndr_push *ndr, int flags, const struct _spoolss_EnumForms *r)
24119
if (flags & NDR_IN) {
24120
if (r->in.handle == NULL) {
24121
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24123
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24124
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
24125
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
24126
if (r->in.buffer) {
24127
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
24129
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
24131
if (flags & NDR_OUT) {
24132
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
24134
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
24136
if (r->out.needed == NULL) {
24137
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24139
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
24140
if (r->out.count == NULL) {
24141
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24143
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
24144
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24146
return NDR_ERR_SUCCESS;
24149
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumForms(struct ndr_pull *ndr, int flags, struct _spoolss_EnumForms *r)
24151
uint32_t _ptr_buffer;
24152
uint32_t _ptr_info;
24153
TALLOC_CTX *_mem_save_handle_0;
24154
TALLOC_CTX *_mem_save_buffer_0;
24155
TALLOC_CTX *_mem_save_info_0;
24156
TALLOC_CTX *_mem_save_needed_0;
24157
TALLOC_CTX *_mem_save_count_0;
24158
if (flags & NDR_IN) {
24159
ZERO_STRUCT(r->out);
24161
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24162
NDR_PULL_ALLOC(ndr, r->in.handle);
24164
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24165
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
24166
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24167
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
24168
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
24169
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
24171
NDR_PULL_ALLOC(ndr, r->in.buffer);
24173
r->in.buffer = NULL;
24175
if (r->in.buffer) {
24176
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
24177
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
24178
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
24179
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
24181
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
24182
NDR_PULL_ALLOC(ndr, r->out.needed);
24183
ZERO_STRUCTP(r->out.needed);
24184
NDR_PULL_ALLOC(ndr, r->out.count);
24185
ZERO_STRUCTP(r->out.count);
24187
if (flags & NDR_OUT) {
24188
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
24190
NDR_PULL_ALLOC(ndr, r->out.info);
24192
r->out.info = NULL;
24195
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
24196
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
24197
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
24198
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
24200
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24201
NDR_PULL_ALLOC(ndr, r->out.needed);
24203
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
24204
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
24205
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
24206
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
24207
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24208
NDR_PULL_ALLOC(ndr, r->out.count);
24210
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
24211
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
24212
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
24213
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
24214
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24216
return NDR_ERR_SUCCESS;
24219
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumForms(struct ndr_push *ndr, int flags, const struct __spoolss_EnumForms *r)
24221
uint32_t cntr_info_0;
24222
if (flags & NDR_IN) {
24223
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
24224
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
24226
if (flags & NDR_OUT) {
24227
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24228
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
24229
NDR_CHECK(ndr_push_spoolss_FormInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
24231
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24232
NDR_CHECK(ndr_push_spoolss_FormInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
24235
return NDR_ERR_SUCCESS;
24238
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumForms(struct ndr_pull *ndr, int flags, struct __spoolss_EnumForms *r)
24240
uint32_t cntr_info_0;
24241
TALLOC_CTX *_mem_save_info_0;
24242
if (flags & NDR_IN) {
24243
ZERO_STRUCT(r->out);
24245
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
24246
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
24248
if (flags & NDR_OUT) {
24249
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
24250
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
24251
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
24252
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24253
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
24254
NDR_CHECK(ndr_pull_spoolss_FormInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
24256
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24257
NDR_CHECK(ndr_pull_spoolss_FormInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
24259
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
24261
return NDR_ERR_SUCCESS;
24264
_PUBLIC_ void ndr_print_spoolss_EnumForms(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumForms *r)
24266
uint32_t cntr_info_2;
24267
ndr_print_struct(ndr, name, "spoolss_EnumForms");
24269
if (flags & NDR_SET_VALUES) {
24270
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24272
if (flags & NDR_IN) {
24273
ndr_print_struct(ndr, "in", "spoolss_EnumForms");
24275
ndr_print_ptr(ndr, "handle", r->in.handle);
24277
ndr_print_policy_handle(ndr, "handle", r->in.handle);
24279
ndr_print_uint32(ndr, "level", r->in.level);
24280
ndr_print_ptr(ndr, "buffer", r->in.buffer);
24282
if (r->in.buffer) {
24283
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
24286
ndr_print_uint32(ndr, "offered", r->in.offered);
24289
if (flags & NDR_OUT) {
24290
ndr_print_struct(ndr, "out", "spoolss_EnumForms");
24292
ndr_print_ptr(ndr, "count", r->out.count);
24294
ndr_print_uint32(ndr, "count", *r->out.count);
24296
ndr_print_ptr(ndr, "info", r->out.info);
24298
ndr_print_ptr(ndr, "info", *r->out.info);
24300
if (*r->out.info) {
24301
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
24303
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
24305
if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) {
24306
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
24307
ndr_print_spoolss_FormInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
24315
ndr_print_ptr(ndr, "needed", r->out.needed);
24317
ndr_print_uint32(ndr, "needed", *r->out.needed);
24319
ndr_print_WERROR(ndr, "result", r->out.result);
24325
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPorts(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPorts *r)
24327
if (flags & NDR_IN) {
24328
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
24329
if (r->in.servername) {
24330
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
24331
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
24332
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
24333
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
24335
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
24336
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
24337
if (r->in.buffer) {
24338
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
24340
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
24342
if (flags & NDR_OUT) {
24343
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
24345
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
24347
if (r->out.needed == 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.needed));
24351
if (r->out.count == NULL) {
24352
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24354
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
24355
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24357
return NDR_ERR_SUCCESS;
24360
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPorts(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPorts *r)
24362
uint32_t _ptr_servername;
24363
uint32_t _ptr_buffer;
24364
uint32_t _ptr_info;
24365
TALLOC_CTX *_mem_save_servername_0;
24366
TALLOC_CTX *_mem_save_buffer_0;
24367
TALLOC_CTX *_mem_save_info_0;
24368
TALLOC_CTX *_mem_save_needed_0;
24369
TALLOC_CTX *_mem_save_count_0;
24370
if (flags & NDR_IN) {
24371
ZERO_STRUCT(r->out);
24373
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
24374
if (_ptr_servername) {
24375
NDR_PULL_ALLOC(ndr, r->in.servername);
24377
r->in.servername = NULL;
24379
if (r->in.servername) {
24380
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
24381
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
24382
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
24383
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
24384
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
24385
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));
24387
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
24388
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
24389
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
24391
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
24392
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
24394
NDR_PULL_ALLOC(ndr, r->in.buffer);
24396
r->in.buffer = NULL;
24398
if (r->in.buffer) {
24399
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
24400
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
24401
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
24402
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
24404
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
24405
NDR_PULL_ALLOC(ndr, r->out.needed);
24406
ZERO_STRUCTP(r->out.needed);
24407
NDR_PULL_ALLOC(ndr, r->out.count);
24408
ZERO_STRUCTP(r->out.count);
24410
if (flags & NDR_OUT) {
24411
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
24413
NDR_PULL_ALLOC(ndr, r->out.info);
24415
r->out.info = NULL;
24418
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
24419
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
24420
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
24421
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
24423
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24424
NDR_PULL_ALLOC(ndr, r->out.needed);
24426
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
24427
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
24428
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
24429
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
24430
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24431
NDR_PULL_ALLOC(ndr, r->out.count);
24433
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
24434
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
24435
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
24436
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
24437
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24439
return NDR_ERR_SUCCESS;
24442
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPorts(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPorts *r)
24444
uint32_t cntr_info_0;
24445
if (flags & NDR_IN) {
24446
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
24447
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
24449
if (flags & NDR_OUT) {
24450
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24451
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
24452
NDR_CHECK(ndr_push_spoolss_PortInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
24454
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24455
NDR_CHECK(ndr_push_spoolss_PortInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
24458
return NDR_ERR_SUCCESS;
24461
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPorts(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPorts *r)
24463
uint32_t cntr_info_0;
24464
TALLOC_CTX *_mem_save_info_0;
24465
if (flags & NDR_IN) {
24466
ZERO_STRUCT(r->out);
24468
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
24469
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
24471
if (flags & NDR_OUT) {
24472
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
24473
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
24474
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
24475
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24476
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
24477
NDR_CHECK(ndr_pull_spoolss_PortInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
24479
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24480
NDR_CHECK(ndr_pull_spoolss_PortInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
24482
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
24484
return NDR_ERR_SUCCESS;
24487
_PUBLIC_ void ndr_print_spoolss_EnumPorts(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPorts *r)
24489
uint32_t cntr_info_2;
24490
ndr_print_struct(ndr, name, "spoolss_EnumPorts");
24492
if (flags & NDR_SET_VALUES) {
24493
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24495
if (flags & NDR_IN) {
24496
ndr_print_struct(ndr, "in", "spoolss_EnumPorts");
24498
ndr_print_ptr(ndr, "servername", r->in.servername);
24500
if (r->in.servername) {
24501
ndr_print_string(ndr, "servername", r->in.servername);
24504
ndr_print_uint32(ndr, "level", r->in.level);
24505
ndr_print_ptr(ndr, "buffer", r->in.buffer);
24507
if (r->in.buffer) {
24508
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
24511
ndr_print_uint32(ndr, "offered", r->in.offered);
24514
if (flags & NDR_OUT) {
24515
ndr_print_struct(ndr, "out", "spoolss_EnumPorts");
24517
ndr_print_ptr(ndr, "count", r->out.count);
24519
ndr_print_uint32(ndr, "count", *r->out.count);
24521
ndr_print_ptr(ndr, "info", r->out.info);
24523
ndr_print_ptr(ndr, "info", *r->out.info);
24525
if (*r->out.info) {
24526
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
24528
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
24530
if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) {
24531
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
24532
ndr_print_spoolss_PortInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
24540
ndr_print_ptr(ndr, "needed", r->out.needed);
24542
ndr_print_uint32(ndr, "needed", *r->out.needed);
24544
ndr_print_WERROR(ndr, "result", r->out.result);
24550
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumMonitors(struct ndr_push *ndr, int flags, const struct _spoolss_EnumMonitors *r)
24552
if (flags & NDR_IN) {
24553
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
24554
if (r->in.servername) {
24555
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
24556
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
24557
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
24558
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
24560
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
24561
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
24562
if (r->in.buffer) {
24563
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
24565
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
24567
if (flags & NDR_OUT) {
24568
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
24570
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
24572
if (r->out.needed == NULL) {
24573
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24575
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
24576
if (r->out.count == NULL) {
24577
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24579
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
24580
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24582
return NDR_ERR_SUCCESS;
24585
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumMonitors(struct ndr_pull *ndr, int flags, struct _spoolss_EnumMonitors *r)
24587
uint32_t _ptr_servername;
24588
uint32_t _ptr_buffer;
24589
uint32_t _ptr_info;
24590
TALLOC_CTX *_mem_save_servername_0;
24591
TALLOC_CTX *_mem_save_buffer_0;
24592
TALLOC_CTX *_mem_save_info_0;
24593
TALLOC_CTX *_mem_save_needed_0;
24594
TALLOC_CTX *_mem_save_count_0;
24595
if (flags & NDR_IN) {
24596
ZERO_STRUCT(r->out);
24598
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
24599
if (_ptr_servername) {
24600
NDR_PULL_ALLOC(ndr, r->in.servername);
24602
r->in.servername = NULL;
24604
if (r->in.servername) {
24605
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
24606
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
24607
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
24608
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
24609
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
24610
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));
24612
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
24613
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
24614
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
24616
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
24617
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
24619
NDR_PULL_ALLOC(ndr, r->in.buffer);
24621
r->in.buffer = NULL;
24623
if (r->in.buffer) {
24624
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
24625
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
24626
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
24627
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
24629
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
24630
NDR_PULL_ALLOC(ndr, r->out.needed);
24631
ZERO_STRUCTP(r->out.needed);
24632
NDR_PULL_ALLOC(ndr, r->out.count);
24633
ZERO_STRUCTP(r->out.count);
24635
if (flags & NDR_OUT) {
24636
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
24638
NDR_PULL_ALLOC(ndr, r->out.info);
24640
r->out.info = NULL;
24643
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
24644
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
24645
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
24646
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
24648
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24649
NDR_PULL_ALLOC(ndr, r->out.needed);
24651
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
24652
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
24653
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
24654
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
24655
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24656
NDR_PULL_ALLOC(ndr, r->out.count);
24658
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
24659
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
24660
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
24661
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
24662
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24664
return NDR_ERR_SUCCESS;
24667
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumMonitors(struct ndr_push *ndr, int flags, const struct __spoolss_EnumMonitors *r)
24669
uint32_t cntr_info_0;
24670
if (flags & NDR_IN) {
24671
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
24672
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
24674
if (flags & NDR_OUT) {
24675
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24676
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
24677
NDR_CHECK(ndr_push_spoolss_MonitorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
24679
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24680
NDR_CHECK(ndr_push_spoolss_MonitorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
24683
return NDR_ERR_SUCCESS;
24686
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumMonitors(struct ndr_pull *ndr, int flags, struct __spoolss_EnumMonitors *r)
24688
uint32_t cntr_info_0;
24689
TALLOC_CTX *_mem_save_info_0;
24690
if (flags & NDR_IN) {
24691
ZERO_STRUCT(r->out);
24693
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
24694
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
24696
if (flags & NDR_OUT) {
24697
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
24698
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
24699
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
24700
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24701
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
24702
NDR_CHECK(ndr_pull_spoolss_MonitorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
24704
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
24705
NDR_CHECK(ndr_pull_spoolss_MonitorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
24707
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
24709
return NDR_ERR_SUCCESS;
24712
_PUBLIC_ void ndr_print_spoolss_EnumMonitors(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumMonitors *r)
24714
uint32_t cntr_info_2;
24715
ndr_print_struct(ndr, name, "spoolss_EnumMonitors");
24717
if (flags & NDR_SET_VALUES) {
24718
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24720
if (flags & NDR_IN) {
24721
ndr_print_struct(ndr, "in", "spoolss_EnumMonitors");
24723
ndr_print_ptr(ndr, "servername", r->in.servername);
24725
if (r->in.servername) {
24726
ndr_print_string(ndr, "servername", r->in.servername);
24729
ndr_print_uint32(ndr, "level", r->in.level);
24730
ndr_print_ptr(ndr, "buffer", r->in.buffer);
24732
if (r->in.buffer) {
24733
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
24736
ndr_print_uint32(ndr, "offered", r->in.offered);
24739
if (flags & NDR_OUT) {
24740
ndr_print_struct(ndr, "out", "spoolss_EnumMonitors");
24742
ndr_print_ptr(ndr, "count", r->out.count);
24744
ndr_print_uint32(ndr, "count", *r->out.count);
24746
ndr_print_ptr(ndr, "info", r->out.info);
24748
ndr_print_ptr(ndr, "info", *r->out.info);
24750
if (*r->out.info) {
24751
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
24753
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
24755
if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) {
24756
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
24757
ndr_print_spoolss_MonitorInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
24765
ndr_print_ptr(ndr, "needed", r->out.needed);
24767
ndr_print_uint32(ndr, "needed", *r->out.needed);
24769
ndr_print_WERROR(ndr, "result", r->out.result);
24775
static enum ndr_err_code ndr_push_spoolss_AddPort(struct ndr_push *ndr, int flags, const struct spoolss_AddPort *r)
24777
if (flags & NDR_IN) {
24778
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
24779
if (r->in.server_name) {
24780
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
24781
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
24782
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
24783
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));
24785
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
24786
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.monitor_name, CH_UTF16)));
24787
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
24788
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.monitor_name, CH_UTF16)));
24789
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));
24791
if (flags & NDR_OUT) {
24792
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24794
return NDR_ERR_SUCCESS;
24797
static enum ndr_err_code ndr_pull_spoolss_AddPort(struct ndr_pull *ndr, int flags, struct spoolss_AddPort *r)
24799
uint32_t _ptr_server_name;
24800
TALLOC_CTX *_mem_save_server_name_0;
24801
if (flags & NDR_IN) {
24802
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
24803
if (_ptr_server_name) {
24804
NDR_PULL_ALLOC(ndr, r->in.server_name);
24806
r->in.server_name = NULL;
24808
if (r->in.server_name) {
24809
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
24810
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
24811
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
24812
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
24813
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
24814
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));
24816
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
24817
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));
24818
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
24820
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
24821
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.monitor_name));
24822
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.monitor_name));
24823
if (ndr_get_array_length(ndr, &r->in.monitor_name) > ndr_get_array_size(ndr, &r->in.monitor_name)) {
24824
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));
24826
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.monitor_name), sizeof(uint16_t)));
24827
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));
24829
if (flags & NDR_OUT) {
24830
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24832
return NDR_ERR_SUCCESS;
24835
_PUBLIC_ void ndr_print_spoolss_AddPort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPort *r)
24837
ndr_print_struct(ndr, name, "spoolss_AddPort");
24839
if (flags & NDR_SET_VALUES) {
24840
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24842
if (flags & NDR_IN) {
24843
ndr_print_struct(ndr, "in", "spoolss_AddPort");
24845
ndr_print_ptr(ndr, "server_name", r->in.server_name);
24847
if (r->in.server_name) {
24848
ndr_print_string(ndr, "server_name", r->in.server_name);
24851
ndr_print_uint32(ndr, "unknown", r->in.unknown);
24852
ndr_print_string(ndr, "monitor_name", r->in.monitor_name);
24855
if (flags & NDR_OUT) {
24856
ndr_print_struct(ndr, "out", "spoolss_AddPort");
24858
ndr_print_WERROR(ndr, "result", r->out.result);
24864
static enum ndr_err_code ndr_push_spoolss_ConfigurePort(struct ndr_push *ndr, int flags, const struct spoolss_ConfigurePort *r)
24866
if (flags & NDR_IN) {
24868
if (flags & NDR_OUT) {
24869
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24871
return NDR_ERR_SUCCESS;
24874
static enum ndr_err_code ndr_pull_spoolss_ConfigurePort(struct ndr_pull *ndr, int flags, struct spoolss_ConfigurePort *r)
24876
if (flags & NDR_IN) {
24878
if (flags & NDR_OUT) {
24879
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24881
return NDR_ERR_SUCCESS;
24884
_PUBLIC_ void ndr_print_spoolss_ConfigurePort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ConfigurePort *r)
24886
ndr_print_struct(ndr, name, "spoolss_ConfigurePort");
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_ConfigurePort");
24896
if (flags & NDR_OUT) {
24897
ndr_print_struct(ndr, "out", "spoolss_ConfigurePort");
24899
ndr_print_WERROR(ndr, "result", r->out.result);
24905
static enum ndr_err_code ndr_push_spoolss_DeletePort(struct ndr_push *ndr, int flags, const struct spoolss_DeletePort *r)
24907
if (flags & NDR_IN) {
24909
if (flags & NDR_OUT) {
24910
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24912
return NDR_ERR_SUCCESS;
24915
static enum ndr_err_code ndr_pull_spoolss_DeletePort(struct ndr_pull *ndr, int flags, struct spoolss_DeletePort *r)
24917
if (flags & NDR_IN) {
24919
if (flags & NDR_OUT) {
24920
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
24922
return NDR_ERR_SUCCESS;
24925
_PUBLIC_ void ndr_print_spoolss_DeletePort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePort *r)
24927
ndr_print_struct(ndr, name, "spoolss_DeletePort");
24929
if (flags & NDR_SET_VALUES) {
24930
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
24932
if (flags & NDR_IN) {
24933
ndr_print_struct(ndr, "in", "spoolss_DeletePort");
24937
if (flags & NDR_OUT) {
24938
ndr_print_struct(ndr, "out", "spoolss_DeletePort");
24940
ndr_print_WERROR(ndr, "result", r->out.result);
24946
static enum ndr_err_code ndr_push_spoolss_CreatePrinterIC(struct ndr_push *ndr, int flags, const struct spoolss_CreatePrinterIC *r)
24948
if (flags & NDR_IN) {
24949
if (r->in.handle == NULL) {
24950
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24952
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24953
if (r->in.devmode_ctr == NULL) {
24954
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24956
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
24958
if (flags & NDR_OUT) {
24959
if (r->out.gdi_handle == NULL) {
24960
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
24962
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.gdi_handle));
24963
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
24965
return NDR_ERR_SUCCESS;
24968
static enum ndr_err_code ndr_pull_spoolss_CreatePrinterIC(struct ndr_pull *ndr, int flags, struct spoolss_CreatePrinterIC *r)
24970
TALLOC_CTX *_mem_save_handle_0;
24971
TALLOC_CTX *_mem_save_gdi_handle_0;
24972
TALLOC_CTX *_mem_save_devmode_ctr_0;
24973
if (flags & NDR_IN) {
24974
ZERO_STRUCT(r->out);
24976
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24977
NDR_PULL_ALLOC(ndr, r->in.handle);
24979
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24980
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
24981
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
24982
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
24983
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24984
NDR_PULL_ALLOC(ndr, r->in.devmode_ctr);
24986
_mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
24987
NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC);
24988
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
24989
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC);
24990
NDR_PULL_ALLOC(ndr, r->out.gdi_handle);
24991
ZERO_STRUCTP(r->out.gdi_handle);
24993
if (flags & NDR_OUT) {
24994
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
24995
NDR_PULL_ALLOC(ndr, r->out.gdi_handle);
24997
_mem_save_gdi_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
24998
NDR_PULL_SET_MEM_CTX(ndr, r->out.gdi_handle, LIBNDR_FLAG_REF_ALLOC);
24999
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.gdi_handle));
25000
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gdi_handle_0, LIBNDR_FLAG_REF_ALLOC);
25001
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25003
return NDR_ERR_SUCCESS;
25006
_PUBLIC_ void ndr_print_spoolss_CreatePrinterIC(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_CreatePrinterIC *r)
25008
ndr_print_struct(ndr, name, "spoolss_CreatePrinterIC");
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_CreatePrinterIC");
25016
ndr_print_ptr(ndr, "handle", r->in.handle);
25018
ndr_print_policy_handle(ndr, "handle", r->in.handle);
25020
ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr);
25022
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr);
25026
if (flags & NDR_OUT) {
25027
ndr_print_struct(ndr, "out", "spoolss_CreatePrinterIC");
25029
ndr_print_ptr(ndr, "gdi_handle", r->out.gdi_handle);
25031
ndr_print_policy_handle(ndr, "gdi_handle", r->out.gdi_handle);
25033
ndr_print_WERROR(ndr, "result", r->out.result);
25039
static enum ndr_err_code ndr_push_spoolss_PlayGDIScriptOnPrinterIC(struct ndr_push *ndr, int flags, const struct spoolss_PlayGDIScriptOnPrinterIC *r)
25041
if (flags & NDR_IN) {
25043
if (flags & NDR_OUT) {
25044
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25046
return NDR_ERR_SUCCESS;
25049
static enum ndr_err_code ndr_pull_spoolss_PlayGDIScriptOnPrinterIC(struct ndr_pull *ndr, int flags, struct spoolss_PlayGDIScriptOnPrinterIC *r)
25051
if (flags & NDR_IN) {
25053
if (flags & NDR_OUT) {
25054
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25056
return NDR_ERR_SUCCESS;
25059
_PUBLIC_ void ndr_print_spoolss_PlayGDIScriptOnPrinterIC(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_PlayGDIScriptOnPrinterIC *r)
25061
ndr_print_struct(ndr, name, "spoolss_PlayGDIScriptOnPrinterIC");
25063
if (flags & NDR_SET_VALUES) {
25064
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25066
if (flags & NDR_IN) {
25067
ndr_print_struct(ndr, "in", "spoolss_PlayGDIScriptOnPrinterIC");
25071
if (flags & NDR_OUT) {
25072
ndr_print_struct(ndr, "out", "spoolss_PlayGDIScriptOnPrinterIC");
25074
ndr_print_WERROR(ndr, "result", r->out.result);
25080
static enum ndr_err_code ndr_push_spoolss_DeletePrinterIC(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterIC *r)
25082
if (flags & NDR_IN) {
25083
if (r->in.gdi_handle == NULL) {
25084
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25086
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.gdi_handle));
25088
if (flags & NDR_OUT) {
25089
if (r->out.gdi_handle == NULL) {
25090
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25092
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.gdi_handle));
25093
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25095
return NDR_ERR_SUCCESS;
25098
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterIC(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterIC *r)
25100
TALLOC_CTX *_mem_save_gdi_handle_0;
25101
if (flags & NDR_IN) {
25102
ZERO_STRUCT(r->out);
25104
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25105
NDR_PULL_ALLOC(ndr, r->in.gdi_handle);
25107
_mem_save_gdi_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
25108
NDR_PULL_SET_MEM_CTX(ndr, r->in.gdi_handle, LIBNDR_FLAG_REF_ALLOC);
25109
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.gdi_handle));
25110
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gdi_handle_0, LIBNDR_FLAG_REF_ALLOC);
25111
NDR_PULL_ALLOC(ndr, r->out.gdi_handle);
25112
*r->out.gdi_handle = *r->in.gdi_handle;
25114
if (flags & NDR_OUT) {
25115
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25116
NDR_PULL_ALLOC(ndr, r->out.gdi_handle);
25118
_mem_save_gdi_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
25119
NDR_PULL_SET_MEM_CTX(ndr, r->out.gdi_handle, LIBNDR_FLAG_REF_ALLOC);
25120
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.gdi_handle));
25121
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gdi_handle_0, LIBNDR_FLAG_REF_ALLOC);
25122
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25124
return NDR_ERR_SUCCESS;
25127
_PUBLIC_ void ndr_print_spoolss_DeletePrinterIC(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterIC *r)
25129
ndr_print_struct(ndr, name, "spoolss_DeletePrinterIC");
25131
if (flags & NDR_SET_VALUES) {
25132
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25134
if (flags & NDR_IN) {
25135
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterIC");
25137
ndr_print_ptr(ndr, "gdi_handle", r->in.gdi_handle);
25139
ndr_print_policy_handle(ndr, "gdi_handle", r->in.gdi_handle);
25143
if (flags & NDR_OUT) {
25144
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterIC");
25146
ndr_print_ptr(ndr, "gdi_handle", r->out.gdi_handle);
25148
ndr_print_policy_handle(ndr, "gdi_handle", r->out.gdi_handle);
25150
ndr_print_WERROR(ndr, "result", r->out.result);
25156
static enum ndr_err_code ndr_push_spoolss_AddPrinterConnection(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterConnection *r)
25158
if (flags & NDR_IN) {
25160
if (flags & NDR_OUT) {
25161
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25163
return NDR_ERR_SUCCESS;
25166
static enum ndr_err_code ndr_pull_spoolss_AddPrinterConnection(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterConnection *r)
25168
if (flags & NDR_IN) {
25170
if (flags & NDR_OUT) {
25171
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25173
return NDR_ERR_SUCCESS;
25176
_PUBLIC_ void ndr_print_spoolss_AddPrinterConnection(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterConnection *r)
25178
ndr_print_struct(ndr, name, "spoolss_AddPrinterConnection");
25180
if (flags & NDR_SET_VALUES) {
25181
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25183
if (flags & NDR_IN) {
25184
ndr_print_struct(ndr, "in", "spoolss_AddPrinterConnection");
25188
if (flags & NDR_OUT) {
25189
ndr_print_struct(ndr, "out", "spoolss_AddPrinterConnection");
25191
ndr_print_WERROR(ndr, "result", r->out.result);
25197
static enum ndr_err_code ndr_push_spoolss_DeletePrinterConnection(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterConnection *r)
25199
if (flags & NDR_IN) {
25201
if (flags & NDR_OUT) {
25202
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25204
return NDR_ERR_SUCCESS;
25207
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterConnection(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterConnection *r)
25209
if (flags & NDR_IN) {
25211
if (flags & NDR_OUT) {
25212
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25214
return NDR_ERR_SUCCESS;
25217
_PUBLIC_ void ndr_print_spoolss_DeletePrinterConnection(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterConnection *r)
25219
ndr_print_struct(ndr, name, "spoolss_DeletePrinterConnection");
25221
if (flags & NDR_SET_VALUES) {
25222
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25224
if (flags & NDR_IN) {
25225
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterConnection");
25229
if (flags & NDR_OUT) {
25230
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterConnection");
25232
ndr_print_WERROR(ndr, "result", r->out.result);
25238
static enum ndr_err_code ndr_push_spoolss_PrinterMessageBox(struct ndr_push *ndr, int flags, const struct spoolss_PrinterMessageBox *r)
25240
if (flags & NDR_IN) {
25242
if (flags & NDR_OUT) {
25243
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25245
return NDR_ERR_SUCCESS;
25248
static enum ndr_err_code ndr_pull_spoolss_PrinterMessageBox(struct ndr_pull *ndr, int flags, struct spoolss_PrinterMessageBox *r)
25250
if (flags & NDR_IN) {
25252
if (flags & NDR_OUT) {
25253
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25255
return NDR_ERR_SUCCESS;
25258
_PUBLIC_ void ndr_print_spoolss_PrinterMessageBox(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_PrinterMessageBox *r)
25260
ndr_print_struct(ndr, name, "spoolss_PrinterMessageBox");
25262
if (flags & NDR_SET_VALUES) {
25263
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25265
if (flags & NDR_IN) {
25266
ndr_print_struct(ndr, "in", "spoolss_PrinterMessageBox");
25270
if (flags & NDR_OUT) {
25271
ndr_print_struct(ndr, "out", "spoolss_PrinterMessageBox");
25273
ndr_print_WERROR(ndr, "result", r->out.result);
25279
static enum ndr_err_code ndr_push_spoolss_AddMonitor(struct ndr_push *ndr, int flags, const struct spoolss_AddMonitor *r)
25281
if (flags & NDR_IN) {
25283
if (flags & NDR_OUT) {
25284
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25286
return NDR_ERR_SUCCESS;
25289
static enum ndr_err_code ndr_pull_spoolss_AddMonitor(struct ndr_pull *ndr, int flags, struct spoolss_AddMonitor *r)
25291
if (flags & NDR_IN) {
25293
if (flags & NDR_OUT) {
25294
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25296
return NDR_ERR_SUCCESS;
25299
_PUBLIC_ void ndr_print_spoolss_AddMonitor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddMonitor *r)
25301
ndr_print_struct(ndr, name, "spoolss_AddMonitor");
25303
if (flags & NDR_SET_VALUES) {
25304
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25306
if (flags & NDR_IN) {
25307
ndr_print_struct(ndr, "in", "spoolss_AddMonitor");
25311
if (flags & NDR_OUT) {
25312
ndr_print_struct(ndr, "out", "spoolss_AddMonitor");
25314
ndr_print_WERROR(ndr, "result", r->out.result);
25320
static enum ndr_err_code ndr_push_spoolss_DeleteMonitor(struct ndr_push *ndr, int flags, const struct spoolss_DeleteMonitor *r)
25322
if (flags & NDR_IN) {
25324
if (flags & NDR_OUT) {
25325
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25327
return NDR_ERR_SUCCESS;
25330
static enum ndr_err_code ndr_pull_spoolss_DeleteMonitor(struct ndr_pull *ndr, int flags, struct spoolss_DeleteMonitor *r)
25332
if (flags & NDR_IN) {
25334
if (flags & NDR_OUT) {
25335
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25337
return NDR_ERR_SUCCESS;
25340
_PUBLIC_ void ndr_print_spoolss_DeleteMonitor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeleteMonitor *r)
25342
ndr_print_struct(ndr, name, "spoolss_DeleteMonitor");
25344
if (flags & NDR_SET_VALUES) {
25345
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25347
if (flags & NDR_IN) {
25348
ndr_print_struct(ndr, "in", "spoolss_DeleteMonitor");
25352
if (flags & NDR_OUT) {
25353
ndr_print_struct(ndr, "out", "spoolss_DeleteMonitor");
25355
ndr_print_WERROR(ndr, "result", r->out.result);
25361
static enum ndr_err_code ndr_push_spoolss_DeletePrintProcessor(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrintProcessor *r)
25363
if (flags & NDR_IN) {
25365
if (flags & NDR_OUT) {
25366
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25368
return NDR_ERR_SUCCESS;
25371
static enum ndr_err_code ndr_pull_spoolss_DeletePrintProcessor(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrintProcessor *r)
25373
if (flags & NDR_IN) {
25375
if (flags & NDR_OUT) {
25376
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25378
return NDR_ERR_SUCCESS;
25381
_PUBLIC_ void ndr_print_spoolss_DeletePrintProcessor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrintProcessor *r)
25383
ndr_print_struct(ndr, name, "spoolss_DeletePrintProcessor");
25385
if (flags & NDR_SET_VALUES) {
25386
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25388
if (flags & NDR_IN) {
25389
ndr_print_struct(ndr, "in", "spoolss_DeletePrintProcessor");
25393
if (flags & NDR_OUT) {
25394
ndr_print_struct(ndr, "out", "spoolss_DeletePrintProcessor");
25396
ndr_print_WERROR(ndr, "result", r->out.result);
25402
static enum ndr_err_code ndr_push_spoolss_AddPrintProvidor(struct ndr_push *ndr, int flags, const struct spoolss_AddPrintProvidor *r)
25404
if (flags & NDR_IN) {
25406
if (flags & NDR_OUT) {
25407
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25409
return NDR_ERR_SUCCESS;
25412
static enum ndr_err_code ndr_pull_spoolss_AddPrintProvidor(struct ndr_pull *ndr, int flags, struct spoolss_AddPrintProvidor *r)
25414
if (flags & NDR_IN) {
25416
if (flags & NDR_OUT) {
25417
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25419
return NDR_ERR_SUCCESS;
25422
_PUBLIC_ void ndr_print_spoolss_AddPrintProvidor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrintProvidor *r)
25424
ndr_print_struct(ndr, name, "spoolss_AddPrintProvidor");
25426
if (flags & NDR_SET_VALUES) {
25427
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25429
if (flags & NDR_IN) {
25430
ndr_print_struct(ndr, "in", "spoolss_AddPrintProvidor");
25434
if (flags & NDR_OUT) {
25435
ndr_print_struct(ndr, "out", "spoolss_AddPrintProvidor");
25437
ndr_print_WERROR(ndr, "result", r->out.result);
25443
static enum ndr_err_code ndr_push_spoolss_DeletePrintProvidor(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrintProvidor *r)
25445
if (flags & NDR_IN) {
25447
if (flags & NDR_OUT) {
25448
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25450
return NDR_ERR_SUCCESS;
25453
static enum ndr_err_code ndr_pull_spoolss_DeletePrintProvidor(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrintProvidor *r)
25455
if (flags & NDR_IN) {
25457
if (flags & NDR_OUT) {
25458
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25460
return NDR_ERR_SUCCESS;
25463
_PUBLIC_ void ndr_print_spoolss_DeletePrintProvidor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrintProvidor *r)
25465
ndr_print_struct(ndr, name, "spoolss_DeletePrintProvidor");
25467
if (flags & NDR_SET_VALUES) {
25468
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25470
if (flags & NDR_IN) {
25471
ndr_print_struct(ndr, "in", "spoolss_DeletePrintProvidor");
25475
if (flags & NDR_OUT) {
25476
ndr_print_struct(ndr, "out", "spoolss_DeletePrintProvidor");
25478
ndr_print_WERROR(ndr, "result", r->out.result);
25484
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrintProcDataTypes(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrintProcDataTypes *r)
25486
if (flags & NDR_IN) {
25487
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
25488
if (r->in.servername) {
25489
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
25490
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
25491
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
25492
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
25494
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.print_processor_name));
25495
if (r->in.print_processor_name) {
25496
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.print_processor_name, CH_UTF16)));
25497
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
25498
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.print_processor_name, CH_UTF16)));
25499
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));
25501
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
25502
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
25503
if (r->in.buffer) {
25504
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
25506
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
25508
if (flags & NDR_OUT) {
25509
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
25511
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
25513
if (r->out.needed == NULL) {
25514
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25516
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
25517
if (r->out.count == NULL) {
25518
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25520
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
25521
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25523
return NDR_ERR_SUCCESS;
25526
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrintProcDataTypes(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrintProcDataTypes *r)
25528
uint32_t _ptr_servername;
25529
uint32_t _ptr_print_processor_name;
25530
uint32_t _ptr_buffer;
25531
uint32_t _ptr_info;
25532
TALLOC_CTX *_mem_save_servername_0;
25533
TALLOC_CTX *_mem_save_print_processor_name_0;
25534
TALLOC_CTX *_mem_save_buffer_0;
25535
TALLOC_CTX *_mem_save_info_0;
25536
TALLOC_CTX *_mem_save_needed_0;
25537
TALLOC_CTX *_mem_save_count_0;
25538
if (flags & NDR_IN) {
25539
ZERO_STRUCT(r->out);
25541
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
25542
if (_ptr_servername) {
25543
NDR_PULL_ALLOC(ndr, r->in.servername);
25545
r->in.servername = NULL;
25547
if (r->in.servername) {
25548
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
25549
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
25550
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
25551
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
25552
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
25553
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));
25555
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
25556
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
25557
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
25559
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor_name));
25560
if (_ptr_print_processor_name) {
25561
NDR_PULL_ALLOC(ndr, r->in.print_processor_name);
25563
r->in.print_processor_name = NULL;
25565
if (r->in.print_processor_name) {
25566
_mem_save_print_processor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
25567
NDR_PULL_SET_MEM_CTX(ndr, r->in.print_processor_name, 0);
25568
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.print_processor_name));
25569
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.print_processor_name));
25570
if (ndr_get_array_length(ndr, &r->in.print_processor_name) > ndr_get_array_size(ndr, &r->in.print_processor_name)) {
25571
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));
25573
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.print_processor_name), sizeof(uint16_t)));
25574
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));
25575
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_name_0, 0);
25577
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
25578
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
25580
NDR_PULL_ALLOC(ndr, r->in.buffer);
25582
r->in.buffer = NULL;
25584
if (r->in.buffer) {
25585
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
25586
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
25587
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
25588
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
25590
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
25591
NDR_PULL_ALLOC(ndr, r->out.needed);
25592
ZERO_STRUCTP(r->out.needed);
25593
NDR_PULL_ALLOC(ndr, r->out.count);
25594
ZERO_STRUCTP(r->out.count);
25596
if (flags & NDR_OUT) {
25597
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
25599
NDR_PULL_ALLOC(ndr, r->out.info);
25601
r->out.info = NULL;
25604
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
25605
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
25606
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
25607
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
25609
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25610
NDR_PULL_ALLOC(ndr, r->out.needed);
25612
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
25613
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
25614
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
25615
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
25616
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25617
NDR_PULL_ALLOC(ndr, r->out.count);
25619
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
25620
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
25621
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
25622
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
25623
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25625
return NDR_ERR_SUCCESS;
25628
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrintProcDataTypes(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrintProcDataTypes *r)
25630
uint32_t cntr_info_0;
25631
if (flags & NDR_IN) {
25632
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
25633
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
25635
if (flags & NDR_OUT) {
25636
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25637
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
25638
NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
25640
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25641
NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
25644
return NDR_ERR_SUCCESS;
25647
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrintProcDataTypes(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrintProcDataTypes *r)
25649
uint32_t cntr_info_0;
25650
TALLOC_CTX *_mem_save_info_0;
25651
if (flags & NDR_IN) {
25652
ZERO_STRUCT(r->out);
25654
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
25655
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
25657
if (flags & NDR_OUT) {
25658
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
25659
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
25660
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
25661
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25662
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
25663
NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
25665
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
25666
NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
25668
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
25670
return NDR_ERR_SUCCESS;
25673
_PUBLIC_ void ndr_print_spoolss_EnumPrintProcDataTypes(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrintProcDataTypes *r)
25675
uint32_t cntr_info_2;
25676
ndr_print_struct(ndr, name, "spoolss_EnumPrintProcDataTypes");
25678
if (flags & NDR_SET_VALUES) {
25679
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25681
if (flags & NDR_IN) {
25682
ndr_print_struct(ndr, "in", "spoolss_EnumPrintProcDataTypes");
25684
ndr_print_ptr(ndr, "servername", r->in.servername);
25686
if (r->in.servername) {
25687
ndr_print_string(ndr, "servername", r->in.servername);
25690
ndr_print_ptr(ndr, "print_processor_name", r->in.print_processor_name);
25692
if (r->in.print_processor_name) {
25693
ndr_print_string(ndr, "print_processor_name", r->in.print_processor_name);
25696
ndr_print_uint32(ndr, "level", r->in.level);
25697
ndr_print_ptr(ndr, "buffer", r->in.buffer);
25699
if (r->in.buffer) {
25700
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
25703
ndr_print_uint32(ndr, "offered", r->in.offered);
25706
if (flags & NDR_OUT) {
25707
ndr_print_struct(ndr, "out", "spoolss_EnumPrintProcDataTypes");
25709
ndr_print_ptr(ndr, "count", r->out.count);
25711
ndr_print_uint32(ndr, "count", *r->out.count);
25713
ndr_print_ptr(ndr, "info", r->out.info);
25715
ndr_print_ptr(ndr, "info", *r->out.info);
25717
if (*r->out.info) {
25718
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
25720
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
25722
if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) {
25723
ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level);
25724
ndr_print_spoolss_PrintProcDataTypesInfo(ndr, "info", &(*r->out.info)[cntr_info_2]);
25732
ndr_print_ptr(ndr, "needed", r->out.needed);
25734
ndr_print_uint32(ndr, "needed", *r->out.needed);
25736
ndr_print_WERROR(ndr, "result", r->out.result);
25742
static enum ndr_err_code ndr_push_spoolss_ResetPrinter(struct ndr_push *ndr, int flags, const struct spoolss_ResetPrinter *r)
25744
if (flags & NDR_IN) {
25745
if (r->in.handle == NULL) {
25746
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25748
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
25749
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.data_type));
25750
if (r->in.data_type) {
25751
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.data_type, CH_UTF16)));
25752
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
25753
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.data_type, CH_UTF16)));
25754
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));
25756
if (r->in.devmode_ctr == NULL) {
25757
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25759
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
25761
if (flags & NDR_OUT) {
25762
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25764
return NDR_ERR_SUCCESS;
25767
static enum ndr_err_code ndr_pull_spoolss_ResetPrinter(struct ndr_pull *ndr, int flags, struct spoolss_ResetPrinter *r)
25769
uint32_t _ptr_data_type;
25770
TALLOC_CTX *_mem_save_handle_0;
25771
TALLOC_CTX *_mem_save_data_type_0;
25772
TALLOC_CTX *_mem_save_devmode_ctr_0;
25773
if (flags & NDR_IN) {
25774
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25775
NDR_PULL_ALLOC(ndr, r->in.handle);
25777
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
25778
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
25779
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
25780
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
25781
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
25782
if (_ptr_data_type) {
25783
NDR_PULL_ALLOC(ndr, r->in.data_type);
25785
r->in.data_type = NULL;
25787
if (r->in.data_type) {
25788
_mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
25789
NDR_PULL_SET_MEM_CTX(ndr, r->in.data_type, 0);
25790
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data_type));
25791
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.data_type));
25792
if (ndr_get_array_length(ndr, &r->in.data_type) > ndr_get_array_size(ndr, &r->in.data_type)) {
25793
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));
25795
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.data_type), sizeof(uint16_t)));
25796
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));
25797
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
25799
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25800
NDR_PULL_ALLOC(ndr, r->in.devmode_ctr);
25802
_mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
25803
NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC);
25804
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
25805
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC);
25807
if (flags & NDR_OUT) {
25808
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
25810
return NDR_ERR_SUCCESS;
25813
_PUBLIC_ void ndr_print_spoolss_ResetPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ResetPrinter *r)
25815
ndr_print_struct(ndr, name, "spoolss_ResetPrinter");
25817
if (flags & NDR_SET_VALUES) {
25818
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
25820
if (flags & NDR_IN) {
25821
ndr_print_struct(ndr, "in", "spoolss_ResetPrinter");
25823
ndr_print_ptr(ndr, "handle", r->in.handle);
25825
ndr_print_policy_handle(ndr, "handle", r->in.handle);
25827
ndr_print_ptr(ndr, "data_type", r->in.data_type);
25829
if (r->in.data_type) {
25830
ndr_print_string(ndr, "data_type", r->in.data_type);
25833
ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr);
25835
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr);
25839
if (flags & NDR_OUT) {
25840
ndr_print_struct(ndr, "out", "spoolss_ResetPrinter");
25842
ndr_print_WERROR(ndr, "result", r->out.result);
25848
static enum ndr_err_code ndr_push_spoolss_GetPrinterDriver2(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriver2 *r)
25850
if (flags & NDR_IN) {
25851
if (r->in.handle == NULL) {
25852
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25854
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
25855
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.architecture));
25856
if (r->in.architecture) {
25857
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
25858
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
25859
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
25860
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
25862
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
25863
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
25864
if (r->in.buffer) {
25865
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
25867
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
25868
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.client_major_version));
25869
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.client_minor_version));
25871
if (flags & NDR_OUT) {
25872
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
25875
struct ndr_push *_ndr_info;
25876
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
25877
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
25878
NDR_CHECK(ndr_push_spoolss_DriverInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
25879
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
25882
if (r->out.needed == NULL) {
25883
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25885
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
25886
if (r->out.server_major_version == NULL) {
25887
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25889
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.server_major_version));
25890
if (r->out.server_minor_version == NULL) {
25891
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
25893
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.server_minor_version));
25894
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
25896
return NDR_ERR_SUCCESS;
25899
static enum ndr_err_code ndr_pull_spoolss_GetPrinterDriver2(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriver2 *r)
25901
uint32_t _ptr_architecture;
25902
uint32_t _ptr_buffer;
25903
uint32_t _ptr_info;
25904
TALLOC_CTX *_mem_save_handle_0;
25905
TALLOC_CTX *_mem_save_architecture_0;
25906
TALLOC_CTX *_mem_save_buffer_0;
25907
TALLOC_CTX *_mem_save_info_0;
25908
TALLOC_CTX *_mem_save_needed_0;
25909
TALLOC_CTX *_mem_save_server_major_version_0;
25910
TALLOC_CTX *_mem_save_server_minor_version_0;
25911
if (flags & NDR_IN) {
25912
ZERO_STRUCT(r->out);
25914
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25915
NDR_PULL_ALLOC(ndr, r->in.handle);
25917
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
25918
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
25919
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
25920
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
25921
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
25922
if (_ptr_architecture) {
25923
NDR_PULL_ALLOC(ndr, r->in.architecture);
25925
r->in.architecture = NULL;
25927
if (r->in.architecture) {
25928
_mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
25929
NDR_PULL_SET_MEM_CTX(ndr, r->in.architecture, 0);
25930
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
25931
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
25932
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
25933
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));
25935
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
25936
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
25937
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
25939
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
25940
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
25942
NDR_PULL_ALLOC(ndr, r->in.buffer);
25944
r->in.buffer = NULL;
25946
if (r->in.buffer) {
25947
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
25948
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
25949
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
25950
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
25952
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
25953
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.client_major_version));
25954
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.client_minor_version));
25955
NDR_PULL_ALLOC(ndr, r->out.needed);
25956
ZERO_STRUCTP(r->out.needed);
25957
NDR_PULL_ALLOC(ndr, r->out.server_major_version);
25958
ZERO_STRUCTP(r->out.server_major_version);
25959
NDR_PULL_ALLOC(ndr, r->out.server_minor_version);
25960
ZERO_STRUCTP(r->out.server_minor_version);
25962
if (flags & NDR_OUT) {
25963
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
25965
NDR_PULL_ALLOC(ndr, r->out.info);
25967
r->out.info = NULL;
25970
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
25971
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
25973
struct ndr_pull *_ndr_info;
25974
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
25975
NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
25976
NDR_CHECK(ndr_pull_spoolss_DriverInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
25977
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
25979
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
25981
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25982
NDR_PULL_ALLOC(ndr, r->out.needed);
25984
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
25985
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
25986
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
25987
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
25988
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25989
NDR_PULL_ALLOC(ndr, r->out.server_major_version);
25991
_mem_save_server_major_version_0 = NDR_PULL_GET_MEM_CTX(ndr);
25992
NDR_PULL_SET_MEM_CTX(ndr, r->out.server_major_version, LIBNDR_FLAG_REF_ALLOC);
25993
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.server_major_version));
25994
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_major_version_0, LIBNDR_FLAG_REF_ALLOC);
25995
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
25996
NDR_PULL_ALLOC(ndr, r->out.server_minor_version);
25998
_mem_save_server_minor_version_0 = NDR_PULL_GET_MEM_CTX(ndr);
25999
NDR_PULL_SET_MEM_CTX(ndr, r->out.server_minor_version, LIBNDR_FLAG_REF_ALLOC);
26000
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.server_minor_version));
26001
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_minor_version_0, LIBNDR_FLAG_REF_ALLOC);
26002
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26004
return NDR_ERR_SUCCESS;
26007
_PUBLIC_ void ndr_print_spoolss_GetPrinterDriver2(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriver2 *r)
26009
ndr_print_struct(ndr, name, "spoolss_GetPrinterDriver2");
26011
if (flags & NDR_SET_VALUES) {
26012
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26014
if (flags & NDR_IN) {
26015
ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriver2");
26017
ndr_print_ptr(ndr, "handle", r->in.handle);
26019
ndr_print_policy_handle(ndr, "handle", r->in.handle);
26021
ndr_print_ptr(ndr, "architecture", r->in.architecture);
26023
if (r->in.architecture) {
26024
ndr_print_string(ndr, "architecture", r->in.architecture);
26027
ndr_print_uint32(ndr, "level", r->in.level);
26028
ndr_print_ptr(ndr, "buffer", r->in.buffer);
26030
if (r->in.buffer) {
26031
ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
26034
ndr_print_uint32(ndr, "offered", r->in.offered);
26035
ndr_print_uint32(ndr, "client_major_version", r->in.client_major_version);
26036
ndr_print_uint32(ndr, "client_minor_version", r->in.client_minor_version);
26039
if (flags & NDR_OUT) {
26040
ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriver2");
26042
ndr_print_ptr(ndr, "info", r->out.info);
26045
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
26046
ndr_print_spoolss_DriverInfo(ndr, "info", r->out.info);
26049
ndr_print_ptr(ndr, "needed", r->out.needed);
26051
ndr_print_uint32(ndr, "needed", *r->out.needed);
26053
ndr_print_ptr(ndr, "server_major_version", r->out.server_major_version);
26055
ndr_print_uint32(ndr, "server_major_version", *r->out.server_major_version);
26057
ndr_print_ptr(ndr, "server_minor_version", r->out.server_minor_version);
26059
ndr_print_uint32(ndr, "server_minor_version", *r->out.server_minor_version);
26061
ndr_print_WERROR(ndr, "result", r->out.result);
26067
static enum ndr_err_code ndr_push_spoolss_FindFirstPrinterChangeNotification(struct ndr_push *ndr, int flags, const struct spoolss_FindFirstPrinterChangeNotification *r)
26069
if (flags & NDR_IN) {
26071
if (flags & NDR_OUT) {
26072
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26074
return NDR_ERR_SUCCESS;
26077
static enum ndr_err_code ndr_pull_spoolss_FindFirstPrinterChangeNotification(struct ndr_pull *ndr, int flags, struct spoolss_FindFirstPrinterChangeNotification *r)
26079
if (flags & NDR_IN) {
26081
if (flags & NDR_OUT) {
26082
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26084
return NDR_ERR_SUCCESS;
26087
_PUBLIC_ void ndr_print_spoolss_FindFirstPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_FindFirstPrinterChangeNotification *r)
26089
ndr_print_struct(ndr, name, "spoolss_FindFirstPrinterChangeNotification");
26091
if (flags & NDR_SET_VALUES) {
26092
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26094
if (flags & NDR_IN) {
26095
ndr_print_struct(ndr, "in", "spoolss_FindFirstPrinterChangeNotification");
26099
if (flags & NDR_OUT) {
26100
ndr_print_struct(ndr, "out", "spoolss_FindFirstPrinterChangeNotification");
26102
ndr_print_WERROR(ndr, "result", r->out.result);
26108
static enum ndr_err_code ndr_push_spoolss_FindNextPrinterChangeNotification(struct ndr_push *ndr, int flags, const struct spoolss_FindNextPrinterChangeNotification *r)
26110
if (flags & NDR_IN) {
26112
if (flags & NDR_OUT) {
26113
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26115
return NDR_ERR_SUCCESS;
26118
static enum ndr_err_code ndr_pull_spoolss_FindNextPrinterChangeNotification(struct ndr_pull *ndr, int flags, struct spoolss_FindNextPrinterChangeNotification *r)
26120
if (flags & NDR_IN) {
26122
if (flags & NDR_OUT) {
26123
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26125
return NDR_ERR_SUCCESS;
26128
_PUBLIC_ void ndr_print_spoolss_FindNextPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_FindNextPrinterChangeNotification *r)
26130
ndr_print_struct(ndr, name, "spoolss_FindNextPrinterChangeNotification");
26132
if (flags & NDR_SET_VALUES) {
26133
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26135
if (flags & NDR_IN) {
26136
ndr_print_struct(ndr, "in", "spoolss_FindNextPrinterChangeNotification");
26140
if (flags & NDR_OUT) {
26141
ndr_print_struct(ndr, "out", "spoolss_FindNextPrinterChangeNotification");
26143
ndr_print_WERROR(ndr, "result", r->out.result);
26149
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_FindClosePrinterNotify(struct ndr_push *ndr, int flags, const struct spoolss_FindClosePrinterNotify *r)
26151
if (flags & NDR_IN) {
26152
if (r->in.handle == NULL) {
26153
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26155
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26157
if (flags & NDR_OUT) {
26158
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26160
return NDR_ERR_SUCCESS;
26163
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FindClosePrinterNotify(struct ndr_pull *ndr, int flags, struct spoolss_FindClosePrinterNotify *r)
26165
TALLOC_CTX *_mem_save_handle_0;
26166
if (flags & NDR_IN) {
26167
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26168
NDR_PULL_ALLOC(ndr, r->in.handle);
26170
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26171
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
26172
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26173
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
26175
if (flags & NDR_OUT) {
26176
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26178
return NDR_ERR_SUCCESS;
26181
_PUBLIC_ void ndr_print_spoolss_FindClosePrinterNotify(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_FindClosePrinterNotify *r)
26183
ndr_print_struct(ndr, name, "spoolss_FindClosePrinterNotify");
26185
if (flags & NDR_SET_VALUES) {
26186
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26188
if (flags & NDR_IN) {
26189
ndr_print_struct(ndr, "in", "spoolss_FindClosePrinterNotify");
26191
ndr_print_ptr(ndr, "handle", r->in.handle);
26193
ndr_print_policy_handle(ndr, "handle", r->in.handle);
26197
if (flags & NDR_OUT) {
26198
ndr_print_struct(ndr, "out", "spoolss_FindClosePrinterNotify");
26200
ndr_print_WERROR(ndr, "result", r->out.result);
26206
static enum ndr_err_code ndr_push_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct ndr_push *ndr, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r)
26208
if (flags & NDR_IN) {
26210
if (flags & NDR_OUT) {
26211
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26213
return NDR_ERR_SUCCESS;
26216
static enum ndr_err_code ndr_pull_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct ndr_pull *ndr, int flags, struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r)
26218
if (flags & NDR_IN) {
26220
if (flags & NDR_OUT) {
26221
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26223
return NDR_ERR_SUCCESS;
26226
_PUBLIC_ void ndr_print_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r)
26228
ndr_print_struct(ndr, name, "spoolss_RouterFindFirstPrinterChangeNotificationOld");
26230
if (flags & NDR_SET_VALUES) {
26231
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26233
if (flags & NDR_IN) {
26234
ndr_print_struct(ndr, "in", "spoolss_RouterFindFirstPrinterChangeNotificationOld");
26238
if (flags & NDR_OUT) {
26239
ndr_print_struct(ndr, "out", "spoolss_RouterFindFirstPrinterChangeNotificationOld");
26241
ndr_print_WERROR(ndr, "result", r->out.result);
26247
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_ReplyOpenPrinter(struct ndr_push *ndr, int flags, const struct spoolss_ReplyOpenPrinter *r)
26249
if (flags & NDR_IN) {
26250
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
26251
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
26252
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
26253
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));
26254
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.printer_local));
26255
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type));
26256
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.bufsize));
26257
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
26258
if (r->in.buffer) {
26259
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.bufsize));
26260
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.buffer, r->in.bufsize));
26263
if (flags & NDR_OUT) {
26264
if (r->out.handle == NULL) {
26265
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26267
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
26268
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26270
return NDR_ERR_SUCCESS;
26273
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_ReplyOpenPrinter(struct ndr_pull *ndr, int flags, struct spoolss_ReplyOpenPrinter *r)
26275
uint32_t _ptr_buffer;
26276
TALLOC_CTX *_mem_save_buffer_0;
26277
TALLOC_CTX *_mem_save_handle_0;
26278
if (flags & NDR_IN) {
26279
ZERO_STRUCT(r->out);
26281
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
26282
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
26283
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
26284
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));
26286
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
26287
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));
26288
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.printer_local));
26289
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type));
26290
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bufsize));
26291
if (r->in.bufsize > 512) {
26292
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
26294
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
26296
NDR_PULL_ALLOC(ndr, r->in.buffer);
26298
r->in.buffer = NULL;
26300
if (r->in.buffer) {
26301
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
26302
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
26303
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer));
26304
NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer));
26305
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer)));
26306
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
26308
NDR_PULL_ALLOC(ndr, r->out.handle);
26309
ZERO_STRUCTP(r->out.handle);
26310
if (r->in.buffer) {
26311
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, r->in.bufsize));
26314
if (flags & NDR_OUT) {
26315
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26316
NDR_PULL_ALLOC(ndr, r->out.handle);
26318
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26319
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
26320
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
26321
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
26322
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26324
return NDR_ERR_SUCCESS;
26327
_PUBLIC_ void ndr_print_spoolss_ReplyOpenPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ReplyOpenPrinter *r)
26329
ndr_print_struct(ndr, name, "spoolss_ReplyOpenPrinter");
26331
if (flags & NDR_SET_VALUES) {
26332
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26334
if (flags & NDR_IN) {
26335
ndr_print_struct(ndr, "in", "spoolss_ReplyOpenPrinter");
26337
ndr_print_string(ndr, "server_name", r->in.server_name);
26338
ndr_print_uint32(ndr, "printer_local", r->in.printer_local);
26339
ndr_print_winreg_Type(ndr, "type", r->in.type);
26340
ndr_print_uint32(ndr, "bufsize", r->in.bufsize);
26341
ndr_print_ptr(ndr, "buffer", r->in.buffer);
26343
if (r->in.buffer) {
26344
ndr_print_array_uint8(ndr, "buffer", r->in.buffer, r->in.bufsize);
26349
if (flags & NDR_OUT) {
26350
ndr_print_struct(ndr, "out", "spoolss_ReplyOpenPrinter");
26352
ndr_print_ptr(ndr, "handle", r->out.handle);
26354
ndr_print_policy_handle(ndr, "handle", r->out.handle);
26356
ndr_print_WERROR(ndr, "result", r->out.result);
26362
static enum ndr_err_code ndr_push_spoolss_RouterReplyPrinter(struct ndr_push *ndr, int flags, const struct spoolss_RouterReplyPrinter *r)
26364
if (flags & NDR_IN) {
26365
if (r->in.handle == NULL) {
26366
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26368
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26369
NDR_CHECK(ndr_push_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, r->in.flags));
26370
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.bufsize));
26371
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
26372
if (r->in.buffer) {
26373
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.bufsize));
26374
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.buffer, r->in.bufsize));
26377
if (flags & NDR_OUT) {
26378
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26380
return NDR_ERR_SUCCESS;
26383
static enum ndr_err_code ndr_pull_spoolss_RouterReplyPrinter(struct ndr_pull *ndr, int flags, struct spoolss_RouterReplyPrinter *r)
26385
uint32_t _ptr_buffer;
26386
TALLOC_CTX *_mem_save_handle_0;
26387
TALLOC_CTX *_mem_save_buffer_0;
26388
if (flags & NDR_IN) {
26389
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26390
NDR_PULL_ALLOC(ndr, r->in.handle);
26392
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26393
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
26394
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26395
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
26396
NDR_CHECK(ndr_pull_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, &r->in.flags));
26397
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bufsize));
26398
if (r->in.bufsize > 512) {
26399
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
26401
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
26403
NDR_PULL_ALLOC(ndr, r->in.buffer);
26405
r->in.buffer = NULL;
26407
if (r->in.buffer) {
26408
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
26409
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
26410
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer));
26411
NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer));
26412
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer)));
26413
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
26415
if (r->in.buffer) {
26416
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, r->in.bufsize));
26419
if (flags & NDR_OUT) {
26420
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26422
return NDR_ERR_SUCCESS;
26425
_PUBLIC_ void ndr_print_spoolss_RouterReplyPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterReplyPrinter *r)
26427
ndr_print_struct(ndr, name, "spoolss_RouterReplyPrinter");
26429
if (flags & NDR_SET_VALUES) {
26430
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26432
if (flags & NDR_IN) {
26433
ndr_print_struct(ndr, "in", "spoolss_RouterReplyPrinter");
26435
ndr_print_ptr(ndr, "handle", r->in.handle);
26437
ndr_print_policy_handle(ndr, "handle", r->in.handle);
26439
ndr_print_spoolss_PrinterChangeFlags(ndr, "flags", r->in.flags);
26440
ndr_print_uint32(ndr, "bufsize", r->in.bufsize);
26441
ndr_print_ptr(ndr, "buffer", r->in.buffer);
26443
if (r->in.buffer) {
26444
ndr_print_array_uint8(ndr, "buffer", r->in.buffer, r->in.bufsize);
26449
if (flags & NDR_OUT) {
26450
ndr_print_struct(ndr, "out", "spoolss_RouterReplyPrinter");
26452
ndr_print_WERROR(ndr, "result", r->out.result);
26458
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_ReplyClosePrinter(struct ndr_push *ndr, int flags, const struct spoolss_ReplyClosePrinter *r)
26460
if (flags & NDR_IN) {
26461
if (r->in.handle == NULL) {
26462
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26464
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26466
if (flags & NDR_OUT) {
26467
if (r->out.handle == NULL) {
26468
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26470
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
26471
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26473
return NDR_ERR_SUCCESS;
26476
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_ReplyClosePrinter(struct ndr_pull *ndr, int flags, struct spoolss_ReplyClosePrinter *r)
26478
TALLOC_CTX *_mem_save_handle_0;
26479
if (flags & NDR_IN) {
26480
ZERO_STRUCT(r->out);
26482
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26483
NDR_PULL_ALLOC(ndr, r->in.handle);
26485
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26486
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
26487
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26488
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
26489
NDR_PULL_ALLOC(ndr, r->out.handle);
26490
*r->out.handle = *r->in.handle;
26492
if (flags & NDR_OUT) {
26493
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26494
NDR_PULL_ALLOC(ndr, r->out.handle);
26496
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26497
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
26498
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
26499
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
26500
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26502
return NDR_ERR_SUCCESS;
26505
_PUBLIC_ void ndr_print_spoolss_ReplyClosePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ReplyClosePrinter *r)
26507
ndr_print_struct(ndr, name, "spoolss_ReplyClosePrinter");
26509
if (flags & NDR_SET_VALUES) {
26510
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26512
if (flags & NDR_IN) {
26513
ndr_print_struct(ndr, "in", "spoolss_ReplyClosePrinter");
26515
ndr_print_ptr(ndr, "handle", r->in.handle);
26517
ndr_print_policy_handle(ndr, "handle", r->in.handle);
26521
if (flags & NDR_OUT) {
26522
ndr_print_struct(ndr, "out", "spoolss_ReplyClosePrinter");
26524
ndr_print_ptr(ndr, "handle", r->out.handle);
26526
ndr_print_policy_handle(ndr, "handle", r->out.handle);
26528
ndr_print_WERROR(ndr, "result", r->out.result);
26534
static enum ndr_err_code ndr_push_spoolss_AddPortEx(struct ndr_push *ndr, int flags, const struct spoolss_AddPortEx *r)
26536
if (flags & NDR_IN) {
26538
if (flags & NDR_OUT) {
26539
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26541
return NDR_ERR_SUCCESS;
26544
static enum ndr_err_code ndr_pull_spoolss_AddPortEx(struct ndr_pull *ndr, int flags, struct spoolss_AddPortEx *r)
26546
if (flags & NDR_IN) {
26548
if (flags & NDR_OUT) {
26549
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26551
return NDR_ERR_SUCCESS;
26554
_PUBLIC_ void ndr_print_spoolss_AddPortEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPortEx *r)
26556
ndr_print_struct(ndr, name, "spoolss_AddPortEx");
26558
if (flags & NDR_SET_VALUES) {
26559
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26561
if (flags & NDR_IN) {
26562
ndr_print_struct(ndr, "in", "spoolss_AddPortEx");
26566
if (flags & NDR_OUT) {
26567
ndr_print_struct(ndr, "out", "spoolss_AddPortEx");
26569
ndr_print_WERROR(ndr, "result", r->out.result);
26575
static enum ndr_err_code ndr_push_spoolss_RouterFindFirstPrinterChangeNotification(struct ndr_push *ndr, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotification *r)
26577
if (flags & NDR_IN) {
26579
if (flags & NDR_OUT) {
26580
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26582
return NDR_ERR_SUCCESS;
26585
static enum ndr_err_code ndr_pull_spoolss_RouterFindFirstPrinterChangeNotification(struct ndr_pull *ndr, int flags, struct spoolss_RouterFindFirstPrinterChangeNotification *r)
26587
if (flags & NDR_IN) {
26589
if (flags & NDR_OUT) {
26590
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26592
return NDR_ERR_SUCCESS;
26595
_PUBLIC_ void ndr_print_spoolss_RouterFindFirstPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotification *r)
26597
ndr_print_struct(ndr, name, "spoolss_RouterFindFirstPrinterChangeNotification");
26599
if (flags & NDR_SET_VALUES) {
26600
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26602
if (flags & NDR_IN) {
26603
ndr_print_struct(ndr, "in", "spoolss_RouterFindFirstPrinterChangeNotification");
26607
if (flags & NDR_OUT) {
26608
ndr_print_struct(ndr, "out", "spoolss_RouterFindFirstPrinterChangeNotification");
26610
ndr_print_WERROR(ndr, "result", r->out.result);
26616
static enum ndr_err_code ndr_push_spoolss_SpoolerInit(struct ndr_push *ndr, int flags, const struct spoolss_SpoolerInit *r)
26618
if (flags & NDR_IN) {
26620
if (flags & NDR_OUT) {
26621
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26623
return NDR_ERR_SUCCESS;
26626
static enum ndr_err_code ndr_pull_spoolss_SpoolerInit(struct ndr_pull *ndr, int flags, struct spoolss_SpoolerInit *r)
26628
if (flags & NDR_IN) {
26630
if (flags & NDR_OUT) {
26631
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26633
return NDR_ERR_SUCCESS;
26636
_PUBLIC_ void ndr_print_spoolss_SpoolerInit(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SpoolerInit *r)
26638
ndr_print_struct(ndr, name, "spoolss_SpoolerInit");
26640
if (flags & NDR_SET_VALUES) {
26641
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26643
if (flags & NDR_IN) {
26644
ndr_print_struct(ndr, "in", "spoolss_SpoolerInit");
26648
if (flags & NDR_OUT) {
26649
ndr_print_struct(ndr, "out", "spoolss_SpoolerInit");
26651
ndr_print_WERROR(ndr, "result", r->out.result);
26657
static enum ndr_err_code ndr_push_spoolss_ResetPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_ResetPrinterEx *r)
26659
if (flags & NDR_IN) {
26661
if (flags & NDR_OUT) {
26662
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26664
return NDR_ERR_SUCCESS;
26667
static enum ndr_err_code ndr_pull_spoolss_ResetPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_ResetPrinterEx *r)
26669
if (flags & NDR_IN) {
26671
if (flags & NDR_OUT) {
26672
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26674
return NDR_ERR_SUCCESS;
26677
_PUBLIC_ void ndr_print_spoolss_ResetPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ResetPrinterEx *r)
26679
ndr_print_struct(ndr, name, "spoolss_ResetPrinterEx");
26681
if (flags & NDR_SET_VALUES) {
26682
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26684
if (flags & NDR_IN) {
26685
ndr_print_struct(ndr, "in", "spoolss_ResetPrinterEx");
26689
if (flags & NDR_OUT) {
26690
ndr_print_struct(ndr, "out", "spoolss_ResetPrinterEx");
26692
ndr_print_WERROR(ndr, "result", r->out.result);
26698
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct ndr_push *ndr, int flags, const struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r)
26700
if (flags & NDR_IN) {
26701
if (r->in.handle == NULL) {
26702
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26704
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26705
NDR_CHECK(ndr_push_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, r->in.flags));
26706
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.options));
26707
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.local_machine));
26708
if (r->in.local_machine) {
26709
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.local_machine, CH_UTF16)));
26710
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
26711
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.local_machine, CH_UTF16)));
26712
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));
26714
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.printer_local));
26715
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.notify_options));
26716
if (r->in.notify_options) {
26717
NDR_CHECK(ndr_push_spoolss_NotifyOption(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.notify_options));
26720
if (flags & NDR_OUT) {
26721
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26723
return NDR_ERR_SUCCESS;
26726
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct ndr_pull *ndr, int flags, struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r)
26728
uint32_t _ptr_local_machine;
26729
uint32_t _ptr_notify_options;
26730
TALLOC_CTX *_mem_save_handle_0;
26731
TALLOC_CTX *_mem_save_local_machine_0;
26732
TALLOC_CTX *_mem_save_notify_options_0;
26733
if (flags & NDR_IN) {
26734
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26735
NDR_PULL_ALLOC(ndr, r->in.handle);
26737
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26738
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
26739
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26740
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
26741
NDR_CHECK(ndr_pull_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, &r->in.flags));
26742
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.options));
26743
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_local_machine));
26744
if (_ptr_local_machine) {
26745
NDR_PULL_ALLOC(ndr, r->in.local_machine);
26747
r->in.local_machine = NULL;
26749
if (r->in.local_machine) {
26750
_mem_save_local_machine_0 = NDR_PULL_GET_MEM_CTX(ndr);
26751
NDR_PULL_SET_MEM_CTX(ndr, r->in.local_machine, 0);
26752
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.local_machine));
26753
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.local_machine));
26754
if (ndr_get_array_length(ndr, &r->in.local_machine) > ndr_get_array_size(ndr, &r->in.local_machine)) {
26755
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));
26757
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.local_machine), sizeof(uint16_t)));
26758
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));
26759
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_local_machine_0, 0);
26761
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.printer_local));
26762
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_options));
26763
if (_ptr_notify_options) {
26764
NDR_PULL_ALLOC(ndr, r->in.notify_options);
26766
r->in.notify_options = NULL;
26768
if (r->in.notify_options) {
26769
_mem_save_notify_options_0 = NDR_PULL_GET_MEM_CTX(ndr);
26770
NDR_PULL_SET_MEM_CTX(ndr, r->in.notify_options, 0);
26771
NDR_CHECK(ndr_pull_spoolss_NotifyOption(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.notify_options));
26772
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_options_0, 0);
26775
if (flags & NDR_OUT) {
26776
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26778
return NDR_ERR_SUCCESS;
26781
_PUBLIC_ void ndr_print_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r)
26783
ndr_print_struct(ndr, name, "spoolss_RemoteFindFirstPrinterChangeNotifyEx");
26785
if (flags & NDR_SET_VALUES) {
26786
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26788
if (flags & NDR_IN) {
26789
ndr_print_struct(ndr, "in", "spoolss_RemoteFindFirstPrinterChangeNotifyEx");
26791
ndr_print_ptr(ndr, "handle", r->in.handle);
26793
ndr_print_policy_handle(ndr, "handle", r->in.handle);
26795
ndr_print_spoolss_PrinterChangeFlags(ndr, "flags", r->in.flags);
26796
ndr_print_uint32(ndr, "options", r->in.options);
26797
ndr_print_ptr(ndr, "local_machine", r->in.local_machine);
26799
if (r->in.local_machine) {
26800
ndr_print_string(ndr, "local_machine", r->in.local_machine);
26803
ndr_print_uint32(ndr, "printer_local", r->in.printer_local);
26804
ndr_print_ptr(ndr, "notify_options", r->in.notify_options);
26806
if (r->in.notify_options) {
26807
ndr_print_spoolss_NotifyOption(ndr, "notify_options", r->in.notify_options);
26812
if (flags & NDR_OUT) {
26813
ndr_print_struct(ndr, "out", "spoolss_RemoteFindFirstPrinterChangeNotifyEx");
26815
ndr_print_WERROR(ndr, "result", r->out.result);
26821
static enum ndr_err_code ndr_push_spoolss_RouterReplyPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_RouterReplyPrinterEx *r)
26823
if (flags & NDR_IN) {
26824
if (r->in.handle == NULL) {
26825
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26827
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26828
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.color));
26829
NDR_CHECK(ndr_push_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, r->in.flags));
26830
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reply_type));
26831
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.reply_type));
26832
NDR_CHECK(ndr_push_spoolss_ReplyPrinterInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
26834
if (flags & NDR_OUT) {
26835
if (r->out.reply_result == NULL) {
26836
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26838
NDR_CHECK(ndr_push_spoolss_PrinterNotifyFlags(ndr, NDR_SCALARS, *r->out.reply_result));
26839
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26841
return NDR_ERR_SUCCESS;
26844
static enum ndr_err_code ndr_pull_spoolss_RouterReplyPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_RouterReplyPrinterEx *r)
26846
TALLOC_CTX *_mem_save_handle_0;
26847
TALLOC_CTX *_mem_save_reply_result_0;
26848
if (flags & NDR_IN) {
26849
ZERO_STRUCT(r->out);
26851
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26852
NDR_PULL_ALLOC(ndr, r->in.handle);
26854
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26855
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
26856
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26857
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
26858
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.color));
26859
NDR_CHECK(ndr_pull_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, &r->in.flags));
26860
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reply_type));
26861
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.reply_type));
26862
NDR_CHECK(ndr_pull_spoolss_ReplyPrinterInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
26863
NDR_PULL_ALLOC(ndr, r->out.reply_result);
26864
ZERO_STRUCTP(r->out.reply_result);
26866
if (flags & NDR_OUT) {
26867
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26868
NDR_PULL_ALLOC(ndr, r->out.reply_result);
26870
_mem_save_reply_result_0 = NDR_PULL_GET_MEM_CTX(ndr);
26871
NDR_PULL_SET_MEM_CTX(ndr, r->out.reply_result, LIBNDR_FLAG_REF_ALLOC);
26872
NDR_CHECK(ndr_pull_spoolss_PrinterNotifyFlags(ndr, NDR_SCALARS, r->out.reply_result));
26873
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reply_result_0, LIBNDR_FLAG_REF_ALLOC);
26874
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26876
return NDR_ERR_SUCCESS;
26879
_PUBLIC_ void ndr_print_spoolss_RouterReplyPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterReplyPrinterEx *r)
26881
ndr_print_struct(ndr, name, "spoolss_RouterReplyPrinterEx");
26883
if (flags & NDR_SET_VALUES) {
26884
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
26886
if (flags & NDR_IN) {
26887
ndr_print_struct(ndr, "in", "spoolss_RouterReplyPrinterEx");
26889
ndr_print_ptr(ndr, "handle", r->in.handle);
26891
ndr_print_policy_handle(ndr, "handle", r->in.handle);
26893
ndr_print_uint32(ndr, "color", r->in.color);
26894
ndr_print_spoolss_PrinterChangeFlags(ndr, "flags", r->in.flags);
26895
ndr_print_uint32(ndr, "reply_type", r->in.reply_type);
26896
ndr_print_set_switch_value(ndr, &r->in.info, r->in.reply_type);
26897
ndr_print_spoolss_ReplyPrinterInfo(ndr, "info", &r->in.info);
26900
if (flags & NDR_OUT) {
26901
ndr_print_struct(ndr, "out", "spoolss_RouterReplyPrinterEx");
26903
ndr_print_ptr(ndr, "reply_result", r->out.reply_result);
26905
ndr_print_spoolss_PrinterNotifyFlags(ndr, "reply_result", *r->out.reply_result);
26907
ndr_print_WERROR(ndr, "result", r->out.result);
26913
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_RouterRefreshPrinterChangeNotify(struct ndr_push *ndr, int flags, const struct spoolss_RouterRefreshPrinterChangeNotify *r)
26915
if (flags & NDR_IN) {
26916
if (r->in.handle == NULL) {
26917
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26919
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26920
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.change_low));
26921
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.options));
26922
if (r->in.options) {
26923
NDR_CHECK(ndr_push_spoolss_NotifyOption(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.options));
26926
if (flags & NDR_OUT) {
26927
if (r->out.info == NULL) {
26928
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
26930
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
26931
if (*r->out.info) {
26932
NDR_CHECK(ndr_push_spoolss_NotifyInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
26934
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
26936
return NDR_ERR_SUCCESS;
26939
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_RouterRefreshPrinterChangeNotify(struct ndr_pull *ndr, int flags, struct spoolss_RouterRefreshPrinterChangeNotify *r)
26941
uint32_t _ptr_options;
26942
uint32_t _ptr_info;
26943
TALLOC_CTX *_mem_save_handle_0;
26944
TALLOC_CTX *_mem_save_options_0;
26945
TALLOC_CTX *_mem_save_info_0;
26946
TALLOC_CTX *_mem_save_info_1;
26947
if (flags & NDR_IN) {
26948
ZERO_STRUCT(r->out);
26950
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26951
NDR_PULL_ALLOC(ndr, r->in.handle);
26953
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
26954
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
26955
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
26956
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
26957
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_low));
26958
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_options));
26959
if (_ptr_options) {
26960
NDR_PULL_ALLOC(ndr, r->in.options);
26962
r->in.options = NULL;
26964
if (r->in.options) {
26965
_mem_save_options_0 = NDR_PULL_GET_MEM_CTX(ndr);
26966
NDR_PULL_SET_MEM_CTX(ndr, r->in.options, 0);
26967
NDR_CHECK(ndr_pull_spoolss_NotifyOption(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.options));
26968
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_options_0, 0);
26970
NDR_PULL_ALLOC(ndr, r->out.info);
26971
ZERO_STRUCTP(r->out.info);
26973
if (flags & NDR_OUT) {
26974
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
26975
NDR_PULL_ALLOC(ndr, r->out.info);
26977
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
26978
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
26979
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
26981
NDR_PULL_ALLOC(ndr, *r->out.info);
26983
*r->out.info = NULL;
26985
if (*r->out.info) {
26986
_mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
26987
NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
26988
NDR_CHECK(ndr_pull_spoolss_NotifyInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
26989
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
26991
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
26992
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
26994
return NDR_ERR_SUCCESS;
26997
_PUBLIC_ void ndr_print_spoolss_RouterRefreshPrinterChangeNotify(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterRefreshPrinterChangeNotify *r)
26999
ndr_print_struct(ndr, name, "spoolss_RouterRefreshPrinterChangeNotify");
27001
if (flags & NDR_SET_VALUES) {
27002
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27004
if (flags & NDR_IN) {
27005
ndr_print_struct(ndr, "in", "spoolss_RouterRefreshPrinterChangeNotify");
27007
ndr_print_ptr(ndr, "handle", r->in.handle);
27009
ndr_print_policy_handle(ndr, "handle", r->in.handle);
27011
ndr_print_uint32(ndr, "change_low", r->in.change_low);
27012
ndr_print_ptr(ndr, "options", r->in.options);
27014
if (r->in.options) {
27015
ndr_print_spoolss_NotifyOption(ndr, "options", r->in.options);
27020
if (flags & NDR_OUT) {
27021
ndr_print_struct(ndr, "out", "spoolss_RouterRefreshPrinterChangeNotify");
27023
ndr_print_ptr(ndr, "info", r->out.info);
27025
ndr_print_ptr(ndr, "info", *r->out.info);
27027
if (*r->out.info) {
27028
ndr_print_spoolss_NotifyInfo(ndr, "info", *r->out.info);
27032
ndr_print_WERROR(ndr, "result", r->out.result);
27038
static enum ndr_err_code ndr_push_spoolss_44(struct ndr_push *ndr, int flags, const struct spoolss_44 *r)
27040
if (flags & NDR_IN) {
27042
if (flags & NDR_OUT) {
27043
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27045
return NDR_ERR_SUCCESS;
27048
static enum ndr_err_code ndr_pull_spoolss_44(struct ndr_pull *ndr, int flags, struct spoolss_44 *r)
27050
if (flags & NDR_IN) {
27052
if (flags & NDR_OUT) {
27053
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27055
return NDR_ERR_SUCCESS;
27058
_PUBLIC_ void ndr_print_spoolss_44(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_44 *r)
27060
ndr_print_struct(ndr, name, "spoolss_44");
27062
if (flags & NDR_SET_VALUES) {
27063
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27065
if (flags & NDR_IN) {
27066
ndr_print_struct(ndr, "in", "spoolss_44");
27070
if (flags & NDR_OUT) {
27071
ndr_print_struct(ndr, "out", "spoolss_44");
27073
ndr_print_WERROR(ndr, "result", r->out.result);
27079
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_OpenPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_OpenPrinterEx *r)
27081
if (flags & NDR_IN) {
27082
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.printername));
27083
if (r->in.printername) {
27084
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
27085
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27086
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
27087
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.printername, ndr_charset_length(r->in.printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
27089
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.datatype));
27090
if (r->in.datatype) {
27091
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16)));
27092
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27093
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16)));
27094
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.datatype, ndr_charset_length(r->in.datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
27096
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
27097
NDR_CHECK(ndr_push_spoolss_AccessRights(ndr, NDR_SCALARS, r->in.access_mask));
27098
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
27099
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.userlevel, r->in.level));
27100
NDR_CHECK(ndr_push_spoolss_UserLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.userlevel));
27102
if (flags & NDR_OUT) {
27103
if (r->out.handle == NULL) {
27104
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27106
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
27107
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27109
return NDR_ERR_SUCCESS;
27112
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OpenPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_OpenPrinterEx *r)
27114
uint32_t _ptr_printername;
27115
uint32_t _ptr_datatype;
27116
TALLOC_CTX *_mem_save_printername_0;
27117
TALLOC_CTX *_mem_save_datatype_0;
27118
TALLOC_CTX *_mem_save_handle_0;
27119
if (flags & NDR_IN) {
27120
ZERO_STRUCT(r->out);
27122
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
27123
if (_ptr_printername) {
27124
NDR_PULL_ALLOC(ndr, r->in.printername);
27126
r->in.printername = NULL;
27128
if (r->in.printername) {
27129
_mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
27130
NDR_PULL_SET_MEM_CTX(ndr, r->in.printername, 0);
27131
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.printername));
27132
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.printername));
27133
if (ndr_get_array_length(ndr, &r->in.printername) > ndr_get_array_size(ndr, &r->in.printername)) {
27134
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));
27136
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t)));
27137
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.printername, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t), CH_UTF16));
27138
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
27140
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
27141
if (_ptr_datatype) {
27142
NDR_PULL_ALLOC(ndr, r->in.datatype);
27144
r->in.datatype = NULL;
27146
if (r->in.datatype) {
27147
_mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
27148
NDR_PULL_SET_MEM_CTX(ndr, r->in.datatype, 0);
27149
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.datatype));
27150
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.datatype));
27151
if (ndr_get_array_length(ndr, &r->in.datatype) > ndr_get_array_size(ndr, &r->in.datatype)) {
27152
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));
27154
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t)));
27155
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.datatype, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t), CH_UTF16));
27156
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
27158
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
27159
NDR_CHECK(ndr_pull_spoolss_AccessRights(ndr, NDR_SCALARS, &r->in.access_mask));
27160
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
27161
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.userlevel, r->in.level));
27162
NDR_CHECK(ndr_pull_spoolss_UserLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.userlevel));
27163
NDR_PULL_ALLOC(ndr, r->out.handle);
27164
ZERO_STRUCTP(r->out.handle);
27166
if (flags & NDR_OUT) {
27167
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27168
NDR_PULL_ALLOC(ndr, r->out.handle);
27170
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27171
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
27172
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
27173
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27174
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27176
return NDR_ERR_SUCCESS;
27179
_PUBLIC_ void ndr_print_spoolss_OpenPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_OpenPrinterEx *r)
27181
ndr_print_struct(ndr, name, "spoolss_OpenPrinterEx");
27183
if (flags & NDR_SET_VALUES) {
27184
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27186
if (flags & NDR_IN) {
27187
ndr_print_struct(ndr, "in", "spoolss_OpenPrinterEx");
27189
ndr_print_ptr(ndr, "printername", r->in.printername);
27191
if (r->in.printername) {
27192
ndr_print_string(ndr, "printername", r->in.printername);
27195
ndr_print_ptr(ndr, "datatype", r->in.datatype);
27197
if (r->in.datatype) {
27198
ndr_print_string(ndr, "datatype", r->in.datatype);
27201
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", &r->in.devmode_ctr);
27202
ndr_print_spoolss_AccessRights(ndr, "access_mask", r->in.access_mask);
27203
ndr_print_uint32(ndr, "level", r->in.level);
27204
ndr_print_set_switch_value(ndr, &r->in.userlevel, r->in.level);
27205
ndr_print_spoolss_UserLevel(ndr, "userlevel", &r->in.userlevel);
27208
if (flags & NDR_OUT) {
27209
ndr_print_struct(ndr, "out", "spoolss_OpenPrinterEx");
27211
ndr_print_ptr(ndr, "handle", r->out.handle);
27213
ndr_print_policy_handle(ndr, "handle", r->out.handle);
27215
ndr_print_WERROR(ndr, "result", r->out.result);
27221
static enum ndr_err_code ndr_push_spoolss_AddPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterEx *r)
27223
if (flags & NDR_IN) {
27224
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
27225
if (r->in.server) {
27226
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
27227
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27228
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
27229
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
27231
if (r->in.info_ctr == NULL) {
27232
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27234
NDR_CHECK(ndr_push_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
27235
if (r->in.devmode_ctr == NULL) {
27236
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27238
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
27239
if (r->in.secdesc_ctr == NULL) {
27240
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27242
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr));
27243
if (r->in.userlevel_ctr == NULL) {
27244
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27246
NDR_CHECK(ndr_push_spoolss_UserLevelCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.userlevel_ctr));
27248
if (flags & NDR_OUT) {
27249
if (r->out.handle == NULL) {
27250
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27252
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
27253
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27255
return NDR_ERR_SUCCESS;
27258
static enum ndr_err_code ndr_pull_spoolss_AddPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterEx *r)
27260
uint32_t _ptr_server;
27261
TALLOC_CTX *_mem_save_server_0;
27262
TALLOC_CTX *_mem_save_info_ctr_0;
27263
TALLOC_CTX *_mem_save_devmode_ctr_0;
27264
TALLOC_CTX *_mem_save_secdesc_ctr_0;
27265
TALLOC_CTX *_mem_save_userlevel_ctr_0;
27266
TALLOC_CTX *_mem_save_handle_0;
27267
if (flags & NDR_IN) {
27268
ZERO_STRUCT(r->out);
27270
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
27272
NDR_PULL_ALLOC(ndr, r->in.server);
27274
r->in.server = NULL;
27276
if (r->in.server) {
27277
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
27278
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
27279
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
27280
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
27281
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
27282
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));
27284
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
27285
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
27286
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
27288
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27289
NDR_PULL_ALLOC(ndr, r->in.info_ctr);
27291
_mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
27292
NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC);
27293
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
27294
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
27295
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27296
NDR_PULL_ALLOC(ndr, r->in.devmode_ctr);
27298
_mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
27299
NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC);
27300
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr));
27301
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC);
27302
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27303
NDR_PULL_ALLOC(ndr, r->in.secdesc_ctr);
27305
_mem_save_secdesc_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
27306
NDR_PULL_SET_MEM_CTX(ndr, r->in.secdesc_ctr, LIBNDR_FLAG_REF_ALLOC);
27307
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr));
27308
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_ctr_0, LIBNDR_FLAG_REF_ALLOC);
27309
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27310
NDR_PULL_ALLOC(ndr, r->in.userlevel_ctr);
27312
_mem_save_userlevel_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
27313
NDR_PULL_SET_MEM_CTX(ndr, r->in.userlevel_ctr, LIBNDR_FLAG_REF_ALLOC);
27314
NDR_CHECK(ndr_pull_spoolss_UserLevelCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.userlevel_ctr));
27315
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_userlevel_ctr_0, LIBNDR_FLAG_REF_ALLOC);
27316
NDR_PULL_ALLOC(ndr, r->out.handle);
27317
ZERO_STRUCTP(r->out.handle);
27319
if (flags & NDR_OUT) {
27320
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27321
NDR_PULL_ALLOC(ndr, r->out.handle);
27323
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27324
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
27325
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
27326
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27327
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27329
return NDR_ERR_SUCCESS;
27332
_PUBLIC_ void ndr_print_spoolss_AddPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterEx *r)
27334
ndr_print_struct(ndr, name, "spoolss_AddPrinterEx");
27336
if (flags & NDR_SET_VALUES) {
27337
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27339
if (flags & NDR_IN) {
27340
ndr_print_struct(ndr, "in", "spoolss_AddPrinterEx");
27342
ndr_print_ptr(ndr, "server", r->in.server);
27344
if (r->in.server) {
27345
ndr_print_string(ndr, "server", r->in.server);
27348
ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr);
27350
ndr_print_spoolss_SetPrinterInfoCtr(ndr, "info_ctr", r->in.info_ctr);
27352
ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr);
27354
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr);
27356
ndr_print_ptr(ndr, "secdesc_ctr", r->in.secdesc_ctr);
27358
ndr_print_sec_desc_buf(ndr, "secdesc_ctr", r->in.secdesc_ctr);
27360
ndr_print_ptr(ndr, "userlevel_ctr", r->in.userlevel_ctr);
27362
ndr_print_spoolss_UserLevelCtr(ndr, "userlevel_ctr", r->in.userlevel_ctr);
27366
if (flags & NDR_OUT) {
27367
ndr_print_struct(ndr, "out", "spoolss_AddPrinterEx");
27369
ndr_print_ptr(ndr, "handle", r->out.handle);
27371
ndr_print_policy_handle(ndr, "handle", r->out.handle);
27373
ndr_print_WERROR(ndr, "result", r->out.result);
27379
static enum ndr_err_code ndr_push_spoolss_47(struct ndr_push *ndr, int flags, const struct spoolss_47 *r)
27381
if (flags & NDR_IN) {
27383
if (flags & NDR_OUT) {
27384
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27386
return NDR_ERR_SUCCESS;
27389
static enum ndr_err_code ndr_pull_spoolss_47(struct ndr_pull *ndr, int flags, struct spoolss_47 *r)
27391
if (flags & NDR_IN) {
27393
if (flags & NDR_OUT) {
27394
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27396
return NDR_ERR_SUCCESS;
27399
_PUBLIC_ void ndr_print_spoolss_47(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_47 *r)
27401
ndr_print_struct(ndr, name, "spoolss_47");
27403
if (flags & NDR_SET_VALUES) {
27404
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27406
if (flags & NDR_IN) {
27407
ndr_print_struct(ndr, "in", "spoolss_47");
27411
if (flags & NDR_OUT) {
27412
ndr_print_struct(ndr, "out", "spoolss_47");
27414
ndr_print_WERROR(ndr, "result", r->out.result);
27420
static enum ndr_err_code ndr_push_spoolss_EnumPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrinterData *r)
27422
if (flags & NDR_IN) {
27423
if (r->in.handle == NULL) {
27424
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27426
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27427
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.enum_index));
27428
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.value_offered));
27429
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.data_offered));
27431
if (flags & NDR_OUT) {
27432
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.value_offered / 2));
27433
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->out.value_name, r->in.value_offered / 2, sizeof(uint16_t), CH_UTF16));
27434
if (r->out.value_needed == NULL) {
27435
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27437
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.value_needed));
27438
if (r->out.type == NULL) {
27439
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27441
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type));
27443
uint32_t _flags_save_uint8 = ndr->flags;
27444
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
27445
if (r->out.data == NULL) {
27446
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27448
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.data_offered));
27449
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.data_offered));
27450
ndr->flags = _flags_save_uint8;
27452
if (r->out.data_needed == NULL) {
27453
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27455
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.data_needed));
27456
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27458
return NDR_ERR_SUCCESS;
27461
static enum ndr_err_code ndr_pull_spoolss_EnumPrinterData(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinterData *r)
27463
TALLOC_CTX *_mem_save_handle_0;
27464
TALLOC_CTX *_mem_save_value_needed_0;
27465
TALLOC_CTX *_mem_save_type_0;
27466
TALLOC_CTX *_mem_save_data_needed_0;
27467
if (flags & NDR_IN) {
27468
ZERO_STRUCT(r->out);
27470
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27471
NDR_PULL_ALLOC(ndr, r->in.handle);
27473
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27474
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
27475
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27476
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27477
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.enum_index));
27478
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.value_offered));
27479
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.data_offered));
27480
NDR_PULL_ALLOC(ndr, r->out.value_needed);
27481
ZERO_STRUCTP(r->out.value_needed);
27482
NDR_PULL_ALLOC(ndr, r->out.type);
27483
ZERO_STRUCTP(r->out.type);
27484
NDR_PULL_ALLOC_N(ndr, r->out.data, r->in.data_offered);
27485
memset(r->out.data, 0, (r->in.data_offered) * sizeof(*r->out.data));
27486
NDR_PULL_ALLOC(ndr, r->out.data_needed);
27487
ZERO_STRUCTP(r->out.data_needed);
27489
if (flags & NDR_OUT) {
27490
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.value_name));
27491
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));
27492
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27493
NDR_PULL_ALLOC(ndr, r->out.value_needed);
27495
_mem_save_value_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
27496
NDR_PULL_SET_MEM_CTX(ndr, r->out.value_needed, LIBNDR_FLAG_REF_ALLOC);
27497
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.value_needed));
27498
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_needed_0, LIBNDR_FLAG_REF_ALLOC);
27499
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27500
NDR_PULL_ALLOC(ndr, r->out.type);
27502
_mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
27503
NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC);
27504
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type));
27505
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC);
27507
uint32_t _flags_save_uint8 = ndr->flags;
27508
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
27509
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data));
27510
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27511
NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data));
27513
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data)));
27514
ndr->flags = _flags_save_uint8;
27516
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27517
NDR_PULL_ALLOC(ndr, r->out.data_needed);
27519
_mem_save_data_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
27520
NDR_PULL_SET_MEM_CTX(ndr, r->out.data_needed, LIBNDR_FLAG_REF_ALLOC);
27521
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.data_needed));
27522
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_needed_0, LIBNDR_FLAG_REF_ALLOC);
27523
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27524
if (r->out.value_name) {
27525
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.value_name, r->in.value_offered / 2));
27528
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.data_offered));
27531
return NDR_ERR_SUCCESS;
27534
_PUBLIC_ void ndr_print_spoolss_EnumPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterData *r)
27536
ndr_print_struct(ndr, name, "spoolss_EnumPrinterData");
27538
if (flags & NDR_SET_VALUES) {
27539
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27541
if (flags & NDR_IN) {
27542
ndr_print_struct(ndr, "in", "spoolss_EnumPrinterData");
27544
ndr_print_ptr(ndr, "handle", r->in.handle);
27546
ndr_print_policy_handle(ndr, "handle", r->in.handle);
27548
ndr_print_uint32(ndr, "enum_index", r->in.enum_index);
27549
ndr_print_uint32(ndr, "value_offered", r->in.value_offered);
27550
ndr_print_uint32(ndr, "data_offered", r->in.data_offered);
27553
if (flags & NDR_OUT) {
27554
ndr_print_struct(ndr, "out", "spoolss_EnumPrinterData");
27556
ndr_print_string(ndr, "value_name", r->out.value_name);
27557
ndr_print_ptr(ndr, "value_needed", r->out.value_needed);
27559
ndr_print_uint32(ndr, "value_needed", *r->out.value_needed);
27561
ndr_print_ptr(ndr, "type", r->out.type);
27563
ndr_print_winreg_Type(ndr, "type", *r->out.type);
27565
ndr_print_ptr(ndr, "data", r->out.data);
27567
ndr_print_array_uint8(ndr, "data", r->out.data, r->in.data_offered);
27569
ndr_print_ptr(ndr, "data_needed", r->out.data_needed);
27571
ndr_print_uint32(ndr, "data_needed", *r->out.data_needed);
27573
ndr_print_WERROR(ndr, "result", r->out.result);
27579
static enum ndr_err_code ndr_push_spoolss_DeletePrinterData(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterData *r)
27581
if (flags & NDR_IN) {
27582
if (r->in.handle == NULL) {
27583
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27585
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27586
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
27587
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27588
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
27589
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));
27591
if (flags & NDR_OUT) {
27592
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27594
return NDR_ERR_SUCCESS;
27597
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterData(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterData *r)
27599
TALLOC_CTX *_mem_save_handle_0;
27600
if (flags & NDR_IN) {
27601
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27602
NDR_PULL_ALLOC(ndr, r->in.handle);
27604
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27605
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
27606
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27607
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27608
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
27609
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
27610
if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
27611
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));
27613
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
27614
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));
27616
if (flags & NDR_OUT) {
27617
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27619
return NDR_ERR_SUCCESS;
27622
_PUBLIC_ void ndr_print_spoolss_DeletePrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterData *r)
27624
ndr_print_struct(ndr, name, "spoolss_DeletePrinterData");
27626
if (flags & NDR_SET_VALUES) {
27627
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27629
if (flags & NDR_IN) {
27630
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterData");
27632
ndr_print_ptr(ndr, "handle", r->in.handle);
27634
ndr_print_policy_handle(ndr, "handle", r->in.handle);
27636
ndr_print_string(ndr, "value_name", r->in.value_name);
27639
if (flags & NDR_OUT) {
27640
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterData");
27642
ndr_print_WERROR(ndr, "result", r->out.result);
27648
static enum ndr_err_code ndr_push_spoolss_4a(struct ndr_push *ndr, int flags, const struct spoolss_4a *r)
27650
if (flags & NDR_IN) {
27652
if (flags & NDR_OUT) {
27653
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27655
return NDR_ERR_SUCCESS;
27658
static enum ndr_err_code ndr_pull_spoolss_4a(struct ndr_pull *ndr, int flags, struct spoolss_4a *r)
27660
if (flags & NDR_IN) {
27662
if (flags & NDR_OUT) {
27663
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27665
return NDR_ERR_SUCCESS;
27668
_PUBLIC_ void ndr_print_spoolss_4a(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4a *r)
27670
ndr_print_struct(ndr, name, "spoolss_4a");
27672
if (flags & NDR_SET_VALUES) {
27673
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27675
if (flags & NDR_IN) {
27676
ndr_print_struct(ndr, "in", "spoolss_4a");
27680
if (flags & NDR_OUT) {
27681
ndr_print_struct(ndr, "out", "spoolss_4a");
27683
ndr_print_WERROR(ndr, "result", r->out.result);
27689
static enum ndr_err_code ndr_push_spoolss_4b(struct ndr_push *ndr, int flags, const struct spoolss_4b *r)
27691
if (flags & NDR_IN) {
27693
if (flags & NDR_OUT) {
27694
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27696
return NDR_ERR_SUCCESS;
27699
static enum ndr_err_code ndr_pull_spoolss_4b(struct ndr_pull *ndr, int flags, struct spoolss_4b *r)
27701
if (flags & NDR_IN) {
27703
if (flags & NDR_OUT) {
27704
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27706
return NDR_ERR_SUCCESS;
27709
_PUBLIC_ void ndr_print_spoolss_4b(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4b *r)
27711
ndr_print_struct(ndr, name, "spoolss_4b");
27713
if (flags & NDR_SET_VALUES) {
27714
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27716
if (flags & NDR_IN) {
27717
ndr_print_struct(ndr, "in", "spoolss_4b");
27721
if (flags & NDR_OUT) {
27722
ndr_print_struct(ndr, "out", "spoolss_4b");
27724
ndr_print_WERROR(ndr, "result", r->out.result);
27730
static enum ndr_err_code ndr_push_spoolss_4c(struct ndr_push *ndr, int flags, const struct spoolss_4c *r)
27732
if (flags & NDR_IN) {
27734
if (flags & NDR_OUT) {
27735
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27737
return NDR_ERR_SUCCESS;
27740
static enum ndr_err_code ndr_pull_spoolss_4c(struct ndr_pull *ndr, int flags, struct spoolss_4c *r)
27742
if (flags & NDR_IN) {
27744
if (flags & NDR_OUT) {
27745
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27747
return NDR_ERR_SUCCESS;
27750
_PUBLIC_ void ndr_print_spoolss_4c(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4c *r)
27752
ndr_print_struct(ndr, name, "spoolss_4c");
27754
if (flags & NDR_SET_VALUES) {
27755
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27757
if (flags & NDR_IN) {
27758
ndr_print_struct(ndr, "in", "spoolss_4c");
27762
if (flags & NDR_OUT) {
27763
ndr_print_struct(ndr, "out", "spoolss_4c");
27765
ndr_print_WERROR(ndr, "result", r->out.result);
27771
static enum ndr_err_code ndr_push_spoolss_SetPrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinterDataEx *r)
27773
if (flags & NDR_IN) {
27774
if (r->in.handle == NULL) {
27775
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27777
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27778
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
27779
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27780
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
27781
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));
27782
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
27783
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27784
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
27785
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));
27786
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type));
27787
if (r->in.data == NULL) {
27788
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27790
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
27791
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.offered));
27792
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
27794
if (flags & NDR_OUT) {
27795
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27797
return NDR_ERR_SUCCESS;
27800
static enum ndr_err_code ndr_pull_spoolss_SetPrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_SetPrinterDataEx *r)
27802
TALLOC_CTX *_mem_save_handle_0;
27803
if (flags & NDR_IN) {
27804
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27805
NDR_PULL_ALLOC(ndr, r->in.handle);
27807
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27808
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
27809
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27810
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27811
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
27812
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
27813
if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
27814
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));
27816
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
27817
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));
27818
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
27819
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
27820
if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
27821
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));
27823
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
27824
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));
27825
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type));
27826
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data));
27827
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27828
NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data));
27830
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_size(ndr, &r->in.data)));
27831
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
27833
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.offered));
27836
if (flags & NDR_OUT) {
27837
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27839
return NDR_ERR_SUCCESS;
27842
_PUBLIC_ void ndr_print_spoolss_SetPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinterDataEx *r)
27844
ndr_print_struct(ndr, name, "spoolss_SetPrinterDataEx");
27846
if (flags & NDR_SET_VALUES) {
27847
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27849
if (flags & NDR_IN) {
27850
ndr_print_struct(ndr, "in", "spoolss_SetPrinterDataEx");
27852
ndr_print_ptr(ndr, "handle", r->in.handle);
27854
ndr_print_policy_handle(ndr, "handle", r->in.handle);
27856
ndr_print_string(ndr, "key_name", r->in.key_name);
27857
ndr_print_string(ndr, "value_name", r->in.value_name);
27858
ndr_print_winreg_Type(ndr, "type", r->in.type);
27859
ndr_print_ptr(ndr, "data", r->in.data);
27861
ndr_print_array_uint8(ndr, "data", r->in.data, r->in.offered);
27863
ndr_print_uint32(ndr, "offered", r->in.offered);
27866
if (flags & NDR_OUT) {
27867
ndr_print_struct(ndr, "out", "spoolss_SetPrinterDataEx");
27869
ndr_print_WERROR(ndr, "result", r->out.result);
27875
static enum ndr_err_code ndr_push_spoolss_GetPrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDataEx *r)
27877
if (flags & NDR_IN) {
27878
if (r->in.handle == NULL) {
27879
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27881
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27882
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
27883
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27884
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
27885
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));
27886
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
27887
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
27888
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
27889
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));
27890
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
27892
if (flags & NDR_OUT) {
27893
if (r->out.type == NULL) {
27894
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27896
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type));
27897
if (r->out.data == NULL) {
27898
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27900
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
27901
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.offered));
27902
if (r->out.needed == NULL) {
27903
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
27905
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
27906
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
27908
return NDR_ERR_SUCCESS;
27911
static enum ndr_err_code ndr_pull_spoolss_GetPrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDataEx *r)
27913
TALLOC_CTX *_mem_save_handle_0;
27914
TALLOC_CTX *_mem_save_type_0;
27915
TALLOC_CTX *_mem_save_needed_0;
27916
if (flags & NDR_IN) {
27917
ZERO_STRUCT(r->out);
27919
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27920
NDR_PULL_ALLOC(ndr, r->in.handle);
27922
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
27923
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
27924
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
27925
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
27926
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
27927
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
27928
if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
27929
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));
27931
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
27932
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));
27933
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
27934
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
27935
if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
27936
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));
27938
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
27939
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));
27940
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
27941
NDR_PULL_ALLOC(ndr, r->out.type);
27942
ZERO_STRUCTP(r->out.type);
27943
NDR_PULL_ALLOC_N(ndr, r->out.data, r->in.offered);
27944
memset(r->out.data, 0, (r->in.offered) * sizeof(*r->out.data));
27945
NDR_PULL_ALLOC(ndr, r->out.needed);
27946
ZERO_STRUCTP(r->out.needed);
27948
if (flags & NDR_OUT) {
27949
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27950
NDR_PULL_ALLOC(ndr, r->out.type);
27952
_mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
27953
NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC);
27954
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type));
27955
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC);
27956
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data));
27957
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27958
NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data));
27960
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data)));
27961
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
27962
NDR_PULL_ALLOC(ndr, r->out.needed);
27964
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
27965
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
27966
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
27967
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
27968
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
27970
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.offered));
27973
return NDR_ERR_SUCCESS;
27976
_PUBLIC_ void ndr_print_spoolss_GetPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDataEx *r)
27978
ndr_print_struct(ndr, name, "spoolss_GetPrinterDataEx");
27980
if (flags & NDR_SET_VALUES) {
27981
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
27983
if (flags & NDR_IN) {
27984
ndr_print_struct(ndr, "in", "spoolss_GetPrinterDataEx");
27986
ndr_print_ptr(ndr, "handle", r->in.handle);
27988
ndr_print_policy_handle(ndr, "handle", r->in.handle);
27990
ndr_print_string(ndr, "key_name", r->in.key_name);
27991
ndr_print_string(ndr, "value_name", r->in.value_name);
27992
ndr_print_uint32(ndr, "offered", r->in.offered);
27995
if (flags & NDR_OUT) {
27996
ndr_print_struct(ndr, "out", "spoolss_GetPrinterDataEx");
27998
ndr_print_ptr(ndr, "type", r->out.type);
28000
ndr_print_winreg_Type(ndr, "type", *r->out.type);
28002
ndr_print_ptr(ndr, "data", r->out.data);
28004
ndr_print_array_uint8(ndr, "data", r->out.data, r->in.offered);
28006
ndr_print_ptr(ndr, "needed", r->out.needed);
28008
ndr_print_uint32(ndr, "needed", *r->out.needed);
28010
ndr_print_WERROR(ndr, "result", r->out.result);
28016
_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrinterDataEx(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrinterDataEx *r)
28018
if (flags & NDR_IN) {
28019
if (r->in.handle == NULL) {
28020
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28022
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28023
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
28024
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28025
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
28026
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));
28027
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
28029
if (flags & NDR_OUT) {
28030
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
28031
if (r->out.needed == NULL) {
28032
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28034
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
28035
if (r->out.count == NULL) {
28036
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28038
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
28039
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28041
return NDR_ERR_SUCCESS;
28044
_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrinterDataEx(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrinterDataEx *r)
28046
TALLOC_CTX *_mem_save_handle_0;
28047
TALLOC_CTX *_mem_save_needed_0;
28048
TALLOC_CTX *_mem_save_count_0;
28049
if (flags & NDR_IN) {
28050
ZERO_STRUCT(r->out);
28052
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28053
NDR_PULL_ALLOC(ndr, r->in.handle);
28055
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
28056
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
28057
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28058
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
28059
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
28060
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
28061
if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
28062
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));
28064
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
28065
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));
28066
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
28067
NDR_PULL_ALLOC(ndr, r->out.needed);
28068
ZERO_STRUCTP(r->out.needed);
28069
NDR_PULL_ALLOC(ndr, r->out.count);
28070
ZERO_STRUCTP(r->out.count);
28072
if (flags & NDR_OUT) {
28073
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->out.info));
28074
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28075
NDR_PULL_ALLOC(ndr, r->out.needed);
28077
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
28078
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
28079
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
28080
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
28081
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28082
NDR_PULL_ALLOC(ndr, r->out.count);
28084
_mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
28085
NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
28086
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
28087
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
28088
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28090
return NDR_ERR_SUCCESS;
28093
_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrinterDataEx(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrinterDataEx *r)
28095
uint32_t cntr_info_0;
28096
if (flags & NDR_IN) {
28097
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
28099
if (flags & NDR_OUT) {
28100
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
28101
NDR_CHECK(ndr_push_spoolss_PrinterEnumValues(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
28103
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
28104
NDR_CHECK(ndr_push_spoolss_PrinterEnumValues(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
28107
return NDR_ERR_SUCCESS;
28110
_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrinterDataEx(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrinterDataEx *r)
28112
uint32_t cntr_info_0;
28113
TALLOC_CTX *_mem_save_info_0;
28114
if (flags & NDR_IN) {
28115
ZERO_STRUCT(r->out);
28117
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
28119
if (flags & NDR_OUT) {
28120
NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
28121
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
28122
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
28123
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
28124
NDR_CHECK(ndr_pull_spoolss_PrinterEnumValues(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
28126
for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
28127
NDR_CHECK(ndr_pull_spoolss_PrinterEnumValues(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
28129
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
28131
return NDR_ERR_SUCCESS;
28134
_PUBLIC_ void ndr_print_spoolss_EnumPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterDataEx *r)
28136
uint32_t cntr_info_2;
28137
ndr_print_struct(ndr, name, "spoolss_EnumPrinterDataEx");
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_EnumPrinterDataEx");
28145
ndr_print_ptr(ndr, "handle", r->in.handle);
28147
ndr_print_policy_handle(ndr, "handle", r->in.handle);
28149
ndr_print_string(ndr, "key_name", r->in.key_name);
28150
ndr_print_uint32(ndr, "offered", r->in.offered);
28153
if (flags & NDR_OUT) {
28154
ndr_print_struct(ndr, "out", "spoolss_EnumPrinterDataEx");
28156
ndr_print_ptr(ndr, "count", r->out.count);
28158
ndr_print_uint32(ndr, "count", *r->out.count);
28160
ndr_print_ptr(ndr, "info", r->out.info);
28162
ndr_print_ptr(ndr, "info", *r->out.info);
28164
if (*r->out.info) {
28165
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count);
28167
for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) {
28169
if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) {
28170
ndr_print_spoolss_PrinterEnumValues(ndr, "info", &(*r->out.info)[cntr_info_2]);
28178
ndr_print_ptr(ndr, "needed", r->out.needed);
28180
ndr_print_uint32(ndr, "needed", *r->out.needed);
28182
ndr_print_WERROR(ndr, "result", r->out.result);
28188
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_EnumPrinterKey(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrinterKey *r)
28190
if (flags & NDR_IN) {
28191
if (r->in.handle == NULL) {
28192
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28194
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28195
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
28196
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28197
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
28198
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));
28199
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
28201
if (flags & NDR_OUT) {
28202
if (r->out._ndr_size == NULL) {
28203
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28205
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out._ndr_size));
28206
if (r->out.key_buffer == NULL) {
28207
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28210
struct ndr_push *_ndr_key_buffer;
28211
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_key_buffer, 0, *r->out._ndr_size * 2));
28212
NDR_CHECK(ndr_push_set_switch_value(_ndr_key_buffer, r->out.key_buffer, *r->out._ndr_size));
28213
NDR_CHECK(ndr_push_spoolss_KeyNames(_ndr_key_buffer, NDR_SCALARS|NDR_BUFFERS, r->out.key_buffer));
28214
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_key_buffer, 0, *r->out._ndr_size * 2));
28216
if (r->out.needed == NULL) {
28217
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28219
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
28220
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28222
return NDR_ERR_SUCCESS;
28225
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_EnumPrinterKey(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinterKey *r)
28227
TALLOC_CTX *_mem_save_handle_0;
28228
TALLOC_CTX *_mem_save__ndr_size_0;
28229
TALLOC_CTX *_mem_save_key_buffer_0;
28230
TALLOC_CTX *_mem_save_needed_0;
28231
if (flags & NDR_IN) {
28232
ZERO_STRUCT(r->out);
28234
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28235
NDR_PULL_ALLOC(ndr, r->in.handle);
28237
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
28238
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
28239
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28240
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
28241
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
28242
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
28243
if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
28244
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));
28246
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
28247
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));
28248
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
28249
NDR_PULL_ALLOC(ndr, r->out._ndr_size);
28250
ZERO_STRUCTP(r->out._ndr_size);
28251
NDR_PULL_ALLOC(ndr, r->out.key_buffer);
28252
ZERO_STRUCTP(r->out.key_buffer);
28253
NDR_PULL_ALLOC(ndr, r->out.needed);
28254
ZERO_STRUCTP(r->out.needed);
28256
if (flags & NDR_OUT) {
28257
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28258
NDR_PULL_ALLOC(ndr, r->out._ndr_size);
28260
_mem_save__ndr_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
28261
NDR_PULL_SET_MEM_CTX(ndr, r->out._ndr_size, LIBNDR_FLAG_REF_ALLOC);
28262
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out._ndr_size));
28263
NDR_PULL_SET_MEM_CTX(ndr, _mem_save__ndr_size_0, LIBNDR_FLAG_REF_ALLOC);
28264
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28265
NDR_PULL_ALLOC(ndr, r->out.key_buffer);
28267
_mem_save_key_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
28268
NDR_PULL_SET_MEM_CTX(ndr, r->out.key_buffer, LIBNDR_FLAG_REF_ALLOC);
28270
struct ndr_pull *_ndr_key_buffer;
28271
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_key_buffer, 0, *r->out._ndr_size * 2));
28272
NDR_CHECK(ndr_pull_set_switch_value(_ndr_key_buffer, r->out.key_buffer, *r->out._ndr_size));
28273
NDR_CHECK(ndr_pull_spoolss_KeyNames(_ndr_key_buffer, NDR_SCALARS|NDR_BUFFERS, r->out.key_buffer));
28274
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_key_buffer, 0, *r->out._ndr_size * 2));
28276
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_buffer_0, LIBNDR_FLAG_REF_ALLOC);
28277
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28278
NDR_PULL_ALLOC(ndr, r->out.needed);
28280
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
28281
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
28282
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
28283
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
28284
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28286
return NDR_ERR_SUCCESS;
28289
_PUBLIC_ void ndr_print_spoolss_EnumPrinterKey(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterKey *r)
28291
ndr_print_struct(ndr, name, "spoolss_EnumPrinterKey");
28293
if (flags & NDR_SET_VALUES) {
28294
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28296
if (flags & NDR_IN) {
28297
ndr_print_struct(ndr, "in", "spoolss_EnumPrinterKey");
28299
ndr_print_ptr(ndr, "handle", r->in.handle);
28301
ndr_print_policy_handle(ndr, "handle", r->in.handle);
28303
ndr_print_string(ndr, "key_name", r->in.key_name);
28304
ndr_print_uint32(ndr, "offered", r->in.offered);
28307
if (flags & NDR_OUT) {
28308
ndr_print_struct(ndr, "out", "spoolss_EnumPrinterKey");
28310
ndr_print_ptr(ndr, "_ndr_size", r->out._ndr_size);
28312
ndr_print_uint32(ndr, "_ndr_size", *r->out._ndr_size);
28314
ndr_print_ptr(ndr, "key_buffer", r->out.key_buffer);
28316
ndr_print_set_switch_value(ndr, r->out.key_buffer, *r->out._ndr_size);
28317
ndr_print_spoolss_KeyNames(ndr, "key_buffer", r->out.key_buffer);
28319
ndr_print_ptr(ndr, "needed", r->out.needed);
28321
ndr_print_uint32(ndr, "needed", *r->out.needed);
28323
ndr_print_WERROR(ndr, "result", r->out.result);
28329
static enum ndr_err_code ndr_push_spoolss_DeletePrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterDataEx *r)
28331
if (flags & NDR_IN) {
28332
if (r->in.handle == NULL) {
28333
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28335
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28336
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
28337
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28338
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
28339
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));
28340
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
28341
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28342
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
28343
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));
28345
if (flags & NDR_OUT) {
28346
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28348
return NDR_ERR_SUCCESS;
28351
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterDataEx *r)
28353
TALLOC_CTX *_mem_save_handle_0;
28354
if (flags & NDR_IN) {
28355
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28356
NDR_PULL_ALLOC(ndr, r->in.handle);
28358
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
28359
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
28360
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28361
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
28362
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
28363
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
28364
if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
28365
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));
28367
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
28368
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));
28369
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
28370
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
28371
if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
28372
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));
28374
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
28375
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));
28377
if (flags & NDR_OUT) {
28378
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28380
return NDR_ERR_SUCCESS;
28383
_PUBLIC_ void ndr_print_spoolss_DeletePrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterDataEx *r)
28385
ndr_print_struct(ndr, name, "spoolss_DeletePrinterDataEx");
28387
if (flags & NDR_SET_VALUES) {
28388
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28390
if (flags & NDR_IN) {
28391
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterDataEx");
28393
ndr_print_ptr(ndr, "handle", r->in.handle);
28395
ndr_print_policy_handle(ndr, "handle", r->in.handle);
28397
ndr_print_string(ndr, "key_name", r->in.key_name);
28398
ndr_print_string(ndr, "value_name", r->in.value_name);
28401
if (flags & NDR_OUT) {
28402
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterDataEx");
28404
ndr_print_WERROR(ndr, "result", r->out.result);
28410
static enum ndr_err_code ndr_push_spoolss_DeletePrinterKey(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterKey *r)
28412
if (flags & NDR_IN) {
28413
if (r->in.handle == NULL) {
28414
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28416
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28417
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
28418
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28419
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
28420
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));
28422
if (flags & NDR_OUT) {
28423
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28425
return NDR_ERR_SUCCESS;
28428
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterKey(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterKey *r)
28430
TALLOC_CTX *_mem_save_handle_0;
28431
if (flags & NDR_IN) {
28432
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28433
NDR_PULL_ALLOC(ndr, r->in.handle);
28435
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
28436
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
28437
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28438
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
28439
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
28440
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
28441
if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
28442
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));
28444
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
28445
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));
28447
if (flags & NDR_OUT) {
28448
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28450
return NDR_ERR_SUCCESS;
28453
_PUBLIC_ void ndr_print_spoolss_DeletePrinterKey(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterKey *r)
28455
ndr_print_struct(ndr, name, "spoolss_DeletePrinterKey");
28457
if (flags & NDR_SET_VALUES) {
28458
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28460
if (flags & NDR_IN) {
28461
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterKey");
28463
ndr_print_ptr(ndr, "handle", r->in.handle);
28465
ndr_print_policy_handle(ndr, "handle", r->in.handle);
28467
ndr_print_string(ndr, "key_name", r->in.key_name);
28470
if (flags & NDR_OUT) {
28471
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterKey");
28473
ndr_print_WERROR(ndr, "result", r->out.result);
28479
static enum ndr_err_code ndr_push_spoolss_53(struct ndr_push *ndr, int flags, const struct spoolss_53 *r)
28481
if (flags & NDR_IN) {
28483
if (flags & NDR_OUT) {
28484
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28486
return NDR_ERR_SUCCESS;
28489
static enum ndr_err_code ndr_pull_spoolss_53(struct ndr_pull *ndr, int flags, struct spoolss_53 *r)
28491
if (flags & NDR_IN) {
28493
if (flags & NDR_OUT) {
28494
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28496
return NDR_ERR_SUCCESS;
28499
_PUBLIC_ void ndr_print_spoolss_53(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_53 *r)
28501
ndr_print_struct(ndr, name, "spoolss_53");
28503
if (flags & NDR_SET_VALUES) {
28504
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28506
if (flags & NDR_IN) {
28507
ndr_print_struct(ndr, "in", "spoolss_53");
28511
if (flags & NDR_OUT) {
28512
ndr_print_struct(ndr, "out", "spoolss_53");
28514
ndr_print_WERROR(ndr, "result", r->out.result);
28520
static enum ndr_err_code ndr_push_spoolss_DeletePrinterDriverEx(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterDriverEx *r)
28522
if (flags & NDR_IN) {
28523
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
28524
if (r->in.server) {
28525
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
28526
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28527
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
28528
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28530
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
28531
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28532
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
28533
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28534
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.driver, CH_UTF16)));
28535
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28536
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.driver, CH_UTF16)));
28537
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.driver, ndr_charset_length(r->in.driver, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28538
NDR_CHECK(ndr_push_spoolss_DeleteDriverFlags(ndr, NDR_SCALARS, r->in.delete_flags));
28539
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.version));
28541
if (flags & NDR_OUT) {
28542
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28544
return NDR_ERR_SUCCESS;
28547
static enum ndr_err_code ndr_pull_spoolss_DeletePrinterDriverEx(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterDriverEx *r)
28549
uint32_t _ptr_server;
28550
TALLOC_CTX *_mem_save_server_0;
28551
if (flags & NDR_IN) {
28552
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
28554
NDR_PULL_ALLOC(ndr, r->in.server);
28556
r->in.server = NULL;
28558
if (r->in.server) {
28559
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
28560
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
28561
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
28562
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
28563
if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
28564
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));
28566
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
28567
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
28568
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
28570
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
28571
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
28572
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
28573
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));
28575
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
28576
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
28577
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.driver));
28578
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.driver));
28579
if (ndr_get_array_length(ndr, &r->in.driver) > ndr_get_array_size(ndr, &r->in.driver)) {
28580
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));
28582
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.driver), sizeof(uint16_t)));
28583
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.driver, ndr_get_array_length(ndr, &r->in.driver), sizeof(uint16_t), CH_UTF16));
28584
NDR_CHECK(ndr_pull_spoolss_DeleteDriverFlags(ndr, NDR_SCALARS, &r->in.delete_flags));
28585
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.version));
28587
if (flags & NDR_OUT) {
28588
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28590
return NDR_ERR_SUCCESS;
28593
_PUBLIC_ void ndr_print_spoolss_DeletePrinterDriverEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterDriverEx *r)
28595
ndr_print_struct(ndr, name, "spoolss_DeletePrinterDriverEx");
28597
if (flags & NDR_SET_VALUES) {
28598
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28600
if (flags & NDR_IN) {
28601
ndr_print_struct(ndr, "in", "spoolss_DeletePrinterDriverEx");
28603
ndr_print_ptr(ndr, "server", r->in.server);
28605
if (r->in.server) {
28606
ndr_print_string(ndr, "server", r->in.server);
28609
ndr_print_string(ndr, "architecture", r->in.architecture);
28610
ndr_print_string(ndr, "driver", r->in.driver);
28611
ndr_print_spoolss_DeleteDriverFlags(ndr, "delete_flags", r->in.delete_flags);
28612
ndr_print_uint32(ndr, "version", r->in.version);
28615
if (flags & NDR_OUT) {
28616
ndr_print_struct(ndr, "out", "spoolss_DeletePrinterDriverEx");
28618
ndr_print_WERROR(ndr, "result", r->out.result);
28624
static enum ndr_err_code ndr_push_spoolss_55(struct ndr_push *ndr, int flags, const struct spoolss_55 *r)
28626
if (flags & NDR_IN) {
28628
if (flags & NDR_OUT) {
28629
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28631
return NDR_ERR_SUCCESS;
28634
static enum ndr_err_code ndr_pull_spoolss_55(struct ndr_pull *ndr, int flags, struct spoolss_55 *r)
28636
if (flags & NDR_IN) {
28638
if (flags & NDR_OUT) {
28639
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28641
return NDR_ERR_SUCCESS;
28644
_PUBLIC_ void ndr_print_spoolss_55(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_55 *r)
28646
ndr_print_struct(ndr, name, "spoolss_55");
28648
if (flags & NDR_SET_VALUES) {
28649
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28651
if (flags & NDR_IN) {
28652
ndr_print_struct(ndr, "in", "spoolss_55");
28656
if (flags & NDR_OUT) {
28657
ndr_print_struct(ndr, "out", "spoolss_55");
28659
ndr_print_WERROR(ndr, "result", r->out.result);
28665
static enum ndr_err_code ndr_push_spoolss_56(struct ndr_push *ndr, int flags, const struct spoolss_56 *r)
28667
if (flags & NDR_IN) {
28669
if (flags & NDR_OUT) {
28670
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28672
return NDR_ERR_SUCCESS;
28675
static enum ndr_err_code ndr_pull_spoolss_56(struct ndr_pull *ndr, int flags, struct spoolss_56 *r)
28677
if (flags & NDR_IN) {
28679
if (flags & NDR_OUT) {
28680
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28682
return NDR_ERR_SUCCESS;
28685
_PUBLIC_ void ndr_print_spoolss_56(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_56 *r)
28687
ndr_print_struct(ndr, name, "spoolss_56");
28689
if (flags & NDR_SET_VALUES) {
28690
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28692
if (flags & NDR_IN) {
28693
ndr_print_struct(ndr, "in", "spoolss_56");
28697
if (flags & NDR_OUT) {
28698
ndr_print_struct(ndr, "out", "spoolss_56");
28700
ndr_print_WERROR(ndr, "result", r->out.result);
28706
static enum ndr_err_code ndr_push_spoolss_57(struct ndr_push *ndr, int flags, const struct spoolss_57 *r)
28708
if (flags & NDR_IN) {
28710
if (flags & NDR_OUT) {
28711
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28713
return NDR_ERR_SUCCESS;
28716
static enum ndr_err_code ndr_pull_spoolss_57(struct ndr_pull *ndr, int flags, struct spoolss_57 *r)
28718
if (flags & NDR_IN) {
28720
if (flags & NDR_OUT) {
28721
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28723
return NDR_ERR_SUCCESS;
28726
_PUBLIC_ void ndr_print_spoolss_57(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_57 *r)
28728
ndr_print_struct(ndr, name, "spoolss_57");
28730
if (flags & NDR_SET_VALUES) {
28731
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28733
if (flags & NDR_IN) {
28734
ndr_print_struct(ndr, "in", "spoolss_57");
28738
if (flags & NDR_OUT) {
28739
ndr_print_struct(ndr, "out", "spoolss_57");
28741
ndr_print_WERROR(ndr, "result", r->out.result);
28747
static enum ndr_err_code ndr_push_spoolss_XcvData(struct ndr_push *ndr, int flags, const struct spoolss_XcvData *r)
28749
if (flags & NDR_IN) {
28750
if (r->in.handle == NULL) {
28751
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28753
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28754
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.function_name, CH_UTF16)));
28755
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28756
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.function_name, CH_UTF16)));
28757
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));
28758
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.in_data));
28759
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.in_data.length));
28760
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.out_data_size));
28761
if (r->in.status_code == NULL) {
28762
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28764
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.status_code));
28766
if (flags & NDR_OUT) {
28767
if (r->out.out_data == NULL) {
28768
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28770
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.out_data_size));
28771
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.out_data, r->in.out_data_size));
28772
if (r->out.needed == NULL) {
28773
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28775
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed));
28776
if (r->out.status_code == NULL) {
28777
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28779
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.status_code));
28780
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28782
return NDR_ERR_SUCCESS;
28785
static enum ndr_err_code ndr_pull_spoolss_XcvData(struct ndr_pull *ndr, int flags, struct spoolss_XcvData *r)
28787
TALLOC_CTX *_mem_save_handle_0;
28788
TALLOC_CTX *_mem_save_needed_0;
28789
TALLOC_CTX *_mem_save_status_code_0;
28790
if (flags & NDR_IN) {
28791
ZERO_STRUCT(r->out);
28793
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28794
NDR_PULL_ALLOC(ndr, r->in.handle);
28796
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
28797
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
28798
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
28799
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
28800
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.function_name));
28801
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.function_name));
28802
if (ndr_get_array_length(ndr, &r->in.function_name) > ndr_get_array_size(ndr, &r->in.function_name)) {
28803
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));
28805
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.function_name), sizeof(uint16_t)));
28806
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));
28807
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.in_data));
28808
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in._in_data_length));
28809
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.out_data_size));
28810
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28811
NDR_PULL_ALLOC(ndr, r->in.status_code);
28813
_mem_save_status_code_0 = NDR_PULL_GET_MEM_CTX(ndr);
28814
NDR_PULL_SET_MEM_CTX(ndr, r->in.status_code, LIBNDR_FLAG_REF_ALLOC);
28815
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.status_code));
28816
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_status_code_0, LIBNDR_FLAG_REF_ALLOC);
28817
NDR_PULL_ALLOC_N(ndr, r->out.out_data, r->in.out_data_size);
28818
memset(r->out.out_data, 0, (r->in.out_data_size) * sizeof(*r->out.out_data));
28819
NDR_PULL_ALLOC(ndr, r->out.needed);
28820
ZERO_STRUCTP(r->out.needed);
28821
NDR_PULL_ALLOC(ndr, r->out.status_code);
28822
*r->out.status_code = *r->in.status_code;
28824
if (flags & NDR_OUT) {
28825
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.out_data));
28826
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28827
NDR_PULL_ALLOC_N(ndr, r->out.out_data, ndr_get_array_size(ndr, &r->out.out_data));
28829
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.out_data, ndr_get_array_size(ndr, &r->out.out_data)));
28830
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28831
NDR_PULL_ALLOC(ndr, r->out.needed);
28833
_mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
28834
NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC);
28835
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
28836
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
28837
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28838
NDR_PULL_ALLOC(ndr, r->out.status_code);
28840
_mem_save_status_code_0 = NDR_PULL_GET_MEM_CTX(ndr);
28841
NDR_PULL_SET_MEM_CTX(ndr, r->out.status_code, LIBNDR_FLAG_REF_ALLOC);
28842
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.status_code));
28843
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_status_code_0, LIBNDR_FLAG_REF_ALLOC);
28844
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28845
if (r->out.out_data) {
28846
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.out_data, r->in.out_data_size));
28849
return NDR_ERR_SUCCESS;
28852
_PUBLIC_ void ndr_print_spoolss_XcvData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_XcvData *r)
28854
ndr_print_struct(ndr, name, "spoolss_XcvData");
28856
if (flags & NDR_SET_VALUES) {
28857
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28859
if (flags & NDR_IN) {
28860
ndr_print_struct(ndr, "in", "spoolss_XcvData");
28862
ndr_print_ptr(ndr, "handle", r->in.handle);
28864
ndr_print_policy_handle(ndr, "handle", r->in.handle);
28866
ndr_print_string(ndr, "function_name", r->in.function_name);
28867
ndr_print_DATA_BLOB(ndr, "in_data", r->in.in_data);
28868
ndr_print_uint32(ndr, "_in_data_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->in.in_data.length:r->in._in_data_length);
28869
ndr_print_uint32(ndr, "out_data_size", r->in.out_data_size);
28870
ndr_print_ptr(ndr, "status_code", r->in.status_code);
28872
ndr_print_uint32(ndr, "status_code", *r->in.status_code);
28876
if (flags & NDR_OUT) {
28877
ndr_print_struct(ndr, "out", "spoolss_XcvData");
28879
ndr_print_ptr(ndr, "out_data", r->out.out_data);
28881
ndr_print_array_uint8(ndr, "out_data", r->out.out_data, r->in.out_data_size);
28883
ndr_print_ptr(ndr, "needed", r->out.needed);
28885
ndr_print_uint32(ndr, "needed", *r->out.needed);
28887
ndr_print_ptr(ndr, "status_code", r->out.status_code);
28889
ndr_print_uint32(ndr, "status_code", *r->out.status_code);
28891
ndr_print_WERROR(ndr, "result", r->out.result);
28897
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_AddPrinterDriverEx(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterDriverEx *r)
28899
if (flags & NDR_IN) {
28900
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
28901
if (r->in.servername) {
28902
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
28903
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
28904
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
28905
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
28907
if (r->in.info_ctr == NULL) {
28908
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
28910
NDR_CHECK(ndr_push_spoolss_AddDriverInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
28911
NDR_CHECK(ndr_push_spoolss_AddPrinterDriverExFlags(ndr, NDR_SCALARS, r->in.flags));
28913
if (flags & NDR_OUT) {
28914
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28916
return NDR_ERR_SUCCESS;
28919
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_AddPrinterDriverEx(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterDriverEx *r)
28921
uint32_t _ptr_servername;
28922
TALLOC_CTX *_mem_save_servername_0;
28923
TALLOC_CTX *_mem_save_info_ctr_0;
28924
if (flags & NDR_IN) {
28925
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
28926
if (_ptr_servername) {
28927
NDR_PULL_ALLOC(ndr, r->in.servername);
28929
r->in.servername = NULL;
28931
if (r->in.servername) {
28932
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
28933
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
28934
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
28935
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
28936
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
28937
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));
28939
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
28940
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
28941
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
28943
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
28944
NDR_PULL_ALLOC(ndr, r->in.info_ctr);
28946
_mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
28947
NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC);
28948
NDR_CHECK(ndr_pull_spoolss_AddDriverInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
28949
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
28950
NDR_CHECK(ndr_pull_spoolss_AddPrinterDriverExFlags(ndr, NDR_SCALARS, &r->in.flags));
28952
if (flags & NDR_OUT) {
28953
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
28955
return NDR_ERR_SUCCESS;
28958
_PUBLIC_ void ndr_print_spoolss_AddPrinterDriverEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterDriverEx *r)
28960
ndr_print_struct(ndr, name, "spoolss_AddPrinterDriverEx");
28962
if (flags & NDR_SET_VALUES) {
28963
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
28965
if (flags & NDR_IN) {
28966
ndr_print_struct(ndr, "in", "spoolss_AddPrinterDriverEx");
28968
ndr_print_ptr(ndr, "servername", r->in.servername);
28970
if (r->in.servername) {
28971
ndr_print_string(ndr, "servername", r->in.servername);
28974
ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr);
28976
ndr_print_spoolss_AddDriverInfoCtr(ndr, "info_ctr", r->in.info_ctr);
28978
ndr_print_spoolss_AddPrinterDriverExFlags(ndr, "flags", r->in.flags);
28981
if (flags & NDR_OUT) {
28982
ndr_print_struct(ndr, "out", "spoolss_AddPrinterDriverEx");
28984
ndr_print_WERROR(ndr, "result", r->out.result);
28990
static enum ndr_err_code ndr_push_spoolss_5a(struct ndr_push *ndr, int flags, const struct spoolss_5a *r)
28992
if (flags & NDR_IN) {
28994
if (flags & NDR_OUT) {
28995
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
28997
return NDR_ERR_SUCCESS;
29000
static enum ndr_err_code ndr_pull_spoolss_5a(struct ndr_pull *ndr, int flags, struct spoolss_5a *r)
29002
if (flags & NDR_IN) {
29004
if (flags & NDR_OUT) {
29005
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29007
return NDR_ERR_SUCCESS;
29010
_PUBLIC_ void ndr_print_spoolss_5a(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5a *r)
29012
ndr_print_struct(ndr, name, "spoolss_5a");
29014
if (flags & NDR_SET_VALUES) {
29015
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29017
if (flags & NDR_IN) {
29018
ndr_print_struct(ndr, "in", "spoolss_5a");
29022
if (flags & NDR_OUT) {
29023
ndr_print_struct(ndr, "out", "spoolss_5a");
29025
ndr_print_WERROR(ndr, "result", r->out.result);
29031
static enum ndr_err_code ndr_push_spoolss_5b(struct ndr_push *ndr, int flags, const struct spoolss_5b *r)
29033
if (flags & NDR_IN) {
29035
if (flags & NDR_OUT) {
29036
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29038
return NDR_ERR_SUCCESS;
29041
static enum ndr_err_code ndr_pull_spoolss_5b(struct ndr_pull *ndr, int flags, struct spoolss_5b *r)
29043
if (flags & NDR_IN) {
29045
if (flags & NDR_OUT) {
29046
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29048
return NDR_ERR_SUCCESS;
29051
_PUBLIC_ void ndr_print_spoolss_5b(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5b *r)
29053
ndr_print_struct(ndr, name, "spoolss_5b");
29055
if (flags & NDR_SET_VALUES) {
29056
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29058
if (flags & NDR_IN) {
29059
ndr_print_struct(ndr, "in", "spoolss_5b");
29063
if (flags & NDR_OUT) {
29064
ndr_print_struct(ndr, "out", "spoolss_5b");
29066
ndr_print_WERROR(ndr, "result", r->out.result);
29072
static enum ndr_err_code ndr_push_spoolss_5c(struct ndr_push *ndr, int flags, const struct spoolss_5c *r)
29074
if (flags & NDR_IN) {
29076
if (flags & NDR_OUT) {
29077
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29079
return NDR_ERR_SUCCESS;
29082
static enum ndr_err_code ndr_pull_spoolss_5c(struct ndr_pull *ndr, int flags, struct spoolss_5c *r)
29084
if (flags & NDR_IN) {
29086
if (flags & NDR_OUT) {
29087
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29089
return NDR_ERR_SUCCESS;
29092
_PUBLIC_ void ndr_print_spoolss_5c(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5c *r)
29094
ndr_print_struct(ndr, name, "spoolss_5c");
29096
if (flags & NDR_SET_VALUES) {
29097
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29099
if (flags & NDR_IN) {
29100
ndr_print_struct(ndr, "in", "spoolss_5c");
29104
if (flags & NDR_OUT) {
29105
ndr_print_struct(ndr, "out", "spoolss_5c");
29107
ndr_print_WERROR(ndr, "result", r->out.result);
29113
static enum ndr_err_code ndr_push_spoolss_5d(struct ndr_push *ndr, int flags, const struct spoolss_5d *r)
29115
if (flags & NDR_IN) {
29117
if (flags & NDR_OUT) {
29118
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29120
return NDR_ERR_SUCCESS;
29123
static enum ndr_err_code ndr_pull_spoolss_5d(struct ndr_pull *ndr, int flags, struct spoolss_5d *r)
29125
if (flags & NDR_IN) {
29127
if (flags & NDR_OUT) {
29128
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29130
return NDR_ERR_SUCCESS;
29133
_PUBLIC_ void ndr_print_spoolss_5d(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5d *r)
29135
ndr_print_struct(ndr, name, "spoolss_5d");
29137
if (flags & NDR_SET_VALUES) {
29138
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29140
if (flags & NDR_IN) {
29141
ndr_print_struct(ndr, "in", "spoolss_5d");
29145
if (flags & NDR_OUT) {
29146
ndr_print_struct(ndr, "out", "spoolss_5d");
29148
ndr_print_WERROR(ndr, "result", r->out.result);
29154
static enum ndr_err_code ndr_push_spoolss_5e(struct ndr_push *ndr, int flags, const struct spoolss_5e *r)
29156
if (flags & NDR_IN) {
29158
if (flags & NDR_OUT) {
29159
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29161
return NDR_ERR_SUCCESS;
29164
static enum ndr_err_code ndr_pull_spoolss_5e(struct ndr_pull *ndr, int flags, struct spoolss_5e *r)
29166
if (flags & NDR_IN) {
29168
if (flags & NDR_OUT) {
29169
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29171
return NDR_ERR_SUCCESS;
29174
_PUBLIC_ void ndr_print_spoolss_5e(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5e *r)
29176
ndr_print_struct(ndr, name, "spoolss_5e");
29178
if (flags & NDR_SET_VALUES) {
29179
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29181
if (flags & NDR_IN) {
29182
ndr_print_struct(ndr, "in", "spoolss_5e");
29186
if (flags & NDR_OUT) {
29187
ndr_print_struct(ndr, "out", "spoolss_5e");
29189
ndr_print_WERROR(ndr, "result", r->out.result);
29195
static enum ndr_err_code ndr_push_spoolss_5f(struct ndr_push *ndr, int flags, const struct spoolss_5f *r)
29197
if (flags & NDR_IN) {
29199
if (flags & NDR_OUT) {
29200
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29202
return NDR_ERR_SUCCESS;
29205
static enum ndr_err_code ndr_pull_spoolss_5f(struct ndr_pull *ndr, int flags, struct spoolss_5f *r)
29207
if (flags & NDR_IN) {
29209
if (flags & NDR_OUT) {
29210
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29212
return NDR_ERR_SUCCESS;
29215
_PUBLIC_ void ndr_print_spoolss_5f(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5f *r)
29217
ndr_print_struct(ndr, name, "spoolss_5f");
29219
if (flags & NDR_SET_VALUES) {
29220
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29222
if (flags & NDR_IN) {
29223
ndr_print_struct(ndr, "in", "spoolss_5f");
29227
if (flags & NDR_OUT) {
29228
ndr_print_struct(ndr, "out", "spoolss_5f");
29230
ndr_print_WERROR(ndr, "result", r->out.result);
29236
static enum ndr_err_code ndr_push_spoolss_60(struct ndr_push *ndr, int flags, const struct spoolss_60 *r)
29238
if (flags & NDR_IN) {
29240
if (flags & NDR_OUT) {
29241
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29243
return NDR_ERR_SUCCESS;
29246
static enum ndr_err_code ndr_pull_spoolss_60(struct ndr_pull *ndr, int flags, struct spoolss_60 *r)
29248
if (flags & NDR_IN) {
29250
if (flags & NDR_OUT) {
29251
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29253
return NDR_ERR_SUCCESS;
29256
_PUBLIC_ void ndr_print_spoolss_60(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_60 *r)
29258
ndr_print_struct(ndr, name, "spoolss_60");
29260
if (flags & NDR_SET_VALUES) {
29261
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29263
if (flags & NDR_IN) {
29264
ndr_print_struct(ndr, "in", "spoolss_60");
29268
if (flags & NDR_OUT) {
29269
ndr_print_struct(ndr, "out", "spoolss_60");
29271
ndr_print_WERROR(ndr, "result", r->out.result);
29277
static enum ndr_err_code ndr_push_spoolss_61(struct ndr_push *ndr, int flags, const struct spoolss_61 *r)
29279
if (flags & NDR_IN) {
29281
if (flags & NDR_OUT) {
29282
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29284
return NDR_ERR_SUCCESS;
29287
static enum ndr_err_code ndr_pull_spoolss_61(struct ndr_pull *ndr, int flags, struct spoolss_61 *r)
29289
if (flags & NDR_IN) {
29291
if (flags & NDR_OUT) {
29292
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29294
return NDR_ERR_SUCCESS;
29297
_PUBLIC_ void ndr_print_spoolss_61(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_61 *r)
29299
ndr_print_struct(ndr, name, "spoolss_61");
29301
if (flags & NDR_SET_VALUES) {
29302
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29304
if (flags & NDR_IN) {
29305
ndr_print_struct(ndr, "in", "spoolss_61");
29309
if (flags & NDR_OUT) {
29310
ndr_print_struct(ndr, "out", "spoolss_61");
29312
ndr_print_WERROR(ndr, "result", r->out.result);
29318
static enum ndr_err_code ndr_push_spoolss_62(struct ndr_push *ndr, int flags, const struct spoolss_62 *r)
29320
if (flags & NDR_IN) {
29322
if (flags & NDR_OUT) {
29323
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29325
return NDR_ERR_SUCCESS;
29328
static enum ndr_err_code ndr_pull_spoolss_62(struct ndr_pull *ndr, int flags, struct spoolss_62 *r)
29330
if (flags & NDR_IN) {
29332
if (flags & NDR_OUT) {
29333
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29335
return NDR_ERR_SUCCESS;
29338
_PUBLIC_ void ndr_print_spoolss_62(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_62 *r)
29340
ndr_print_struct(ndr, name, "spoolss_62");
29342
if (flags & NDR_SET_VALUES) {
29343
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29345
if (flags & NDR_IN) {
29346
ndr_print_struct(ndr, "in", "spoolss_62");
29350
if (flags & NDR_OUT) {
29351
ndr_print_struct(ndr, "out", "spoolss_62");
29353
ndr_print_WERROR(ndr, "result", r->out.result);
29359
static enum ndr_err_code ndr_push_spoolss_63(struct ndr_push *ndr, int flags, const struct spoolss_63 *r)
29361
if (flags & NDR_IN) {
29363
if (flags & NDR_OUT) {
29364
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29366
return NDR_ERR_SUCCESS;
29369
static enum ndr_err_code ndr_pull_spoolss_63(struct ndr_pull *ndr, int flags, struct spoolss_63 *r)
29371
if (flags & NDR_IN) {
29373
if (flags & NDR_OUT) {
29374
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29376
return NDR_ERR_SUCCESS;
29379
_PUBLIC_ void ndr_print_spoolss_63(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_63 *r)
29381
ndr_print_struct(ndr, name, "spoolss_63");
29383
if (flags & NDR_SET_VALUES) {
29384
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29386
if (flags & NDR_IN) {
29387
ndr_print_struct(ndr, "in", "spoolss_63");
29391
if (flags & NDR_OUT) {
29392
ndr_print_struct(ndr, "out", "spoolss_63");
29394
ndr_print_WERROR(ndr, "result", r->out.result);
29400
static enum ndr_err_code ndr_push_spoolss_64(struct ndr_push *ndr, int flags, const struct spoolss_64 *r)
29402
if (flags & NDR_IN) {
29404
if (flags & NDR_OUT) {
29405
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29407
return NDR_ERR_SUCCESS;
29410
static enum ndr_err_code ndr_pull_spoolss_64(struct ndr_pull *ndr, int flags, struct spoolss_64 *r)
29412
if (flags & NDR_IN) {
29414
if (flags & NDR_OUT) {
29415
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29417
return NDR_ERR_SUCCESS;
29420
_PUBLIC_ void ndr_print_spoolss_64(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_64 *r)
29422
ndr_print_struct(ndr, name, "spoolss_64");
29424
if (flags & NDR_SET_VALUES) {
29425
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29427
if (flags & NDR_IN) {
29428
ndr_print_struct(ndr, "in", "spoolss_64");
29432
if (flags & NDR_OUT) {
29433
ndr_print_struct(ndr, "out", "spoolss_64");
29435
ndr_print_WERROR(ndr, "result", r->out.result);
29441
static enum ndr_err_code ndr_push_spoolss_65(struct ndr_push *ndr, int flags, const struct spoolss_65 *r)
29443
if (flags & NDR_IN) {
29445
if (flags & NDR_OUT) {
29446
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29448
return NDR_ERR_SUCCESS;
29451
static enum ndr_err_code ndr_pull_spoolss_65(struct ndr_pull *ndr, int flags, struct spoolss_65 *r)
29453
if (flags & NDR_IN) {
29455
if (flags & NDR_OUT) {
29456
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29458
return NDR_ERR_SUCCESS;
29461
_PUBLIC_ void ndr_print_spoolss_65(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_65 *r)
29463
ndr_print_struct(ndr, name, "spoolss_65");
29465
if (flags & NDR_SET_VALUES) {
29466
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29468
if (flags & NDR_IN) {
29469
ndr_print_struct(ndr, "in", "spoolss_65");
29473
if (flags & NDR_OUT) {
29474
ndr_print_struct(ndr, "out", "spoolss_65");
29476
ndr_print_WERROR(ndr, "result", r->out.result);
29482
static enum ndr_err_code ndr_push_spoolss_GetCorePrinterDrivers(struct ndr_push *ndr, int flags, const struct spoolss_GetCorePrinterDrivers *r)
29484
uint32_t cntr_core_printer_drivers_1;
29485
if (flags & NDR_IN) {
29486
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
29487
if (r->in.servername) {
29488
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
29489
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29490
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
29491
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
29493
if (r->in.architecture == NULL) {
29494
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29496
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
29497
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29498
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
29499
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
29500
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.core_driver_size));
29501
if (r->in.core_driver_dependencies == NULL) {
29502
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29504
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.core_driver_size));
29505
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.core_driver_dependencies, r->in.core_driver_size, sizeof(uint16_t), CH_UTF16));
29506
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.core_printer_driver_count));
29508
if (flags & NDR_OUT) {
29509
if (r->out.core_printer_drivers == NULL) {
29510
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29512
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.core_printer_driver_count));
29513
for (cntr_core_printer_drivers_1 = 0; cntr_core_printer_drivers_1 < r->in.core_printer_driver_count; cntr_core_printer_drivers_1++) {
29514
NDR_CHECK(ndr_push_spoolss_CorePrinterDriver(ndr, NDR_SCALARS, &r->out.core_printer_drivers[cntr_core_printer_drivers_1]));
29516
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29518
return NDR_ERR_SUCCESS;
29521
static enum ndr_err_code ndr_pull_spoolss_GetCorePrinterDrivers(struct ndr_pull *ndr, int flags, struct spoolss_GetCorePrinterDrivers *r)
29523
uint32_t _ptr_servername;
29524
uint32_t cntr_core_printer_drivers_1;
29525
TALLOC_CTX *_mem_save_servername_0;
29526
TALLOC_CTX *_mem_save_core_printer_drivers_1;
29527
if (flags & NDR_IN) {
29528
ZERO_STRUCT(r->out);
29530
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
29531
if (_ptr_servername) {
29532
NDR_PULL_ALLOC(ndr, r->in.servername);
29534
r->in.servername = NULL;
29536
if (r->in.servername) {
29537
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
29538
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
29539
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
29540
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
29541
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
29542
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));
29544
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
29545
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
29546
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
29548
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
29549
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
29550
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
29551
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));
29553
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
29554
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
29555
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.core_driver_size));
29556
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.core_driver_dependencies));
29557
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));
29558
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.core_printer_driver_count));
29559
NDR_PULL_ALLOC_N(ndr, r->out.core_printer_drivers, r->in.core_printer_driver_count);
29560
memset(r->out.core_printer_drivers, 0, (r->in.core_printer_driver_count) * sizeof(*r->out.core_printer_drivers));
29561
if (r->in.core_driver_dependencies) {
29562
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.core_driver_dependencies, r->in.core_driver_size));
29565
if (flags & NDR_OUT) {
29566
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.core_printer_drivers));
29567
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29568
NDR_PULL_ALLOC_N(ndr, r->out.core_printer_drivers, ndr_get_array_size(ndr, &r->out.core_printer_drivers));
29570
_mem_save_core_printer_drivers_1 = NDR_PULL_GET_MEM_CTX(ndr);
29571
NDR_PULL_SET_MEM_CTX(ndr, r->out.core_printer_drivers, 0);
29572
for (cntr_core_printer_drivers_1 = 0; cntr_core_printer_drivers_1 < r->in.core_printer_driver_count; cntr_core_printer_drivers_1++) {
29573
NDR_CHECK(ndr_pull_spoolss_CorePrinterDriver(ndr, NDR_SCALARS, &r->out.core_printer_drivers[cntr_core_printer_drivers_1]));
29575
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_core_printer_drivers_1, 0);
29576
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29577
if (r->out.core_printer_drivers) {
29578
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.core_printer_drivers, r->in.core_printer_driver_count));
29581
return NDR_ERR_SUCCESS;
29584
_PUBLIC_ void ndr_print_spoolss_GetCorePrinterDrivers(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetCorePrinterDrivers *r)
29586
uint32_t cntr_core_printer_drivers_1;
29587
ndr_print_struct(ndr, name, "spoolss_GetCorePrinterDrivers");
29589
if (flags & NDR_SET_VALUES) {
29590
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29592
if (flags & NDR_IN) {
29593
ndr_print_struct(ndr, "in", "spoolss_GetCorePrinterDrivers");
29595
ndr_print_ptr(ndr, "servername", r->in.servername);
29597
if (r->in.servername) {
29598
ndr_print_string(ndr, "servername", r->in.servername);
29601
ndr_print_ptr(ndr, "architecture", r->in.architecture);
29603
ndr_print_string(ndr, "architecture", r->in.architecture);
29605
ndr_print_uint32(ndr, "core_driver_size", r->in.core_driver_size);
29606
ndr_print_ptr(ndr, "core_driver_dependencies", r->in.core_driver_dependencies);
29608
ndr_print_string(ndr, "core_driver_dependencies", r->in.core_driver_dependencies);
29610
ndr_print_uint32(ndr, "core_printer_driver_count", r->in.core_printer_driver_count);
29613
if (flags & NDR_OUT) {
29614
ndr_print_struct(ndr, "out", "spoolss_GetCorePrinterDrivers");
29616
ndr_print_ptr(ndr, "core_printer_drivers", r->out.core_printer_drivers);
29618
ndr->print(ndr, "%s: ARRAY(%d)", "core_printer_drivers", (int)r->in.core_printer_driver_count);
29620
for (cntr_core_printer_drivers_1=0;cntr_core_printer_drivers_1<r->in.core_printer_driver_count;cntr_core_printer_drivers_1++) {
29622
if (asprintf(&idx_1, "[%d]", cntr_core_printer_drivers_1) != -1) {
29623
ndr_print_spoolss_CorePrinterDriver(ndr, "core_printer_drivers", &r->out.core_printer_drivers[cntr_core_printer_drivers_1]);
29629
ndr_print_WERROR(ndr, "result", r->out.result);
29635
static enum ndr_err_code ndr_push_spoolss_67(struct ndr_push *ndr, int flags, const struct spoolss_67 *r)
29637
if (flags & NDR_IN) {
29639
if (flags & NDR_OUT) {
29640
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29642
return NDR_ERR_SUCCESS;
29645
static enum ndr_err_code ndr_pull_spoolss_67(struct ndr_pull *ndr, int flags, struct spoolss_67 *r)
29647
if (flags & NDR_IN) {
29649
if (flags & NDR_OUT) {
29650
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29652
return NDR_ERR_SUCCESS;
29655
_PUBLIC_ void ndr_print_spoolss_67(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_67 *r)
29657
ndr_print_struct(ndr, name, "spoolss_67");
29659
if (flags & NDR_SET_VALUES) {
29660
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29662
if (flags & NDR_IN) {
29663
ndr_print_struct(ndr, "in", "spoolss_67");
29667
if (flags & NDR_OUT) {
29668
ndr_print_struct(ndr, "out", "spoolss_67");
29670
ndr_print_WERROR(ndr, "result", r->out.result);
29676
static enum ndr_err_code ndr_push_spoolss_GetPrinterDriverPackagePath(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriverPackagePath *r)
29678
if (flags & NDR_IN) {
29679
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
29680
if (r->in.servername) {
29681
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
29682
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29683
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
29684
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
29686
if (r->in.architecture == NULL) {
29687
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29689
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
29690
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29691
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
29692
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
29693
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.language));
29694
if (r->in.language) {
29695
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.language, CH_UTF16)));
29696
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29697
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.language, CH_UTF16)));
29698
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.language, ndr_charset_length(r->in.language, CH_UTF16), sizeof(uint16_t), CH_UTF16));
29700
if (r->in.package_id == NULL) {
29701
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29703
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.package_id, CH_UTF16)));
29704
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
29705
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.package_id, CH_UTF16)));
29706
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));
29707
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.driver_package_cab));
29708
if (r->in.driver_package_cab) {
29709
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.driver_package_cab_size));
29710
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.driver_package_cab, r->in.driver_package_cab_size, sizeof(uint16_t), CH_UTF16));
29712
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.driver_package_cab_size));
29714
if (flags & NDR_OUT) {
29715
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.driver_package_cab));
29716
if (r->out.driver_package_cab) {
29717
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.driver_package_cab_size));
29718
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->out.driver_package_cab, r->in.driver_package_cab_size, sizeof(uint16_t), CH_UTF16));
29720
if (r->out.required == NULL) {
29721
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
29723
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.required));
29724
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29726
return NDR_ERR_SUCCESS;
29729
static enum ndr_err_code ndr_pull_spoolss_GetPrinterDriverPackagePath(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriverPackagePath *r)
29731
uint32_t _ptr_servername;
29732
uint32_t _ptr_language;
29733
uint32_t _ptr_driver_package_cab;
29734
TALLOC_CTX *_mem_save_servername_0;
29735
TALLOC_CTX *_mem_save_language_0;
29736
TALLOC_CTX *_mem_save_driver_package_cab_0;
29737
TALLOC_CTX *_mem_save_required_0;
29738
if (flags & NDR_IN) {
29739
ZERO_STRUCT(r->out);
29741
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
29742
if (_ptr_servername) {
29743
NDR_PULL_ALLOC(ndr, r->in.servername);
29745
r->in.servername = NULL;
29747
if (r->in.servername) {
29748
_mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
29749
NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
29750
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
29751
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
29752
if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
29753
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));
29755
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
29756
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
29757
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
29759
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
29760
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
29761
if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
29762
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));
29764
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
29765
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
29766
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_language));
29767
if (_ptr_language) {
29768
NDR_PULL_ALLOC(ndr, r->in.language);
29770
r->in.language = NULL;
29772
if (r->in.language) {
29773
_mem_save_language_0 = NDR_PULL_GET_MEM_CTX(ndr);
29774
NDR_PULL_SET_MEM_CTX(ndr, r->in.language, 0);
29775
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.language));
29776
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.language));
29777
if (ndr_get_array_length(ndr, &r->in.language) > ndr_get_array_size(ndr, &r->in.language)) {
29778
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));
29780
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.language), sizeof(uint16_t)));
29781
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.language, ndr_get_array_length(ndr, &r->in.language), sizeof(uint16_t), CH_UTF16));
29782
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_language_0, 0);
29784
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.package_id));
29785
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.package_id));
29786
if (ndr_get_array_length(ndr, &r->in.package_id) > ndr_get_array_size(ndr, &r->in.package_id)) {
29787
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));
29789
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.package_id), sizeof(uint16_t)));
29790
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));
29791
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_package_cab));
29792
if (_ptr_driver_package_cab) {
29793
NDR_PULL_ALLOC(ndr, r->in.driver_package_cab);
29795
r->in.driver_package_cab = NULL;
29797
if (r->in.driver_package_cab) {
29798
_mem_save_driver_package_cab_0 = NDR_PULL_GET_MEM_CTX(ndr);
29799
NDR_PULL_SET_MEM_CTX(ndr, r->in.driver_package_cab, 0);
29800
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.driver_package_cab));
29801
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));
29802
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_package_cab_0, 0);
29804
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.driver_package_cab_size));
29805
NDR_PULL_ALLOC(ndr, r->out.required);
29806
ZERO_STRUCTP(r->out.required);
29807
if (r->in.driver_package_cab) {
29808
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.driver_package_cab, r->in.driver_package_cab_size));
29811
if (flags & NDR_OUT) {
29812
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_package_cab));
29813
if (_ptr_driver_package_cab) {
29814
NDR_PULL_ALLOC(ndr, r->out.driver_package_cab);
29816
r->out.driver_package_cab = NULL;
29818
if (r->out.driver_package_cab) {
29819
_mem_save_driver_package_cab_0 = NDR_PULL_GET_MEM_CTX(ndr);
29820
NDR_PULL_SET_MEM_CTX(ndr, r->out.driver_package_cab, 0);
29821
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.driver_package_cab));
29822
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));
29823
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_package_cab_0, 0);
29825
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
29826
NDR_PULL_ALLOC(ndr, r->out.required);
29828
_mem_save_required_0 = NDR_PULL_GET_MEM_CTX(ndr);
29829
NDR_PULL_SET_MEM_CTX(ndr, r->out.required, LIBNDR_FLAG_REF_ALLOC);
29830
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.required));
29831
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_required_0, LIBNDR_FLAG_REF_ALLOC);
29832
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29833
if (r->out.driver_package_cab) {
29834
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.driver_package_cab, r->in.driver_package_cab_size));
29837
return NDR_ERR_SUCCESS;
29840
_PUBLIC_ void ndr_print_spoolss_GetPrinterDriverPackagePath(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriverPackagePath *r)
29842
ndr_print_struct(ndr, name, "spoolss_GetPrinterDriverPackagePath");
29844
if (flags & NDR_SET_VALUES) {
29845
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29847
if (flags & NDR_IN) {
29848
ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriverPackagePath");
29850
ndr_print_ptr(ndr, "servername", r->in.servername);
29852
if (r->in.servername) {
29853
ndr_print_string(ndr, "servername", r->in.servername);
29856
ndr_print_ptr(ndr, "architecture", r->in.architecture);
29858
ndr_print_string(ndr, "architecture", r->in.architecture);
29860
ndr_print_ptr(ndr, "language", r->in.language);
29862
if (r->in.language) {
29863
ndr_print_string(ndr, "language", r->in.language);
29866
ndr_print_ptr(ndr, "package_id", r->in.package_id);
29868
ndr_print_string(ndr, "package_id", r->in.package_id);
29870
ndr_print_ptr(ndr, "driver_package_cab", r->in.driver_package_cab);
29872
if (r->in.driver_package_cab) {
29873
ndr_print_string(ndr, "driver_package_cab", r->in.driver_package_cab);
29876
ndr_print_uint32(ndr, "driver_package_cab_size", r->in.driver_package_cab_size);
29879
if (flags & NDR_OUT) {
29880
ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriverPackagePath");
29882
ndr_print_ptr(ndr, "driver_package_cab", r->out.driver_package_cab);
29884
if (r->out.driver_package_cab) {
29885
ndr_print_string(ndr, "driver_package_cab", r->out.driver_package_cab);
29888
ndr_print_ptr(ndr, "required", r->out.required);
29890
ndr_print_uint32(ndr, "required", *r->out.required);
29892
ndr_print_WERROR(ndr, "result", r->out.result);
29898
static enum ndr_err_code ndr_push_spoolss_69(struct ndr_push *ndr, int flags, const struct spoolss_69 *r)
29900
if (flags & NDR_IN) {
29902
if (flags & NDR_OUT) {
29903
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29905
return NDR_ERR_SUCCESS;
29908
static enum ndr_err_code ndr_pull_spoolss_69(struct ndr_pull *ndr, int flags, struct spoolss_69 *r)
29910
if (flags & NDR_IN) {
29912
if (flags & NDR_OUT) {
29913
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29915
return NDR_ERR_SUCCESS;
29918
_PUBLIC_ void ndr_print_spoolss_69(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_69 *r)
29920
ndr_print_struct(ndr, name, "spoolss_69");
29922
if (flags & NDR_SET_VALUES) {
29923
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29925
if (flags & NDR_IN) {
29926
ndr_print_struct(ndr, "in", "spoolss_69");
29930
if (flags & NDR_OUT) {
29931
ndr_print_struct(ndr, "out", "spoolss_69");
29933
ndr_print_WERROR(ndr, "result", r->out.result);
29939
static enum ndr_err_code ndr_push_spoolss_6a(struct ndr_push *ndr, int flags, const struct spoolss_6a *r)
29941
if (flags & NDR_IN) {
29943
if (flags & NDR_OUT) {
29944
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29946
return NDR_ERR_SUCCESS;
29949
static enum ndr_err_code ndr_pull_spoolss_6a(struct ndr_pull *ndr, int flags, struct spoolss_6a *r)
29951
if (flags & NDR_IN) {
29953
if (flags & NDR_OUT) {
29954
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29956
return NDR_ERR_SUCCESS;
29959
_PUBLIC_ void ndr_print_spoolss_6a(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6a *r)
29961
ndr_print_struct(ndr, name, "spoolss_6a");
29963
if (flags & NDR_SET_VALUES) {
29964
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
29966
if (flags & NDR_IN) {
29967
ndr_print_struct(ndr, "in", "spoolss_6a");
29971
if (flags & NDR_OUT) {
29972
ndr_print_struct(ndr, "out", "spoolss_6a");
29974
ndr_print_WERROR(ndr, "result", r->out.result);
29980
static enum ndr_err_code ndr_push_spoolss_6b(struct ndr_push *ndr, int flags, const struct spoolss_6b *r)
29982
if (flags & NDR_IN) {
29984
if (flags & NDR_OUT) {
29985
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
29987
return NDR_ERR_SUCCESS;
29990
static enum ndr_err_code ndr_pull_spoolss_6b(struct ndr_pull *ndr, int flags, struct spoolss_6b *r)
29992
if (flags & NDR_IN) {
29994
if (flags & NDR_OUT) {
29995
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
29997
return NDR_ERR_SUCCESS;
30000
_PUBLIC_ void ndr_print_spoolss_6b(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6b *r)
30002
ndr_print_struct(ndr, name, "spoolss_6b");
30004
if (flags & NDR_SET_VALUES) {
30005
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30007
if (flags & NDR_IN) {
30008
ndr_print_struct(ndr, "in", "spoolss_6b");
30012
if (flags & NDR_OUT) {
30013
ndr_print_struct(ndr, "out", "spoolss_6b");
30015
ndr_print_WERROR(ndr, "result", r->out.result);
30021
static enum ndr_err_code ndr_push_spoolss_6c(struct ndr_push *ndr, int flags, const struct spoolss_6c *r)
30023
if (flags & NDR_IN) {
30025
if (flags & NDR_OUT) {
30026
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30028
return NDR_ERR_SUCCESS;
30031
static enum ndr_err_code ndr_pull_spoolss_6c(struct ndr_pull *ndr, int flags, struct spoolss_6c *r)
30033
if (flags & NDR_IN) {
30035
if (flags & NDR_OUT) {
30036
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30038
return NDR_ERR_SUCCESS;
30041
_PUBLIC_ void ndr_print_spoolss_6c(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6c *r)
30043
ndr_print_struct(ndr, name, "spoolss_6c");
30045
if (flags & NDR_SET_VALUES) {
30046
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30048
if (flags & NDR_IN) {
30049
ndr_print_struct(ndr, "in", "spoolss_6c");
30053
if (flags & NDR_OUT) {
30054
ndr_print_struct(ndr, "out", "spoolss_6c");
30056
ndr_print_WERROR(ndr, "result", r->out.result);
30062
static enum ndr_err_code ndr_push_spoolss_6d(struct ndr_push *ndr, int flags, const struct spoolss_6d *r)
30064
if (flags & NDR_IN) {
30066
if (flags & NDR_OUT) {
30067
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
30069
return NDR_ERR_SUCCESS;
30072
static enum ndr_err_code ndr_pull_spoolss_6d(struct ndr_pull *ndr, int flags, struct spoolss_6d *r)
30074
if (flags & NDR_IN) {
30076
if (flags & NDR_OUT) {
30077
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
30079
return NDR_ERR_SUCCESS;
30082
_PUBLIC_ void ndr_print_spoolss_6d(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6d *r)
30084
ndr_print_struct(ndr, name, "spoolss_6d");
30086
if (flags & NDR_SET_VALUES) {
30087
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
30089
if (flags & NDR_IN) {
30090
ndr_print_struct(ndr, "in", "spoolss_6d");
30094
if (flags & NDR_OUT) {
30095
ndr_print_struct(ndr, "out", "spoolss_6d");
30097
ndr_print_WERROR(ndr, "result", r->out.result);
30103
static const struct ndr_interface_call spoolss_calls[] = {
30105
"spoolss_EnumPrinters",
30106
sizeof(struct spoolss_EnumPrinters),
30107
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinters,
30108
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinters,
30109
(ndr_print_function_t) ndr_print_spoolss_EnumPrinters,
30113
"spoolss_OpenPrinter",
30114
sizeof(struct spoolss_OpenPrinter),
30115
(ndr_push_flags_fn_t) ndr_push_spoolss_OpenPrinter,
30116
(ndr_pull_flags_fn_t) ndr_pull_spoolss_OpenPrinter,
30117
(ndr_print_function_t) ndr_print_spoolss_OpenPrinter,
30122
sizeof(struct spoolss_SetJob),
30123
(ndr_push_flags_fn_t) ndr_push_spoolss_SetJob,
30124
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SetJob,
30125
(ndr_print_function_t) ndr_print_spoolss_SetJob,
30130
sizeof(struct spoolss_GetJob),
30131
(ndr_push_flags_fn_t) ndr_push_spoolss_GetJob,
30132
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetJob,
30133
(ndr_print_function_t) ndr_print_spoolss_GetJob,
30137
"spoolss_EnumJobs",
30138
sizeof(struct spoolss_EnumJobs),
30139
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumJobs,
30140
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumJobs,
30141
(ndr_print_function_t) ndr_print_spoolss_EnumJobs,
30145
"spoolss_AddPrinter",
30146
sizeof(struct spoolss_AddPrinter),
30147
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinter,
30148
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinter,
30149
(ndr_print_function_t) ndr_print_spoolss_AddPrinter,
30153
"spoolss_DeletePrinter",
30154
sizeof(struct spoolss_DeletePrinter),
30155
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinter,
30156
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinter,
30157
(ndr_print_function_t) ndr_print_spoolss_DeletePrinter,
30161
"spoolss_SetPrinter",
30162
sizeof(struct spoolss_SetPrinter),
30163
(ndr_push_flags_fn_t) ndr_push_spoolss_SetPrinter,
30164
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SetPrinter,
30165
(ndr_print_function_t) ndr_print_spoolss_SetPrinter,
30169
"spoolss_GetPrinter",
30170
sizeof(struct spoolss_GetPrinter),
30171
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinter,
30172
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinter,
30173
(ndr_print_function_t) ndr_print_spoolss_GetPrinter,
30177
"spoolss_AddPrinterDriver",
30178
sizeof(struct spoolss_AddPrinterDriver),
30179
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterDriver,
30180
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterDriver,
30181
(ndr_print_function_t) ndr_print_spoolss_AddPrinterDriver,
30185
"spoolss_EnumPrinterDrivers",
30186
sizeof(struct spoolss_EnumPrinterDrivers),
30187
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterDrivers,
30188
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterDrivers,
30189
(ndr_print_function_t) ndr_print_spoolss_EnumPrinterDrivers,
30193
"spoolss_GetPrinterDriver",
30194
sizeof(struct spoolss_GetPrinterDriver),
30195
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriver,
30196
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriver,
30197
(ndr_print_function_t) ndr_print_spoolss_GetPrinterDriver,
30201
"spoolss_GetPrinterDriverDirectory",
30202
sizeof(struct spoolss_GetPrinterDriverDirectory),
30203
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriverDirectory,
30204
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriverDirectory,
30205
(ndr_print_function_t) ndr_print_spoolss_GetPrinterDriverDirectory,
30209
"spoolss_DeletePrinterDriver",
30210
sizeof(struct spoolss_DeletePrinterDriver),
30211
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterDriver,
30212
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterDriver,
30213
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterDriver,
30217
"spoolss_AddPrintProcessor",
30218
sizeof(struct spoolss_AddPrintProcessor),
30219
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrintProcessor,
30220
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrintProcessor,
30221
(ndr_print_function_t) ndr_print_spoolss_AddPrintProcessor,
30225
"spoolss_EnumPrintProcessors",
30226
sizeof(struct spoolss_EnumPrintProcessors),
30227
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrintProcessors,
30228
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrintProcessors,
30229
(ndr_print_function_t) ndr_print_spoolss_EnumPrintProcessors,
30233
"spoolss_GetPrintProcessorDirectory",
30234
sizeof(struct spoolss_GetPrintProcessorDirectory),
30235
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrintProcessorDirectory,
30236
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrintProcessorDirectory,
30237
(ndr_print_function_t) ndr_print_spoolss_GetPrintProcessorDirectory,
30241
"spoolss_StartDocPrinter",
30242
sizeof(struct spoolss_StartDocPrinter),
30243
(ndr_push_flags_fn_t) ndr_push_spoolss_StartDocPrinter,
30244
(ndr_pull_flags_fn_t) ndr_pull_spoolss_StartDocPrinter,
30245
(ndr_print_function_t) ndr_print_spoolss_StartDocPrinter,
30249
"spoolss_StartPagePrinter",
30250
sizeof(struct spoolss_StartPagePrinter),
30251
(ndr_push_flags_fn_t) ndr_push_spoolss_StartPagePrinter,
30252
(ndr_pull_flags_fn_t) ndr_pull_spoolss_StartPagePrinter,
30253
(ndr_print_function_t) ndr_print_spoolss_StartPagePrinter,
30257
"spoolss_WritePrinter",
30258
sizeof(struct spoolss_WritePrinter),
30259
(ndr_push_flags_fn_t) ndr_push_spoolss_WritePrinter,
30260
(ndr_pull_flags_fn_t) ndr_pull_spoolss_WritePrinter,
30261
(ndr_print_function_t) ndr_print_spoolss_WritePrinter,
30265
"spoolss_EndPagePrinter",
30266
sizeof(struct spoolss_EndPagePrinter),
30267
(ndr_push_flags_fn_t) ndr_push_spoolss_EndPagePrinter,
30268
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EndPagePrinter,
30269
(ndr_print_function_t) ndr_print_spoolss_EndPagePrinter,
30273
"spoolss_AbortPrinter",
30274
sizeof(struct spoolss_AbortPrinter),
30275
(ndr_push_flags_fn_t) ndr_push_spoolss_AbortPrinter,
30276
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AbortPrinter,
30277
(ndr_print_function_t) ndr_print_spoolss_AbortPrinter,
30281
"spoolss_ReadPrinter",
30282
sizeof(struct spoolss_ReadPrinter),
30283
(ndr_push_flags_fn_t) ndr_push_spoolss_ReadPrinter,
30284
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ReadPrinter,
30285
(ndr_print_function_t) ndr_print_spoolss_ReadPrinter,
30289
"spoolss_EndDocPrinter",
30290
sizeof(struct spoolss_EndDocPrinter),
30291
(ndr_push_flags_fn_t) ndr_push_spoolss_EndDocPrinter,
30292
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EndDocPrinter,
30293
(ndr_print_function_t) ndr_print_spoolss_EndDocPrinter,
30298
sizeof(struct spoolss_AddJob),
30299
(ndr_push_flags_fn_t) ndr_push_spoolss_AddJob,
30300
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddJob,
30301
(ndr_print_function_t) ndr_print_spoolss_AddJob,
30305
"spoolss_ScheduleJob",
30306
sizeof(struct spoolss_ScheduleJob),
30307
(ndr_push_flags_fn_t) ndr_push_spoolss_ScheduleJob,
30308
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ScheduleJob,
30309
(ndr_print_function_t) ndr_print_spoolss_ScheduleJob,
30313
"spoolss_GetPrinterData",
30314
sizeof(struct spoolss_GetPrinterData),
30315
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterData,
30316
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterData,
30317
(ndr_print_function_t) ndr_print_spoolss_GetPrinterData,
30321
"spoolss_SetPrinterData",
30322
sizeof(struct spoolss_SetPrinterData),
30323
(ndr_push_flags_fn_t) ndr_push_spoolss_SetPrinterData,
30324
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SetPrinterData,
30325
(ndr_print_function_t) ndr_print_spoolss_SetPrinterData,
30329
"spoolss_WaitForPrinterChange",
30330
sizeof(struct spoolss_WaitForPrinterChange),
30331
(ndr_push_flags_fn_t) ndr_push_spoolss_WaitForPrinterChange,
30332
(ndr_pull_flags_fn_t) ndr_pull_spoolss_WaitForPrinterChange,
30333
(ndr_print_function_t) ndr_print_spoolss_WaitForPrinterChange,
30337
"spoolss_ClosePrinter",
30338
sizeof(struct spoolss_ClosePrinter),
30339
(ndr_push_flags_fn_t) ndr_push_spoolss_ClosePrinter,
30340
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ClosePrinter,
30341
(ndr_print_function_t) ndr_print_spoolss_ClosePrinter,
30346
sizeof(struct spoolss_AddForm),
30347
(ndr_push_flags_fn_t) ndr_push_spoolss_AddForm,
30348
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddForm,
30349
(ndr_print_function_t) ndr_print_spoolss_AddForm,
30353
"spoolss_DeleteForm",
30354
sizeof(struct spoolss_DeleteForm),
30355
(ndr_push_flags_fn_t) ndr_push_spoolss_DeleteForm,
30356
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeleteForm,
30357
(ndr_print_function_t) ndr_print_spoolss_DeleteForm,
30362
sizeof(struct spoolss_GetForm),
30363
(ndr_push_flags_fn_t) ndr_push_spoolss_GetForm,
30364
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetForm,
30365
(ndr_print_function_t) ndr_print_spoolss_GetForm,
30370
sizeof(struct spoolss_SetForm),
30371
(ndr_push_flags_fn_t) ndr_push_spoolss_SetForm,
30372
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SetForm,
30373
(ndr_print_function_t) ndr_print_spoolss_SetForm,
30377
"spoolss_EnumForms",
30378
sizeof(struct spoolss_EnumForms),
30379
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumForms,
30380
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumForms,
30381
(ndr_print_function_t) ndr_print_spoolss_EnumForms,
30385
"spoolss_EnumPorts",
30386
sizeof(struct spoolss_EnumPorts),
30387
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPorts,
30388
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPorts,
30389
(ndr_print_function_t) ndr_print_spoolss_EnumPorts,
30393
"spoolss_EnumMonitors",
30394
sizeof(struct spoolss_EnumMonitors),
30395
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumMonitors,
30396
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumMonitors,
30397
(ndr_print_function_t) ndr_print_spoolss_EnumMonitors,
30402
sizeof(struct spoolss_AddPort),
30403
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPort,
30404
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPort,
30405
(ndr_print_function_t) ndr_print_spoolss_AddPort,
30409
"spoolss_ConfigurePort",
30410
sizeof(struct spoolss_ConfigurePort),
30411
(ndr_push_flags_fn_t) ndr_push_spoolss_ConfigurePort,
30412
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ConfigurePort,
30413
(ndr_print_function_t) ndr_print_spoolss_ConfigurePort,
30417
"spoolss_DeletePort",
30418
sizeof(struct spoolss_DeletePort),
30419
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePort,
30420
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePort,
30421
(ndr_print_function_t) ndr_print_spoolss_DeletePort,
30425
"spoolss_CreatePrinterIC",
30426
sizeof(struct spoolss_CreatePrinterIC),
30427
(ndr_push_flags_fn_t) ndr_push_spoolss_CreatePrinterIC,
30428
(ndr_pull_flags_fn_t) ndr_pull_spoolss_CreatePrinterIC,
30429
(ndr_print_function_t) ndr_print_spoolss_CreatePrinterIC,
30433
"spoolss_PlayGDIScriptOnPrinterIC",
30434
sizeof(struct spoolss_PlayGDIScriptOnPrinterIC),
30435
(ndr_push_flags_fn_t) ndr_push_spoolss_PlayGDIScriptOnPrinterIC,
30436
(ndr_pull_flags_fn_t) ndr_pull_spoolss_PlayGDIScriptOnPrinterIC,
30437
(ndr_print_function_t) ndr_print_spoolss_PlayGDIScriptOnPrinterIC,
30441
"spoolss_DeletePrinterIC",
30442
sizeof(struct spoolss_DeletePrinterIC),
30443
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterIC,
30444
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterIC,
30445
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterIC,
30449
"spoolss_AddPrinterConnection",
30450
sizeof(struct spoolss_AddPrinterConnection),
30451
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterConnection,
30452
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterConnection,
30453
(ndr_print_function_t) ndr_print_spoolss_AddPrinterConnection,
30457
"spoolss_DeletePrinterConnection",
30458
sizeof(struct spoolss_DeletePrinterConnection),
30459
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterConnection,
30460
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterConnection,
30461
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterConnection,
30465
"spoolss_PrinterMessageBox",
30466
sizeof(struct spoolss_PrinterMessageBox),
30467
(ndr_push_flags_fn_t) ndr_push_spoolss_PrinterMessageBox,
30468
(ndr_pull_flags_fn_t) ndr_pull_spoolss_PrinterMessageBox,
30469
(ndr_print_function_t) ndr_print_spoolss_PrinterMessageBox,
30473
"spoolss_AddMonitor",
30474
sizeof(struct spoolss_AddMonitor),
30475
(ndr_push_flags_fn_t) ndr_push_spoolss_AddMonitor,
30476
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddMonitor,
30477
(ndr_print_function_t) ndr_print_spoolss_AddMonitor,
30481
"spoolss_DeleteMonitor",
30482
sizeof(struct spoolss_DeleteMonitor),
30483
(ndr_push_flags_fn_t) ndr_push_spoolss_DeleteMonitor,
30484
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeleteMonitor,
30485
(ndr_print_function_t) ndr_print_spoolss_DeleteMonitor,
30489
"spoolss_DeletePrintProcessor",
30490
sizeof(struct spoolss_DeletePrintProcessor),
30491
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrintProcessor,
30492
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrintProcessor,
30493
(ndr_print_function_t) ndr_print_spoolss_DeletePrintProcessor,
30497
"spoolss_AddPrintProvidor",
30498
sizeof(struct spoolss_AddPrintProvidor),
30499
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrintProvidor,
30500
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrintProvidor,
30501
(ndr_print_function_t) ndr_print_spoolss_AddPrintProvidor,
30505
"spoolss_DeletePrintProvidor",
30506
sizeof(struct spoolss_DeletePrintProvidor),
30507
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrintProvidor,
30508
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrintProvidor,
30509
(ndr_print_function_t) ndr_print_spoolss_DeletePrintProvidor,
30513
"spoolss_EnumPrintProcDataTypes",
30514
sizeof(struct spoolss_EnumPrintProcDataTypes),
30515
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrintProcDataTypes,
30516
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrintProcDataTypes,
30517
(ndr_print_function_t) ndr_print_spoolss_EnumPrintProcDataTypes,
30521
"spoolss_ResetPrinter",
30522
sizeof(struct spoolss_ResetPrinter),
30523
(ndr_push_flags_fn_t) ndr_push_spoolss_ResetPrinter,
30524
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ResetPrinter,
30525
(ndr_print_function_t) ndr_print_spoolss_ResetPrinter,
30529
"spoolss_GetPrinterDriver2",
30530
sizeof(struct spoolss_GetPrinterDriver2),
30531
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriver2,
30532
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriver2,
30533
(ndr_print_function_t) ndr_print_spoolss_GetPrinterDriver2,
30537
"spoolss_FindFirstPrinterChangeNotification",
30538
sizeof(struct spoolss_FindFirstPrinterChangeNotification),
30539
(ndr_push_flags_fn_t) ndr_push_spoolss_FindFirstPrinterChangeNotification,
30540
(ndr_pull_flags_fn_t) ndr_pull_spoolss_FindFirstPrinterChangeNotification,
30541
(ndr_print_function_t) ndr_print_spoolss_FindFirstPrinterChangeNotification,
30545
"spoolss_FindNextPrinterChangeNotification",
30546
sizeof(struct spoolss_FindNextPrinterChangeNotification),
30547
(ndr_push_flags_fn_t) ndr_push_spoolss_FindNextPrinterChangeNotification,
30548
(ndr_pull_flags_fn_t) ndr_pull_spoolss_FindNextPrinterChangeNotification,
30549
(ndr_print_function_t) ndr_print_spoolss_FindNextPrinterChangeNotification,
30553
"spoolss_FindClosePrinterNotify",
30554
sizeof(struct spoolss_FindClosePrinterNotify),
30555
(ndr_push_flags_fn_t) ndr_push_spoolss_FindClosePrinterNotify,
30556
(ndr_pull_flags_fn_t) ndr_pull_spoolss_FindClosePrinterNotify,
30557
(ndr_print_function_t) ndr_print_spoolss_FindClosePrinterNotify,
30561
"spoolss_RouterFindFirstPrinterChangeNotificationOld",
30562
sizeof(struct spoolss_RouterFindFirstPrinterChangeNotificationOld),
30563
(ndr_push_flags_fn_t) ndr_push_spoolss_RouterFindFirstPrinterChangeNotificationOld,
30564
(ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterFindFirstPrinterChangeNotificationOld,
30565
(ndr_print_function_t) ndr_print_spoolss_RouterFindFirstPrinterChangeNotificationOld,
30569
"spoolss_ReplyOpenPrinter",
30570
sizeof(struct spoolss_ReplyOpenPrinter),
30571
(ndr_push_flags_fn_t) ndr_push_spoolss_ReplyOpenPrinter,
30572
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ReplyOpenPrinter,
30573
(ndr_print_function_t) ndr_print_spoolss_ReplyOpenPrinter,
30577
"spoolss_RouterReplyPrinter",
30578
sizeof(struct spoolss_RouterReplyPrinter),
30579
(ndr_push_flags_fn_t) ndr_push_spoolss_RouterReplyPrinter,
30580
(ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterReplyPrinter,
30581
(ndr_print_function_t) ndr_print_spoolss_RouterReplyPrinter,
30585
"spoolss_ReplyClosePrinter",
30586
sizeof(struct spoolss_ReplyClosePrinter),
30587
(ndr_push_flags_fn_t) ndr_push_spoolss_ReplyClosePrinter,
30588
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ReplyClosePrinter,
30589
(ndr_print_function_t) ndr_print_spoolss_ReplyClosePrinter,
30593
"spoolss_AddPortEx",
30594
sizeof(struct spoolss_AddPortEx),
30595
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPortEx,
30596
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPortEx,
30597
(ndr_print_function_t) ndr_print_spoolss_AddPortEx,
30601
"spoolss_RouterFindFirstPrinterChangeNotification",
30602
sizeof(struct spoolss_RouterFindFirstPrinterChangeNotification),
30603
(ndr_push_flags_fn_t) ndr_push_spoolss_RouterFindFirstPrinterChangeNotification,
30604
(ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterFindFirstPrinterChangeNotification,
30605
(ndr_print_function_t) ndr_print_spoolss_RouterFindFirstPrinterChangeNotification,
30609
"spoolss_SpoolerInit",
30610
sizeof(struct spoolss_SpoolerInit),
30611
(ndr_push_flags_fn_t) ndr_push_spoolss_SpoolerInit,
30612
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SpoolerInit,
30613
(ndr_print_function_t) ndr_print_spoolss_SpoolerInit,
30617
"spoolss_ResetPrinterEx",
30618
sizeof(struct spoolss_ResetPrinterEx),
30619
(ndr_push_flags_fn_t) ndr_push_spoolss_ResetPrinterEx,
30620
(ndr_pull_flags_fn_t) ndr_pull_spoolss_ResetPrinterEx,
30621
(ndr_print_function_t) ndr_print_spoolss_ResetPrinterEx,
30625
"spoolss_RemoteFindFirstPrinterChangeNotifyEx",
30626
sizeof(struct spoolss_RemoteFindFirstPrinterChangeNotifyEx),
30627
(ndr_push_flags_fn_t) ndr_push_spoolss_RemoteFindFirstPrinterChangeNotifyEx,
30628
(ndr_pull_flags_fn_t) ndr_pull_spoolss_RemoteFindFirstPrinterChangeNotifyEx,
30629
(ndr_print_function_t) ndr_print_spoolss_RemoteFindFirstPrinterChangeNotifyEx,
30633
"spoolss_RouterReplyPrinterEx",
30634
sizeof(struct spoolss_RouterReplyPrinterEx),
30635
(ndr_push_flags_fn_t) ndr_push_spoolss_RouterReplyPrinterEx,
30636
(ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterReplyPrinterEx,
30637
(ndr_print_function_t) ndr_print_spoolss_RouterReplyPrinterEx,
30641
"spoolss_RouterRefreshPrinterChangeNotify",
30642
sizeof(struct spoolss_RouterRefreshPrinterChangeNotify),
30643
(ndr_push_flags_fn_t) ndr_push_spoolss_RouterRefreshPrinterChangeNotify,
30644
(ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterRefreshPrinterChangeNotify,
30645
(ndr_print_function_t) ndr_print_spoolss_RouterRefreshPrinterChangeNotify,
30650
sizeof(struct spoolss_44),
30651
(ndr_push_flags_fn_t) ndr_push_spoolss_44,
30652
(ndr_pull_flags_fn_t) ndr_pull_spoolss_44,
30653
(ndr_print_function_t) ndr_print_spoolss_44,
30657
"spoolss_OpenPrinterEx",
30658
sizeof(struct spoolss_OpenPrinterEx),
30659
(ndr_push_flags_fn_t) ndr_push_spoolss_OpenPrinterEx,
30660
(ndr_pull_flags_fn_t) ndr_pull_spoolss_OpenPrinterEx,
30661
(ndr_print_function_t) ndr_print_spoolss_OpenPrinterEx,
30665
"spoolss_AddPrinterEx",
30666
sizeof(struct spoolss_AddPrinterEx),
30667
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterEx,
30668
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterEx,
30669
(ndr_print_function_t) ndr_print_spoolss_AddPrinterEx,
30674
sizeof(struct spoolss_47),
30675
(ndr_push_flags_fn_t) ndr_push_spoolss_47,
30676
(ndr_pull_flags_fn_t) ndr_pull_spoolss_47,
30677
(ndr_print_function_t) ndr_print_spoolss_47,
30681
"spoolss_EnumPrinterData",
30682
sizeof(struct spoolss_EnumPrinterData),
30683
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterData,
30684
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterData,
30685
(ndr_print_function_t) ndr_print_spoolss_EnumPrinterData,
30689
"spoolss_DeletePrinterData",
30690
sizeof(struct spoolss_DeletePrinterData),
30691
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterData,
30692
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterData,
30693
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterData,
30698
sizeof(struct spoolss_4a),
30699
(ndr_push_flags_fn_t) ndr_push_spoolss_4a,
30700
(ndr_pull_flags_fn_t) ndr_pull_spoolss_4a,
30701
(ndr_print_function_t) ndr_print_spoolss_4a,
30706
sizeof(struct spoolss_4b),
30707
(ndr_push_flags_fn_t) ndr_push_spoolss_4b,
30708
(ndr_pull_flags_fn_t) ndr_pull_spoolss_4b,
30709
(ndr_print_function_t) ndr_print_spoolss_4b,
30714
sizeof(struct spoolss_4c),
30715
(ndr_push_flags_fn_t) ndr_push_spoolss_4c,
30716
(ndr_pull_flags_fn_t) ndr_pull_spoolss_4c,
30717
(ndr_print_function_t) ndr_print_spoolss_4c,
30721
"spoolss_SetPrinterDataEx",
30722
sizeof(struct spoolss_SetPrinterDataEx),
30723
(ndr_push_flags_fn_t) ndr_push_spoolss_SetPrinterDataEx,
30724
(ndr_pull_flags_fn_t) ndr_pull_spoolss_SetPrinterDataEx,
30725
(ndr_print_function_t) ndr_print_spoolss_SetPrinterDataEx,
30729
"spoolss_GetPrinterDataEx",
30730
sizeof(struct spoolss_GetPrinterDataEx),
30731
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDataEx,
30732
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDataEx,
30733
(ndr_print_function_t) ndr_print_spoolss_GetPrinterDataEx,
30737
"spoolss_EnumPrinterDataEx",
30738
sizeof(struct spoolss_EnumPrinterDataEx),
30739
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterDataEx,
30740
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterDataEx,
30741
(ndr_print_function_t) ndr_print_spoolss_EnumPrinterDataEx,
30745
"spoolss_EnumPrinterKey",
30746
sizeof(struct spoolss_EnumPrinterKey),
30747
(ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterKey,
30748
(ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterKey,
30749
(ndr_print_function_t) ndr_print_spoolss_EnumPrinterKey,
30753
"spoolss_DeletePrinterDataEx",
30754
sizeof(struct spoolss_DeletePrinterDataEx),
30755
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterDataEx,
30756
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterDataEx,
30757
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterDataEx,
30761
"spoolss_DeletePrinterKey",
30762
sizeof(struct spoolss_DeletePrinterKey),
30763
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterKey,
30764
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterKey,
30765
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterKey,
30770
sizeof(struct spoolss_53),
30771
(ndr_push_flags_fn_t) ndr_push_spoolss_53,
30772
(ndr_pull_flags_fn_t) ndr_pull_spoolss_53,
30773
(ndr_print_function_t) ndr_print_spoolss_53,
30777
"spoolss_DeletePrinterDriverEx",
30778
sizeof(struct spoolss_DeletePrinterDriverEx),
30779
(ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterDriverEx,
30780
(ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterDriverEx,
30781
(ndr_print_function_t) ndr_print_spoolss_DeletePrinterDriverEx,
30786
sizeof(struct spoolss_55),
30787
(ndr_push_flags_fn_t) ndr_push_spoolss_55,
30788
(ndr_pull_flags_fn_t) ndr_pull_spoolss_55,
30789
(ndr_print_function_t) ndr_print_spoolss_55,
30794
sizeof(struct spoolss_56),
30795
(ndr_push_flags_fn_t) ndr_push_spoolss_56,
30796
(ndr_pull_flags_fn_t) ndr_pull_spoolss_56,
30797
(ndr_print_function_t) ndr_print_spoolss_56,
30802
sizeof(struct spoolss_57),
30803
(ndr_push_flags_fn_t) ndr_push_spoolss_57,
30804
(ndr_pull_flags_fn_t) ndr_pull_spoolss_57,
30805
(ndr_print_function_t) ndr_print_spoolss_57,
30810
sizeof(struct spoolss_XcvData),
30811
(ndr_push_flags_fn_t) ndr_push_spoolss_XcvData,
30812
(ndr_pull_flags_fn_t) ndr_pull_spoolss_XcvData,
30813
(ndr_print_function_t) ndr_print_spoolss_XcvData,
30817
"spoolss_AddPrinterDriverEx",
30818
sizeof(struct spoolss_AddPrinterDriverEx),
30819
(ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterDriverEx,
30820
(ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterDriverEx,
30821
(ndr_print_function_t) ndr_print_spoolss_AddPrinterDriverEx,
30826
sizeof(struct spoolss_5a),
30827
(ndr_push_flags_fn_t) ndr_push_spoolss_5a,
30828
(ndr_pull_flags_fn_t) ndr_pull_spoolss_5a,
30829
(ndr_print_function_t) ndr_print_spoolss_5a,
30834
sizeof(struct spoolss_5b),
30835
(ndr_push_flags_fn_t) ndr_push_spoolss_5b,
30836
(ndr_pull_flags_fn_t) ndr_pull_spoolss_5b,
30837
(ndr_print_function_t) ndr_print_spoolss_5b,
30842
sizeof(struct spoolss_5c),
30843
(ndr_push_flags_fn_t) ndr_push_spoolss_5c,
30844
(ndr_pull_flags_fn_t) ndr_pull_spoolss_5c,
30845
(ndr_print_function_t) ndr_print_spoolss_5c,
30850
sizeof(struct spoolss_5d),
30851
(ndr_push_flags_fn_t) ndr_push_spoolss_5d,
30852
(ndr_pull_flags_fn_t) ndr_pull_spoolss_5d,
30853
(ndr_print_function_t) ndr_print_spoolss_5d,
30858
sizeof(struct spoolss_5e),
30859
(ndr_push_flags_fn_t) ndr_push_spoolss_5e,
30860
(ndr_pull_flags_fn_t) ndr_pull_spoolss_5e,
30861
(ndr_print_function_t) ndr_print_spoolss_5e,
30866
sizeof(struct spoolss_5f),
30867
(ndr_push_flags_fn_t) ndr_push_spoolss_5f,
30868
(ndr_pull_flags_fn_t) ndr_pull_spoolss_5f,
30869
(ndr_print_function_t) ndr_print_spoolss_5f,
30874
sizeof(struct spoolss_60),
30875
(ndr_push_flags_fn_t) ndr_push_spoolss_60,
30876
(ndr_pull_flags_fn_t) ndr_pull_spoolss_60,
30877
(ndr_print_function_t) ndr_print_spoolss_60,
30882
sizeof(struct spoolss_61),
30883
(ndr_push_flags_fn_t) ndr_push_spoolss_61,
30884
(ndr_pull_flags_fn_t) ndr_pull_spoolss_61,
30885
(ndr_print_function_t) ndr_print_spoolss_61,
30890
sizeof(struct spoolss_62),
30891
(ndr_push_flags_fn_t) ndr_push_spoolss_62,
30892
(ndr_pull_flags_fn_t) ndr_pull_spoolss_62,
30893
(ndr_print_function_t) ndr_print_spoolss_62,
30898
sizeof(struct spoolss_63),
30899
(ndr_push_flags_fn_t) ndr_push_spoolss_63,
30900
(ndr_pull_flags_fn_t) ndr_pull_spoolss_63,
30901
(ndr_print_function_t) ndr_print_spoolss_63,
30906
sizeof(struct spoolss_64),
30907
(ndr_push_flags_fn_t) ndr_push_spoolss_64,
30908
(ndr_pull_flags_fn_t) ndr_pull_spoolss_64,
30909
(ndr_print_function_t) ndr_print_spoolss_64,
30914
sizeof(struct spoolss_65),
30915
(ndr_push_flags_fn_t) ndr_push_spoolss_65,
30916
(ndr_pull_flags_fn_t) ndr_pull_spoolss_65,
30917
(ndr_print_function_t) ndr_print_spoolss_65,
30921
"spoolss_GetCorePrinterDrivers",
30922
sizeof(struct spoolss_GetCorePrinterDrivers),
30923
(ndr_push_flags_fn_t) ndr_push_spoolss_GetCorePrinterDrivers,
30924
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetCorePrinterDrivers,
30925
(ndr_print_function_t) ndr_print_spoolss_GetCorePrinterDrivers,
30930
sizeof(struct spoolss_67),
30931
(ndr_push_flags_fn_t) ndr_push_spoolss_67,
30932
(ndr_pull_flags_fn_t) ndr_pull_spoolss_67,
30933
(ndr_print_function_t) ndr_print_spoolss_67,
30937
"spoolss_GetPrinterDriverPackagePath",
30938
sizeof(struct spoolss_GetPrinterDriverPackagePath),
30939
(ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriverPackagePath,
30940
(ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriverPackagePath,
30941
(ndr_print_function_t) ndr_print_spoolss_GetPrinterDriverPackagePath,
30946
sizeof(struct spoolss_69),
30947
(ndr_push_flags_fn_t) ndr_push_spoolss_69,
30948
(ndr_pull_flags_fn_t) ndr_pull_spoolss_69,
30949
(ndr_print_function_t) ndr_print_spoolss_69,
30954
sizeof(struct spoolss_6a),
30955
(ndr_push_flags_fn_t) ndr_push_spoolss_6a,
30956
(ndr_pull_flags_fn_t) ndr_pull_spoolss_6a,
30957
(ndr_print_function_t) ndr_print_spoolss_6a,
30962
sizeof(struct spoolss_6b),
30963
(ndr_push_flags_fn_t) ndr_push_spoolss_6b,
30964
(ndr_pull_flags_fn_t) ndr_pull_spoolss_6b,
30965
(ndr_print_function_t) ndr_print_spoolss_6b,
30970
sizeof(struct spoolss_6c),
30971
(ndr_push_flags_fn_t) ndr_push_spoolss_6c,
30972
(ndr_pull_flags_fn_t) ndr_pull_spoolss_6c,
30973
(ndr_print_function_t) ndr_print_spoolss_6c,
30978
sizeof(struct spoolss_6d),
30979
(ndr_push_flags_fn_t) ndr_push_spoolss_6d,
30980
(ndr_pull_flags_fn_t) ndr_pull_spoolss_6d,
30981
(ndr_print_function_t) ndr_print_spoolss_6d,
30984
{ NULL, 0, NULL, NULL, NULL, false }
30987
static const char * const spoolss_endpoint_strings[] = {
30988
"ncacn_np:[\\pipe\\spoolss]",
30991
static const struct ndr_interface_string_array spoolss_endpoints = {
30993
.names = spoolss_endpoint_strings
30996
static const char * const spoolss_authservice_strings[] = {
31000
static const struct ndr_interface_string_array spoolss_authservices = {
31002
.names = spoolss_authservice_strings
31006
const struct ndr_interface_table ndr_table_spoolss = {
31009
{0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xab}},
31010
NDR_SPOOLSS_VERSION
31012
.helpstring = NDR_SPOOLSS_HELPSTRING,
31014
.calls = spoolss_calls,
31015
.endpoints = &spoolss_endpoints,
31016
.authservices = &spoolss_authservices