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));
22 if (ndr_flags & NDR_BUFFERS) {
24 return NDR_ERR_SUCCESS;
27 static enum ndr_err_code ndr_pull_spoolss_Time(struct ndr_pull *ndr, int ndr_flags, struct spoolss_Time *r)
29 if (ndr_flags & NDR_SCALARS) {
30 NDR_CHECK(ndr_pull_align(ndr, 2));
31 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->year));
32 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->month));
33 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->day_of_week));
34 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->day));
35 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->hour));
36 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->minute));
37 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->second));
38 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->millisecond));
40 if (ndr_flags & NDR_BUFFERS) {
42 return NDR_ERR_SUCCESS;
45 _PUBLIC_ void ndr_print_spoolss_Time(struct ndr_print *ndr, const char *name, const struct spoolss_Time *r)
47 ndr_print_struct(ndr, name, "spoolss_Time");
49 ndr_print_uint16(ndr, "year", r->year);
50 ndr_print_uint16(ndr, "month", r->month);
51 ndr_print_uint16(ndr, "day_of_week", r->day_of_week);
52 ndr_print_uint16(ndr, "day", r->day);
53 ndr_print_uint16(ndr, "hour", r->hour);
54 ndr_print_uint16(ndr, "minute", r->minute);
55 ndr_print_uint16(ndr, "second", r->second);
56 ndr_print_uint16(ndr, "millisecond", r->millisecond);
60 static enum ndr_err_code ndr_push_spoolss_PrinterInfo0(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo0 *r)
62 if (ndr_flags & NDR_SCALARS) {
63 NDR_CHECK(ndr_push_align(ndr, 4));
65 uint32_t _flags_save_string = ndr->flags;
66 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
67 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername));
68 ndr->flags = _flags_save_string;
71 uint32_t _flags_save_string = ndr->flags;
72 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
73 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->servername));
74 ndr->flags = _flags_save_string;
76 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cjobs));
77 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_jobs));
78 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_bytes));
79 NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->time));
80 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->global_counter));
81 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
82 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
83 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown10));
84 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown11));
85 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown12));
86 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_counter));
87 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown14));
88 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->printer_errors));
89 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown16));
90 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown17));
91 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown18));
92 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown19));
93 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->change_id));
94 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown21));
95 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->status));
96 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown23));
97 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->c_setprinter));
98 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown25));
99 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown26));
100 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown27));
101 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown28));
102 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown29));
104 if (ndr_flags & NDR_BUFFERS) {
106 uint32_t _flags_save_string = ndr->flags;
107 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
108 if (r->printername) {
109 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printername));
110 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
112 ndr->flags = _flags_save_string;
115 uint32_t _flags_save_string = ndr->flags;
116 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
118 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->servername));
119 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername));
121 ndr->flags = _flags_save_string;
124 return NDR_ERR_SUCCESS;
127 static enum ndr_err_code ndr_pull_spoolss_PrinterInfo0(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo0 *r)
129 uint32_t _ptr_printername;
130 TALLOC_CTX *_mem_save_printername_0;
131 uint32_t _ptr_servername;
132 TALLOC_CTX *_mem_save_servername_0;
133 if (ndr_flags & NDR_SCALARS) {
134 NDR_CHECK(ndr_pull_align(ndr, 4));
136 uint32_t _flags_save_string = ndr->flags;
137 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
138 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
139 if (_ptr_printername) {
140 NDR_PULL_ALLOC(ndr, r->printername);
141 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername));
143 r->printername = NULL;
145 ndr->flags = _flags_save_string;
148 uint32_t _flags_save_string = ndr->flags;
149 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
150 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
151 if (_ptr_servername) {
152 NDR_PULL_ALLOC(ndr, r->servername);
153 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->servername, _ptr_servername));
155 r->servername = NULL;
157 ndr->flags = _flags_save_string;
159 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs));
160 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_jobs));
161 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_bytes));
162 NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->time));
163 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->global_counter));
164 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
165 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
166 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown10));
167 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown11));
168 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown12));
169 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_counter));
170 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown14));
171 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->printer_errors));
172 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown16));
173 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown17));
174 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown18));
175 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown19));
176 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->change_id));
177 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown21));
178 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->status));
179 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown23));
180 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->c_setprinter));
181 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown25));
182 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown26));
183 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown27));
184 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown28));
185 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown29));
187 if (ndr_flags & NDR_BUFFERS) {
189 uint32_t _flags_save_string = ndr->flags;
190 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
191 if (r->printername) {
192 uint32_t _relative_save_offset;
193 _relative_save_offset = ndr->offset;
194 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername));
195 _mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
196 NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
197 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
198 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
199 ndr->offset = _relative_save_offset;
201 ndr->flags = _flags_save_string;
204 uint32_t _flags_save_string = ndr->flags;
205 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
207 uint32_t _relative_save_offset;
208 _relative_save_offset = ndr->offset;
209 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->servername));
210 _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
211 NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
212 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername));
213 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
214 ndr->offset = _relative_save_offset;
216 ndr->flags = _flags_save_string;
219 return NDR_ERR_SUCCESS;
222 _PUBLIC_ void ndr_print_spoolss_PrinterInfo0(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo0 *r)
224 ndr_print_struct(ndr, name, "spoolss_PrinterInfo0");
226 ndr_print_ptr(ndr, "printername", r->printername);
228 if (r->printername) {
229 ndr_print_string(ndr, "printername", r->printername);
232 ndr_print_ptr(ndr, "servername", r->servername);
235 ndr_print_string(ndr, "servername", r->servername);
238 ndr_print_uint32(ndr, "cjobs", r->cjobs);
239 ndr_print_uint32(ndr, "total_jobs", r->total_jobs);
240 ndr_print_uint32(ndr, "total_bytes", r->total_bytes);
241 ndr_print_spoolss_Time(ndr, "time", &r->time);
242 ndr_print_uint32(ndr, "global_counter", r->global_counter);
243 ndr_print_uint32(ndr, "total_pages", r->total_pages);
244 ndr_print_uint32(ndr, "version", r->version);
245 ndr_print_uint32(ndr, "unknown10", r->unknown10);
246 ndr_print_uint32(ndr, "unknown11", r->unknown11);
247 ndr_print_uint32(ndr, "unknown12", r->unknown12);
248 ndr_print_uint32(ndr, "session_counter", r->session_counter);
249 ndr_print_uint32(ndr, "unknown14", r->unknown14);
250 ndr_print_uint32(ndr, "printer_errors", r->printer_errors);
251 ndr_print_uint32(ndr, "unknown16", r->unknown16);
252 ndr_print_uint32(ndr, "unknown17", r->unknown17);
253 ndr_print_uint32(ndr, "unknown18", r->unknown18);
254 ndr_print_uint32(ndr, "unknown19", r->unknown19);
255 ndr_print_uint32(ndr, "change_id", r->change_id);
256 ndr_print_uint32(ndr, "unknown21", r->unknown21);
257 ndr_print_uint32(ndr, "status", r->status);
258 ndr_print_uint32(ndr, "unknown23", r->unknown23);
259 ndr_print_uint32(ndr, "c_setprinter", r->c_setprinter);
260 ndr_print_uint16(ndr, "unknown25", r->unknown25);
261 ndr_print_uint16(ndr, "unknown26", r->unknown26);
262 ndr_print_uint32(ndr, "unknown27", r->unknown27);
263 ndr_print_uint32(ndr, "unknown28", r->unknown28);
264 ndr_print_uint32(ndr, "unknown29", r->unknown29);
268 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DeviceMode(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DeviceMode *r)
270 if (ndr_flags & NDR_SCALARS) {
271 NDR_CHECK(ndr_push_align(ndr, 4));
272 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->devicename, 32, sizeof(uint16_t), CH_UTF16));
273 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->specversion));
274 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->driverversion));
275 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
276 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->driverextra_data.length));
277 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->fields));
278 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->orientation));
279 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->papersize));
280 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->paperlength));
281 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->paperwidth));
282 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->scale));
283 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->copies));
284 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->defaultsource));
285 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->printquality));
286 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->color));
287 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->duplex));
288 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->yresolution));
289 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ttoption));
290 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->collate));
291 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->formname, 32, sizeof(uint16_t), CH_UTF16));
292 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logpixels));
293 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bitsperpel));
294 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pelswidth));
295 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pelsheight));
296 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->displayflags));
297 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->displayfrequency));
298 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->icmmethod));
299 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->icmintent));
300 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->mediatype));
301 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dithertype));
302 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved1));
303 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved2));
304 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->panningwidth));
305 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->panningheight));
307 uint32_t _flags_save_DATA_BLOB = ndr->flags;
308 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
310 struct ndr_push *_ndr_driverextra_data;
311 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_driverextra_data, 0, r->driverextra_data.length));
312 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_driverextra_data, NDR_SCALARS, r->driverextra_data));
313 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_driverextra_data, 0, r->driverextra_data.length));
315 ndr->flags = _flags_save_DATA_BLOB;
318 if (ndr_flags & NDR_BUFFERS) {
320 return NDR_ERR_SUCCESS;
323 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DeviceMode(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DeviceMode *r)
325 if (ndr_flags & NDR_SCALARS) {
326 NDR_CHECK(ndr_pull_align(ndr, 4));
327 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->devicename, 32, sizeof(uint16_t), CH_UTF16));
328 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->specversion));
329 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->driverversion));
330 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
331 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->__driverextra_length));
332 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->fields));
333 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->orientation));
334 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->papersize));
335 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->paperlength));
336 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->paperwidth));
337 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->scale));
338 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->copies));
339 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->defaultsource));
340 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->printquality));
341 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->color));
342 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->duplex));
343 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->yresolution));
344 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ttoption));
345 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->collate));
346 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->formname, 32, sizeof(uint16_t), CH_UTF16));
347 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logpixels));
348 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bitsperpel));
349 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pelswidth));
350 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pelsheight));
351 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->displayflags));
352 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->displayfrequency));
353 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->icmmethod));
354 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->icmintent));
355 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->mediatype));
356 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dithertype));
357 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
358 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
359 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->panningwidth));
360 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->panningheight));
362 uint32_t _flags_save_DATA_BLOB = ndr->flags;
363 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
365 struct ndr_pull *_ndr_driverextra_data;
366 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_driverextra_data, 0, r->__driverextra_length));
367 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_driverextra_data, NDR_SCALARS, &r->driverextra_data));
368 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_driverextra_data, 0, r->__driverextra_length));
370 ndr->flags = _flags_save_DATA_BLOB;
373 if (ndr_flags & NDR_BUFFERS) {
375 return NDR_ERR_SUCCESS;
378 _PUBLIC_ void ndr_print_spoolss_DeviceMode(struct ndr_print *ndr, const char *name, const struct spoolss_DeviceMode *r)
380 ndr_print_struct(ndr, name, "spoolss_DeviceMode");
382 ndr_print_string(ndr, "devicename", r->devicename);
383 ndr_print_uint16(ndr, "specversion", r->specversion);
384 ndr_print_uint16(ndr, "driverversion", r->driverversion);
385 ndr_print_uint16(ndr, "size", r->size);
386 ndr_print_uint16(ndr, "__driverextra_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->driverextra_data.length:r->__driverextra_length);
387 ndr_print_uint32(ndr, "fields", r->fields);
388 ndr_print_uint16(ndr, "orientation", r->orientation);
389 ndr_print_uint16(ndr, "papersize", r->papersize);
390 ndr_print_uint16(ndr, "paperlength", r->paperlength);
391 ndr_print_uint16(ndr, "paperwidth", r->paperwidth);
392 ndr_print_uint16(ndr, "scale", r->scale);
393 ndr_print_uint16(ndr, "copies", r->copies);
394 ndr_print_uint16(ndr, "defaultsource", r->defaultsource);
395 ndr_print_uint16(ndr, "printquality", r->printquality);
396 ndr_print_uint16(ndr, "color", r->color);
397 ndr_print_uint16(ndr, "duplex", r->duplex);
398 ndr_print_uint16(ndr, "yresolution", r->yresolution);
399 ndr_print_uint16(ndr, "ttoption", r->ttoption);
400 ndr_print_uint16(ndr, "collate", r->collate);
401 ndr_print_string(ndr, "formname", r->formname);
402 ndr_print_uint16(ndr, "logpixels", r->logpixels);
403 ndr_print_uint32(ndr, "bitsperpel", r->bitsperpel);
404 ndr_print_uint32(ndr, "pelswidth", r->pelswidth);
405 ndr_print_uint32(ndr, "pelsheight", r->pelsheight);
406 ndr_print_uint32(ndr, "displayflags", r->displayflags);
407 ndr_print_uint32(ndr, "displayfrequency", r->displayfrequency);
408 ndr_print_uint32(ndr, "icmmethod", r->icmmethod);
409 ndr_print_uint32(ndr, "icmintent", r->icmintent);
410 ndr_print_uint32(ndr, "mediatype", r->mediatype);
411 ndr_print_uint32(ndr, "dithertype", r->dithertype);
412 ndr_print_uint32(ndr, "reserved1", r->reserved1);
413 ndr_print_uint32(ndr, "reserved2", r->reserved2);
414 ndr_print_uint32(ndr, "panningwidth", r->panningwidth);
415 ndr_print_uint32(ndr, "panningheight", r->panningheight);
416 ndr_print_DATA_BLOB(ndr, "driverextra_data", r->driverextra_data);
420 _PUBLIC_ size_t ndr_size_spoolss_DeviceMode(const struct spoolss_DeviceMode *r, struct smb_iconv_convenience *ic, int flags)
422 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DeviceMode, ic);
425 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_EnumPrinterFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
427 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
428 return NDR_ERR_SUCCESS;
431 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_EnumPrinterFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
434 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
436 return NDR_ERR_SUCCESS;
439 _PUBLIC_ void ndr_print_spoolss_EnumPrinterFlags(struct ndr_print *ndr, const char *name, uint32_t r)
441 ndr_print_uint32(ndr, name, r);
443 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_DEFAULT", PRINTER_ENUM_DEFAULT, r);
444 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_LOCAL", PRINTER_ENUM_LOCAL, r);
445 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_CONNECTIONS", PRINTER_ENUM_CONNECTIONS, r);
446 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_FAVORITE", PRINTER_ENUM_FAVORITE, r);
447 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_NAME", PRINTER_ENUM_NAME, r);
448 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_REMOTE", PRINTER_ENUM_REMOTE, r);
449 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_SHARED", PRINTER_ENUM_SHARED, r);
450 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_NETWORK", PRINTER_ENUM_NETWORK, r);
451 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_EXPAND", PRINTER_ENUM_EXPAND, r);
452 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_CONTAINER", PRINTER_ENUM_CONTAINER, r);
453 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON1", PRINTER_ENUM_ICON1, r);
454 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON2", PRINTER_ENUM_ICON2, r);
455 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON3", PRINTER_ENUM_ICON3, r);
456 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON4", PRINTER_ENUM_ICON4, r);
457 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON5", PRINTER_ENUM_ICON5, r);
458 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON6", PRINTER_ENUM_ICON6, r);
459 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON7", PRINTER_ENUM_ICON7, r);
460 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON8", PRINTER_ENUM_ICON8, r);
461 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_HIDE", PRINTER_ENUM_HIDE, r);
465 static enum ndr_err_code ndr_push_spoolss_PrinterInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo1 *r)
467 if (ndr_flags & NDR_SCALARS) {
468 NDR_CHECK(ndr_push_align(ndr, 4));
469 NDR_CHECK(ndr_push_spoolss_EnumPrinterFlags(ndr, NDR_SCALARS, r->flags));
471 uint32_t _flags_save_string = ndr->flags;
472 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
473 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->name));
474 ndr->flags = _flags_save_string;
477 uint32_t _flags_save_string = ndr->flags;
478 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
479 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->description));
480 ndr->flags = _flags_save_string;
483 uint32_t _flags_save_string = ndr->flags;
484 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
485 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->comment));
486 ndr->flags = _flags_save_string;
489 if (ndr_flags & NDR_BUFFERS) {
491 uint32_t _flags_save_string = ndr->flags;
492 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
494 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->name));
495 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name));
497 ndr->flags = _flags_save_string;
500 uint32_t _flags_save_string = ndr->flags;
501 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
502 if (r->description) {
503 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->description));
504 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description));
506 ndr->flags = _flags_save_string;
509 uint32_t _flags_save_string = ndr->flags;
510 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
512 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->comment));
513 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->comment));
515 ndr->flags = _flags_save_string;
518 return NDR_ERR_SUCCESS;
521 static enum ndr_err_code ndr_pull_spoolss_PrinterInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo1 *r)
524 TALLOC_CTX *_mem_save_name_0;
525 uint32_t _ptr_description;
526 TALLOC_CTX *_mem_save_description_0;
527 uint32_t _ptr_comment;
528 TALLOC_CTX *_mem_save_comment_0;
529 if (ndr_flags & NDR_SCALARS) {
530 NDR_CHECK(ndr_pull_align(ndr, 4));
531 NDR_CHECK(ndr_pull_spoolss_EnumPrinterFlags(ndr, NDR_SCALARS, &r->flags));
533 uint32_t _flags_save_string = ndr->flags;
534 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
535 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
537 NDR_PULL_ALLOC(ndr, r->name);
538 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->name, _ptr_name));
542 ndr->flags = _flags_save_string;
545 uint32_t _flags_save_string = ndr->flags;
546 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
547 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description));
548 if (_ptr_description) {
549 NDR_PULL_ALLOC(ndr, r->description);
550 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->description, _ptr_description));
552 r->description = NULL;
554 ndr->flags = _flags_save_string;
557 uint32_t _flags_save_string = ndr->flags;
558 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
559 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
561 NDR_PULL_ALLOC(ndr, r->comment);
562 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->comment, _ptr_comment));
566 ndr->flags = _flags_save_string;
569 if (ndr_flags & NDR_BUFFERS) {
571 uint32_t _flags_save_string = ndr->flags;
572 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
574 uint32_t _relative_save_offset;
575 _relative_save_offset = ndr->offset;
576 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->name));
577 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
578 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
579 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name));
580 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
581 ndr->offset = _relative_save_offset;
583 ndr->flags = _flags_save_string;
586 uint32_t _flags_save_string = ndr->flags;
587 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
588 if (r->description) {
589 uint32_t _relative_save_offset;
590 _relative_save_offset = ndr->offset;
591 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->description));
592 _mem_save_description_0 = NDR_PULL_GET_MEM_CTX(ndr);
593 NDR_PULL_SET_MEM_CTX(ndr, r->description, 0);
594 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->description));
595 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0);
596 ndr->offset = _relative_save_offset;
598 ndr->flags = _flags_save_string;
601 uint32_t _flags_save_string = ndr->flags;
602 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
604 uint32_t _relative_save_offset;
605 _relative_save_offset = ndr->offset;
606 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->comment));
607 _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
608 NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
609 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->comment));
610 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
611 ndr->offset = _relative_save_offset;
613 ndr->flags = _flags_save_string;
616 return NDR_ERR_SUCCESS;
619 _PUBLIC_ void ndr_print_spoolss_PrinterInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo1 *r)
621 ndr_print_struct(ndr, name, "spoolss_PrinterInfo1");
623 ndr_print_spoolss_EnumPrinterFlags(ndr, "flags", r->flags);
624 ndr_print_ptr(ndr, "name", r->name);
627 ndr_print_string(ndr, "name", r->name);
630 ndr_print_ptr(ndr, "description", r->description);
632 if (r->description) {
633 ndr_print_string(ndr, "description", r->description);
636 ndr_print_ptr(ndr, "comment", r->comment);
639 ndr_print_string(ndr, "comment", r->comment);
645 static enum ndr_err_code ndr_push_spoolss_PrinterAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
647 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
648 return NDR_ERR_SUCCESS;
651 static enum ndr_err_code ndr_pull_spoolss_PrinterAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
654 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
656 return NDR_ERR_SUCCESS;
659 _PUBLIC_ void ndr_print_spoolss_PrinterAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
661 ndr_print_uint32(ndr, name, r);
663 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_QUEUED", PRINTER_ATTRIBUTE_QUEUED, r);
664 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_DIRECT", PRINTER_ATTRIBUTE_DIRECT, r);
665 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_DEFAULT", PRINTER_ATTRIBUTE_DEFAULT, r);
666 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_SHARED", PRINTER_ATTRIBUTE_SHARED, r);
667 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_NETWORK", PRINTER_ATTRIBUTE_NETWORK, r);
668 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_HIDDEN", PRINTER_ATTRIBUTE_HIDDEN, r);
669 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_LOCAL", PRINTER_ATTRIBUTE_LOCAL, r);
670 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_ENABLE_DEVQ", PRINTER_ATTRIBUTE_ENABLE_DEVQ, r);
671 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS", PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS, r);
672 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST", PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST, r);
673 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_WORK_OFFLINE", PRINTER_ATTRIBUTE_WORK_OFFLINE, r);
674 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_ENABLE_BIDI", PRINTER_ATTRIBUTE_ENABLE_BIDI, r);
675 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_RAW_ONLY", PRINTER_ATTRIBUTE_RAW_ONLY, r);
676 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_PUBLISHED", PRINTER_ATTRIBUTE_PUBLISHED, r);
677 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_FAX", PRINTER_ATTRIBUTE_FAX, r);
678 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_TS", PRINTER_ATTRIBUTE_TS, r);
682 static enum ndr_err_code ndr_push_spoolss_PrinterStatus(struct ndr_push *ndr, int ndr_flags, uint32_t r)
684 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
685 return NDR_ERR_SUCCESS;
688 static enum ndr_err_code ndr_pull_spoolss_PrinterStatus(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
691 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
693 return NDR_ERR_SUCCESS;
696 _PUBLIC_ void ndr_print_spoolss_PrinterStatus(struct ndr_print *ndr, const char *name, uint32_t r)
698 ndr_print_uint32(ndr, name, r);
700 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAUSED", PRINTER_STATUS_PAUSED, r);
701 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_ERROR", PRINTER_STATUS_ERROR, r);
702 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PENDING_DELETION", PRINTER_STATUS_PENDING_DELETION, r);
703 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAPER_JAM", PRINTER_STATUS_PAPER_JAM, r);
704 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAPER_OUT", PRINTER_STATUS_PAPER_OUT, r);
705 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_MANUAL_FEED", PRINTER_STATUS_MANUAL_FEED, r);
706 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAPER_PROBLEM", PRINTER_STATUS_PAPER_PROBLEM, r);
707 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_OFFLINE", PRINTER_STATUS_OFFLINE, r);
708 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_IO_ACTIVE", PRINTER_STATUS_IO_ACTIVE, r);
709 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_BUSY", PRINTER_STATUS_BUSY, r);
710 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PRINTING", PRINTER_STATUS_PRINTING, r);
711 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_OUTPUT_BIN_FULL", PRINTER_STATUS_OUTPUT_BIN_FULL, r);
712 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_NOT_AVAILABLE", PRINTER_STATUS_NOT_AVAILABLE, r);
713 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_WAITING", PRINTER_STATUS_WAITING, r);
714 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PROCESSING", PRINTER_STATUS_PROCESSING, r);
715 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_INITIALIZING", PRINTER_STATUS_INITIALIZING, r);
716 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_WARMING_UP", PRINTER_STATUS_WARMING_UP, r);
717 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_TONER_LOW", PRINTER_STATUS_TONER_LOW, r);
718 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_NO_TONER", PRINTER_STATUS_NO_TONER, r);
719 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAGE_PUNT", PRINTER_STATUS_PAGE_PUNT, r);
720 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_USER_INTERVENTION", PRINTER_STATUS_USER_INTERVENTION, r);
721 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_OUT_OF_MEMORY", PRINTER_STATUS_OUT_OF_MEMORY, r);
722 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_DOOR_OPEN", PRINTER_STATUS_DOOR_OPEN, r);
723 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_SERVER_UNKNOWN", PRINTER_STATUS_SERVER_UNKNOWN, r);
724 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_POWER_SAVE", PRINTER_STATUS_POWER_SAVE, r);
728 static enum ndr_err_code ndr_push_spoolss_PrinterInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo2 *r)
730 if (ndr_flags & NDR_SCALARS) {
731 NDR_CHECK(ndr_push_align(ndr, 4));
733 uint32_t _flags_save_string = ndr->flags;
734 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
735 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->servername));
736 ndr->flags = _flags_save_string;
739 uint32_t _flags_save_string = ndr->flags;
740 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
741 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername));
742 ndr->flags = _flags_save_string;
745 uint32_t _flags_save_string = ndr->flags;
746 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
747 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->sharename));
748 ndr->flags = _flags_save_string;
751 uint32_t _flags_save_string = ndr->flags;
752 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
753 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->portname));
754 ndr->flags = _flags_save_string;
757 uint32_t _flags_save_string = ndr->flags;
758 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
759 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->drivername));
760 ndr->flags = _flags_save_string;
763 uint32_t _flags_save_string = ndr->flags;
764 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
765 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->comment));
766 ndr->flags = _flags_save_string;
769 uint32_t _flags_save_string = ndr->flags;
770 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
771 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->location));
772 ndr->flags = _flags_save_string;
774 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
776 uint32_t _flags_save_string = ndr->flags;
777 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
778 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->sepfile));
779 ndr->flags = _flags_save_string;
782 uint32_t _flags_save_string = ndr->flags;
783 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
784 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printprocessor));
785 ndr->flags = _flags_save_string;
788 uint32_t _flags_save_string = ndr->flags;
789 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
790 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->datatype));
791 ndr->flags = _flags_save_string;
794 uint32_t _flags_save_string = ndr->flags;
795 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
796 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->parameters));
797 ndr->flags = _flags_save_string;
799 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
800 NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
801 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
802 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->defaultpriority));
803 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->starttime));
804 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->untiltime));
805 NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
806 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cjobs));
807 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->averageppm));
809 if (ndr_flags & NDR_BUFFERS) {
811 uint32_t _flags_save_string = ndr->flags;
812 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
814 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->servername));
815 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername));
817 ndr->flags = _flags_save_string;
820 uint32_t _flags_save_string = ndr->flags;
821 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
822 if (r->printername) {
823 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printername));
824 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
826 ndr->flags = _flags_save_string;
829 uint32_t _flags_save_string = ndr->flags;
830 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
832 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->sharename));
833 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->sharename));
835 ndr->flags = _flags_save_string;
838 uint32_t _flags_save_string = ndr->flags;
839 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
841 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->portname));
842 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->portname));
844 ndr->flags = _flags_save_string;
847 uint32_t _flags_save_string = ndr->flags;
848 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
850 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->drivername));
851 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->drivername));
853 ndr->flags = _flags_save_string;
856 uint32_t _flags_save_string = ndr->flags;
857 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
859 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->comment));
860 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->comment));
862 ndr->flags = _flags_save_string;
865 uint32_t _flags_save_string = ndr->flags;
866 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
868 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->location));
869 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->location));
871 ndr->flags = _flags_save_string;
874 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->devmode));
876 struct ndr_push *_ndr_devmode;
877 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
878 NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
879 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
883 uint32_t _flags_save_string = ndr->flags;
884 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
886 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->sepfile));
887 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->sepfile));
889 ndr->flags = _flags_save_string;
892 uint32_t _flags_save_string = ndr->flags;
893 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
894 if (r->printprocessor) {
895 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printprocessor));
896 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printprocessor));
898 ndr->flags = _flags_save_string;
901 uint32_t _flags_save_string = ndr->flags;
902 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
904 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->datatype));
905 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->datatype));
907 ndr->flags = _flags_save_string;
910 uint32_t _flags_save_string = ndr->flags;
911 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
913 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->parameters));
914 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->parameters));
916 ndr->flags = _flags_save_string;
919 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->secdesc));
921 struct ndr_push *_ndr_secdesc;
922 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
923 NDR_CHECK(ndr_push_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
924 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
928 return NDR_ERR_SUCCESS;
931 static enum ndr_err_code ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo2 *r)
933 uint32_t _ptr_servername;
934 TALLOC_CTX *_mem_save_servername_0;
935 uint32_t _ptr_printername;
936 TALLOC_CTX *_mem_save_printername_0;
937 uint32_t _ptr_sharename;
938 TALLOC_CTX *_mem_save_sharename_0;
939 uint32_t _ptr_portname;
940 TALLOC_CTX *_mem_save_portname_0;
941 uint32_t _ptr_drivername;
942 TALLOC_CTX *_mem_save_drivername_0;
943 uint32_t _ptr_comment;
944 TALLOC_CTX *_mem_save_comment_0;
945 uint32_t _ptr_location;
946 TALLOC_CTX *_mem_save_location_0;
947 uint32_t _ptr_devmode;
948 TALLOC_CTX *_mem_save_devmode_0;
949 uint32_t _ptr_sepfile;
950 TALLOC_CTX *_mem_save_sepfile_0;
951 uint32_t _ptr_printprocessor;
952 TALLOC_CTX *_mem_save_printprocessor_0;
953 uint32_t _ptr_datatype;
954 TALLOC_CTX *_mem_save_datatype_0;
955 uint32_t _ptr_parameters;
956 TALLOC_CTX *_mem_save_parameters_0;
957 uint32_t _ptr_secdesc;
958 TALLOC_CTX *_mem_save_secdesc_0;
959 if (ndr_flags & NDR_SCALARS) {
960 NDR_CHECK(ndr_pull_align(ndr, 4));
962 uint32_t _flags_save_string = ndr->flags;
963 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
964 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
965 if (_ptr_servername) {
966 NDR_PULL_ALLOC(ndr, r->servername);
967 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->servername, _ptr_servername));
969 r->servername = NULL;
971 ndr->flags = _flags_save_string;
974 uint32_t _flags_save_string = ndr->flags;
975 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
976 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
977 if (_ptr_printername) {
978 NDR_PULL_ALLOC(ndr, r->printername);
979 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername));
981 r->printername = NULL;
983 ndr->flags = _flags_save_string;
986 uint32_t _flags_save_string = ndr->flags;
987 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
988 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename));
989 if (_ptr_sharename) {
990 NDR_PULL_ALLOC(ndr, r->sharename);
991 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->sharename, _ptr_sharename));
995 ndr->flags = _flags_save_string;
998 uint32_t _flags_save_string = ndr->flags;
999 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1000 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname));
1001 if (_ptr_portname) {
1002 NDR_PULL_ALLOC(ndr, r->portname);
1003 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->portname, _ptr_portname));
1007 ndr->flags = _flags_save_string;
1010 uint32_t _flags_save_string = ndr->flags;
1011 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1012 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_drivername));
1013 if (_ptr_drivername) {
1014 NDR_PULL_ALLOC(ndr, r->drivername);
1015 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->drivername, _ptr_drivername));
1017 r->drivername = NULL;
1019 ndr->flags = _flags_save_string;
1022 uint32_t _flags_save_string = ndr->flags;
1023 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1024 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
1026 NDR_PULL_ALLOC(ndr, r->comment);
1027 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->comment, _ptr_comment));
1031 ndr->flags = _flags_save_string;
1034 uint32_t _flags_save_string = ndr->flags;
1035 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1036 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_location));
1037 if (_ptr_location) {
1038 NDR_PULL_ALLOC(ndr, r->location);
1039 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->location, _ptr_location));
1043 ndr->flags = _flags_save_string;
1045 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
1047 NDR_PULL_ALLOC(ndr, r->devmode);
1048 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
1053 uint32_t _flags_save_string = ndr->flags;
1054 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1055 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sepfile));
1057 NDR_PULL_ALLOC(ndr, r->sepfile);
1058 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->sepfile, _ptr_sepfile));
1062 ndr->flags = _flags_save_string;
1065 uint32_t _flags_save_string = ndr->flags;
1066 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1067 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printprocessor));
1068 if (_ptr_printprocessor) {
1069 NDR_PULL_ALLOC(ndr, r->printprocessor);
1070 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printprocessor, _ptr_printprocessor));
1072 r->printprocessor = NULL;
1074 ndr->flags = _flags_save_string;
1077 uint32_t _flags_save_string = ndr->flags;
1078 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1079 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
1080 if (_ptr_datatype) {
1081 NDR_PULL_ALLOC(ndr, r->datatype);
1082 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->datatype, _ptr_datatype));
1086 ndr->flags = _flags_save_string;
1089 uint32_t _flags_save_string = ndr->flags;
1090 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1091 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
1092 if (_ptr_parameters) {
1093 NDR_PULL_ALLOC(ndr, r->parameters);
1094 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->parameters, _ptr_parameters));
1096 r->parameters = NULL;
1098 ndr->flags = _flags_save_string;
1100 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
1102 NDR_PULL_ALLOC(ndr, r->secdesc);
1103 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
1107 NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
1108 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
1109 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->defaultpriority));
1110 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->starttime));
1111 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->untiltime));
1112 NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
1113 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs));
1114 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->averageppm));
1116 if (ndr_flags & NDR_BUFFERS) {
1118 uint32_t _flags_save_string = ndr->flags;
1119 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1120 if (r->servername) {
1121 uint32_t _relative_save_offset;
1122 _relative_save_offset = ndr->offset;
1123 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->servername));
1124 _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
1125 NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
1126 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername));
1127 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
1128 ndr->offset = _relative_save_offset;
1130 ndr->flags = _flags_save_string;
1133 uint32_t _flags_save_string = ndr->flags;
1134 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1135 if (r->printername) {
1136 uint32_t _relative_save_offset;
1137 _relative_save_offset = ndr->offset;
1138 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername));
1139 _mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
1140 NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
1141 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
1142 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
1143 ndr->offset = _relative_save_offset;
1145 ndr->flags = _flags_save_string;
1148 uint32_t _flags_save_string = ndr->flags;
1149 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1151 uint32_t _relative_save_offset;
1152 _relative_save_offset = ndr->offset;
1153 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->sharename));
1154 _mem_save_sharename_0 = NDR_PULL_GET_MEM_CTX(ndr);
1155 NDR_PULL_SET_MEM_CTX(ndr, r->sharename, 0);
1156 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->sharename));
1157 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0);
1158 ndr->offset = _relative_save_offset;
1160 ndr->flags = _flags_save_string;
1163 uint32_t _flags_save_string = ndr->flags;
1164 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1166 uint32_t _relative_save_offset;
1167 _relative_save_offset = ndr->offset;
1168 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->portname));
1169 _mem_save_portname_0 = NDR_PULL_GET_MEM_CTX(ndr);
1170 NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0);
1171 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->portname));
1172 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0);
1173 ndr->offset = _relative_save_offset;
1175 ndr->flags = _flags_save_string;
1178 uint32_t _flags_save_string = ndr->flags;
1179 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1180 if (r->drivername) {
1181 uint32_t _relative_save_offset;
1182 _relative_save_offset = ndr->offset;
1183 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->drivername));
1184 _mem_save_drivername_0 = NDR_PULL_GET_MEM_CTX(ndr);
1185 NDR_PULL_SET_MEM_CTX(ndr, r->drivername, 0);
1186 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->drivername));
1187 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_drivername_0, 0);
1188 ndr->offset = _relative_save_offset;
1190 ndr->flags = _flags_save_string;
1193 uint32_t _flags_save_string = ndr->flags;
1194 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1196 uint32_t _relative_save_offset;
1197 _relative_save_offset = ndr->offset;
1198 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->comment));
1199 _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
1200 NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
1201 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->comment));
1202 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
1203 ndr->offset = _relative_save_offset;
1205 ndr->flags = _flags_save_string;
1208 uint32_t _flags_save_string = ndr->flags;
1209 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1211 uint32_t _relative_save_offset;
1212 _relative_save_offset = ndr->offset;
1213 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->location));
1214 _mem_save_location_0 = NDR_PULL_GET_MEM_CTX(ndr);
1215 NDR_PULL_SET_MEM_CTX(ndr, r->location, 0);
1216 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->location));
1217 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_location_0, 0);
1218 ndr->offset = _relative_save_offset;
1220 ndr->flags = _flags_save_string;
1223 uint32_t _relative_save_offset;
1224 _relative_save_offset = ndr->offset;
1225 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
1226 _mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
1227 NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
1229 struct ndr_pull *_ndr_devmode;
1230 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
1231 NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
1232 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
1234 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
1235 ndr->offset = _relative_save_offset;
1238 uint32_t _flags_save_string = ndr->flags;
1239 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1241 uint32_t _relative_save_offset;
1242 _relative_save_offset = ndr->offset;
1243 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->sepfile));
1244 _mem_save_sepfile_0 = NDR_PULL_GET_MEM_CTX(ndr);
1245 NDR_PULL_SET_MEM_CTX(ndr, r->sepfile, 0);
1246 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->sepfile));
1247 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sepfile_0, 0);
1248 ndr->offset = _relative_save_offset;
1250 ndr->flags = _flags_save_string;
1253 uint32_t _flags_save_string = ndr->flags;
1254 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1255 if (r->printprocessor) {
1256 uint32_t _relative_save_offset;
1257 _relative_save_offset = ndr->offset;
1258 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printprocessor));
1259 _mem_save_printprocessor_0 = NDR_PULL_GET_MEM_CTX(ndr);
1260 NDR_PULL_SET_MEM_CTX(ndr, r->printprocessor, 0);
1261 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printprocessor));
1262 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printprocessor_0, 0);
1263 ndr->offset = _relative_save_offset;
1265 ndr->flags = _flags_save_string;
1268 uint32_t _flags_save_string = ndr->flags;
1269 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1271 uint32_t _relative_save_offset;
1272 _relative_save_offset = ndr->offset;
1273 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->datatype));
1274 _mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
1275 NDR_PULL_SET_MEM_CTX(ndr, r->datatype, 0);
1276 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->datatype));
1277 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
1278 ndr->offset = _relative_save_offset;
1280 ndr->flags = _flags_save_string;
1283 uint32_t _flags_save_string = ndr->flags;
1284 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1285 if (r->parameters) {
1286 uint32_t _relative_save_offset;
1287 _relative_save_offset = ndr->offset;
1288 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->parameters));
1289 _mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr);
1290 NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
1291 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->parameters));
1292 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
1293 ndr->offset = _relative_save_offset;
1295 ndr->flags = _flags_save_string;
1298 uint32_t _relative_save_offset;
1299 _relative_save_offset = ndr->offset;
1300 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
1301 _mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
1302 NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
1304 struct ndr_pull *_ndr_secdesc;
1305 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
1306 NDR_CHECK(ndr_pull_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
1307 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
1309 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
1310 ndr->offset = _relative_save_offset;
1313 return NDR_ERR_SUCCESS;
1316 _PUBLIC_ void ndr_print_spoolss_PrinterInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo2 *r)
1318 ndr_print_struct(ndr, name, "spoolss_PrinterInfo2");
1320 ndr_print_ptr(ndr, "servername", r->servername);
1322 if (r->servername) {
1323 ndr_print_string(ndr, "servername", r->servername);
1326 ndr_print_ptr(ndr, "printername", r->printername);
1328 if (r->printername) {
1329 ndr_print_string(ndr, "printername", r->printername);
1332 ndr_print_ptr(ndr, "sharename", r->sharename);
1335 ndr_print_string(ndr, "sharename", r->sharename);
1338 ndr_print_ptr(ndr, "portname", r->portname);
1341 ndr_print_string(ndr, "portname", r->portname);
1344 ndr_print_ptr(ndr, "drivername", r->drivername);
1346 if (r->drivername) {
1347 ndr_print_string(ndr, "drivername", r->drivername);
1350 ndr_print_ptr(ndr, "comment", r->comment);
1353 ndr_print_string(ndr, "comment", r->comment);
1356 ndr_print_ptr(ndr, "location", r->location);
1359 ndr_print_string(ndr, "location", r->location);
1362 ndr_print_ptr(ndr, "devmode", r->devmode);
1365 ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
1368 ndr_print_ptr(ndr, "sepfile", r->sepfile);
1371 ndr_print_string(ndr, "sepfile", r->sepfile);
1374 ndr_print_ptr(ndr, "printprocessor", r->printprocessor);
1376 if (r->printprocessor) {
1377 ndr_print_string(ndr, "printprocessor", r->printprocessor);
1380 ndr_print_ptr(ndr, "datatype", r->datatype);
1383 ndr_print_string(ndr, "datatype", r->datatype);
1386 ndr_print_ptr(ndr, "parameters", r->parameters);
1388 if (r->parameters) {
1389 ndr_print_string(ndr, "parameters", r->parameters);
1392 ndr_print_ptr(ndr, "secdesc", r->secdesc);
1395 ndr_print_security_descriptor(ndr, "secdesc", r->secdesc);
1398 ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
1399 ndr_print_uint32(ndr, "priority", r->priority);
1400 ndr_print_uint32(ndr, "defaultpriority", r->defaultpriority);
1401 ndr_print_uint32(ndr, "starttime", r->starttime);
1402 ndr_print_uint32(ndr, "untiltime", r->untiltime);
1403 ndr_print_spoolss_PrinterStatus(ndr, "status", r->status);
1404 ndr_print_uint32(ndr, "cjobs", r->cjobs);
1405 ndr_print_uint32(ndr, "averageppm", r->averageppm);
1409 static enum ndr_err_code ndr_push_spoolss_PrinterInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo3 *r)
1411 if (ndr_flags & NDR_SCALARS) {
1412 NDR_CHECK(ndr_push_align(ndr, 4));
1413 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
1415 if (ndr_flags & NDR_BUFFERS) {
1417 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->secdesc));
1419 struct ndr_push *_ndr_secdesc;
1420 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
1421 NDR_CHECK(ndr_push_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
1422 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
1426 return NDR_ERR_SUCCESS;
1429 static enum ndr_err_code ndr_pull_spoolss_PrinterInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo3 *r)
1431 uint32_t _ptr_secdesc;
1432 TALLOC_CTX *_mem_save_secdesc_0;
1433 if (ndr_flags & NDR_SCALARS) {
1434 NDR_CHECK(ndr_pull_align(ndr, 4));
1435 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
1437 NDR_PULL_ALLOC(ndr, r->secdesc);
1438 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
1443 if (ndr_flags & NDR_BUFFERS) {
1445 uint32_t _relative_save_offset;
1446 _relative_save_offset = ndr->offset;
1447 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
1448 _mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
1449 NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
1451 struct ndr_pull *_ndr_secdesc;
1452 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
1453 NDR_CHECK(ndr_pull_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
1454 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
1456 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
1457 ndr->offset = _relative_save_offset;
1460 return NDR_ERR_SUCCESS;
1463 _PUBLIC_ void ndr_print_spoolss_PrinterInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo3 *r)
1465 ndr_print_struct(ndr, name, "spoolss_PrinterInfo3");
1467 ndr_print_ptr(ndr, "secdesc", r->secdesc);
1470 ndr_print_security_descriptor(ndr, "secdesc", r->secdesc);
1476 static enum ndr_err_code ndr_push_spoolss_PrinterInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo4 *r)
1478 if (ndr_flags & NDR_SCALARS) {
1479 NDR_CHECK(ndr_push_align(ndr, 4));
1481 uint32_t _flags_save_string = ndr->flags;
1482 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1483 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername));
1484 ndr->flags = _flags_save_string;
1487 uint32_t _flags_save_string = ndr->flags;
1488 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1489 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->servername));
1490 ndr->flags = _flags_save_string;
1492 NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
1494 if (ndr_flags & NDR_BUFFERS) {
1496 uint32_t _flags_save_string = ndr->flags;
1497 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1498 if (r->printername) {
1499 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printername));
1500 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
1502 ndr->flags = _flags_save_string;
1505 uint32_t _flags_save_string = ndr->flags;
1506 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1507 if (r->servername) {
1508 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->servername));
1509 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername));
1511 ndr->flags = _flags_save_string;
1514 return NDR_ERR_SUCCESS;
1517 static enum ndr_err_code ndr_pull_spoolss_PrinterInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo4 *r)
1519 uint32_t _ptr_printername;
1520 TALLOC_CTX *_mem_save_printername_0;
1521 uint32_t _ptr_servername;
1522 TALLOC_CTX *_mem_save_servername_0;
1523 if (ndr_flags & NDR_SCALARS) {
1524 NDR_CHECK(ndr_pull_align(ndr, 4));
1526 uint32_t _flags_save_string = ndr->flags;
1527 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1528 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
1529 if (_ptr_printername) {
1530 NDR_PULL_ALLOC(ndr, r->printername);
1531 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername));
1533 r->printername = NULL;
1535 ndr->flags = _flags_save_string;
1538 uint32_t _flags_save_string = ndr->flags;
1539 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1540 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
1541 if (_ptr_servername) {
1542 NDR_PULL_ALLOC(ndr, r->servername);
1543 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->servername, _ptr_servername));
1545 r->servername = NULL;
1547 ndr->flags = _flags_save_string;
1549 NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
1551 if (ndr_flags & NDR_BUFFERS) {
1553 uint32_t _flags_save_string = ndr->flags;
1554 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1555 if (r->printername) {
1556 uint32_t _relative_save_offset;
1557 _relative_save_offset = ndr->offset;
1558 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername));
1559 _mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
1560 NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
1561 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
1562 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
1563 ndr->offset = _relative_save_offset;
1565 ndr->flags = _flags_save_string;
1568 uint32_t _flags_save_string = ndr->flags;
1569 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1570 if (r->servername) {
1571 uint32_t _relative_save_offset;
1572 _relative_save_offset = ndr->offset;
1573 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->servername));
1574 _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
1575 NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
1576 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername));
1577 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
1578 ndr->offset = _relative_save_offset;
1580 ndr->flags = _flags_save_string;
1583 return NDR_ERR_SUCCESS;
1586 _PUBLIC_ void ndr_print_spoolss_PrinterInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo4 *r)
1588 ndr_print_struct(ndr, name, "spoolss_PrinterInfo4");
1590 ndr_print_ptr(ndr, "printername", r->printername);
1592 if (r->printername) {
1593 ndr_print_string(ndr, "printername", r->printername);
1596 ndr_print_ptr(ndr, "servername", r->servername);
1598 if (r->servername) {
1599 ndr_print_string(ndr, "servername", r->servername);
1602 ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
1606 static enum ndr_err_code ndr_push_spoolss_PrinterInfo5(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo5 *r)
1608 if (ndr_flags & NDR_SCALARS) {
1609 NDR_CHECK(ndr_push_align(ndr, 4));
1611 uint32_t _flags_save_string = ndr->flags;
1612 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1613 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername));
1614 ndr->flags = _flags_save_string;
1617 uint32_t _flags_save_string = ndr->flags;
1618 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1619 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->portname));
1620 ndr->flags = _flags_save_string;
1622 NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
1623 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->device_not_selected_timeout));
1624 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->transmission_retry_timeout));
1626 if (ndr_flags & NDR_BUFFERS) {
1628 uint32_t _flags_save_string = ndr->flags;
1629 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1630 if (r->printername) {
1631 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printername));
1632 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
1634 ndr->flags = _flags_save_string;
1637 uint32_t _flags_save_string = ndr->flags;
1638 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1640 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->portname));
1641 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->portname));
1643 ndr->flags = _flags_save_string;
1646 return NDR_ERR_SUCCESS;
1649 static enum ndr_err_code ndr_pull_spoolss_PrinterInfo5(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo5 *r)
1651 uint32_t _ptr_printername;
1652 TALLOC_CTX *_mem_save_printername_0;
1653 uint32_t _ptr_portname;
1654 TALLOC_CTX *_mem_save_portname_0;
1655 if (ndr_flags & NDR_SCALARS) {
1656 NDR_CHECK(ndr_pull_align(ndr, 4));
1658 uint32_t _flags_save_string = ndr->flags;
1659 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1660 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
1661 if (_ptr_printername) {
1662 NDR_PULL_ALLOC(ndr, r->printername);
1663 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername));
1665 r->printername = NULL;
1667 ndr->flags = _flags_save_string;
1670 uint32_t _flags_save_string = ndr->flags;
1671 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1672 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname));
1673 if (_ptr_portname) {
1674 NDR_PULL_ALLOC(ndr, r->portname);
1675 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->portname, _ptr_portname));
1679 ndr->flags = _flags_save_string;
1681 NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
1682 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->device_not_selected_timeout));
1683 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->transmission_retry_timeout));
1685 if (ndr_flags & NDR_BUFFERS) {
1687 uint32_t _flags_save_string = ndr->flags;
1688 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1689 if (r->printername) {
1690 uint32_t _relative_save_offset;
1691 _relative_save_offset = ndr->offset;
1692 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername));
1693 _mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
1694 NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
1695 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
1696 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
1697 ndr->offset = _relative_save_offset;
1699 ndr->flags = _flags_save_string;
1702 uint32_t _flags_save_string = ndr->flags;
1703 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1705 uint32_t _relative_save_offset;
1706 _relative_save_offset = ndr->offset;
1707 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->portname));
1708 _mem_save_portname_0 = NDR_PULL_GET_MEM_CTX(ndr);
1709 NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0);
1710 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->portname));
1711 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0);
1712 ndr->offset = _relative_save_offset;
1714 ndr->flags = _flags_save_string;
1717 return NDR_ERR_SUCCESS;
1720 _PUBLIC_ void ndr_print_spoolss_PrinterInfo5(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo5 *r)
1722 ndr_print_struct(ndr, name, "spoolss_PrinterInfo5");
1724 ndr_print_ptr(ndr, "printername", r->printername);
1726 if (r->printername) {
1727 ndr_print_string(ndr, "printername", r->printername);
1730 ndr_print_ptr(ndr, "portname", r->portname);
1733 ndr_print_string(ndr, "portname", r->portname);
1736 ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
1737 ndr_print_uint32(ndr, "device_not_selected_timeout", r->device_not_selected_timeout);
1738 ndr_print_uint32(ndr, "transmission_retry_timeout", r->transmission_retry_timeout);
1742 static enum ndr_err_code ndr_push_spoolss_PrinterInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo6 *r)
1744 if (ndr_flags & NDR_SCALARS) {
1745 NDR_CHECK(ndr_push_align(ndr, 4));
1746 NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
1748 if (ndr_flags & NDR_BUFFERS) {
1750 return NDR_ERR_SUCCESS;
1753 static enum ndr_err_code ndr_pull_spoolss_PrinterInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo6 *r)
1755 if (ndr_flags & NDR_SCALARS) {
1756 NDR_CHECK(ndr_pull_align(ndr, 4));
1757 NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
1759 if (ndr_flags & NDR_BUFFERS) {
1761 return NDR_ERR_SUCCESS;
1764 _PUBLIC_ void ndr_print_spoolss_PrinterInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo6 *r)
1766 ndr_print_struct(ndr, name, "spoolss_PrinterInfo6");
1768 ndr_print_spoolss_PrinterStatus(ndr, "status", r->status);
1772 static enum ndr_err_code ndr_push_spoolss_DsPrintAction(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1774 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1775 return NDR_ERR_SUCCESS;
1778 static enum ndr_err_code ndr_pull_spoolss_DsPrintAction(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1781 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1783 return NDR_ERR_SUCCESS;
1786 _PUBLIC_ void ndr_print_spoolss_DsPrintAction(struct ndr_print *ndr, const char *name, uint32_t r)
1788 ndr_print_uint32(ndr, name, r);
1790 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_PUBLISH", DSPRINT_PUBLISH, r);
1791 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_UPDATE", DSPRINT_UPDATE, r);
1792 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_UNPUBLISH", DSPRINT_UNPUBLISH, r);
1793 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_REPUBLISH", DSPRINT_REPUBLISH, r);
1794 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_PENDING", DSPRINT_PENDING, r);
1798 static enum ndr_err_code ndr_push_spoolss_PrinterInfo7(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo7 *r)
1800 if (ndr_flags & NDR_SCALARS) {
1801 NDR_CHECK(ndr_push_align(ndr, 4));
1803 uint32_t _flags_save_string = ndr->flags;
1804 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1805 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->guid));
1806 ndr->flags = _flags_save_string;
1808 NDR_CHECK(ndr_push_spoolss_DsPrintAction(ndr, NDR_SCALARS, r->action));
1810 if (ndr_flags & NDR_BUFFERS) {
1812 uint32_t _flags_save_string = ndr->flags;
1813 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1815 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->guid));
1816 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->guid));
1818 ndr->flags = _flags_save_string;
1821 return NDR_ERR_SUCCESS;
1824 static enum ndr_err_code ndr_pull_spoolss_PrinterInfo7(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo7 *r)
1827 TALLOC_CTX *_mem_save_guid_0;
1828 if (ndr_flags & NDR_SCALARS) {
1829 NDR_CHECK(ndr_pull_align(ndr, 4));
1831 uint32_t _flags_save_string = ndr->flags;
1832 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1833 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_guid));
1835 NDR_PULL_ALLOC(ndr, r->guid);
1836 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->guid, _ptr_guid));
1840 ndr->flags = _flags_save_string;
1842 NDR_CHECK(ndr_pull_spoolss_DsPrintAction(ndr, NDR_SCALARS, &r->action));
1844 if (ndr_flags & NDR_BUFFERS) {
1846 uint32_t _flags_save_string = ndr->flags;
1847 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
1849 uint32_t _relative_save_offset;
1850 _relative_save_offset = ndr->offset;
1851 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->guid));
1852 _mem_save_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1853 NDR_PULL_SET_MEM_CTX(ndr, r->guid, 0);
1854 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->guid));
1855 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_guid_0, 0);
1856 ndr->offset = _relative_save_offset;
1858 ndr->flags = _flags_save_string;
1861 return NDR_ERR_SUCCESS;
1864 _PUBLIC_ void ndr_print_spoolss_PrinterInfo7(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo7 *r)
1866 ndr_print_struct(ndr, name, "spoolss_PrinterInfo7");
1868 ndr_print_ptr(ndr, "guid", r->guid);
1871 ndr_print_string(ndr, "guid", r->guid);
1874 ndr_print_spoolss_DsPrintAction(ndr, "action", r->action);
1878 static enum ndr_err_code ndr_push_spoolss_DeviceModeInfo(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DeviceModeInfo *r)
1880 if (ndr_flags & NDR_SCALARS) {
1881 NDR_CHECK(ndr_push_align(ndr, 4));
1882 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
1884 if (ndr_flags & NDR_BUFFERS) {
1886 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->devmode));
1888 struct ndr_push *_ndr_devmode;
1889 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
1890 NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
1891 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
1895 return NDR_ERR_SUCCESS;
1898 static enum ndr_err_code ndr_pull_spoolss_DeviceModeInfo(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DeviceModeInfo *r)
1900 uint32_t _ptr_devmode;
1901 TALLOC_CTX *_mem_save_devmode_0;
1902 if (ndr_flags & NDR_SCALARS) {
1903 NDR_CHECK(ndr_pull_align(ndr, 4));
1904 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
1906 NDR_PULL_ALLOC(ndr, r->devmode);
1907 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
1912 if (ndr_flags & NDR_BUFFERS) {
1914 uint32_t _relative_save_offset;
1915 _relative_save_offset = ndr->offset;
1916 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
1917 _mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
1918 NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
1920 struct ndr_pull *_ndr_devmode;
1921 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
1922 NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
1923 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
1925 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
1926 ndr->offset = _relative_save_offset;
1929 return NDR_ERR_SUCCESS;
1932 _PUBLIC_ void ndr_print_spoolss_DeviceModeInfo(struct ndr_print *ndr, const char *name, const struct spoolss_DeviceModeInfo *r)
1934 ndr_print_struct(ndr, name, "spoolss_DeviceModeInfo");
1936 ndr_print_ptr(ndr, "devmode", r->devmode);
1939 ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
1945 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrinterInfo *r)
1947 uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
1948 if (ndr_flags & NDR_SCALARS) {
1949 int level = ndr_push_get_switch_value(ndr, r);
1952 NDR_CHECK(ndr_push_align(ndr, 4));
1953 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
1954 NDR_CHECK(ndr_push_spoolss_PrinterInfo0(ndr, NDR_SCALARS, &r->info0));
1958 NDR_CHECK(ndr_push_align(ndr, 4));
1959 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
1960 NDR_CHECK(ndr_push_spoolss_PrinterInfo1(ndr, NDR_SCALARS, &r->info1));
1964 NDR_CHECK(ndr_push_align(ndr, 4));
1965 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
1966 NDR_CHECK(ndr_push_spoolss_PrinterInfo2(ndr, NDR_SCALARS, &r->info2));
1970 NDR_CHECK(ndr_push_align(ndr, 4));
1971 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
1972 NDR_CHECK(ndr_push_spoolss_PrinterInfo3(ndr, NDR_SCALARS, &r->info3));
1976 NDR_CHECK(ndr_push_align(ndr, 4));
1977 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
1978 NDR_CHECK(ndr_push_spoolss_PrinterInfo4(ndr, NDR_SCALARS, &r->info4));
1982 NDR_CHECK(ndr_push_align(ndr, 4));
1983 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
1984 NDR_CHECK(ndr_push_spoolss_PrinterInfo5(ndr, NDR_SCALARS, &r->info5));
1988 NDR_CHECK(ndr_push_align(ndr, 4));
1989 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
1990 NDR_CHECK(ndr_push_spoolss_PrinterInfo6(ndr, NDR_SCALARS, &r->info6));
1994 NDR_CHECK(ndr_push_align(ndr, 4));
1995 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
1996 NDR_CHECK(ndr_push_spoolss_PrinterInfo7(ndr, NDR_SCALARS, &r->info7));
2000 NDR_CHECK(ndr_push_align(ndr, 4));
2001 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2002 NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info8));
2006 NDR_CHECK(ndr_push_align(ndr, 4));
2007 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2008 NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info9));
2016 if (ndr_flags & NDR_BUFFERS) {
2017 int level = ndr_push_get_switch_value(ndr, r);
2018 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
2021 NDR_CHECK(ndr_push_spoolss_PrinterInfo0(ndr, NDR_BUFFERS, &r->info0));
2025 NDR_CHECK(ndr_push_spoolss_PrinterInfo1(ndr, NDR_BUFFERS, &r->info1));
2029 NDR_CHECK(ndr_push_spoolss_PrinterInfo2(ndr, NDR_BUFFERS, &r->info2));
2033 NDR_CHECK(ndr_push_spoolss_PrinterInfo3(ndr, NDR_BUFFERS, &r->info3));
2037 NDR_CHECK(ndr_push_spoolss_PrinterInfo4(ndr, NDR_BUFFERS, &r->info4));
2041 NDR_CHECK(ndr_push_spoolss_PrinterInfo5(ndr, NDR_BUFFERS, &r->info5));
2048 NDR_CHECK(ndr_push_spoolss_PrinterInfo7(ndr, NDR_BUFFERS, &r->info7));
2052 NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info8));
2056 NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info9));
2064 ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
2065 return NDR_ERR_SUCCESS;
2068 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrinterInfo *r)
2070 uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
2072 level = ndr_pull_get_switch_value(ndr, r);
2073 if (ndr_flags & NDR_SCALARS) {
2076 NDR_CHECK(ndr_pull_align(ndr, 4));
2077 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2078 NDR_CHECK(ndr_pull_spoolss_PrinterInfo0(ndr, NDR_SCALARS, &r->info0));
2082 NDR_CHECK(ndr_pull_align(ndr, 4));
2083 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2084 NDR_CHECK(ndr_pull_spoolss_PrinterInfo1(ndr, NDR_SCALARS, &r->info1));
2088 NDR_CHECK(ndr_pull_align(ndr, 4));
2089 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2090 NDR_CHECK(ndr_pull_spoolss_PrinterInfo2(ndr, NDR_SCALARS, &r->info2));
2094 NDR_CHECK(ndr_pull_align(ndr, 4));
2095 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2096 NDR_CHECK(ndr_pull_spoolss_PrinterInfo3(ndr, NDR_SCALARS, &r->info3));
2100 NDR_CHECK(ndr_pull_align(ndr, 4));
2101 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2102 NDR_CHECK(ndr_pull_spoolss_PrinterInfo4(ndr, NDR_SCALARS, &r->info4));
2106 NDR_CHECK(ndr_pull_align(ndr, 4));
2107 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2108 NDR_CHECK(ndr_pull_spoolss_PrinterInfo5(ndr, NDR_SCALARS, &r->info5));
2112 NDR_CHECK(ndr_pull_align(ndr, 4));
2113 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2114 NDR_CHECK(ndr_pull_spoolss_PrinterInfo6(ndr, NDR_SCALARS, &r->info6));
2118 NDR_CHECK(ndr_pull_align(ndr, 4));
2119 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2120 NDR_CHECK(ndr_pull_spoolss_PrinterInfo7(ndr, NDR_SCALARS, &r->info7));
2124 NDR_CHECK(ndr_pull_align(ndr, 4));
2125 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2126 NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info8));
2130 NDR_CHECK(ndr_pull_align(ndr, 4));
2131 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2132 NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info9));
2140 if (ndr_flags & NDR_BUFFERS) {
2141 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
2144 NDR_CHECK(ndr_pull_spoolss_PrinterInfo0(ndr, NDR_BUFFERS, &r->info0));
2148 NDR_CHECK(ndr_pull_spoolss_PrinterInfo1(ndr, NDR_BUFFERS, &r->info1));
2152 NDR_CHECK(ndr_pull_spoolss_PrinterInfo2(ndr, NDR_BUFFERS, &r->info2));
2156 NDR_CHECK(ndr_pull_spoolss_PrinterInfo3(ndr, NDR_BUFFERS, &r->info3));
2160 NDR_CHECK(ndr_pull_spoolss_PrinterInfo4(ndr, NDR_BUFFERS, &r->info4));
2164 NDR_CHECK(ndr_pull_spoolss_PrinterInfo5(ndr, NDR_BUFFERS, &r->info5));
2171 NDR_CHECK(ndr_pull_spoolss_PrinterInfo7(ndr, NDR_BUFFERS, &r->info7));
2175 NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info8));
2179 NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info9));
2187 ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
2188 return NDR_ERR_SUCCESS;
2191 _PUBLIC_ void ndr_print_spoolss_PrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrinterInfo *r)
2194 level = ndr_print_get_switch_value(ndr, r);
2195 ndr_print_union(ndr, name, level, "spoolss_PrinterInfo");
2198 ndr_print_spoolss_PrinterInfo0(ndr, "info0", &r->info0);
2202 ndr_print_spoolss_PrinterInfo1(ndr, "info1", &r->info1);
2206 ndr_print_spoolss_PrinterInfo2(ndr, "info2", &r->info2);
2210 ndr_print_spoolss_PrinterInfo3(ndr, "info3", &r->info3);
2214 ndr_print_spoolss_PrinterInfo4(ndr, "info4", &r->info4);
2218 ndr_print_spoolss_PrinterInfo5(ndr, "info5", &r->info5);
2222 ndr_print_spoolss_PrinterInfo6(ndr, "info6", &r->info6);
2226 ndr_print_spoolss_PrinterInfo7(ndr, "info7", &r->info7);
2230 ndr_print_spoolss_DeviceModeInfo(ndr, "info8", &r->info8);
2234 ndr_print_spoolss_DeviceModeInfo(ndr, "info9", &r->info9);
2243 static enum ndr_err_code ndr_push_spoolss_DevmodeContainer(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DevmodeContainer *r)
2245 if (ndr_flags & NDR_SCALARS) {
2246 NDR_CHECK(ndr_push_align(ndr, 4));
2247 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, _ndr_size_spoolss_DeviceMode(r->devmode, ndr->iconv_convenience, ndr->flags)));
2248 NDR_CHECK(ndr_push_unique_ptr(ndr, r->devmode));
2250 if (ndr_flags & NDR_BUFFERS) {
2253 struct ndr_push *_ndr_devmode;
2254 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 4, _ndr_size_spoolss_DeviceMode(r->devmode, ndr->iconv_convenience, ndr->flags)));
2255 NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
2256 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 4, _ndr_size_spoolss_DeviceMode(r->devmode, ndr->iconv_convenience, ndr->flags)));
2260 return NDR_ERR_SUCCESS;
2263 static enum ndr_err_code ndr_pull_spoolss_DevmodeContainer(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DevmodeContainer *r)
2265 uint32_t _ptr_devmode;
2266 TALLOC_CTX *_mem_save_devmode_0;
2267 if (ndr_flags & NDR_SCALARS) {
2268 NDR_CHECK(ndr_pull_align(ndr, 4));
2269 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size));
2270 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
2272 NDR_PULL_ALLOC(ndr, r->devmode);
2277 if (ndr_flags & NDR_BUFFERS) {
2279 _mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
2280 NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
2282 struct ndr_pull *_ndr_devmode;
2283 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 4, r->_ndr_size));
2284 NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
2285 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 4, r->_ndr_size));
2287 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
2290 return NDR_ERR_SUCCESS;
2293 _PUBLIC_ void ndr_print_spoolss_DevmodeContainer(struct ndr_print *ndr, const char *name, const struct spoolss_DevmodeContainer *r)
2295 ndr_print_struct(ndr, name, "spoolss_DevmodeContainer");
2297 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);
2298 ndr_print_ptr(ndr, "devmode", r->devmode);
2301 ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
2307 static enum ndr_err_code ndr_push_spoolss_JobInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo1 *r)
2309 if (ndr_flags & NDR_SCALARS) {
2310 NDR_CHECK(ndr_push_align(ndr, 4));
2311 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
2313 uint32_t _flags_save_string = ndr->flags;
2314 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2315 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printer_name));
2316 ndr->flags = _flags_save_string;
2319 uint32_t _flags_save_string = ndr->flags;
2320 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2321 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->server_name));
2322 ndr->flags = _flags_save_string;
2325 uint32_t _flags_save_string = ndr->flags;
2326 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2327 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->user_name));
2328 ndr->flags = _flags_save_string;
2331 uint32_t _flags_save_string = ndr->flags;
2332 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2333 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->document_name));
2334 ndr->flags = _flags_save_string;
2337 uint32_t _flags_save_string = ndr->flags;
2338 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2339 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_type));
2340 ndr->flags = _flags_save_string;
2343 uint32_t _flags_save_string = ndr->flags;
2344 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2345 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->text_status));
2346 ndr->flags = _flags_save_string;
2348 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->status));
2349 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
2350 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
2351 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
2352 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
2353 NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->time));
2355 if (ndr_flags & NDR_BUFFERS) {
2357 uint32_t _flags_save_string = ndr->flags;
2358 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2359 if (r->printer_name) {
2360 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printer_name));
2361 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name));
2363 ndr->flags = _flags_save_string;
2366 uint32_t _flags_save_string = ndr->flags;
2367 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2368 if (r->server_name) {
2369 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->server_name));
2370 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name));
2372 ndr->flags = _flags_save_string;
2375 uint32_t _flags_save_string = ndr->flags;
2376 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2378 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->user_name));
2379 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
2381 ndr->flags = _flags_save_string;
2384 uint32_t _flags_save_string = ndr->flags;
2385 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2386 if (r->document_name) {
2387 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->document_name));
2388 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name));
2390 ndr->flags = _flags_save_string;
2393 uint32_t _flags_save_string = ndr->flags;
2394 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2396 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_type));
2397 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type));
2399 ndr->flags = _flags_save_string;
2402 uint32_t _flags_save_string = ndr->flags;
2403 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2404 if (r->text_status) {
2405 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->text_status));
2406 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status));
2408 ndr->flags = _flags_save_string;
2411 return NDR_ERR_SUCCESS;
2414 static enum ndr_err_code ndr_pull_spoolss_JobInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo1 *r)
2416 uint32_t _ptr_printer_name;
2417 TALLOC_CTX *_mem_save_printer_name_0;
2418 uint32_t _ptr_server_name;
2419 TALLOC_CTX *_mem_save_server_name_0;
2420 uint32_t _ptr_user_name;
2421 TALLOC_CTX *_mem_save_user_name_0;
2422 uint32_t _ptr_document_name;
2423 TALLOC_CTX *_mem_save_document_name_0;
2424 uint32_t _ptr_data_type;
2425 TALLOC_CTX *_mem_save_data_type_0;
2426 uint32_t _ptr_text_status;
2427 TALLOC_CTX *_mem_save_text_status_0;
2428 if (ndr_flags & NDR_SCALARS) {
2429 NDR_CHECK(ndr_pull_align(ndr, 4));
2430 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
2432 uint32_t _flags_save_string = ndr->flags;
2433 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2434 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
2435 if (_ptr_printer_name) {
2436 NDR_PULL_ALLOC(ndr, r->printer_name);
2437 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printer_name, _ptr_printer_name));
2439 r->printer_name = NULL;
2441 ndr->flags = _flags_save_string;
2444 uint32_t _flags_save_string = ndr->flags;
2445 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2446 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
2447 if (_ptr_server_name) {
2448 NDR_PULL_ALLOC(ndr, r->server_name);
2449 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->server_name, _ptr_server_name));
2451 r->server_name = NULL;
2453 ndr->flags = _flags_save_string;
2456 uint32_t _flags_save_string = ndr->flags;
2457 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2458 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
2459 if (_ptr_user_name) {
2460 NDR_PULL_ALLOC(ndr, r->user_name);
2461 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->user_name, _ptr_user_name));
2463 r->user_name = NULL;
2465 ndr->flags = _flags_save_string;
2468 uint32_t _flags_save_string = ndr->flags;
2469 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2470 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
2471 if (_ptr_document_name) {
2472 NDR_PULL_ALLOC(ndr, r->document_name);
2473 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->document_name, _ptr_document_name));
2475 r->document_name = NULL;
2477 ndr->flags = _flags_save_string;
2480 uint32_t _flags_save_string = ndr->flags;
2481 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2482 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
2483 if (_ptr_data_type) {
2484 NDR_PULL_ALLOC(ndr, r->data_type);
2485 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_type, _ptr_data_type));
2487 r->data_type = NULL;
2489 ndr->flags = _flags_save_string;
2492 uint32_t _flags_save_string = ndr->flags;
2493 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2494 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
2495 if (_ptr_text_status) {
2496 NDR_PULL_ALLOC(ndr, r->text_status);
2497 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->text_status, _ptr_text_status));
2499 r->text_status = NULL;
2501 ndr->flags = _flags_save_string;
2503 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->status));
2504 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
2505 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position));
2506 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
2507 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
2508 NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->time));
2510 if (ndr_flags & NDR_BUFFERS) {
2512 uint32_t _flags_save_string = ndr->flags;
2513 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2514 if (r->printer_name) {
2515 uint32_t _relative_save_offset;
2516 _relative_save_offset = ndr->offset;
2517 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printer_name));
2518 _mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2519 NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
2520 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printer_name));
2521 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
2522 ndr->offset = _relative_save_offset;
2524 ndr->flags = _flags_save_string;
2527 uint32_t _flags_save_string = ndr->flags;
2528 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2529 if (r->server_name) {
2530 uint32_t _relative_save_offset;
2531 _relative_save_offset = ndr->offset;
2532 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->server_name));
2533 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2534 NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
2535 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->server_name));
2536 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
2537 ndr->offset = _relative_save_offset;
2539 ndr->flags = _flags_save_string;
2542 uint32_t _flags_save_string = ndr->flags;
2543 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2545 uint32_t _relative_save_offset;
2546 _relative_save_offset = ndr->offset;
2547 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->user_name));
2548 _mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2549 NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
2550 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name));
2551 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
2552 ndr->offset = _relative_save_offset;
2554 ndr->flags = _flags_save_string;
2557 uint32_t _flags_save_string = ndr->flags;
2558 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2559 if (r->document_name) {
2560 uint32_t _relative_save_offset;
2561 _relative_save_offset = ndr->offset;
2562 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->document_name));
2563 _mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2564 NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
2565 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->document_name));
2566 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
2567 ndr->offset = _relative_save_offset;
2569 ndr->flags = _flags_save_string;
2572 uint32_t _flags_save_string = ndr->flags;
2573 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2575 uint32_t _relative_save_offset;
2576 _relative_save_offset = ndr->offset;
2577 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_type));
2578 _mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
2579 NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
2580 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_type));
2581 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
2582 ndr->offset = _relative_save_offset;
2584 ndr->flags = _flags_save_string;
2587 uint32_t _flags_save_string = ndr->flags;
2588 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
2589 if (r->text_status) {
2590 uint32_t _relative_save_offset;
2591 _relative_save_offset = ndr->offset;
2592 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->text_status));
2593 _mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
2594 NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
2595 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->text_status));
2596 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
2597 ndr->offset = _relative_save_offset;
2599 ndr->flags = _flags_save_string;
2602 return NDR_ERR_SUCCESS;
2605 _PUBLIC_ void ndr_print_spoolss_JobInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo1 *r)
2607 ndr_print_struct(ndr, name, "spoolss_JobInfo1");
2609 ndr_print_uint32(ndr, "job_id", r->job_id);
2610 ndr_print_ptr(ndr, "printer_name", r->printer_name);
2612 if (r->printer_name) {
2613 ndr_print_string(ndr, "printer_name", r->printer_name);
2616 ndr_print_ptr(ndr, "server_name", r->server_name);
2618 if (r->server_name) {
2619 ndr_print_string(ndr, "server_name", r->server_name);
2622 ndr_print_ptr(ndr, "user_name", r->user_name);
2625 ndr_print_string(ndr, "user_name", r->user_name);
2628 ndr_print_ptr(ndr, "document_name", r->document_name);
2630 if (r->document_name) {
2631 ndr_print_string(ndr, "document_name", r->document_name);
2634 ndr_print_ptr(ndr, "data_type", r->data_type);
2637 ndr_print_string(ndr, "data_type", r->data_type);
2640 ndr_print_ptr(ndr, "text_status", r->text_status);
2642 if (r->text_status) {
2643 ndr_print_string(ndr, "text_status", r->text_status);
2646 ndr_print_uint32(ndr, "status", r->status);
2647 ndr_print_uint32(ndr, "priority", r->priority);
2648 ndr_print_uint32(ndr, "position", r->position);
2649 ndr_print_uint32(ndr, "total_pages", r->total_pages);
2650 ndr_print_uint32(ndr, "pages_printed", r->pages_printed);
2651 ndr_print_spoolss_Time(ndr, "time", &r->time);
2655 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_JobInfo *r)
2657 uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
2658 if (ndr_flags & NDR_SCALARS) {
2659 int level = ndr_push_get_switch_value(ndr, r);
2662 NDR_CHECK(ndr_push_align(ndr, 4));
2663 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
2664 NDR_CHECK(ndr_push_spoolss_JobInfo1(ndr, NDR_SCALARS, &r->info1));
2678 if (ndr_flags & NDR_BUFFERS) {
2679 int level = ndr_push_get_switch_value(ndr, r);
2680 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
2683 NDR_CHECK(ndr_push_spoolss_JobInfo1(ndr, NDR_BUFFERS, &r->info1));
2697 ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
2698 return NDR_ERR_SUCCESS;
2701 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_JobInfo *r)
2703 uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
2705 level = ndr_pull_get_switch_value(ndr, r);
2706 if (ndr_flags & NDR_SCALARS) {
2709 NDR_CHECK(ndr_pull_align(ndr, 4));
2710 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
2711 NDR_CHECK(ndr_pull_spoolss_JobInfo1(ndr, NDR_SCALARS, &r->info1));
2725 if (ndr_flags & NDR_BUFFERS) {
2726 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
2729 NDR_CHECK(ndr_pull_spoolss_JobInfo1(ndr, NDR_BUFFERS, &r->info1));
2743 ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
2744 return NDR_ERR_SUCCESS;
2747 _PUBLIC_ void ndr_print_spoolss_JobInfo(struct ndr_print *ndr, const char *name, const union spoolss_JobInfo *r)
2750 level = ndr_print_get_switch_value(ndr, r);
2751 ndr_print_union(ndr, name, level, "spoolss_JobInfo");
2754 ndr_print_spoolss_JobInfo1(ndr, "info1", &r->info1);
2769 static enum ndr_err_code ndr_push_spoolss_JobInfoContainer(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfoContainer *r)
2771 if (ndr_flags & NDR_SCALARS) {
2772 NDR_CHECK(ndr_push_align(ndr, 4));
2773 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
2774 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level));
2775 NDR_CHECK(ndr_push_spoolss_JobInfo(ndr, NDR_SCALARS, &r->info));
2777 if (ndr_flags & NDR_BUFFERS) {
2778 NDR_CHECK(ndr_push_spoolss_JobInfo(ndr, NDR_BUFFERS, &r->info));
2780 return NDR_ERR_SUCCESS;
2783 static enum ndr_err_code ndr_pull_spoolss_JobInfoContainer(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfoContainer *r)
2785 if (ndr_flags & NDR_SCALARS) {
2786 NDR_CHECK(ndr_pull_align(ndr, 4));
2787 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
2788 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level));
2789 NDR_CHECK(ndr_pull_spoolss_JobInfo(ndr, NDR_SCALARS, &r->info));
2791 if (ndr_flags & NDR_BUFFERS) {
2792 NDR_CHECK(ndr_pull_spoolss_JobInfo(ndr, NDR_BUFFERS, &r->info));
2794 return NDR_ERR_SUCCESS;
2797 _PUBLIC_ void ndr_print_spoolss_JobInfoContainer(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfoContainer *r)
2799 ndr_print_struct(ndr, name, "spoolss_JobInfoContainer");
2801 ndr_print_uint32(ndr, "level", r->level);
2802 ndr_print_set_switch_value(ndr, &r->info, r->level);
2803 ndr_print_spoolss_JobInfo(ndr, "info", &r->info);
2807 static enum ndr_err_code ndr_push_spoolss_JobControl(struct ndr_push *ndr, int ndr_flags, enum spoolss_JobControl r)
2809 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2810 return NDR_ERR_SUCCESS;
2813 static enum ndr_err_code ndr_pull_spoolss_JobControl(struct ndr_pull *ndr, int ndr_flags, enum spoolss_JobControl *r)
2816 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2818 return NDR_ERR_SUCCESS;
2821 _PUBLIC_ void ndr_print_spoolss_JobControl(struct ndr_print *ndr, const char *name, enum spoolss_JobControl r)
2823 const char *val = NULL;
2826 case SPOOLSS_JOB_CONTROL_PAUSE: val = "SPOOLSS_JOB_CONTROL_PAUSE"; break;
2827 case SPOOLSS_JOB_CONTROL_RESUME: val = "SPOOLSS_JOB_CONTROL_RESUME"; break;
2828 case SPOOLSS_JOB_CONTROL_CANCEL: val = "SPOOLSS_JOB_CONTROL_CANCEL"; break;
2829 case SPOOLSS_JOB_CONTROL_RESTART: val = "SPOOLSS_JOB_CONTROL_RESTART"; break;
2830 case SPOOLSS_JOB_CONTROL_DELETE: val = "SPOOLSS_JOB_CONTROL_DELETE"; break;
2831 case SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER: val = "SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER"; break;
2832 case SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED: val = "SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED"; break;
2834 ndr_print_enum(ndr, name, "ENUM", val, r);
2837 static enum ndr_err_code ndr_push_spoolss_PrinterControl(struct ndr_push *ndr, int ndr_flags, enum spoolss_PrinterControl r)
2839 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2840 return NDR_ERR_SUCCESS;
2843 static enum ndr_err_code ndr_pull_spoolss_PrinterControl(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PrinterControl *r)
2846 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2848 return NDR_ERR_SUCCESS;
2851 _PUBLIC_ void ndr_print_spoolss_PrinterControl(struct ndr_print *ndr, const char *name, enum spoolss_PrinterControl r)
2853 const char *val = NULL;
2856 case SPOOLSS_PRINTER_CONTROL_UNPAUSE: val = "SPOOLSS_PRINTER_CONTROL_UNPAUSE"; break;
2857 case SPOOLSS_PRINTER_CONTROL_PAUSE: val = "SPOOLSS_PRINTER_CONTROL_PAUSE"; break;
2858 case SPOOLSS_PRINTER_CONTROL_RESUME: val = "SPOOLSS_PRINTER_CONTROL_RESUME"; break;
2859 case SPOOLSS_PRINTER_CONTROL_PURGE: val = "SPOOLSS_PRINTER_CONTROL_PURGE"; break;
2860 case SPOOLSS_PRINTER_CONTROL_SET_STATUS: val = "SPOOLSS_PRINTER_CONTROL_SET_STATUS"; break;
2862 ndr_print_enum(ndr, name, "ENUM", val, r);
2865 static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_SetPrinterInfo *r)
2867 if (ndr_flags & NDR_SCALARS) {
2868 int level = ndr_push_get_switch_value(ndr, r);
2869 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
2872 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
2876 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
2880 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
2884 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
2888 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
2892 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info5));
2896 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info6));
2900 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info7));
2904 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info8));
2908 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info9));
2916 if (ndr_flags & NDR_BUFFERS) {
2917 int level = ndr_push_get_switch_value(ndr, r);
2921 NDR_CHECK(ndr_push_spoolss_PrinterInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
2927 NDR_CHECK(ndr_push_spoolss_PrinterInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
2933 NDR_CHECK(ndr_push_spoolss_PrinterInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
2939 NDR_CHECK(ndr_push_spoolss_PrinterInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3));
2945 NDR_CHECK(ndr_push_spoolss_PrinterInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
2951 NDR_CHECK(ndr_push_spoolss_PrinterInfo5(ndr, NDR_SCALARS|NDR_BUFFERS, r->info5));
2957 NDR_CHECK(ndr_push_spoolss_PrinterInfo6(ndr, NDR_SCALARS, r->info6));
2963 NDR_CHECK(ndr_push_spoolss_PrinterInfo7(ndr, NDR_SCALARS|NDR_BUFFERS, r->info7));
2969 NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info8));
2975 NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info9));
2984 return NDR_ERR_SUCCESS;
2987 static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_SetPrinterInfo *r)
2991 TALLOC_CTX *_mem_save_info0_0;
2992 TALLOC_CTX *_mem_save_info1_0;
2993 TALLOC_CTX *_mem_save_info2_0;
2994 TALLOC_CTX *_mem_save_info3_0;
2995 TALLOC_CTX *_mem_save_info4_0;
2996 TALLOC_CTX *_mem_save_info5_0;
2997 TALLOC_CTX *_mem_save_info6_0;
2998 TALLOC_CTX *_mem_save_info7_0;
2999 TALLOC_CTX *_mem_save_info8_0;
3000 TALLOC_CTX *_mem_save_info9_0;
3001 level = ndr_pull_get_switch_value(ndr, r);
3002 if (ndr_flags & NDR_SCALARS) {
3003 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
3004 if (_level != level) {
3005 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
3009 uint32_t _ptr_info0;
3010 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
3012 NDR_PULL_ALLOC(ndr, r->info0);
3019 uint32_t _ptr_info1;
3020 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
3022 NDR_PULL_ALLOC(ndr, r->info1);
3029 uint32_t _ptr_info2;
3030 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
3032 NDR_PULL_ALLOC(ndr, r->info2);
3039 uint32_t _ptr_info3;
3040 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
3042 NDR_PULL_ALLOC(ndr, r->info3);
3049 uint32_t _ptr_info4;
3050 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
3052 NDR_PULL_ALLOC(ndr, r->info4);
3059 uint32_t _ptr_info5;
3060 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info5));
3062 NDR_PULL_ALLOC(ndr, r->info5);
3069 uint32_t _ptr_info6;
3070 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info6));
3072 NDR_PULL_ALLOC(ndr, r->info6);
3079 uint32_t _ptr_info7;
3080 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info7));
3082 NDR_PULL_ALLOC(ndr, r->info7);
3089 uint32_t _ptr_info8;
3090 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info8));
3092 NDR_PULL_ALLOC(ndr, r->info8);
3099 uint32_t _ptr_info9;
3100 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info9));
3102 NDR_PULL_ALLOC(ndr, r->info9);
3113 if (ndr_flags & NDR_BUFFERS) {
3117 _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
3118 NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
3119 NDR_CHECK(ndr_pull_spoolss_PrinterInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
3120 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
3126 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
3127 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
3128 NDR_CHECK(ndr_pull_spoolss_PrinterInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
3129 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
3135 _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
3136 NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
3137 NDR_CHECK(ndr_pull_spoolss_PrinterInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
3138 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
3144 _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
3145 NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
3146 NDR_CHECK(ndr_pull_spoolss_PrinterInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3));
3147 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
3153 _mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr);
3154 NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0);
3155 NDR_CHECK(ndr_pull_spoolss_PrinterInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
3156 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0);
3162 _mem_save_info5_0 = NDR_PULL_GET_MEM_CTX(ndr);
3163 NDR_PULL_SET_MEM_CTX(ndr, r->info5, 0);
3164 NDR_CHECK(ndr_pull_spoolss_PrinterInfo5(ndr, NDR_SCALARS|NDR_BUFFERS, r->info5));
3165 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info5_0, 0);
3171 _mem_save_info6_0 = NDR_PULL_GET_MEM_CTX(ndr);
3172 NDR_PULL_SET_MEM_CTX(ndr, r->info6, 0);
3173 NDR_CHECK(ndr_pull_spoolss_PrinterInfo6(ndr, NDR_SCALARS, r->info6));
3174 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info6_0, 0);
3180 _mem_save_info7_0 = NDR_PULL_GET_MEM_CTX(ndr);
3181 NDR_PULL_SET_MEM_CTX(ndr, r->info7, 0);
3182 NDR_CHECK(ndr_pull_spoolss_PrinterInfo7(ndr, NDR_SCALARS|NDR_BUFFERS, r->info7));
3183 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info7_0, 0);
3189 _mem_save_info8_0 = NDR_PULL_GET_MEM_CTX(ndr);
3190 NDR_PULL_SET_MEM_CTX(ndr, r->info8, 0);
3191 NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info8));
3192 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info8_0, 0);
3198 _mem_save_info9_0 = NDR_PULL_GET_MEM_CTX(ndr);
3199 NDR_PULL_SET_MEM_CTX(ndr, r->info9, 0);
3200 NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info9));
3201 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info9_0, 0);
3210 return NDR_ERR_SUCCESS;
3213 _PUBLIC_ void ndr_print_spoolss_SetPrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_SetPrinterInfo *r)
3216 level = ndr_print_get_switch_value(ndr, r);
3217 ndr_print_union(ndr, name, level, "spoolss_SetPrinterInfo");
3220 ndr_print_ptr(ndr, "info0", r->info0);
3223 ndr_print_spoolss_PrinterInfo0(ndr, "info0", r->info0);
3229 ndr_print_ptr(ndr, "info1", r->info1);
3232 ndr_print_spoolss_PrinterInfo1(ndr, "info1", r->info1);
3238 ndr_print_ptr(ndr, "info2", r->info2);
3241 ndr_print_spoolss_PrinterInfo2(ndr, "info2", r->info2);
3247 ndr_print_ptr(ndr, "info3", r->info3);
3250 ndr_print_spoolss_PrinterInfo3(ndr, "info3", r->info3);
3256 ndr_print_ptr(ndr, "info4", r->info4);
3259 ndr_print_spoolss_PrinterInfo4(ndr, "info4", r->info4);
3265 ndr_print_ptr(ndr, "info5", r->info5);
3268 ndr_print_spoolss_PrinterInfo5(ndr, "info5", r->info5);
3274 ndr_print_ptr(ndr, "info6", r->info6);
3277 ndr_print_spoolss_PrinterInfo6(ndr, "info6", r->info6);
3283 ndr_print_ptr(ndr, "info7", r->info7);
3286 ndr_print_spoolss_PrinterInfo7(ndr, "info7", r->info7);
3292 ndr_print_ptr(ndr, "info8", r->info8);
3295 ndr_print_spoolss_DeviceModeInfo(ndr, "info8", r->info8);
3301 ndr_print_ptr(ndr, "info9", r->info9);
3304 ndr_print_spoolss_DeviceModeInfo(ndr, "info9", r->info9);
3315 static enum ndr_err_code ndr_push_spoolss_DriverInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo1 *r)
3317 if (ndr_flags & NDR_SCALARS) {
3318 NDR_CHECK(ndr_push_align(ndr, 4));
3320 uint32_t _flags_save_string = ndr->flags;
3321 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3322 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
3323 ndr->flags = _flags_save_string;
3326 if (ndr_flags & NDR_BUFFERS) {
3328 uint32_t _flags_save_string = ndr->flags;
3329 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3330 if (r->driver_name) {
3331 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name));
3332 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
3334 ndr->flags = _flags_save_string;
3337 return NDR_ERR_SUCCESS;
3340 static enum ndr_err_code ndr_pull_spoolss_DriverInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo1 *r)
3342 uint32_t _ptr_driver_name;
3343 TALLOC_CTX *_mem_save_driver_name_0;
3344 if (ndr_flags & NDR_SCALARS) {
3345 NDR_CHECK(ndr_pull_align(ndr, 4));
3347 uint32_t _flags_save_string = ndr->flags;
3348 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3349 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
3350 if (_ptr_driver_name) {
3351 NDR_PULL_ALLOC(ndr, r->driver_name);
3352 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
3354 r->driver_name = NULL;
3356 ndr->flags = _flags_save_string;
3359 if (ndr_flags & NDR_BUFFERS) {
3361 uint32_t _flags_save_string = ndr->flags;
3362 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3363 if (r->driver_name) {
3364 uint32_t _relative_save_offset;
3365 _relative_save_offset = ndr->offset;
3366 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
3367 _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3368 NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
3369 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
3370 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
3371 ndr->offset = _relative_save_offset;
3373 ndr->flags = _flags_save_string;
3376 return NDR_ERR_SUCCESS;
3379 _PUBLIC_ void ndr_print_spoolss_DriverInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo1 *r)
3381 ndr_print_struct(ndr, name, "spoolss_DriverInfo1");
3383 ndr_print_ptr(ndr, "driver_name", r->driver_name);
3385 if (r->driver_name) {
3386 ndr_print_string(ndr, "driver_name", r->driver_name);
3392 static enum ndr_err_code ndr_push_spoolss_DriverOSVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_DriverOSVersion r)
3394 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3395 return NDR_ERR_SUCCESS;
3398 static enum ndr_err_code ndr_pull_spoolss_DriverOSVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DriverOSVersion *r)
3401 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3403 return NDR_ERR_SUCCESS;
3406 _PUBLIC_ void ndr_print_spoolss_DriverOSVersion(struct ndr_print *ndr, const char *name, enum spoolss_DriverOSVersion r)
3408 const char *val = NULL;
3411 case SPOOLSS_DRIVER_VERSION_9X: val = "SPOOLSS_DRIVER_VERSION_9X"; break;
3412 case SPOOLSS_DRIVER_VERSION_NT35: val = "SPOOLSS_DRIVER_VERSION_NT35"; break;
3413 case SPOOLSS_DRIVER_VERSION_NT4: val = "SPOOLSS_DRIVER_VERSION_NT4"; break;
3414 case SPOOLSS_DRIVER_VERSION_200X: val = "SPOOLSS_DRIVER_VERSION_200X"; break;
3416 ndr_print_enum(ndr, name, "ENUM", val, r);
3419 static enum ndr_err_code ndr_push_spoolss_DriverInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo2 *r)
3421 if (ndr_flags & NDR_SCALARS) {
3422 NDR_CHECK(ndr_push_align(ndr, 4));
3423 NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
3425 uint32_t _flags_save_string = ndr->flags;
3426 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3427 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
3428 ndr->flags = _flags_save_string;
3431 uint32_t _flags_save_string = ndr->flags;
3432 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3433 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
3434 ndr->flags = _flags_save_string;
3437 uint32_t _flags_save_string = ndr->flags;
3438 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3439 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
3440 ndr->flags = _flags_save_string;
3443 uint32_t _flags_save_string = ndr->flags;
3444 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3445 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
3446 ndr->flags = _flags_save_string;
3449 uint32_t _flags_save_string = ndr->flags;
3450 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3451 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
3452 ndr->flags = _flags_save_string;
3455 if (ndr_flags & NDR_BUFFERS) {
3457 uint32_t _flags_save_string = ndr->flags;
3458 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3459 if (r->driver_name) {
3460 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name));
3461 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_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);
3468 if (r->architecture) {
3469 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->architecture));
3470 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
3472 ndr->flags = _flags_save_string;
3475 uint32_t _flags_save_string = ndr->flags;
3476 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3477 if (r->driver_path) {
3478 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_path));
3479 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
3481 ndr->flags = _flags_save_string;
3484 uint32_t _flags_save_string = ndr->flags;
3485 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3487 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_file));
3488 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
3490 ndr->flags = _flags_save_string;
3493 uint32_t _flags_save_string = ndr->flags;
3494 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3495 if (r->config_file) {
3496 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->config_file));
3497 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
3499 ndr->flags = _flags_save_string;
3502 return NDR_ERR_SUCCESS;
3505 static enum ndr_err_code ndr_pull_spoolss_DriverInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo2 *r)
3507 uint32_t _ptr_driver_name;
3508 TALLOC_CTX *_mem_save_driver_name_0;
3509 uint32_t _ptr_architecture;
3510 TALLOC_CTX *_mem_save_architecture_0;
3511 uint32_t _ptr_driver_path;
3512 TALLOC_CTX *_mem_save_driver_path_0;
3513 uint32_t _ptr_data_file;
3514 TALLOC_CTX *_mem_save_data_file_0;
3515 uint32_t _ptr_config_file;
3516 TALLOC_CTX *_mem_save_config_file_0;
3517 if (ndr_flags & NDR_SCALARS) {
3518 NDR_CHECK(ndr_pull_align(ndr, 4));
3519 NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
3521 uint32_t _flags_save_string = ndr->flags;
3522 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3523 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
3524 if (_ptr_driver_name) {
3525 NDR_PULL_ALLOC(ndr, r->driver_name);
3526 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
3528 r->driver_name = NULL;
3530 ndr->flags = _flags_save_string;
3533 uint32_t _flags_save_string = ndr->flags;
3534 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3535 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
3536 if (_ptr_architecture) {
3537 NDR_PULL_ALLOC(ndr, r->architecture);
3538 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
3540 r->architecture = NULL;
3542 ndr->flags = _flags_save_string;
3545 uint32_t _flags_save_string = ndr->flags;
3546 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3547 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
3548 if (_ptr_driver_path) {
3549 NDR_PULL_ALLOC(ndr, r->driver_path);
3550 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
3552 r->driver_path = NULL;
3554 ndr->flags = _flags_save_string;
3557 uint32_t _flags_save_string = ndr->flags;
3558 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3559 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
3560 if (_ptr_data_file) {
3561 NDR_PULL_ALLOC(ndr, r->data_file);
3562 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
3564 r->data_file = NULL;
3566 ndr->flags = _flags_save_string;
3569 uint32_t _flags_save_string = ndr->flags;
3570 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3571 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
3572 if (_ptr_config_file) {
3573 NDR_PULL_ALLOC(ndr, r->config_file);
3574 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
3576 r->config_file = NULL;
3578 ndr->flags = _flags_save_string;
3581 if (ndr_flags & NDR_BUFFERS) {
3583 uint32_t _flags_save_string = ndr->flags;
3584 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3585 if (r->driver_name) {
3586 uint32_t _relative_save_offset;
3587 _relative_save_offset = ndr->offset;
3588 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
3589 _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3590 NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
3591 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
3592 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
3593 ndr->offset = _relative_save_offset;
3595 ndr->flags = _flags_save_string;
3598 uint32_t _flags_save_string = ndr->flags;
3599 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3600 if (r->architecture) {
3601 uint32_t _relative_save_offset;
3602 _relative_save_offset = ndr->offset;
3603 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
3604 _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
3605 NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
3606 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
3607 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
3608 ndr->offset = _relative_save_offset;
3610 ndr->flags = _flags_save_string;
3613 uint32_t _flags_save_string = ndr->flags;
3614 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3615 if (r->driver_path) {
3616 uint32_t _relative_save_offset;
3617 _relative_save_offset = ndr->offset;
3618 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
3619 _mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
3620 NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
3621 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
3622 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
3623 ndr->offset = _relative_save_offset;
3625 ndr->flags = _flags_save_string;
3628 uint32_t _flags_save_string = ndr->flags;
3629 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3631 uint32_t _relative_save_offset;
3632 _relative_save_offset = ndr->offset;
3633 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
3634 _mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
3635 NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
3636 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
3637 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
3638 ndr->offset = _relative_save_offset;
3640 ndr->flags = _flags_save_string;
3643 uint32_t _flags_save_string = ndr->flags;
3644 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3645 if (r->config_file) {
3646 uint32_t _relative_save_offset;
3647 _relative_save_offset = ndr->offset;
3648 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
3649 _mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
3650 NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
3651 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
3652 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
3653 ndr->offset = _relative_save_offset;
3655 ndr->flags = _flags_save_string;
3658 return NDR_ERR_SUCCESS;
3661 _PUBLIC_ void ndr_print_spoolss_DriverInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo2 *r)
3663 ndr_print_struct(ndr, name, "spoolss_DriverInfo2");
3665 ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
3666 ndr_print_ptr(ndr, "driver_name", r->driver_name);
3668 if (r->driver_name) {
3669 ndr_print_string(ndr, "driver_name", r->driver_name);
3672 ndr_print_ptr(ndr, "architecture", r->architecture);
3674 if (r->architecture) {
3675 ndr_print_string(ndr, "architecture", r->architecture);
3678 ndr_print_ptr(ndr, "driver_path", r->driver_path);
3680 if (r->driver_path) {
3681 ndr_print_string(ndr, "driver_path", r->driver_path);
3684 ndr_print_ptr(ndr, "data_file", r->data_file);
3687 ndr_print_string(ndr, "data_file", r->data_file);
3690 ndr_print_ptr(ndr, "config_file", r->config_file);
3692 if (r->config_file) {
3693 ndr_print_string(ndr, "config_file", r->config_file);
3699 static enum ndr_err_code ndr_push_spoolss_DriverInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo3 *r)
3701 if (ndr_flags & NDR_SCALARS) {
3702 NDR_CHECK(ndr_push_align(ndr, 4));
3703 NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
3705 uint32_t _flags_save_string = ndr->flags;
3706 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3707 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
3708 ndr->flags = _flags_save_string;
3711 uint32_t _flags_save_string = ndr->flags;
3712 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3713 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
3714 ndr->flags = _flags_save_string;
3717 uint32_t _flags_save_string = ndr->flags;
3718 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3719 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
3720 ndr->flags = _flags_save_string;
3723 uint32_t _flags_save_string = ndr->flags;
3724 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3725 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
3726 ndr->flags = _flags_save_string;
3729 uint32_t _flags_save_string = ndr->flags;
3730 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3731 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
3732 ndr->flags = _flags_save_string;
3735 uint32_t _flags_save_string = ndr->flags;
3736 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3737 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
3738 ndr->flags = _flags_save_string;
3741 uint32_t _flags_save_string_array = ndr->flags;
3742 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3743 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
3744 ndr->flags = _flags_save_string_array;
3747 uint32_t _flags_save_string = ndr->flags;
3748 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3749 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
3750 ndr->flags = _flags_save_string;
3753 uint32_t _flags_save_string = ndr->flags;
3754 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3755 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
3756 ndr->flags = _flags_save_string;
3759 if (ndr_flags & NDR_BUFFERS) {
3761 uint32_t _flags_save_string = ndr->flags;
3762 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3763 if (r->driver_name) {
3764 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name));
3765 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
3767 ndr->flags = _flags_save_string;
3770 uint32_t _flags_save_string = ndr->flags;
3771 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3772 if (r->architecture) {
3773 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->architecture));
3774 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
3776 ndr->flags = _flags_save_string;
3779 uint32_t _flags_save_string = ndr->flags;
3780 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3781 if (r->driver_path) {
3782 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_path));
3783 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
3785 ndr->flags = _flags_save_string;
3788 uint32_t _flags_save_string = ndr->flags;
3789 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3791 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_file));
3792 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
3794 ndr->flags = _flags_save_string;
3797 uint32_t _flags_save_string = ndr->flags;
3798 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3799 if (r->config_file) {
3800 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->config_file));
3801 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
3803 ndr->flags = _flags_save_string;
3806 uint32_t _flags_save_string = ndr->flags;
3807 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3809 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->help_file));
3810 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
3812 ndr->flags = _flags_save_string;
3815 uint32_t _flags_save_string_array = ndr->flags;
3816 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3817 if (r->dependent_files) {
3818 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dependent_files));
3819 NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
3821 ndr->flags = _flags_save_string_array;
3824 uint32_t _flags_save_string = ndr->flags;
3825 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3826 if (r->monitor_name) {
3827 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name));
3828 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
3830 ndr->flags = _flags_save_string;
3833 uint32_t _flags_save_string = ndr->flags;
3834 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3835 if (r->default_datatype) {
3836 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->default_datatype));
3837 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
3839 ndr->flags = _flags_save_string;
3842 return NDR_ERR_SUCCESS;
3845 static enum ndr_err_code ndr_pull_spoolss_DriverInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo3 *r)
3847 uint32_t _ptr_driver_name;
3848 TALLOC_CTX *_mem_save_driver_name_0;
3849 uint32_t _ptr_architecture;
3850 TALLOC_CTX *_mem_save_architecture_0;
3851 uint32_t _ptr_driver_path;
3852 TALLOC_CTX *_mem_save_driver_path_0;
3853 uint32_t _ptr_data_file;
3854 TALLOC_CTX *_mem_save_data_file_0;
3855 uint32_t _ptr_config_file;
3856 TALLOC_CTX *_mem_save_config_file_0;
3857 uint32_t _ptr_help_file;
3858 TALLOC_CTX *_mem_save_help_file_0;
3859 uint32_t _ptr_dependent_files;
3860 TALLOC_CTX *_mem_save_dependent_files_0;
3861 uint32_t _ptr_monitor_name;
3862 TALLOC_CTX *_mem_save_monitor_name_0;
3863 uint32_t _ptr_default_datatype;
3864 TALLOC_CTX *_mem_save_default_datatype_0;
3865 if (ndr_flags & NDR_SCALARS) {
3866 NDR_CHECK(ndr_pull_align(ndr, 4));
3867 NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
3869 uint32_t _flags_save_string = ndr->flags;
3870 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3871 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
3872 if (_ptr_driver_name) {
3873 NDR_PULL_ALLOC(ndr, r->driver_name);
3874 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
3876 r->driver_name = NULL;
3878 ndr->flags = _flags_save_string;
3881 uint32_t _flags_save_string = ndr->flags;
3882 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3883 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
3884 if (_ptr_architecture) {
3885 NDR_PULL_ALLOC(ndr, r->architecture);
3886 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
3888 r->architecture = NULL;
3890 ndr->flags = _flags_save_string;
3893 uint32_t _flags_save_string = ndr->flags;
3894 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3895 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
3896 if (_ptr_driver_path) {
3897 NDR_PULL_ALLOC(ndr, r->driver_path);
3898 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
3900 r->driver_path = NULL;
3902 ndr->flags = _flags_save_string;
3905 uint32_t _flags_save_string = ndr->flags;
3906 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3907 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
3908 if (_ptr_data_file) {
3909 NDR_PULL_ALLOC(ndr, r->data_file);
3910 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
3912 r->data_file = NULL;
3914 ndr->flags = _flags_save_string;
3917 uint32_t _flags_save_string = ndr->flags;
3918 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3919 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
3920 if (_ptr_config_file) {
3921 NDR_PULL_ALLOC(ndr, r->config_file);
3922 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
3924 r->config_file = NULL;
3926 ndr->flags = _flags_save_string;
3929 uint32_t _flags_save_string = ndr->flags;
3930 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3931 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
3932 if (_ptr_help_file) {
3933 NDR_PULL_ALLOC(ndr, r->help_file);
3934 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file));
3936 r->help_file = NULL;
3938 ndr->flags = _flags_save_string;
3941 uint32_t _flags_save_string_array = ndr->flags;
3942 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3943 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
3944 if (_ptr_dependent_files) {
3945 NDR_PULL_ALLOC(ndr, r->dependent_files);
3946 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
3948 r->dependent_files = NULL;
3950 ndr->flags = _flags_save_string_array;
3953 uint32_t _flags_save_string = ndr->flags;
3954 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3955 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
3956 if (_ptr_monitor_name) {
3957 NDR_PULL_ALLOC(ndr, r->monitor_name);
3958 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
3960 r->monitor_name = NULL;
3962 ndr->flags = _flags_save_string;
3965 uint32_t _flags_save_string = ndr->flags;
3966 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3967 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
3968 if (_ptr_default_datatype) {
3969 NDR_PULL_ALLOC(ndr, r->default_datatype);
3970 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype));
3972 r->default_datatype = NULL;
3974 ndr->flags = _flags_save_string;
3977 if (ndr_flags & NDR_BUFFERS) {
3979 uint32_t _flags_save_string = ndr->flags;
3980 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3981 if (r->driver_name) {
3982 uint32_t _relative_save_offset;
3983 _relative_save_offset = ndr->offset;
3984 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
3985 _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3986 NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
3987 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
3988 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
3989 ndr->offset = _relative_save_offset;
3991 ndr->flags = _flags_save_string;
3994 uint32_t _flags_save_string = ndr->flags;
3995 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
3996 if (r->architecture) {
3997 uint32_t _relative_save_offset;
3998 _relative_save_offset = ndr->offset;
3999 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
4000 _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
4001 NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
4002 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
4003 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
4004 ndr->offset = _relative_save_offset;
4006 ndr->flags = _flags_save_string;
4009 uint32_t _flags_save_string = ndr->flags;
4010 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4011 if (r->driver_path) {
4012 uint32_t _relative_save_offset;
4013 _relative_save_offset = ndr->offset;
4014 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
4015 _mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
4016 NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
4017 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
4018 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
4019 ndr->offset = _relative_save_offset;
4021 ndr->flags = _flags_save_string;
4024 uint32_t _flags_save_string = ndr->flags;
4025 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4027 uint32_t _relative_save_offset;
4028 _relative_save_offset = ndr->offset;
4029 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
4030 _mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
4031 NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
4032 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
4033 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
4034 ndr->offset = _relative_save_offset;
4036 ndr->flags = _flags_save_string;
4039 uint32_t _flags_save_string = ndr->flags;
4040 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4041 if (r->config_file) {
4042 uint32_t _relative_save_offset;
4043 _relative_save_offset = ndr->offset;
4044 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
4045 _mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
4046 NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
4047 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
4048 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
4049 ndr->offset = _relative_save_offset;
4051 ndr->flags = _flags_save_string;
4054 uint32_t _flags_save_string = ndr->flags;
4055 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4057 uint32_t _relative_save_offset;
4058 _relative_save_offset = ndr->offset;
4059 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file));
4060 _mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
4061 NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
4062 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
4063 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
4064 ndr->offset = _relative_save_offset;
4066 ndr->flags = _flags_save_string;
4069 uint32_t _flags_save_string_array = ndr->flags;
4070 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4071 if (r->dependent_files) {
4072 uint32_t _relative_save_offset;
4073 _relative_save_offset = ndr->offset;
4074 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
4075 _mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
4076 NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
4077 NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
4078 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
4079 ndr->offset = _relative_save_offset;
4081 ndr->flags = _flags_save_string_array;
4084 uint32_t _flags_save_string = ndr->flags;
4085 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4086 if (r->monitor_name) {
4087 uint32_t _relative_save_offset;
4088 _relative_save_offset = ndr->offset;
4089 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
4090 _mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4091 NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
4092 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
4093 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
4094 ndr->offset = _relative_save_offset;
4096 ndr->flags = _flags_save_string;
4099 uint32_t _flags_save_string = ndr->flags;
4100 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4101 if (r->default_datatype) {
4102 uint32_t _relative_save_offset;
4103 _relative_save_offset = ndr->offset;
4104 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype));
4105 _mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
4106 NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
4107 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
4108 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
4109 ndr->offset = _relative_save_offset;
4111 ndr->flags = _flags_save_string;
4114 return NDR_ERR_SUCCESS;
4117 _PUBLIC_ void ndr_print_spoolss_DriverInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo3 *r)
4119 ndr_print_struct(ndr, name, "spoolss_DriverInfo3");
4121 ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
4122 ndr_print_ptr(ndr, "driver_name", r->driver_name);
4124 if (r->driver_name) {
4125 ndr_print_string(ndr, "driver_name", r->driver_name);
4128 ndr_print_ptr(ndr, "architecture", r->architecture);
4130 if (r->architecture) {
4131 ndr_print_string(ndr, "architecture", r->architecture);
4134 ndr_print_ptr(ndr, "driver_path", r->driver_path);
4136 if (r->driver_path) {
4137 ndr_print_string(ndr, "driver_path", r->driver_path);
4140 ndr_print_ptr(ndr, "data_file", r->data_file);
4143 ndr_print_string(ndr, "data_file", r->data_file);
4146 ndr_print_ptr(ndr, "config_file", r->config_file);
4148 if (r->config_file) {
4149 ndr_print_string(ndr, "config_file", r->config_file);
4152 ndr_print_ptr(ndr, "help_file", r->help_file);
4155 ndr_print_string(ndr, "help_file", r->help_file);
4158 ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
4160 if (r->dependent_files) {
4161 ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
4164 ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
4166 if (r->monitor_name) {
4167 ndr_print_string(ndr, "monitor_name", r->monitor_name);
4170 ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
4172 if (r->default_datatype) {
4173 ndr_print_string(ndr, "default_datatype", r->default_datatype);
4179 static enum ndr_err_code ndr_push_spoolss_DriverInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo4 *r)
4181 if (ndr_flags & NDR_SCALARS) {
4182 NDR_CHECK(ndr_push_align(ndr, 4));
4183 NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
4185 uint32_t _flags_save_string = ndr->flags;
4186 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4187 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
4188 ndr->flags = _flags_save_string;
4191 uint32_t _flags_save_string = ndr->flags;
4192 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4193 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
4194 ndr->flags = _flags_save_string;
4197 uint32_t _flags_save_string = ndr->flags;
4198 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4199 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
4200 ndr->flags = _flags_save_string;
4203 uint32_t _flags_save_string = ndr->flags;
4204 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4205 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
4206 ndr->flags = _flags_save_string;
4209 uint32_t _flags_save_string = ndr->flags;
4210 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4211 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
4212 ndr->flags = _flags_save_string;
4215 uint32_t _flags_save_string = ndr->flags;
4216 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4217 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
4218 ndr->flags = _flags_save_string;
4221 uint32_t _flags_save_string_array = ndr->flags;
4222 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4223 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
4224 ndr->flags = _flags_save_string_array;
4227 uint32_t _flags_save_string = ndr->flags;
4228 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4229 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
4230 ndr->flags = _flags_save_string;
4233 uint32_t _flags_save_string = ndr->flags;
4234 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4235 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
4236 ndr->flags = _flags_save_string;
4239 uint32_t _flags_save_string_array = ndr->flags;
4240 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4241 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names));
4242 ndr->flags = _flags_save_string_array;
4245 if (ndr_flags & NDR_BUFFERS) {
4247 uint32_t _flags_save_string = ndr->flags;
4248 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4249 if (r->driver_name) {
4250 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name));
4251 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
4253 ndr->flags = _flags_save_string;
4256 uint32_t _flags_save_string = ndr->flags;
4257 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4258 if (r->architecture) {
4259 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->architecture));
4260 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
4262 ndr->flags = _flags_save_string;
4265 uint32_t _flags_save_string = ndr->flags;
4266 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4267 if (r->driver_path) {
4268 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_path));
4269 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
4271 ndr->flags = _flags_save_string;
4274 uint32_t _flags_save_string = ndr->flags;
4275 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4277 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_file));
4278 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
4280 ndr->flags = _flags_save_string;
4283 uint32_t _flags_save_string = ndr->flags;
4284 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4285 if (r->config_file) {
4286 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->config_file));
4287 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
4289 ndr->flags = _flags_save_string;
4292 uint32_t _flags_save_string = ndr->flags;
4293 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4295 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->help_file));
4296 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
4298 ndr->flags = _flags_save_string;
4301 uint32_t _flags_save_string_array = ndr->flags;
4302 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4303 if (r->dependent_files) {
4304 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dependent_files));
4305 NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
4307 ndr->flags = _flags_save_string_array;
4310 uint32_t _flags_save_string = ndr->flags;
4311 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4312 if (r->monitor_name) {
4313 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name));
4314 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
4316 ndr->flags = _flags_save_string;
4319 uint32_t _flags_save_string = ndr->flags;
4320 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4321 if (r->default_datatype) {
4322 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->default_datatype));
4323 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
4325 ndr->flags = _flags_save_string;
4328 uint32_t _flags_save_string_array = ndr->flags;
4329 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4330 if (r->previous_names) {
4331 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->previous_names));
4332 NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names));
4334 ndr->flags = _flags_save_string_array;
4337 return NDR_ERR_SUCCESS;
4340 static enum ndr_err_code ndr_pull_spoolss_DriverInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo4 *r)
4342 uint32_t _ptr_driver_name;
4343 TALLOC_CTX *_mem_save_driver_name_0;
4344 uint32_t _ptr_architecture;
4345 TALLOC_CTX *_mem_save_architecture_0;
4346 uint32_t _ptr_driver_path;
4347 TALLOC_CTX *_mem_save_driver_path_0;
4348 uint32_t _ptr_data_file;
4349 TALLOC_CTX *_mem_save_data_file_0;
4350 uint32_t _ptr_config_file;
4351 TALLOC_CTX *_mem_save_config_file_0;
4352 uint32_t _ptr_help_file;
4353 TALLOC_CTX *_mem_save_help_file_0;
4354 uint32_t _ptr_dependent_files;
4355 TALLOC_CTX *_mem_save_dependent_files_0;
4356 uint32_t _ptr_monitor_name;
4357 TALLOC_CTX *_mem_save_monitor_name_0;
4358 uint32_t _ptr_default_datatype;
4359 TALLOC_CTX *_mem_save_default_datatype_0;
4360 uint32_t _ptr_previous_names;
4361 TALLOC_CTX *_mem_save_previous_names_0;
4362 if (ndr_flags & NDR_SCALARS) {
4363 NDR_CHECK(ndr_pull_align(ndr, 4));
4364 NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
4366 uint32_t _flags_save_string = ndr->flags;
4367 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4368 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
4369 if (_ptr_driver_name) {
4370 NDR_PULL_ALLOC(ndr, r->driver_name);
4371 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
4373 r->driver_name = NULL;
4375 ndr->flags = _flags_save_string;
4378 uint32_t _flags_save_string = ndr->flags;
4379 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4380 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
4381 if (_ptr_architecture) {
4382 NDR_PULL_ALLOC(ndr, r->architecture);
4383 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
4385 r->architecture = NULL;
4387 ndr->flags = _flags_save_string;
4390 uint32_t _flags_save_string = ndr->flags;
4391 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4392 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
4393 if (_ptr_driver_path) {
4394 NDR_PULL_ALLOC(ndr, r->driver_path);
4395 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
4397 r->driver_path = NULL;
4399 ndr->flags = _flags_save_string;
4402 uint32_t _flags_save_string = ndr->flags;
4403 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4404 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
4405 if (_ptr_data_file) {
4406 NDR_PULL_ALLOC(ndr, r->data_file);
4407 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
4409 r->data_file = NULL;
4411 ndr->flags = _flags_save_string;
4414 uint32_t _flags_save_string = ndr->flags;
4415 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4416 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
4417 if (_ptr_config_file) {
4418 NDR_PULL_ALLOC(ndr, r->config_file);
4419 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
4421 r->config_file = NULL;
4423 ndr->flags = _flags_save_string;
4426 uint32_t _flags_save_string = ndr->flags;
4427 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4428 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
4429 if (_ptr_help_file) {
4430 NDR_PULL_ALLOC(ndr, r->help_file);
4431 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file));
4433 r->help_file = NULL;
4435 ndr->flags = _flags_save_string;
4438 uint32_t _flags_save_string_array = ndr->flags;
4439 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4440 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
4441 if (_ptr_dependent_files) {
4442 NDR_PULL_ALLOC(ndr, r->dependent_files);
4443 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
4445 r->dependent_files = NULL;
4447 ndr->flags = _flags_save_string_array;
4450 uint32_t _flags_save_string = ndr->flags;
4451 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4452 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
4453 if (_ptr_monitor_name) {
4454 NDR_PULL_ALLOC(ndr, r->monitor_name);
4455 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
4457 r->monitor_name = NULL;
4459 ndr->flags = _flags_save_string;
4462 uint32_t _flags_save_string = ndr->flags;
4463 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4464 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
4465 if (_ptr_default_datatype) {
4466 NDR_PULL_ALLOC(ndr, r->default_datatype);
4467 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype));
4469 r->default_datatype = NULL;
4471 ndr->flags = _flags_save_string;
4474 uint32_t _flags_save_string_array = ndr->flags;
4475 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4476 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
4477 if (_ptr_previous_names) {
4478 NDR_PULL_ALLOC(ndr, r->previous_names);
4479 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->previous_names, _ptr_previous_names));
4481 r->previous_names = NULL;
4483 ndr->flags = _flags_save_string_array;
4486 if (ndr_flags & NDR_BUFFERS) {
4488 uint32_t _flags_save_string = ndr->flags;
4489 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4490 if (r->driver_name) {
4491 uint32_t _relative_save_offset;
4492 _relative_save_offset = ndr->offset;
4493 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
4494 _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4495 NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
4496 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
4497 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
4498 ndr->offset = _relative_save_offset;
4500 ndr->flags = _flags_save_string;
4503 uint32_t _flags_save_string = ndr->flags;
4504 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4505 if (r->architecture) {
4506 uint32_t _relative_save_offset;
4507 _relative_save_offset = ndr->offset;
4508 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
4509 _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
4510 NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
4511 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
4512 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
4513 ndr->offset = _relative_save_offset;
4515 ndr->flags = _flags_save_string;
4518 uint32_t _flags_save_string = ndr->flags;
4519 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4520 if (r->driver_path) {
4521 uint32_t _relative_save_offset;
4522 _relative_save_offset = ndr->offset;
4523 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
4524 _mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
4525 NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
4526 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
4527 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
4528 ndr->offset = _relative_save_offset;
4530 ndr->flags = _flags_save_string;
4533 uint32_t _flags_save_string = ndr->flags;
4534 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4536 uint32_t _relative_save_offset;
4537 _relative_save_offset = ndr->offset;
4538 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
4539 _mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
4540 NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
4541 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
4542 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
4543 ndr->offset = _relative_save_offset;
4545 ndr->flags = _flags_save_string;
4548 uint32_t _flags_save_string = ndr->flags;
4549 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4550 if (r->config_file) {
4551 uint32_t _relative_save_offset;
4552 _relative_save_offset = ndr->offset;
4553 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
4554 _mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
4555 NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
4556 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
4557 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
4558 ndr->offset = _relative_save_offset;
4560 ndr->flags = _flags_save_string;
4563 uint32_t _flags_save_string = ndr->flags;
4564 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4566 uint32_t _relative_save_offset;
4567 _relative_save_offset = ndr->offset;
4568 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file));
4569 _mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
4570 NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
4571 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
4572 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
4573 ndr->offset = _relative_save_offset;
4575 ndr->flags = _flags_save_string;
4578 uint32_t _flags_save_string_array = ndr->flags;
4579 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4580 if (r->dependent_files) {
4581 uint32_t _relative_save_offset;
4582 _relative_save_offset = ndr->offset;
4583 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
4584 _mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
4585 NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
4586 NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
4587 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
4588 ndr->offset = _relative_save_offset;
4590 ndr->flags = _flags_save_string_array;
4593 uint32_t _flags_save_string = ndr->flags;
4594 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4595 if (r->monitor_name) {
4596 uint32_t _relative_save_offset;
4597 _relative_save_offset = ndr->offset;
4598 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
4599 _mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4600 NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
4601 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
4602 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
4603 ndr->offset = _relative_save_offset;
4605 ndr->flags = _flags_save_string;
4608 uint32_t _flags_save_string = ndr->flags;
4609 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4610 if (r->default_datatype) {
4611 uint32_t _relative_save_offset;
4612 _relative_save_offset = ndr->offset;
4613 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype));
4614 _mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
4615 NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
4616 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
4617 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
4618 ndr->offset = _relative_save_offset;
4620 ndr->flags = _flags_save_string;
4623 uint32_t _flags_save_string_array = ndr->flags;
4624 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4625 if (r->previous_names) {
4626 uint32_t _relative_save_offset;
4627 _relative_save_offset = ndr->offset;
4628 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->previous_names));
4629 _mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
4630 NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
4631 NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->previous_names));
4632 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
4633 ndr->offset = _relative_save_offset;
4635 ndr->flags = _flags_save_string_array;
4638 return NDR_ERR_SUCCESS;
4641 _PUBLIC_ void ndr_print_spoolss_DriverInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo4 *r)
4643 ndr_print_struct(ndr, name, "spoolss_DriverInfo4");
4645 ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
4646 ndr_print_ptr(ndr, "driver_name", r->driver_name);
4648 if (r->driver_name) {
4649 ndr_print_string(ndr, "driver_name", r->driver_name);
4652 ndr_print_ptr(ndr, "architecture", r->architecture);
4654 if (r->architecture) {
4655 ndr_print_string(ndr, "architecture", r->architecture);
4658 ndr_print_ptr(ndr, "driver_path", r->driver_path);
4660 if (r->driver_path) {
4661 ndr_print_string(ndr, "driver_path", r->driver_path);
4664 ndr_print_ptr(ndr, "data_file", r->data_file);
4667 ndr_print_string(ndr, "data_file", r->data_file);
4670 ndr_print_ptr(ndr, "config_file", r->config_file);
4672 if (r->config_file) {
4673 ndr_print_string(ndr, "config_file", r->config_file);
4676 ndr_print_ptr(ndr, "help_file", r->help_file);
4679 ndr_print_string(ndr, "help_file", r->help_file);
4682 ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
4684 if (r->dependent_files) {
4685 ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
4688 ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
4690 if (r->monitor_name) {
4691 ndr_print_string(ndr, "monitor_name", r->monitor_name);
4694 ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
4696 if (r->default_datatype) {
4697 ndr_print_string(ndr, "default_datatype", r->default_datatype);
4700 ndr_print_ptr(ndr, "previous_names", r->previous_names);
4702 if (r->previous_names) {
4703 ndr_print_string_array(ndr, "previous_names", r->previous_names);
4709 static enum ndr_err_code ndr_push_spoolss_DriverInfo5(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo5 *r)
4711 if (ndr_flags & NDR_SCALARS) {
4712 NDR_CHECK(ndr_push_align(ndr, 4));
4713 NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
4715 uint32_t _flags_save_string = ndr->flags;
4716 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4717 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
4718 ndr->flags = _flags_save_string;
4721 uint32_t _flags_save_string = ndr->flags;
4722 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4723 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
4724 ndr->flags = _flags_save_string;
4727 uint32_t _flags_save_string = ndr->flags;
4728 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4729 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
4730 ndr->flags = _flags_save_string;
4733 uint32_t _flags_save_string = ndr->flags;
4734 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4735 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
4736 ndr->flags = _flags_save_string;
4739 uint32_t _flags_save_string = ndr->flags;
4740 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4741 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
4742 ndr->flags = _flags_save_string;
4744 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->driver_attributes));
4745 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->config_version));
4746 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->driver_version));
4748 if (ndr_flags & NDR_BUFFERS) {
4750 uint32_t _flags_save_string = ndr->flags;
4751 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4752 if (r->driver_name) {
4753 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name));
4754 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
4756 ndr->flags = _flags_save_string;
4759 uint32_t _flags_save_string = ndr->flags;
4760 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4761 if (r->architecture) {
4762 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->architecture));
4763 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
4765 ndr->flags = _flags_save_string;
4768 uint32_t _flags_save_string = ndr->flags;
4769 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4770 if (r->driver_path) {
4771 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_path));
4772 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
4774 ndr->flags = _flags_save_string;
4777 uint32_t _flags_save_string = ndr->flags;
4778 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4780 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_file));
4781 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
4783 ndr->flags = _flags_save_string;
4786 uint32_t _flags_save_string = ndr->flags;
4787 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4788 if (r->config_file) {
4789 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->config_file));
4790 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
4792 ndr->flags = _flags_save_string;
4795 return NDR_ERR_SUCCESS;
4798 static enum ndr_err_code ndr_pull_spoolss_DriverInfo5(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo5 *r)
4800 uint32_t _ptr_driver_name;
4801 TALLOC_CTX *_mem_save_driver_name_0;
4802 uint32_t _ptr_architecture;
4803 TALLOC_CTX *_mem_save_architecture_0;
4804 uint32_t _ptr_driver_path;
4805 TALLOC_CTX *_mem_save_driver_path_0;
4806 uint32_t _ptr_data_file;
4807 TALLOC_CTX *_mem_save_data_file_0;
4808 uint32_t _ptr_config_file;
4809 TALLOC_CTX *_mem_save_config_file_0;
4810 if (ndr_flags & NDR_SCALARS) {
4811 NDR_CHECK(ndr_pull_align(ndr, 4));
4812 NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
4814 uint32_t _flags_save_string = ndr->flags;
4815 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4816 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
4817 if (_ptr_driver_name) {
4818 NDR_PULL_ALLOC(ndr, r->driver_name);
4819 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
4821 r->driver_name = NULL;
4823 ndr->flags = _flags_save_string;
4826 uint32_t _flags_save_string = ndr->flags;
4827 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4828 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
4829 if (_ptr_architecture) {
4830 NDR_PULL_ALLOC(ndr, r->architecture);
4831 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
4833 r->architecture = NULL;
4835 ndr->flags = _flags_save_string;
4838 uint32_t _flags_save_string = ndr->flags;
4839 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4840 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
4841 if (_ptr_driver_path) {
4842 NDR_PULL_ALLOC(ndr, r->driver_path);
4843 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
4845 r->driver_path = NULL;
4847 ndr->flags = _flags_save_string;
4850 uint32_t _flags_save_string = ndr->flags;
4851 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4852 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
4853 if (_ptr_data_file) {
4854 NDR_PULL_ALLOC(ndr, r->data_file);
4855 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
4857 r->data_file = NULL;
4859 ndr->flags = _flags_save_string;
4862 uint32_t _flags_save_string = ndr->flags;
4863 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4864 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
4865 if (_ptr_config_file) {
4866 NDR_PULL_ALLOC(ndr, r->config_file);
4867 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
4869 r->config_file = NULL;
4871 ndr->flags = _flags_save_string;
4873 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->driver_attributes));
4874 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->config_version));
4875 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->driver_version));
4877 if (ndr_flags & NDR_BUFFERS) {
4879 uint32_t _flags_save_string = ndr->flags;
4880 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4881 if (r->driver_name) {
4882 uint32_t _relative_save_offset;
4883 _relative_save_offset = ndr->offset;
4884 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
4885 _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4886 NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
4887 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
4888 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
4889 ndr->offset = _relative_save_offset;
4891 ndr->flags = _flags_save_string;
4894 uint32_t _flags_save_string = ndr->flags;
4895 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4896 if (r->architecture) {
4897 uint32_t _relative_save_offset;
4898 _relative_save_offset = ndr->offset;
4899 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
4900 _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
4901 NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
4902 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
4903 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
4904 ndr->offset = _relative_save_offset;
4906 ndr->flags = _flags_save_string;
4909 uint32_t _flags_save_string = ndr->flags;
4910 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4911 if (r->driver_path) {
4912 uint32_t _relative_save_offset;
4913 _relative_save_offset = ndr->offset;
4914 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
4915 _mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
4916 NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
4917 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
4918 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
4919 ndr->offset = _relative_save_offset;
4921 ndr->flags = _flags_save_string;
4924 uint32_t _flags_save_string = ndr->flags;
4925 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4927 uint32_t _relative_save_offset;
4928 _relative_save_offset = ndr->offset;
4929 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
4930 _mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
4931 NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
4932 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
4933 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
4934 ndr->offset = _relative_save_offset;
4936 ndr->flags = _flags_save_string;
4939 uint32_t _flags_save_string = ndr->flags;
4940 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
4941 if (r->config_file) {
4942 uint32_t _relative_save_offset;
4943 _relative_save_offset = ndr->offset;
4944 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
4945 _mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
4946 NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
4947 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
4948 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
4949 ndr->offset = _relative_save_offset;
4951 ndr->flags = _flags_save_string;
4954 return NDR_ERR_SUCCESS;
4957 _PUBLIC_ void ndr_print_spoolss_DriverInfo5(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo5 *r)
4959 ndr_print_struct(ndr, name, "spoolss_DriverInfo5");
4961 ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
4962 ndr_print_ptr(ndr, "driver_name", r->driver_name);
4964 if (r->driver_name) {
4965 ndr_print_string(ndr, "driver_name", r->driver_name);
4968 ndr_print_ptr(ndr, "architecture", r->architecture);
4970 if (r->architecture) {
4971 ndr_print_string(ndr, "architecture", r->architecture);
4974 ndr_print_ptr(ndr, "driver_path", r->driver_path);
4976 if (r->driver_path) {
4977 ndr_print_string(ndr, "driver_path", r->driver_path);
4980 ndr_print_ptr(ndr, "data_file", r->data_file);
4983 ndr_print_string(ndr, "data_file", r->data_file);
4986 ndr_print_ptr(ndr, "config_file", r->config_file);
4988 if (r->config_file) {
4989 ndr_print_string(ndr, "config_file", r->config_file);
4992 ndr_print_uint32(ndr, "driver_attributes", r->driver_attributes);
4993 ndr_print_uint32(ndr, "config_version", r->config_version);
4994 ndr_print_uint32(ndr, "driver_version", r->driver_version);
4998 static enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo6 *r)
5000 if (ndr_flags & NDR_SCALARS) {
5001 NDR_CHECK(ndr_push_align(ndr, 8));
5002 NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
5004 uint32_t _flags_save_string = ndr->flags;
5005 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5006 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
5007 ndr->flags = _flags_save_string;
5010 uint32_t _flags_save_string = ndr->flags;
5011 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5012 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
5013 ndr->flags = _flags_save_string;
5016 uint32_t _flags_save_string = ndr->flags;
5017 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5018 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
5019 ndr->flags = _flags_save_string;
5022 uint32_t _flags_save_string = ndr->flags;
5023 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5024 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
5025 ndr->flags = _flags_save_string;
5028 uint32_t _flags_save_string = ndr->flags;
5029 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5030 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
5031 ndr->flags = _flags_save_string;
5034 uint32_t _flags_save_string = ndr->flags;
5035 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5036 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
5037 ndr->flags = _flags_save_string;
5040 uint32_t _flags_save_string_array = ndr->flags;
5041 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5042 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
5043 ndr->flags = _flags_save_string_array;
5046 uint32_t _flags_save_string = ndr->flags;
5047 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5048 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
5049 ndr->flags = _flags_save_string;
5052 uint32_t _flags_save_string = ndr->flags;
5053 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5054 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
5055 ndr->flags = _flags_save_string;
5058 uint32_t _flags_save_string_array = ndr->flags;
5059 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5060 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names));
5061 ndr->flags = _flags_save_string_array;
5063 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_data));
5064 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
5066 uint32_t _flags_save_string = ndr->flags;
5067 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5068 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_name));
5069 ndr->flags = _flags_save_string;
5072 uint32_t _flags_save_string = ndr->flags;
5073 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5074 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_url));
5075 ndr->flags = _flags_save_string;
5078 uint32_t _flags_save_string = ndr->flags;
5079 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5080 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->hardware_id));
5081 ndr->flags = _flags_save_string;
5084 uint32_t _flags_save_string = ndr->flags;
5085 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5086 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->provider));
5087 ndr->flags = _flags_save_string;
5090 if (ndr_flags & NDR_BUFFERS) {
5092 uint32_t _flags_save_string = ndr->flags;
5093 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5094 if (r->driver_name) {
5095 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name));
5096 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
5098 ndr->flags = _flags_save_string;
5101 uint32_t _flags_save_string = ndr->flags;
5102 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5103 if (r->architecture) {
5104 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->architecture));
5105 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
5107 ndr->flags = _flags_save_string;
5110 uint32_t _flags_save_string = ndr->flags;
5111 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5112 if (r->driver_path) {
5113 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_path));
5114 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
5116 ndr->flags = _flags_save_string;
5119 uint32_t _flags_save_string = ndr->flags;
5120 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5122 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_file));
5123 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
5125 ndr->flags = _flags_save_string;
5128 uint32_t _flags_save_string = ndr->flags;
5129 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5130 if (r->config_file) {
5131 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->config_file));
5132 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
5134 ndr->flags = _flags_save_string;
5137 uint32_t _flags_save_string = ndr->flags;
5138 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5140 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->help_file));
5141 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
5143 ndr->flags = _flags_save_string;
5146 uint32_t _flags_save_string_array = ndr->flags;
5147 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5148 if (r->dependent_files) {
5149 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dependent_files));
5150 NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
5152 ndr->flags = _flags_save_string_array;
5155 uint32_t _flags_save_string = ndr->flags;
5156 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5157 if (r->monitor_name) {
5158 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name));
5159 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
5161 ndr->flags = _flags_save_string;
5164 uint32_t _flags_save_string = ndr->flags;
5165 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5166 if (r->default_datatype) {
5167 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->default_datatype));
5168 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
5170 ndr->flags = _flags_save_string;
5173 uint32_t _flags_save_string_array = ndr->flags;
5174 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5175 if (r->previous_names) {
5176 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->previous_names));
5177 NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names));
5179 ndr->flags = _flags_save_string_array;
5182 uint32_t _flags_save_string = ndr->flags;
5183 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5184 if (r->manufacturer_name) {
5185 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->manufacturer_name));
5186 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_name));
5188 ndr->flags = _flags_save_string;
5191 uint32_t _flags_save_string = ndr->flags;
5192 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5193 if (r->manufacturer_url) {
5194 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->manufacturer_url));
5195 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_url));
5197 ndr->flags = _flags_save_string;
5200 uint32_t _flags_save_string = ndr->flags;
5201 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5202 if (r->hardware_id) {
5203 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->hardware_id));
5204 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->hardware_id));
5206 ndr->flags = _flags_save_string;
5209 uint32_t _flags_save_string = ndr->flags;
5210 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5212 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->provider));
5213 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->provider));
5215 ndr->flags = _flags_save_string;
5218 return NDR_ERR_SUCCESS;
5221 static enum ndr_err_code ndr_pull_spoolss_DriverInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo6 *r)
5223 uint32_t _ptr_driver_name;
5224 TALLOC_CTX *_mem_save_driver_name_0;
5225 uint32_t _ptr_architecture;
5226 TALLOC_CTX *_mem_save_architecture_0;
5227 uint32_t _ptr_driver_path;
5228 TALLOC_CTX *_mem_save_driver_path_0;
5229 uint32_t _ptr_data_file;
5230 TALLOC_CTX *_mem_save_data_file_0;
5231 uint32_t _ptr_config_file;
5232 TALLOC_CTX *_mem_save_config_file_0;
5233 uint32_t _ptr_help_file;
5234 TALLOC_CTX *_mem_save_help_file_0;
5235 uint32_t _ptr_dependent_files;
5236 TALLOC_CTX *_mem_save_dependent_files_0;
5237 uint32_t _ptr_monitor_name;
5238 TALLOC_CTX *_mem_save_monitor_name_0;
5239 uint32_t _ptr_default_datatype;
5240 TALLOC_CTX *_mem_save_default_datatype_0;
5241 uint32_t _ptr_previous_names;
5242 TALLOC_CTX *_mem_save_previous_names_0;
5243 uint32_t _ptr_manufacturer_name;
5244 TALLOC_CTX *_mem_save_manufacturer_name_0;
5245 uint32_t _ptr_manufacturer_url;
5246 TALLOC_CTX *_mem_save_manufacturer_url_0;
5247 uint32_t _ptr_hardware_id;
5248 TALLOC_CTX *_mem_save_hardware_id_0;
5249 uint32_t _ptr_provider;
5250 TALLOC_CTX *_mem_save_provider_0;
5251 if (ndr_flags & NDR_SCALARS) {
5252 NDR_CHECK(ndr_pull_align(ndr, 8));
5253 NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
5255 uint32_t _flags_save_string = ndr->flags;
5256 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5257 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
5258 if (_ptr_driver_name) {
5259 NDR_PULL_ALLOC(ndr, r->driver_name);
5260 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
5262 r->driver_name = NULL;
5264 ndr->flags = _flags_save_string;
5267 uint32_t _flags_save_string = ndr->flags;
5268 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5269 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
5270 if (_ptr_architecture) {
5271 NDR_PULL_ALLOC(ndr, r->architecture);
5272 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture));
5274 r->architecture = NULL;
5276 ndr->flags = _flags_save_string;
5279 uint32_t _flags_save_string = ndr->flags;
5280 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5281 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
5282 if (_ptr_driver_path) {
5283 NDR_PULL_ALLOC(ndr, r->driver_path);
5284 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path));
5286 r->driver_path = NULL;
5288 ndr->flags = _flags_save_string;
5291 uint32_t _flags_save_string = ndr->flags;
5292 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5293 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
5294 if (_ptr_data_file) {
5295 NDR_PULL_ALLOC(ndr, r->data_file);
5296 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file));
5298 r->data_file = NULL;
5300 ndr->flags = _flags_save_string;
5303 uint32_t _flags_save_string = ndr->flags;
5304 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5305 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
5306 if (_ptr_config_file) {
5307 NDR_PULL_ALLOC(ndr, r->config_file);
5308 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file));
5310 r->config_file = NULL;
5312 ndr->flags = _flags_save_string;
5315 uint32_t _flags_save_string = ndr->flags;
5316 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5317 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
5318 if (_ptr_help_file) {
5319 NDR_PULL_ALLOC(ndr, r->help_file);
5320 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file));
5322 r->help_file = NULL;
5324 ndr->flags = _flags_save_string;
5327 uint32_t _flags_save_string_array = ndr->flags;
5328 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5329 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
5330 if (_ptr_dependent_files) {
5331 NDR_PULL_ALLOC(ndr, r->dependent_files);
5332 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
5334 r->dependent_files = NULL;
5336 ndr->flags = _flags_save_string_array;
5339 uint32_t _flags_save_string = ndr->flags;
5340 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5341 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
5342 if (_ptr_monitor_name) {
5343 NDR_PULL_ALLOC(ndr, r->monitor_name);
5344 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
5346 r->monitor_name = NULL;
5348 ndr->flags = _flags_save_string;
5351 uint32_t _flags_save_string = ndr->flags;
5352 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5353 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
5354 if (_ptr_default_datatype) {
5355 NDR_PULL_ALLOC(ndr, r->default_datatype);
5356 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype));
5358 r->default_datatype = NULL;
5360 ndr->flags = _flags_save_string;
5363 uint32_t _flags_save_string_array = ndr->flags;
5364 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5365 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
5366 if (_ptr_previous_names) {
5367 NDR_PULL_ALLOC(ndr, r->previous_names);
5368 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->previous_names, _ptr_previous_names));
5370 r->previous_names = NULL;
5372 ndr->flags = _flags_save_string_array;
5374 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_data));
5375 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
5377 uint32_t _flags_save_string = ndr->flags;
5378 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5379 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name));
5380 if (_ptr_manufacturer_name) {
5381 NDR_PULL_ALLOC(ndr, r->manufacturer_name);
5382 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->manufacturer_name, _ptr_manufacturer_name));
5384 r->manufacturer_name = NULL;
5386 ndr->flags = _flags_save_string;
5389 uint32_t _flags_save_string = ndr->flags;
5390 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5391 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url));
5392 if (_ptr_manufacturer_url) {
5393 NDR_PULL_ALLOC(ndr, r->manufacturer_url);
5394 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->manufacturer_url, _ptr_manufacturer_url));
5396 r->manufacturer_url = NULL;
5398 ndr->flags = _flags_save_string;
5401 uint32_t _flags_save_string = ndr->flags;
5402 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5403 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id));
5404 if (_ptr_hardware_id) {
5405 NDR_PULL_ALLOC(ndr, r->hardware_id);
5406 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->hardware_id, _ptr_hardware_id));
5408 r->hardware_id = NULL;
5410 ndr->flags = _flags_save_string;
5413 uint32_t _flags_save_string = ndr->flags;
5414 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5415 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider));
5416 if (_ptr_provider) {
5417 NDR_PULL_ALLOC(ndr, r->provider);
5418 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->provider, _ptr_provider));
5422 ndr->flags = _flags_save_string;
5425 if (ndr_flags & NDR_BUFFERS) {
5427 uint32_t _flags_save_string = ndr->flags;
5428 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5429 if (r->driver_name) {
5430 uint32_t _relative_save_offset;
5431 _relative_save_offset = ndr->offset;
5432 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
5433 _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5434 NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
5435 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
5436 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
5437 ndr->offset = _relative_save_offset;
5439 ndr->flags = _flags_save_string;
5442 uint32_t _flags_save_string = ndr->flags;
5443 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5444 if (r->architecture) {
5445 uint32_t _relative_save_offset;
5446 _relative_save_offset = ndr->offset;
5447 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture));
5448 _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
5449 NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
5450 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
5451 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
5452 ndr->offset = _relative_save_offset;
5454 ndr->flags = _flags_save_string;
5457 uint32_t _flags_save_string = ndr->flags;
5458 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5459 if (r->driver_path) {
5460 uint32_t _relative_save_offset;
5461 _relative_save_offset = ndr->offset;
5462 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path));
5463 _mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
5464 NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
5465 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
5466 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
5467 ndr->offset = _relative_save_offset;
5469 ndr->flags = _flags_save_string;
5472 uint32_t _flags_save_string = ndr->flags;
5473 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5475 uint32_t _relative_save_offset;
5476 _relative_save_offset = ndr->offset;
5477 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file));
5478 _mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
5479 NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
5480 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
5481 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
5482 ndr->offset = _relative_save_offset;
5484 ndr->flags = _flags_save_string;
5487 uint32_t _flags_save_string = ndr->flags;
5488 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5489 if (r->config_file) {
5490 uint32_t _relative_save_offset;
5491 _relative_save_offset = ndr->offset;
5492 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file));
5493 _mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
5494 NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
5495 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
5496 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
5497 ndr->offset = _relative_save_offset;
5499 ndr->flags = _flags_save_string;
5502 uint32_t _flags_save_string = ndr->flags;
5503 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5505 uint32_t _relative_save_offset;
5506 _relative_save_offset = ndr->offset;
5507 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file));
5508 _mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
5509 NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
5510 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
5511 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
5512 ndr->offset = _relative_save_offset;
5514 ndr->flags = _flags_save_string;
5517 uint32_t _flags_save_string_array = ndr->flags;
5518 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5519 if (r->dependent_files) {
5520 uint32_t _relative_save_offset;
5521 _relative_save_offset = ndr->offset;
5522 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
5523 _mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
5524 NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
5525 NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
5526 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
5527 ndr->offset = _relative_save_offset;
5529 ndr->flags = _flags_save_string_array;
5532 uint32_t _flags_save_string = ndr->flags;
5533 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5534 if (r->monitor_name) {
5535 uint32_t _relative_save_offset;
5536 _relative_save_offset = ndr->offset;
5537 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
5538 _mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5539 NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
5540 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
5541 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
5542 ndr->offset = _relative_save_offset;
5544 ndr->flags = _flags_save_string;
5547 uint32_t _flags_save_string = ndr->flags;
5548 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5549 if (r->default_datatype) {
5550 uint32_t _relative_save_offset;
5551 _relative_save_offset = ndr->offset;
5552 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype));
5553 _mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
5554 NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
5555 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
5556 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
5557 ndr->offset = _relative_save_offset;
5559 ndr->flags = _flags_save_string;
5562 uint32_t _flags_save_string_array = ndr->flags;
5563 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5564 if (r->previous_names) {
5565 uint32_t _relative_save_offset;
5566 _relative_save_offset = ndr->offset;
5567 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->previous_names));
5568 _mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
5569 NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
5570 NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->previous_names));
5571 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
5572 ndr->offset = _relative_save_offset;
5574 ndr->flags = _flags_save_string_array;
5577 uint32_t _flags_save_string = ndr->flags;
5578 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5579 if (r->manufacturer_name) {
5580 uint32_t _relative_save_offset;
5581 _relative_save_offset = ndr->offset;
5582 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->manufacturer_name));
5583 _mem_save_manufacturer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5584 NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0);
5585 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_name));
5586 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0);
5587 ndr->offset = _relative_save_offset;
5589 ndr->flags = _flags_save_string;
5592 uint32_t _flags_save_string = ndr->flags;
5593 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5594 if (r->manufacturer_url) {
5595 uint32_t _relative_save_offset;
5596 _relative_save_offset = ndr->offset;
5597 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->manufacturer_url));
5598 _mem_save_manufacturer_url_0 = NDR_PULL_GET_MEM_CTX(ndr);
5599 NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0);
5600 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_url));
5601 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0);
5602 ndr->offset = _relative_save_offset;
5604 ndr->flags = _flags_save_string;
5607 uint32_t _flags_save_string = ndr->flags;
5608 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5609 if (r->hardware_id) {
5610 uint32_t _relative_save_offset;
5611 _relative_save_offset = ndr->offset;
5612 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->hardware_id));
5613 _mem_save_hardware_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
5614 NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0);
5615 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->hardware_id));
5616 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0);
5617 ndr->offset = _relative_save_offset;
5619 ndr->flags = _flags_save_string;
5622 uint32_t _flags_save_string = ndr->flags;
5623 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5625 uint32_t _relative_save_offset;
5626 _relative_save_offset = ndr->offset;
5627 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->provider));
5628 _mem_save_provider_0 = NDR_PULL_GET_MEM_CTX(ndr);
5629 NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0);
5630 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->provider));
5631 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0);
5632 ndr->offset = _relative_save_offset;
5634 ndr->flags = _flags_save_string;
5637 return NDR_ERR_SUCCESS;
5640 _PUBLIC_ void ndr_print_spoolss_DriverInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo6 *r)
5642 ndr_print_struct(ndr, name, "spoolss_DriverInfo6");
5644 ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
5645 ndr_print_ptr(ndr, "driver_name", r->driver_name);
5647 if (r->driver_name) {
5648 ndr_print_string(ndr, "driver_name", r->driver_name);
5651 ndr_print_ptr(ndr, "architecture", r->architecture);
5653 if (r->architecture) {
5654 ndr_print_string(ndr, "architecture", r->architecture);
5657 ndr_print_ptr(ndr, "driver_path", r->driver_path);
5659 if (r->driver_path) {
5660 ndr_print_string(ndr, "driver_path", r->driver_path);
5663 ndr_print_ptr(ndr, "data_file", r->data_file);
5666 ndr_print_string(ndr, "data_file", r->data_file);
5669 ndr_print_ptr(ndr, "config_file", r->config_file);
5671 if (r->config_file) {
5672 ndr_print_string(ndr, "config_file", r->config_file);
5675 ndr_print_ptr(ndr, "help_file", r->help_file);
5678 ndr_print_string(ndr, "help_file", r->help_file);
5681 ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
5683 if (r->dependent_files) {
5684 ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
5687 ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
5689 if (r->monitor_name) {
5690 ndr_print_string(ndr, "monitor_name", r->monitor_name);
5693 ndr_print_ptr(ndr, "default_datatype", r->default_datatype);
5695 if (r->default_datatype) {
5696 ndr_print_string(ndr, "default_datatype", r->default_datatype);
5699 ndr_print_ptr(ndr, "previous_names", r->previous_names);
5701 if (r->previous_names) {
5702 ndr_print_string_array(ndr, "previous_names", r->previous_names);
5705 ndr_print_NTTIME(ndr, "driver_data", r->driver_data);
5706 ndr_print_hyper(ndr, "driver_version", r->driver_version);
5707 ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name);
5709 if (r->manufacturer_name) {
5710 ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name);
5713 ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url);
5715 if (r->manufacturer_url) {
5716 ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url);
5719 ndr_print_ptr(ndr, "hardware_id", r->hardware_id);
5721 if (r->hardware_id) {
5722 ndr_print_string(ndr, "hardware_id", r->hardware_id);
5725 ndr_print_ptr(ndr, "provider", r->provider);
5728 ndr_print_string(ndr, "provider", r->provider);
5734 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DriverInfo *r)
5736 uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
5737 if (ndr_flags & NDR_SCALARS) {
5738 int level = ndr_push_get_switch_value(ndr, r);
5741 NDR_CHECK(ndr_push_align(ndr, 4));
5742 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
5743 NDR_CHECK(ndr_push_spoolss_DriverInfo1(ndr, NDR_SCALARS, &r->info1));
5747 NDR_CHECK(ndr_push_align(ndr, 4));
5748 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
5749 NDR_CHECK(ndr_push_spoolss_DriverInfo2(ndr, NDR_SCALARS, &r->info2));
5753 NDR_CHECK(ndr_push_align(ndr, 4));
5754 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
5755 NDR_CHECK(ndr_push_spoolss_DriverInfo3(ndr, NDR_SCALARS, &r->info3));
5759 NDR_CHECK(ndr_push_align(ndr, 4));
5760 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
5761 NDR_CHECK(ndr_push_spoolss_DriverInfo4(ndr, NDR_SCALARS, &r->info4));
5765 NDR_CHECK(ndr_push_align(ndr, 4));
5766 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
5767 NDR_CHECK(ndr_push_spoolss_DriverInfo5(ndr, NDR_SCALARS, &r->info5));
5771 NDR_CHECK(ndr_push_align(ndr, 8));
5772 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
5773 NDR_CHECK(ndr_push_spoolss_DriverInfo6(ndr, NDR_SCALARS, &r->info6));
5781 if (ndr_flags & NDR_BUFFERS) {
5782 int level = ndr_push_get_switch_value(ndr, r);
5783 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
5786 NDR_CHECK(ndr_push_spoolss_DriverInfo1(ndr, NDR_BUFFERS, &r->info1));
5790 NDR_CHECK(ndr_push_spoolss_DriverInfo2(ndr, NDR_BUFFERS, &r->info2));
5794 NDR_CHECK(ndr_push_spoolss_DriverInfo3(ndr, NDR_BUFFERS, &r->info3));
5798 NDR_CHECK(ndr_push_spoolss_DriverInfo4(ndr, NDR_BUFFERS, &r->info4));
5802 NDR_CHECK(ndr_push_spoolss_DriverInfo5(ndr, NDR_BUFFERS, &r->info5));
5806 NDR_CHECK(ndr_push_spoolss_DriverInfo6(ndr, NDR_BUFFERS, &r->info6));
5814 ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
5815 return NDR_ERR_SUCCESS;
5818 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_DriverInfo *r)
5820 uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
5822 level = ndr_pull_get_switch_value(ndr, r);
5823 if (ndr_flags & NDR_SCALARS) {
5826 NDR_CHECK(ndr_pull_align(ndr, 4));
5827 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
5828 NDR_CHECK(ndr_pull_spoolss_DriverInfo1(ndr, NDR_SCALARS, &r->info1));
5832 NDR_CHECK(ndr_pull_align(ndr, 4));
5833 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
5834 NDR_CHECK(ndr_pull_spoolss_DriverInfo2(ndr, NDR_SCALARS, &r->info2));
5838 NDR_CHECK(ndr_pull_align(ndr, 4));
5839 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
5840 NDR_CHECK(ndr_pull_spoolss_DriverInfo3(ndr, NDR_SCALARS, &r->info3));
5844 NDR_CHECK(ndr_pull_align(ndr, 4));
5845 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
5846 NDR_CHECK(ndr_pull_spoolss_DriverInfo4(ndr, NDR_SCALARS, &r->info4));
5850 NDR_CHECK(ndr_pull_align(ndr, 4));
5851 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
5852 NDR_CHECK(ndr_pull_spoolss_DriverInfo5(ndr, NDR_SCALARS, &r->info5));
5856 NDR_CHECK(ndr_pull_align(ndr, 8));
5857 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
5858 NDR_CHECK(ndr_pull_spoolss_DriverInfo6(ndr, NDR_SCALARS, &r->info6));
5866 if (ndr_flags & NDR_BUFFERS) {
5867 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
5870 NDR_CHECK(ndr_pull_spoolss_DriverInfo1(ndr, NDR_BUFFERS, &r->info1));
5874 NDR_CHECK(ndr_pull_spoolss_DriverInfo2(ndr, NDR_BUFFERS, &r->info2));
5878 NDR_CHECK(ndr_pull_spoolss_DriverInfo3(ndr, NDR_BUFFERS, &r->info3));
5882 NDR_CHECK(ndr_pull_spoolss_DriverInfo4(ndr, NDR_BUFFERS, &r->info4));
5886 NDR_CHECK(ndr_pull_spoolss_DriverInfo5(ndr, NDR_BUFFERS, &r->info5));
5890 NDR_CHECK(ndr_pull_spoolss_DriverInfo6(ndr, NDR_BUFFERS, &r->info6));
5898 ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
5899 return NDR_ERR_SUCCESS;
5902 _PUBLIC_ void ndr_print_spoolss_DriverInfo(struct ndr_print *ndr, const char *name, const union spoolss_DriverInfo *r)
5905 level = ndr_print_get_switch_value(ndr, r);
5906 ndr_print_union(ndr, name, level, "spoolss_DriverInfo");
5909 ndr_print_spoolss_DriverInfo1(ndr, "info1", &r->info1);
5913 ndr_print_spoolss_DriverInfo2(ndr, "info2", &r->info2);
5917 ndr_print_spoolss_DriverInfo3(ndr, "info3", &r->info3);
5921 ndr_print_spoolss_DriverInfo4(ndr, "info4", &r->info4);
5925 ndr_print_spoolss_DriverInfo5(ndr, "info5", &r->info5);
5929 ndr_print_spoolss_DriverInfo6(ndr, "info6", &r->info6);
5938 static enum ndr_err_code ndr_push_spoolss_DriverDirectoryInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverDirectoryInfo1 *r)
5940 if (ndr_flags & NDR_SCALARS) {
5941 NDR_CHECK(ndr_push_align(ndr, 4));
5943 uint32_t _flags_save_string = ndr->flags;
5944 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5945 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->directory_name));
5946 ndr->flags = _flags_save_string;
5949 if (ndr_flags & NDR_BUFFERS) {
5951 return NDR_ERR_SUCCESS;
5954 static enum ndr_err_code ndr_pull_spoolss_DriverDirectoryInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverDirectoryInfo1 *r)
5956 if (ndr_flags & NDR_SCALARS) {
5957 NDR_CHECK(ndr_pull_align(ndr, 4));
5959 uint32_t _flags_save_string = ndr->flags;
5960 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
5961 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->directory_name));
5962 ndr->flags = _flags_save_string;
5965 if (ndr_flags & NDR_BUFFERS) {
5967 return NDR_ERR_SUCCESS;
5970 _PUBLIC_ void ndr_print_spoolss_DriverDirectoryInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_DriverDirectoryInfo1 *r)
5972 ndr_print_struct(ndr, name, "spoolss_DriverDirectoryInfo1");
5974 ndr_print_string(ndr, "directory_name", r->directory_name);
5978 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverDirectoryInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DriverDirectoryInfo *r)
5980 uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
5981 if (ndr_flags & NDR_SCALARS) {
5982 int level = ndr_push_get_switch_value(ndr, r);
5985 NDR_CHECK(ndr_push_align(ndr, 4));
5986 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
5987 NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
5991 NDR_CHECK(ndr_push_align(ndr, 4));
5992 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
5993 NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
5998 if (ndr_flags & NDR_BUFFERS) {
5999 int level = ndr_push_get_switch_value(ndr, r);
6000 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
6010 ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
6011 return NDR_ERR_SUCCESS;
6014 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverDirectoryInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_DriverDirectoryInfo *r)
6016 uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
6018 level = ndr_pull_get_switch_value(ndr, r);
6019 if (ndr_flags & NDR_SCALARS) {
6022 NDR_CHECK(ndr_pull_align(ndr, 4));
6023 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
6024 NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
6028 NDR_CHECK(ndr_pull_align(ndr, 4));
6029 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
6030 NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
6035 if (ndr_flags & NDR_BUFFERS) {
6036 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
6046 ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
6047 return NDR_ERR_SUCCESS;
6050 _PUBLIC_ void ndr_print_spoolss_DriverDirectoryInfo(struct ndr_print *ndr, const char *name, const union spoolss_DriverDirectoryInfo *r)
6053 level = ndr_print_get_switch_value(ndr, r);
6054 ndr_print_union(ndr, name, level, "spoolss_DriverDirectoryInfo");
6057 ndr_print_spoolss_DriverDirectoryInfo1(ndr, "info1", &r->info1);
6061 ndr_print_spoolss_DriverDirectoryInfo1(ndr, "info1", &r->info1);
6067 _PUBLIC_ size_t ndr_size_spoolss_DriverDirectoryInfo(const union spoolss_DriverDirectoryInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
6069 return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverDirectoryInfo, ic);
6072 static enum ndr_err_code ndr_push_spoolss_PrintProcessorInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrintProcessorInfo1 *r)
6074 if (ndr_flags & NDR_SCALARS) {
6075 NDR_CHECK(ndr_push_align(ndr, 4));
6077 uint32_t _flags_save_string = ndr->flags;
6078 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6079 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor_name));
6080 ndr->flags = _flags_save_string;
6083 if (ndr_flags & NDR_BUFFERS) {
6085 uint32_t _flags_save_string = ndr->flags;
6086 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6087 if (r->print_processor_name) {
6088 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->print_processor_name));
6089 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor_name));
6091 ndr->flags = _flags_save_string;
6094 return NDR_ERR_SUCCESS;
6097 static enum ndr_err_code ndr_pull_spoolss_PrintProcessorInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrintProcessorInfo1 *r)
6099 uint32_t _ptr_print_processor_name;
6100 TALLOC_CTX *_mem_save_print_processor_name_0;
6101 if (ndr_flags & NDR_SCALARS) {
6102 NDR_CHECK(ndr_pull_align(ndr, 4));
6104 uint32_t _flags_save_string = ndr->flags;
6105 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6106 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor_name));
6107 if (_ptr_print_processor_name) {
6108 NDR_PULL_ALLOC(ndr, r->print_processor_name);
6109 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->print_processor_name, _ptr_print_processor_name));
6111 r->print_processor_name = NULL;
6113 ndr->flags = _flags_save_string;
6116 if (ndr_flags & NDR_BUFFERS) {
6118 uint32_t _flags_save_string = ndr->flags;
6119 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6120 if (r->print_processor_name) {
6121 uint32_t _relative_save_offset;
6122 _relative_save_offset = ndr->offset;
6123 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->print_processor_name));
6124 _mem_save_print_processor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6125 NDR_PULL_SET_MEM_CTX(ndr, r->print_processor_name, 0);
6126 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor_name));
6127 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_name_0, 0);
6128 ndr->offset = _relative_save_offset;
6130 ndr->flags = _flags_save_string;
6133 return NDR_ERR_SUCCESS;
6136 _PUBLIC_ void ndr_print_spoolss_PrintProcessorInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrintProcessorInfo1 *r)
6138 ndr_print_struct(ndr, name, "spoolss_PrintProcessorInfo1");
6140 ndr_print_ptr(ndr, "print_processor_name", r->print_processor_name);
6142 if (r->print_processor_name) {
6143 ndr_print_string(ndr, "print_processor_name", r->print_processor_name);
6149 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcessorInfo *r)
6151 uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
6152 if (ndr_flags & NDR_SCALARS) {
6153 int level = ndr_push_get_switch_value(ndr, r);
6156 NDR_CHECK(ndr_push_align(ndr, 4));
6157 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
6158 NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo1(ndr, NDR_SCALARS, &r->info1));
6166 if (ndr_flags & NDR_BUFFERS) {
6167 int level = ndr_push_get_switch_value(ndr, r);
6168 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
6171 NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo1(ndr, NDR_BUFFERS, &r->info1));
6179 ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
6180 return NDR_ERR_SUCCESS;
6183 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcessorInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrintProcessorInfo *r)
6185 uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
6187 level = ndr_pull_get_switch_value(ndr, r);
6188 if (ndr_flags & NDR_SCALARS) {
6191 NDR_CHECK(ndr_pull_align(ndr, 4));
6192 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
6193 NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo1(ndr, NDR_SCALARS, &r->info1));
6201 if (ndr_flags & NDR_BUFFERS) {
6202 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
6205 NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo1(ndr, NDR_BUFFERS, &r->info1));
6213 ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
6214 return NDR_ERR_SUCCESS;
6217 _PUBLIC_ void ndr_print_spoolss_PrintProcessorInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcessorInfo *r)
6220 level = ndr_print_get_switch_value(ndr, r);
6221 ndr_print_union(ndr, name, level, "spoolss_PrintProcessorInfo");
6224 ndr_print_spoolss_PrintProcessorInfo1(ndr, "info1", &r->info1);
6233 static enum ndr_err_code ndr_push_spoolss_DocumentInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DocumentInfo1 *r)
6235 if (ndr_flags & NDR_SCALARS) {
6236 NDR_CHECK(ndr_push_align(ndr, 4));
6237 NDR_CHECK(ndr_push_unique_ptr(ndr, r->document_name));
6238 NDR_CHECK(ndr_push_unique_ptr(ndr, r->output_file));
6239 NDR_CHECK(ndr_push_unique_ptr(ndr, r->datatype));
6241 if (ndr_flags & NDR_BUFFERS) {
6242 if (r->document_name) {
6243 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
6244 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6245 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16)));
6246 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->document_name, ndr_charset_length(r->document_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6248 if (r->output_file) {
6249 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->output_file, CH_UTF16)));
6250 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6251 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->output_file, CH_UTF16)));
6252 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->output_file, ndr_charset_length(r->output_file, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6255 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->datatype, CH_UTF16)));
6256 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6257 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->datatype, CH_UTF16)));
6258 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->datatype, ndr_charset_length(r->datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6261 return NDR_ERR_SUCCESS;
6264 static enum ndr_err_code ndr_pull_spoolss_DocumentInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DocumentInfo1 *r)
6266 uint32_t _ptr_document_name;
6267 TALLOC_CTX *_mem_save_document_name_0;
6268 uint32_t _ptr_output_file;
6269 TALLOC_CTX *_mem_save_output_file_0;
6270 uint32_t _ptr_datatype;
6271 TALLOC_CTX *_mem_save_datatype_0;
6272 if (ndr_flags & NDR_SCALARS) {
6273 NDR_CHECK(ndr_pull_align(ndr, 4));
6274 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
6275 if (_ptr_document_name) {
6276 NDR_PULL_ALLOC(ndr, r->document_name);
6278 r->document_name = NULL;
6280 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_output_file));
6281 if (_ptr_output_file) {
6282 NDR_PULL_ALLOC(ndr, r->output_file);
6284 r->output_file = NULL;
6286 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
6287 if (_ptr_datatype) {
6288 NDR_PULL_ALLOC(ndr, r->datatype);
6293 if (ndr_flags & NDR_BUFFERS) {
6294 if (r->document_name) {
6295 _mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6296 NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
6297 NDR_CHECK(ndr_pull_array_size(ndr, &r->document_name));
6298 NDR_CHECK(ndr_pull_array_length(ndr, &r->document_name));
6299 if (ndr_get_array_length(ndr, &r->document_name) > ndr_get_array_size(ndr, &r->document_name)) {
6300 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));
6302 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t)));
6303 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->document_name, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t), CH_UTF16));
6304 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
6306 if (r->output_file) {
6307 _mem_save_output_file_0 = NDR_PULL_GET_MEM_CTX(ndr);
6308 NDR_PULL_SET_MEM_CTX(ndr, r->output_file, 0);
6309 NDR_CHECK(ndr_pull_array_size(ndr, &r->output_file));
6310 NDR_CHECK(ndr_pull_array_length(ndr, &r->output_file));
6311 if (ndr_get_array_length(ndr, &r->output_file) > ndr_get_array_size(ndr, &r->output_file)) {
6312 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));
6314 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->output_file), sizeof(uint16_t)));
6315 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->output_file, ndr_get_array_length(ndr, &r->output_file), sizeof(uint16_t), CH_UTF16));
6316 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_output_file_0, 0);
6319 _mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
6320 NDR_PULL_SET_MEM_CTX(ndr, r->datatype, 0);
6321 NDR_CHECK(ndr_pull_array_size(ndr, &r->datatype));
6322 NDR_CHECK(ndr_pull_array_length(ndr, &r->datatype));
6323 if (ndr_get_array_length(ndr, &r->datatype) > ndr_get_array_size(ndr, &r->datatype)) {
6324 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));
6326 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->datatype), sizeof(uint16_t)));
6327 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->datatype, ndr_get_array_length(ndr, &r->datatype), sizeof(uint16_t), CH_UTF16));
6328 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
6331 return NDR_ERR_SUCCESS;
6334 _PUBLIC_ void ndr_print_spoolss_DocumentInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_DocumentInfo1 *r)
6336 ndr_print_struct(ndr, name, "spoolss_DocumentInfo1");
6338 ndr_print_ptr(ndr, "document_name", r->document_name);
6340 if (r->document_name) {
6341 ndr_print_string(ndr, "document_name", r->document_name);
6344 ndr_print_ptr(ndr, "output_file", r->output_file);
6346 if (r->output_file) {
6347 ndr_print_string(ndr, "output_file", r->output_file);
6350 ndr_print_ptr(ndr, "datatype", r->datatype);
6353 ndr_print_string(ndr, "datatype", r->datatype);
6359 static enum ndr_err_code ndr_push_spoolss_DocumentInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DocumentInfo *r)
6361 if (ndr_flags & NDR_SCALARS) {
6362 int level = ndr_push_get_switch_value(ndr, r);
6363 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6366 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
6380 if (ndr_flags & NDR_BUFFERS) {
6381 int level = ndr_push_get_switch_value(ndr, r);
6385 NDR_CHECK(ndr_push_spoolss_DocumentInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
6400 return NDR_ERR_SUCCESS;
6403 static enum ndr_err_code ndr_pull_spoolss_DocumentInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_DocumentInfo *r)
6407 TALLOC_CTX *_mem_save_info1_0;
6408 level = ndr_pull_get_switch_value(ndr, r);
6409 if (ndr_flags & NDR_SCALARS) {
6410 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6411 if (_level != level) {
6412 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
6416 uint32_t _ptr_info1;
6417 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
6419 NDR_PULL_ALLOC(ndr, r->info1);
6436 if (ndr_flags & NDR_BUFFERS) {
6440 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6441 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
6442 NDR_CHECK(ndr_pull_spoolss_DocumentInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
6443 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
6458 return NDR_ERR_SUCCESS;
6461 _PUBLIC_ void ndr_print_spoolss_DocumentInfo(struct ndr_print *ndr, const char *name, const union spoolss_DocumentInfo *r)
6464 level = ndr_print_get_switch_value(ndr, r);
6465 ndr_print_union(ndr, name, level, "spoolss_DocumentInfo");
6468 ndr_print_ptr(ndr, "info1", r->info1);
6471 ndr_print_spoolss_DocumentInfo1(ndr, "info1", r->info1);
6488 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_OSVersion(struct ndr_push *ndr, int ndr_flags, const struct spoolss_OSVersion *r)
6490 if (ndr_flags & NDR_SCALARS) {
6491 NDR_CHECK(ndr_push_align(ndr, 4));
6492 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_spoolss_OSVersion(r, ndr->iconv_convenience, ndr->flags)));
6493 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->major));
6494 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minor));
6495 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build));
6496 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
6498 uint32_t _flags_save_string = ndr->flags;
6499 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6501 struct ndr_push *_ndr_extra_string;
6502 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
6503 NDR_CHECK(ndr_push_string(_ndr_extra_string, NDR_SCALARS, r->extra_string));
6504 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_extra_string, 0, 256));
6506 ndr->flags = _flags_save_string;
6509 if (ndr_flags & NDR_BUFFERS) {
6511 return NDR_ERR_SUCCESS;
6514 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OSVersion(struct ndr_pull *ndr, int ndr_flags, struct spoolss_OSVersion *r)
6516 if (ndr_flags & NDR_SCALARS) {
6517 NDR_CHECK(ndr_pull_align(ndr, 4));
6518 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size));
6519 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->major));
6520 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minor));
6521 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build));
6522 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
6524 uint32_t _flags_save_string = ndr->flags;
6525 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6527 struct ndr_pull *_ndr_extra_string;
6528 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
6529 NDR_CHECK(ndr_pull_string(_ndr_extra_string, NDR_SCALARS, &r->extra_string));
6530 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_extra_string, 0, 256));
6532 ndr->flags = _flags_save_string;
6535 if (ndr_flags & NDR_BUFFERS) {
6537 return NDR_ERR_SUCCESS;
6540 _PUBLIC_ void ndr_print_spoolss_OSVersion(struct ndr_print *ndr, const char *name, const struct spoolss_OSVersion *r)
6542 ndr_print_struct(ndr, name, "spoolss_OSVersion");
6544 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);
6545 ndr_print_uint32(ndr, "major", r->major);
6546 ndr_print_uint32(ndr, "minor", r->minor);
6547 ndr_print_uint32(ndr, "build", r->build);
6548 ndr_print_uint32(ndr, "unknown", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->unknown);
6549 ndr_print_string(ndr, "extra_string", r->extra_string);
6553 _PUBLIC_ size_t ndr_size_spoolss_OSVersion(const struct spoolss_OSVersion *r, struct smb_iconv_convenience *ic, int flags)
6555 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_OSVersion, ic);
6558 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_OSVersionEx(struct ndr_push *ndr, int ndr_flags, const struct spoolss_OSVersionEx *r)
6560 if (ndr_flags & NDR_SCALARS) {
6561 NDR_CHECK(ndr_push_align(ndr, 4));
6562 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_spoolss_OSVersionEx(r, ndr->iconv_convenience, ndr->flags)));
6563 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->major));
6564 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minor));
6565 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build));
6566 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
6568 uint32_t _flags_save_string = ndr->flags;
6569 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6571 struct ndr_push *_ndr_extra_string;
6572 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
6573 NDR_CHECK(ndr_push_string(_ndr_extra_string, NDR_SCALARS, r->extra_string));
6574 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_extra_string, 0, 256));
6576 ndr->flags = _flags_save_string;
6578 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
6579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
6581 if (ndr_flags & NDR_BUFFERS) {
6583 return NDR_ERR_SUCCESS;
6586 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OSVersionEx(struct ndr_pull *ndr, int ndr_flags, struct spoolss_OSVersionEx *r)
6588 if (ndr_flags & NDR_SCALARS) {
6589 NDR_CHECK(ndr_pull_align(ndr, 4));
6590 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size));
6591 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->major));
6592 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minor));
6593 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build));
6594 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
6596 uint32_t _flags_save_string = ndr->flags;
6597 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6599 struct ndr_pull *_ndr_extra_string;
6600 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
6601 NDR_CHECK(ndr_pull_string(_ndr_extra_string, NDR_SCALARS, &r->extra_string));
6602 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_extra_string, 0, 256));
6604 ndr->flags = _flags_save_string;
6606 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
6607 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
6609 if (ndr_flags & NDR_BUFFERS) {
6611 return NDR_ERR_SUCCESS;
6614 _PUBLIC_ void ndr_print_spoolss_OSVersionEx(struct ndr_print *ndr, const char *name, const struct spoolss_OSVersionEx *r)
6616 ndr_print_struct(ndr, name, "spoolss_OSVersionEx");
6618 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);
6619 ndr_print_uint32(ndr, "major", r->major);
6620 ndr_print_uint32(ndr, "minor", r->minor);
6621 ndr_print_uint32(ndr, "build", r->build);
6622 ndr_print_uint32(ndr, "unknown1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->unknown1);
6623 ndr_print_string(ndr, "extra_string", r->extra_string);
6624 ndr_print_uint32(ndr, "unknown2", r->unknown2);
6625 ndr_print_uint32(ndr, "unknown3", r->unknown3);
6629 _PUBLIC_ size_t ndr_size_spoolss_OSVersionEx(const struct spoolss_OSVersionEx *r, struct smb_iconv_convenience *ic, int flags)
6631 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_OSVersionEx, ic);
6634 static enum ndr_err_code ndr_push_spoolss_PrinterDataType(struct ndr_push *ndr, int ndr_flags, enum spoolss_PrinterDataType r)
6636 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6637 return NDR_ERR_SUCCESS;
6640 static enum ndr_err_code ndr_pull_spoolss_PrinterDataType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PrinterDataType *r)
6643 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6645 return NDR_ERR_SUCCESS;
6648 _PUBLIC_ void ndr_print_spoolss_PrinterDataType(struct ndr_print *ndr, const char *name, enum spoolss_PrinterDataType r)
6650 const char *val = NULL;
6653 case SPOOLSS_PRINTER_DATA_TYPE_NULL: val = "SPOOLSS_PRINTER_DATA_TYPE_NULL"; break;
6654 case SPOOLSS_PRINTER_DATA_TYPE_STRING: val = "SPOOLSS_PRINTER_DATA_TYPE_STRING"; break;
6655 case SPOOLSS_PRINTER_DATA_TYPE_BINARY: val = "SPOOLSS_PRINTER_DATA_TYPE_BINARY"; break;
6656 case SPOOLSS_PRINTER_DATA_TYPE_UINT32: val = "SPOOLSS_PRINTER_DATA_TYPE_UINT32"; break;
6657 case SPOOLSS_PRINTER_DATA_TYPE_STRING_ARRAY: val = "SPOOLSS_PRINTER_DATA_TYPE_STRING_ARRAY"; break;
6659 ndr_print_enum(ndr, name, "ENUM", val, r);
6662 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterData(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrinterData *r)
6664 if (ndr_flags & NDR_SCALARS) {
6665 int level = ndr_push_get_switch_value(ndr, r);
6667 case SPOOLSS_PRINTER_DATA_TYPE_NULL: {
6670 case SPOOLSS_PRINTER_DATA_TYPE_STRING: {
6672 uint32_t _flags_save_string = ndr->flags;
6673 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6674 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string));
6675 ndr->flags = _flags_save_string;
6679 case SPOOLSS_PRINTER_DATA_TYPE_BINARY: {
6681 uint32_t _flags_save_DATA_BLOB = ndr->flags;
6682 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
6683 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
6684 ndr->flags = _flags_save_DATA_BLOB;
6688 case SPOOLSS_PRINTER_DATA_TYPE_UINT32: {
6689 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->value));
6692 case SPOOLSS_PRINTER_DATA_TYPE_STRING_ARRAY: {
6694 uint32_t _flags_save_string_array = ndr->flags;
6695 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6696 NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string_array));
6697 ndr->flags = _flags_save_string_array;
6703 uint32_t _flags_save_DATA_BLOB = ndr->flags;
6704 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
6705 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data));
6706 ndr->flags = _flags_save_DATA_BLOB;
6712 if (ndr_flags & NDR_BUFFERS) {
6713 int level = ndr_push_get_switch_value(ndr, r);
6715 case SPOOLSS_PRINTER_DATA_TYPE_NULL:
6718 case SPOOLSS_PRINTER_DATA_TYPE_STRING:
6721 case SPOOLSS_PRINTER_DATA_TYPE_BINARY:
6724 case SPOOLSS_PRINTER_DATA_TYPE_UINT32:
6727 case SPOOLSS_PRINTER_DATA_TYPE_STRING_ARRAY:
6735 return NDR_ERR_SUCCESS;
6738 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterData(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrinterData *r)
6741 level = ndr_pull_get_switch_value(ndr, r);
6742 if (ndr_flags & NDR_SCALARS) {
6744 case SPOOLSS_PRINTER_DATA_TYPE_NULL: {
6747 case SPOOLSS_PRINTER_DATA_TYPE_STRING: {
6749 uint32_t _flags_save_string = ndr->flags;
6750 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6751 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string));
6752 ndr->flags = _flags_save_string;
6756 case SPOOLSS_PRINTER_DATA_TYPE_BINARY: {
6758 uint32_t _flags_save_DATA_BLOB = ndr->flags;
6759 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
6760 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
6761 ndr->flags = _flags_save_DATA_BLOB;
6765 case SPOOLSS_PRINTER_DATA_TYPE_UINT32: {
6766 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value));
6769 case SPOOLSS_PRINTER_DATA_TYPE_STRING_ARRAY: {
6771 uint32_t _flags_save_string_array = ndr->flags;
6772 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6773 NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string_array));
6774 ndr->flags = _flags_save_string_array;
6780 uint32_t _flags_save_DATA_BLOB = ndr->flags;
6781 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
6782 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data));
6783 ndr->flags = _flags_save_DATA_BLOB;
6789 if (ndr_flags & NDR_BUFFERS) {
6791 case SPOOLSS_PRINTER_DATA_TYPE_NULL:
6794 case SPOOLSS_PRINTER_DATA_TYPE_STRING:
6797 case SPOOLSS_PRINTER_DATA_TYPE_BINARY:
6800 case SPOOLSS_PRINTER_DATA_TYPE_UINT32:
6803 case SPOOLSS_PRINTER_DATA_TYPE_STRING_ARRAY:
6811 return NDR_ERR_SUCCESS;
6814 _PUBLIC_ void ndr_print_spoolss_PrinterData(struct ndr_print *ndr, const char *name, const union spoolss_PrinterData *r)
6817 level = ndr_print_get_switch_value(ndr, r);
6818 ndr_print_union(ndr, name, level, "spoolss_PrinterData");
6820 case SPOOLSS_PRINTER_DATA_TYPE_NULL:
6823 case SPOOLSS_PRINTER_DATA_TYPE_STRING:
6824 ndr_print_string(ndr, "string", r->string);
6827 case SPOOLSS_PRINTER_DATA_TYPE_BINARY:
6828 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
6831 case SPOOLSS_PRINTER_DATA_TYPE_UINT32:
6832 ndr_print_uint32(ndr, "value", r->value);
6835 case SPOOLSS_PRINTER_DATA_TYPE_STRING_ARRAY:
6836 ndr_print_string_array(ndr, "string_array", r->string_array);
6840 ndr_print_DATA_BLOB(ndr, "data", r->data);
6846 _PUBLIC_ size_t ndr_size_spoolss_PrinterData(const union spoolss_PrinterData *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
6848 return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterData, ic);
6851 static enum ndr_err_code ndr_push_spoolss_FormFlags(struct ndr_push *ndr, int ndr_flags, enum spoolss_FormFlags r)
6853 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6854 return NDR_ERR_SUCCESS;
6857 static enum ndr_err_code ndr_pull_spoolss_FormFlags(struct ndr_pull *ndr, int ndr_flags, enum spoolss_FormFlags *r)
6860 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6862 return NDR_ERR_SUCCESS;
6865 _PUBLIC_ void ndr_print_spoolss_FormFlags(struct ndr_print *ndr, const char *name, enum spoolss_FormFlags r)
6867 const char *val = NULL;
6870 case SPOOLSS_FORM_USER: val = "SPOOLSS_FORM_USER"; break;
6871 case SPOOLSS_FORM_BUILTIN: val = "SPOOLSS_FORM_BUILTIN"; break;
6872 case SPOOLSS_FORM_PRINTER: val = "SPOOLSS_FORM_PRINTER"; break;
6874 ndr_print_enum(ndr, name, "ENUM", val, r);
6877 static enum ndr_err_code ndr_push_spoolss_FormSize(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormSize *r)
6879 if (ndr_flags & NDR_SCALARS) {
6880 NDR_CHECK(ndr_push_align(ndr, 4));
6881 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->width));
6882 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->height));
6884 if (ndr_flags & NDR_BUFFERS) {
6886 return NDR_ERR_SUCCESS;
6889 static enum ndr_err_code ndr_pull_spoolss_FormSize(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormSize *r)
6891 if (ndr_flags & NDR_SCALARS) {
6892 NDR_CHECK(ndr_pull_align(ndr, 4));
6893 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->width));
6894 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->height));
6896 if (ndr_flags & NDR_BUFFERS) {
6898 return NDR_ERR_SUCCESS;
6901 _PUBLIC_ void ndr_print_spoolss_FormSize(struct ndr_print *ndr, const char *name, const struct spoolss_FormSize *r)
6903 ndr_print_struct(ndr, name, "spoolss_FormSize");
6905 ndr_print_uint32(ndr, "width", r->width);
6906 ndr_print_uint32(ndr, "height", r->height);
6910 static enum ndr_err_code ndr_push_spoolss_FormArea(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormArea *r)
6912 if (ndr_flags & NDR_SCALARS) {
6913 NDR_CHECK(ndr_push_align(ndr, 4));
6914 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->left));
6915 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->top));
6916 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->right));
6917 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bottom));
6919 if (ndr_flags & NDR_BUFFERS) {
6921 return NDR_ERR_SUCCESS;
6924 static enum ndr_err_code ndr_pull_spoolss_FormArea(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormArea *r)
6926 if (ndr_flags & NDR_SCALARS) {
6927 NDR_CHECK(ndr_pull_align(ndr, 4));
6928 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->left));
6929 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->top));
6930 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->right));
6931 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bottom));
6933 if (ndr_flags & NDR_BUFFERS) {
6935 return NDR_ERR_SUCCESS;
6938 _PUBLIC_ void ndr_print_spoolss_FormArea(struct ndr_print *ndr, const char *name, const struct spoolss_FormArea *r)
6940 ndr_print_struct(ndr, name, "spoolss_FormArea");
6942 ndr_print_uint32(ndr, "left", r->left);
6943 ndr_print_uint32(ndr, "top", r->top);
6944 ndr_print_uint32(ndr, "right", r->right);
6945 ndr_print_uint32(ndr, "bottom", r->bottom);
6949 static enum ndr_err_code ndr_push_spoolss_FormInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormInfo1 *r)
6951 if (ndr_flags & NDR_SCALARS) {
6952 NDR_CHECK(ndr_push_align(ndr, 4));
6953 NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags));
6955 uint32_t _flags_save_string = ndr->flags;
6956 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6957 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->form_name));
6958 ndr->flags = _flags_save_string;
6960 NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
6961 NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
6963 if (ndr_flags & NDR_BUFFERS) {
6965 uint32_t _flags_save_string = ndr->flags;
6966 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6968 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->form_name));
6969 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->form_name));
6971 ndr->flags = _flags_save_string;
6974 return NDR_ERR_SUCCESS;
6977 static enum ndr_err_code ndr_pull_spoolss_FormInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormInfo1 *r)
6979 uint32_t _ptr_form_name;
6980 TALLOC_CTX *_mem_save_form_name_0;
6981 if (ndr_flags & NDR_SCALARS) {
6982 NDR_CHECK(ndr_pull_align(ndr, 4));
6983 NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags));
6985 uint32_t _flags_save_string = ndr->flags;
6986 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6987 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name));
6988 if (_ptr_form_name) {
6989 NDR_PULL_ALLOC(ndr, r->form_name);
6990 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->form_name, _ptr_form_name));
6992 r->form_name = NULL;
6994 ndr->flags = _flags_save_string;
6996 NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
6997 NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
6999 if (ndr_flags & NDR_BUFFERS) {
7001 uint32_t _flags_save_string = ndr->flags;
7002 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7004 uint32_t _relative_save_offset;
7005 _relative_save_offset = ndr->offset;
7006 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->form_name));
7007 _mem_save_form_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7008 NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0);
7009 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->form_name));
7010 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0);
7011 ndr->offset = _relative_save_offset;
7013 ndr->flags = _flags_save_string;
7016 return NDR_ERR_SUCCESS;
7019 _PUBLIC_ void ndr_print_spoolss_FormInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_FormInfo1 *r)
7021 ndr_print_struct(ndr, name, "spoolss_FormInfo1");
7023 ndr_print_spoolss_FormFlags(ndr, "flags", r->flags);
7024 ndr_print_ptr(ndr, "form_name", r->form_name);
7027 ndr_print_string(ndr, "form_name", r->form_name);
7030 ndr_print_spoolss_FormSize(ndr, "size", &r->size);
7031 ndr_print_spoolss_FormArea(ndr, "area", &r->area);
7035 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_FormInfo *r)
7037 uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
7038 if (ndr_flags & NDR_SCALARS) {
7039 int level = ndr_push_get_switch_value(ndr, r);
7042 NDR_CHECK(ndr_push_align(ndr, 4));
7043 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
7044 NDR_CHECK(ndr_push_spoolss_FormInfo1(ndr, NDR_SCALARS, &r->info1));
7052 if (ndr_flags & NDR_BUFFERS) {
7053 int level = ndr_push_get_switch_value(ndr, r);
7054 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
7057 NDR_CHECK(ndr_push_spoolss_FormInfo1(ndr, NDR_BUFFERS, &r->info1));
7065 ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
7066 return NDR_ERR_SUCCESS;
7069 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FormInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_FormInfo *r)
7071 uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
7073 level = ndr_pull_get_switch_value(ndr, r);
7074 if (ndr_flags & NDR_SCALARS) {
7077 NDR_CHECK(ndr_pull_align(ndr, 4));
7078 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
7079 NDR_CHECK(ndr_pull_spoolss_FormInfo1(ndr, NDR_SCALARS, &r->info1));
7087 if (ndr_flags & NDR_BUFFERS) {
7088 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
7091 NDR_CHECK(ndr_pull_spoolss_FormInfo1(ndr, NDR_BUFFERS, &r->info1));
7099 ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
7100 return NDR_ERR_SUCCESS;
7103 _PUBLIC_ void ndr_print_spoolss_FormInfo(struct ndr_print *ndr, const char *name, const union spoolss_FormInfo *r)
7106 level = ndr_print_get_switch_value(ndr, r);
7107 ndr_print_union(ndr, name, level, "spoolss_FormInfo");
7110 ndr_print_spoolss_FormInfo1(ndr, "info1", &r->info1);
7119 _PUBLIC_ size_t ndr_size_spoolss_FormInfo(const union spoolss_FormInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
7121 return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_FormInfo, ic);
7124 static enum ndr_err_code ndr_push_spoolss_AddFormInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddFormInfo1 *r)
7126 if (ndr_flags & NDR_SCALARS) {
7127 NDR_CHECK(ndr_push_align(ndr, 4));
7128 NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags));
7129 NDR_CHECK(ndr_push_unique_ptr(ndr, r->form_name));
7130 NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
7131 NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
7133 if (ndr_flags & NDR_BUFFERS) {
7135 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->form_name, CH_UTF16)));
7136 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7137 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->form_name, CH_UTF16)));
7138 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->form_name, ndr_charset_length(r->form_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7141 return NDR_ERR_SUCCESS;
7144 static enum ndr_err_code ndr_pull_spoolss_AddFormInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddFormInfo1 *r)
7146 uint32_t _ptr_form_name;
7147 TALLOC_CTX *_mem_save_form_name_0;
7148 if (ndr_flags & NDR_SCALARS) {
7149 NDR_CHECK(ndr_pull_align(ndr, 4));
7150 NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags));
7151 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name));
7152 if (_ptr_form_name) {
7153 NDR_PULL_ALLOC(ndr, r->form_name);
7155 r->form_name = NULL;
7157 NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
7158 NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
7160 if (ndr_flags & NDR_BUFFERS) {
7162 _mem_save_form_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7163 NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0);
7164 NDR_CHECK(ndr_pull_array_size(ndr, &r->form_name));
7165 NDR_CHECK(ndr_pull_array_length(ndr, &r->form_name));
7166 if (ndr_get_array_length(ndr, &r->form_name) > ndr_get_array_size(ndr, &r->form_name)) {
7167 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));
7169 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->form_name), sizeof(uint16_t)));
7170 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->form_name, ndr_get_array_length(ndr, &r->form_name), sizeof(uint16_t), CH_UTF16));
7171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0);
7174 return NDR_ERR_SUCCESS;
7177 _PUBLIC_ void ndr_print_spoolss_AddFormInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_AddFormInfo1 *r)
7179 ndr_print_struct(ndr, name, "spoolss_AddFormInfo1");
7181 ndr_print_spoolss_FormFlags(ndr, "flags", r->flags);
7182 ndr_print_ptr(ndr, "form_name", r->form_name);
7185 ndr_print_string(ndr, "form_name", r->form_name);
7188 ndr_print_spoolss_FormSize(ndr, "size", &r->size);
7189 ndr_print_spoolss_FormArea(ndr, "area", &r->area);
7193 static enum ndr_err_code ndr_push_spoolss_AddFormInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_AddFormInfo *r)
7195 if (ndr_flags & NDR_SCALARS) {
7196 int level = ndr_push_get_switch_value(ndr, r);
7197 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7200 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7204 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7207 if (ndr_flags & NDR_BUFFERS) {
7208 int level = ndr_push_get_switch_value(ndr, r);
7212 NDR_CHECK(ndr_push_spoolss_AddFormInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7217 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7220 return NDR_ERR_SUCCESS;
7223 static enum ndr_err_code ndr_pull_spoolss_AddFormInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_AddFormInfo *r)
7227 TALLOC_CTX *_mem_save_info1_0;
7228 level = ndr_pull_get_switch_value(ndr, r);
7229 if (ndr_flags & NDR_SCALARS) {
7230 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7231 if (_level != level) {
7232 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7236 uint32_t _ptr_info1;
7237 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
7239 NDR_PULL_ALLOC(ndr, r->info1);
7246 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7249 if (ndr_flags & NDR_BUFFERS) {
7253 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7254 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
7255 NDR_CHECK(ndr_pull_spoolss_AddFormInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7256 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
7261 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7264 return NDR_ERR_SUCCESS;
7267 _PUBLIC_ void ndr_print_spoolss_AddFormInfo(struct ndr_print *ndr, const char *name, const union spoolss_AddFormInfo *r)
7270 level = ndr_print_get_switch_value(ndr, r);
7271 ndr_print_union(ndr, name, level, "spoolss_AddFormInfo");
7274 ndr_print_ptr(ndr, "info1", r->info1);
7277 ndr_print_spoolss_AddFormInfo1(ndr, "info1", r->info1);
7283 ndr_print_bad_level(ndr, name, level);
7287 static enum ndr_err_code ndr_push_spoolss_PortInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfo1 *r)
7289 if (ndr_flags & NDR_SCALARS) {
7290 NDR_CHECK(ndr_push_align(ndr, 4));
7292 uint32_t _flags_save_string = ndr->flags;
7293 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7294 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->port_name));
7295 ndr->flags = _flags_save_string;
7298 if (ndr_flags & NDR_BUFFERS) {
7300 uint32_t _flags_save_string = ndr->flags;
7301 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7303 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->port_name));
7304 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name));
7306 ndr->flags = _flags_save_string;
7309 return NDR_ERR_SUCCESS;
7312 static enum ndr_err_code ndr_pull_spoolss_PortInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfo1 *r)
7314 uint32_t _ptr_port_name;
7315 TALLOC_CTX *_mem_save_port_name_0;
7316 if (ndr_flags & NDR_SCALARS) {
7317 NDR_CHECK(ndr_pull_align(ndr, 4));
7319 uint32_t _flags_save_string = ndr->flags;
7320 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7321 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name));
7322 if (_ptr_port_name) {
7323 NDR_PULL_ALLOC(ndr, r->port_name);
7324 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->port_name, _ptr_port_name));
7326 r->port_name = NULL;
7328 ndr->flags = _flags_save_string;
7331 if (ndr_flags & NDR_BUFFERS) {
7333 uint32_t _flags_save_string = ndr->flags;
7334 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7336 uint32_t _relative_save_offset;
7337 _relative_save_offset = ndr->offset;
7338 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->port_name));
7339 _mem_save_port_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7340 NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0);
7341 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->port_name));
7342 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0);
7343 ndr->offset = _relative_save_offset;
7345 ndr->flags = _flags_save_string;
7348 return NDR_ERR_SUCCESS;
7351 _PUBLIC_ void ndr_print_spoolss_PortInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfo1 *r)
7353 ndr_print_struct(ndr, name, "spoolss_PortInfo1");
7355 ndr_print_ptr(ndr, "port_name", r->port_name);
7358 ndr_print_string(ndr, "port_name", r->port_name);
7364 static enum ndr_err_code ndr_push_spoolss_PortType(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7366 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7367 return NDR_ERR_SUCCESS;
7370 static enum ndr_err_code ndr_pull_spoolss_PortType(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7373 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7375 return NDR_ERR_SUCCESS;
7378 _PUBLIC_ void ndr_print_spoolss_PortType(struct ndr_print *ndr, const char *name, uint32_t r)
7380 ndr_print_uint32(ndr, name, r);
7382 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_WRITE", SPOOLSS_PORT_TYPE_WRITE, r);
7383 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_READ", SPOOLSS_PORT_TYPE_READ, r);
7384 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_REDIRECTED", SPOOLSS_PORT_TYPE_REDIRECTED, r);
7385 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_NET_ATTACHED", SPOOLSS_PORT_TYPE_NET_ATTACHED, r);
7389 static enum ndr_err_code ndr_push_spoolss_PortInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfo2 *r)
7391 if (ndr_flags & NDR_SCALARS) {
7392 NDR_CHECK(ndr_push_align(ndr, 4));
7394 uint32_t _flags_save_string = ndr->flags;
7395 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7396 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->port_name));
7397 ndr->flags = _flags_save_string;
7400 uint32_t _flags_save_string = ndr->flags;
7401 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7402 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
7403 ndr->flags = _flags_save_string;
7406 uint32_t _flags_save_string = ndr->flags;
7407 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7408 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->description));
7409 ndr->flags = _flags_save_string;
7411 NDR_CHECK(ndr_push_spoolss_PortType(ndr, NDR_SCALARS, r->port_type));
7412 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
7414 if (ndr_flags & NDR_BUFFERS) {
7416 uint32_t _flags_save_string = ndr->flags;
7417 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7419 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->port_name));
7420 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name));
7422 ndr->flags = _flags_save_string;
7425 uint32_t _flags_save_string = ndr->flags;
7426 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7427 if (r->monitor_name) {
7428 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name));
7429 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
7431 ndr->flags = _flags_save_string;
7434 uint32_t _flags_save_string = ndr->flags;
7435 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7436 if (r->description) {
7437 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->description));
7438 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description));
7440 ndr->flags = _flags_save_string;
7443 return NDR_ERR_SUCCESS;
7446 static enum ndr_err_code ndr_pull_spoolss_PortInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfo2 *r)
7448 uint32_t _ptr_port_name;
7449 TALLOC_CTX *_mem_save_port_name_0;
7450 uint32_t _ptr_monitor_name;
7451 TALLOC_CTX *_mem_save_monitor_name_0;
7452 uint32_t _ptr_description;
7453 TALLOC_CTX *_mem_save_description_0;
7454 if (ndr_flags & NDR_SCALARS) {
7455 NDR_CHECK(ndr_pull_align(ndr, 4));
7457 uint32_t _flags_save_string = ndr->flags;
7458 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7459 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name));
7460 if (_ptr_port_name) {
7461 NDR_PULL_ALLOC(ndr, r->port_name);
7462 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->port_name, _ptr_port_name));
7464 r->port_name = NULL;
7466 ndr->flags = _flags_save_string;
7469 uint32_t _flags_save_string = ndr->flags;
7470 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7471 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
7472 if (_ptr_monitor_name) {
7473 NDR_PULL_ALLOC(ndr, r->monitor_name);
7474 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
7476 r->monitor_name = NULL;
7478 ndr->flags = _flags_save_string;
7481 uint32_t _flags_save_string = ndr->flags;
7482 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7483 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description));
7484 if (_ptr_description) {
7485 NDR_PULL_ALLOC(ndr, r->description);
7486 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->description, _ptr_description));
7488 r->description = NULL;
7490 ndr->flags = _flags_save_string;
7492 NDR_CHECK(ndr_pull_spoolss_PortType(ndr, NDR_SCALARS, &r->port_type));
7493 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
7495 if (ndr_flags & NDR_BUFFERS) {
7497 uint32_t _flags_save_string = ndr->flags;
7498 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7500 uint32_t _relative_save_offset;
7501 _relative_save_offset = ndr->offset;
7502 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->port_name));
7503 _mem_save_port_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7504 NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0);
7505 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->port_name));
7506 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0);
7507 ndr->offset = _relative_save_offset;
7509 ndr->flags = _flags_save_string;
7512 uint32_t _flags_save_string = ndr->flags;
7513 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7514 if (r->monitor_name) {
7515 uint32_t _relative_save_offset;
7516 _relative_save_offset = ndr->offset;
7517 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
7518 _mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7519 NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
7520 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
7521 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
7522 ndr->offset = _relative_save_offset;
7524 ndr->flags = _flags_save_string;
7527 uint32_t _flags_save_string = ndr->flags;
7528 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7529 if (r->description) {
7530 uint32_t _relative_save_offset;
7531 _relative_save_offset = ndr->offset;
7532 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->description));
7533 _mem_save_description_0 = NDR_PULL_GET_MEM_CTX(ndr);
7534 NDR_PULL_SET_MEM_CTX(ndr, r->description, 0);
7535 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->description));
7536 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0);
7537 ndr->offset = _relative_save_offset;
7539 ndr->flags = _flags_save_string;
7542 return NDR_ERR_SUCCESS;
7545 _PUBLIC_ void ndr_print_spoolss_PortInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfo2 *r)
7547 ndr_print_struct(ndr, name, "spoolss_PortInfo2");
7549 ndr_print_ptr(ndr, "port_name", r->port_name);
7552 ndr_print_string(ndr, "port_name", r->port_name);
7555 ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
7557 if (r->monitor_name) {
7558 ndr_print_string(ndr, "monitor_name", r->monitor_name);
7561 ndr_print_ptr(ndr, "description", r->description);
7563 if (r->description) {
7564 ndr_print_string(ndr, "description", r->description);
7567 ndr_print_spoolss_PortType(ndr, "port_type", r->port_type);
7568 ndr_print_uint32(ndr, "reserved", r->reserved);
7572 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PortInfo *r)
7574 uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
7575 if (ndr_flags & NDR_SCALARS) {
7576 int level = ndr_push_get_switch_value(ndr, r);
7579 NDR_CHECK(ndr_push_align(ndr, 4));
7580 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
7581 NDR_CHECK(ndr_push_spoolss_PortInfo1(ndr, NDR_SCALARS, &r->info1));
7585 NDR_CHECK(ndr_push_align(ndr, 4));
7586 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
7587 NDR_CHECK(ndr_push_spoolss_PortInfo2(ndr, NDR_SCALARS, &r->info2));
7598 if (ndr_flags & NDR_BUFFERS) {
7599 int level = ndr_push_get_switch_value(ndr, r);
7600 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
7603 NDR_CHECK(ndr_push_spoolss_PortInfo1(ndr, NDR_BUFFERS, &r->info1));
7607 NDR_CHECK(ndr_push_spoolss_PortInfo2(ndr, NDR_BUFFERS, &r->info2));
7618 ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
7619 return NDR_ERR_SUCCESS;
7622 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PortInfo *r)
7624 uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
7626 level = ndr_pull_get_switch_value(ndr, r);
7627 if (ndr_flags & NDR_SCALARS) {
7630 NDR_CHECK(ndr_pull_align(ndr, 4));
7631 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
7632 NDR_CHECK(ndr_pull_spoolss_PortInfo1(ndr, NDR_SCALARS, &r->info1));
7636 NDR_CHECK(ndr_pull_align(ndr, 4));
7637 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
7638 NDR_CHECK(ndr_pull_spoolss_PortInfo2(ndr, NDR_SCALARS, &r->info2));
7649 if (ndr_flags & NDR_BUFFERS) {
7650 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
7653 NDR_CHECK(ndr_pull_spoolss_PortInfo1(ndr, NDR_BUFFERS, &r->info1));
7657 NDR_CHECK(ndr_pull_spoolss_PortInfo2(ndr, NDR_BUFFERS, &r->info2));
7668 ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
7669 return NDR_ERR_SUCCESS;
7672 _PUBLIC_ void ndr_print_spoolss_PortInfo(struct ndr_print *ndr, const char *name, const union spoolss_PortInfo *r)
7675 level = ndr_print_get_switch_value(ndr, r);
7676 ndr_print_union(ndr, name, level, "spoolss_PortInfo");
7679 ndr_print_spoolss_PortInfo1(ndr, "info1", &r->info1);
7683 ndr_print_spoolss_PortInfo2(ndr, "info2", &r->info2);
7695 static enum ndr_err_code ndr_push_spoolss_MonitorInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorInfo1 *r)
7697 if (ndr_flags & NDR_SCALARS) {
7698 NDR_CHECK(ndr_push_align(ndr, 4));
7700 uint32_t _flags_save_string = ndr->flags;
7701 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7702 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
7703 ndr->flags = _flags_save_string;
7706 if (ndr_flags & NDR_BUFFERS) {
7708 uint32_t _flags_save_string = ndr->flags;
7709 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7710 if (r->monitor_name) {
7711 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name));
7712 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
7714 ndr->flags = _flags_save_string;
7717 return NDR_ERR_SUCCESS;
7720 static enum ndr_err_code ndr_pull_spoolss_MonitorInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorInfo1 *r)
7722 uint32_t _ptr_monitor_name;
7723 TALLOC_CTX *_mem_save_monitor_name_0;
7724 if (ndr_flags & NDR_SCALARS) {
7725 NDR_CHECK(ndr_pull_align(ndr, 4));
7727 uint32_t _flags_save_string = ndr->flags;
7728 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7729 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
7730 if (_ptr_monitor_name) {
7731 NDR_PULL_ALLOC(ndr, r->monitor_name);
7732 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
7734 r->monitor_name = NULL;
7736 ndr->flags = _flags_save_string;
7739 if (ndr_flags & NDR_BUFFERS) {
7741 uint32_t _flags_save_string = ndr->flags;
7742 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7743 if (r->monitor_name) {
7744 uint32_t _relative_save_offset;
7745 _relative_save_offset = ndr->offset;
7746 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
7747 _mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7748 NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
7749 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
7750 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
7751 ndr->offset = _relative_save_offset;
7753 ndr->flags = _flags_save_string;
7756 return NDR_ERR_SUCCESS;
7759 _PUBLIC_ void ndr_print_spoolss_MonitorInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_MonitorInfo1 *r)
7761 ndr_print_struct(ndr, name, "spoolss_MonitorInfo1");
7763 ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
7765 if (r->monitor_name) {
7766 ndr_print_string(ndr, "monitor_name", r->monitor_name);
7772 static enum ndr_err_code ndr_push_spoolss_MonitorInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorInfo2 *r)
7774 if (ndr_flags & NDR_SCALARS) {
7775 NDR_CHECK(ndr_push_align(ndr, 4));
7777 uint32_t _flags_save_string = ndr->flags;
7778 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7779 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
7780 ndr->flags = _flags_save_string;
7783 uint32_t _flags_save_string = ndr->flags;
7784 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7785 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->environment));
7786 ndr->flags = _flags_save_string;
7789 uint32_t _flags_save_string = ndr->flags;
7790 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7791 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dll_name));
7792 ndr->flags = _flags_save_string;
7795 if (ndr_flags & NDR_BUFFERS) {
7797 uint32_t _flags_save_string = ndr->flags;
7798 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7799 if (r->monitor_name) {
7800 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name));
7801 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
7803 ndr->flags = _flags_save_string;
7806 uint32_t _flags_save_string = ndr->flags;
7807 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7808 if (r->environment) {
7809 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->environment));
7810 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->environment));
7812 ndr->flags = _flags_save_string;
7815 uint32_t _flags_save_string = ndr->flags;
7816 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7818 NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dll_name));
7819 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dll_name));
7821 ndr->flags = _flags_save_string;
7824 return NDR_ERR_SUCCESS;
7827 static enum ndr_err_code ndr_pull_spoolss_MonitorInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorInfo2 *r)
7829 uint32_t _ptr_monitor_name;
7830 TALLOC_CTX *_mem_save_monitor_name_0;
7831 uint32_t _ptr_environment;
7832 TALLOC_CTX *_mem_save_environment_0;
7833 uint32_t _ptr_dll_name;
7834 TALLOC_CTX *_mem_save_dll_name_0;
7835 if (ndr_flags & NDR_SCALARS) {
7836 NDR_CHECK(ndr_pull_align(ndr, 4));
7838 uint32_t _flags_save_string = ndr->flags;
7839 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7840 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
7841 if (_ptr_monitor_name) {
7842 NDR_PULL_ALLOC(ndr, r->monitor_name);
7843 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name));
7845 r->monitor_name = NULL;
7847 ndr->flags = _flags_save_string;
7850 uint32_t _flags_save_string = ndr->flags;
7851 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7852 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
7853 if (_ptr_environment) {
7854 NDR_PULL_ALLOC(ndr, r->environment);
7855 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->environment, _ptr_environment));
7857 r->environment = NULL;
7859 ndr->flags = _flags_save_string;
7862 uint32_t _flags_save_string = ndr->flags;
7863 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7864 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dll_name));
7865 if (_ptr_dll_name) {
7866 NDR_PULL_ALLOC(ndr, r->dll_name);
7867 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dll_name, _ptr_dll_name));
7871 ndr->flags = _flags_save_string;
7874 if (ndr_flags & NDR_BUFFERS) {
7876 uint32_t _flags_save_string = ndr->flags;
7877 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7878 if (r->monitor_name) {
7879 uint32_t _relative_save_offset;
7880 _relative_save_offset = ndr->offset;
7881 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name));
7882 _mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7883 NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
7884 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
7885 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
7886 ndr->offset = _relative_save_offset;
7888 ndr->flags = _flags_save_string;
7891 uint32_t _flags_save_string = ndr->flags;
7892 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7893 if (r->environment) {
7894 uint32_t _relative_save_offset;
7895 _relative_save_offset = ndr->offset;
7896 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->environment));
7897 _mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
7898 NDR_PULL_SET_MEM_CTX(ndr, r->environment, 0);
7899 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->environment));
7900 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
7901 ndr->offset = _relative_save_offset;
7903 ndr->flags = _flags_save_string;
7906 uint32_t _flags_save_string = ndr->flags;
7907 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7909 uint32_t _relative_save_offset;
7910 _relative_save_offset = ndr->offset;
7911 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dll_name));
7912 _mem_save_dll_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7913 NDR_PULL_SET_MEM_CTX(ndr, r->dll_name, 0);
7914 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dll_name));
7915 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dll_name_0, 0);
7916 ndr->offset = _relative_save_offset;
7918 ndr->flags = _flags_save_string;
7921 return NDR_ERR_SUCCESS;
7924 _PUBLIC_ void ndr_print_spoolss_MonitorInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_MonitorInfo2 *r)
7926 ndr_print_struct(ndr, name, "spoolss_MonitorInfo2");
7928 ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
7930 if (r->monitor_name) {
7931 ndr_print_string(ndr, "monitor_name", r->monitor_name);
7934 ndr_print_ptr(ndr, "environment", r->environment);
7936 if (r->environment) {
7937 ndr_print_string(ndr, "environment", r->environment);
7940 ndr_print_ptr(ndr, "dll_name", r->dll_name);
7943 ndr_print_string(ndr, "dll_name", r->dll_name);
7949 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_MonitorInfo *r)
7951 uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
7952 if (ndr_flags & NDR_SCALARS) {
7953 int level = ndr_push_get_switch_value(ndr, r);
7956 NDR_CHECK(ndr_push_align(ndr, 4));
7957 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
7958 NDR_CHECK(ndr_push_spoolss_MonitorInfo1(ndr, NDR_SCALARS, &r->info1));
7962 NDR_CHECK(ndr_push_align(ndr, 4));
7963 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
7964 NDR_CHECK(ndr_push_spoolss_MonitorInfo2(ndr, NDR_SCALARS, &r->info2));
7972 if (ndr_flags & NDR_BUFFERS) {
7973 int level = ndr_push_get_switch_value(ndr, r);
7974 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
7977 NDR_CHECK(ndr_push_spoolss_MonitorInfo1(ndr, NDR_BUFFERS, &r->info1));
7981 NDR_CHECK(ndr_push_spoolss_MonitorInfo2(ndr, NDR_BUFFERS, &r->info2));
7989 ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
7990 return NDR_ERR_SUCCESS;
7993 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_MonitorInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_MonitorInfo *r)
7995 uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
7997 level = ndr_pull_get_switch_value(ndr, r);
7998 if (ndr_flags & NDR_SCALARS) {
8001 NDR_CHECK(ndr_pull_align(ndr, 4));
8002 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
8003 NDR_CHECK(ndr_pull_spoolss_MonitorInfo1(ndr, NDR_SCALARS, &r->info1));
8007 NDR_CHECK(ndr_pull_align(ndr, 4));
8008 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
8009 NDR_CHECK(ndr_pull_spoolss_MonitorInfo2(ndr, NDR_SCALARS, &r->info2));
8017 if (ndr_flags & NDR_BUFFERS) {
8018 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
8021 NDR_CHECK(ndr_pull_spoolss_MonitorInfo1(ndr, NDR_BUFFERS, &r->info1));
8025 NDR_CHECK(ndr_pull_spoolss_MonitorInfo2(ndr, NDR_BUFFERS, &r->info2));
8033 ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
8034 return NDR_ERR_SUCCESS;
8037 _PUBLIC_ void ndr_print_spoolss_MonitorInfo(struct ndr_print *ndr, const char *name, const union spoolss_MonitorInfo *r)
8040 level = ndr_print_get_switch_value(ndr, r);
8041 ndr_print_union(ndr, name, level, "spoolss_MonitorInfo");
8044 ndr_print_spoolss_MonitorInfo1(ndr, "info1", &r->info1);
8048 ndr_print_spoolss_MonitorInfo2(ndr, "info2", &r->info2);
8057 static enum ndr_err_code ndr_push_spoolss_Field(struct ndr_push *ndr, int ndr_flags, enum spoolss_Field r)
8059 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
8060 return NDR_ERR_SUCCESS;
8063 static enum ndr_err_code ndr_pull_spoolss_Field(struct ndr_pull *ndr, int ndr_flags, enum spoolss_Field *r)
8066 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
8068 return NDR_ERR_SUCCESS;
8071 _PUBLIC_ void ndr_print_spoolss_Field(struct ndr_print *ndr, const char *name, enum spoolss_Field r)
8073 const char *val = NULL;
8076 case SPOOLSS_FIELD_SERVER_NAME: val = "SPOOLSS_FIELD_SERVER_NAME"; break;
8077 case SPOOLSS_FIELD_PRINTER_NAME: val = "SPOOLSS_FIELD_PRINTER_NAME"; break;
8078 case SPOOLSS_FIELD_SHARE_NAME: val = "SPOOLSS_FIELD_SHARE_NAME"; break;
8079 case SPOOLSS_FIELD_PORT_NAME: val = "SPOOLSS_FIELD_PORT_NAME"; break;
8080 case SPOOLSS_FIELD_DRIVER_NAME: val = "SPOOLSS_FIELD_DRIVER_NAME"; break;
8081 case SPOOLSS_FIELD_COMMENT: val = "SPOOLSS_FIELD_COMMENT"; break;
8082 case SPOOLSS_FIELD_LOCATION: val = "SPOOLSS_FIELD_LOCATION"; break;
8083 case SPOOLSS_FIELD_DEVMODE: val = "SPOOLSS_FIELD_DEVMODE"; break;
8084 case SPOOLSS_FIELD_SEPFILE: val = "SPOOLSS_FIELD_SEPFILE"; break;
8085 case SPOOLSS_FIELD_PRINT_PROCESSOR: val = "SPOOLSS_FIELD_PRINT_PROCESSOR"; break;
8086 case SPOOLSS_FIELD_PARAMETERS: val = "SPOOLSS_FIELD_PARAMETERS"; break;
8087 case SPOOLSS_FIELD_DATATYPE: val = "SPOOLSS_FIELD_DATATYPE"; break;
8088 case SPOOLSS_FIELD_SECURITY_DESCRIPTOR: val = "SPOOLSS_FIELD_SECURITY_DESCRIPTOR"; break;
8089 case SPOOLSS_FIELD_ATTRIBUTES: val = "SPOOLSS_FIELD_ATTRIBUTES"; break;
8090 case SPOOLSS_FIELD_PRIORITY: val = "SPOOLSS_FIELD_PRIORITY"; break;
8091 case SPOOLSS_FIELD_DEFAULT_PRIORITY: val = "SPOOLSS_FIELD_DEFAULT_PRIORITY"; break;
8092 case SPOOLSS_FIELD_START_TIME: val = "SPOOLSS_FIELD_START_TIME"; break;
8093 case SPOOLSS_FIELD_UNTIL_TIME: val = "SPOOLSS_FIELD_UNTIL_TIME"; break;
8094 case SPOOLSS_FIELD_STATUS: val = "SPOOLSS_FIELD_STATUS"; break;
8095 case SPOOLSS_FIELD_STATUS_STRING: val = "SPOOLSS_FIELD_STATUS_STRING"; break;
8096 case SPOOLSS_FIELD_CJOBS: val = "SPOOLSS_FIELD_CJOBS"; break;
8097 case SPOOLSS_FIELD_AVERAGE_PPM: val = "SPOOLSS_FIELD_AVERAGE_PPM"; break;
8098 case SPOOLSS_FIELD_TOTAL_PAGES: val = "SPOOLSS_FIELD_TOTAL_PAGES"; break;
8099 case SPOOLSS_FIELD_PAGES_PRINTED: val = "SPOOLSS_FIELD_PAGES_PRINTED"; break;
8100 case SPOOLSS_FIELD_TOTAL_BYTES: val = "SPOOLSS_FIELD_TOTAL_BYTES"; break;
8101 case SPOOLSS_FIELD_BYTES_PRINTED: val = "SPOOLSS_FIELD_BYTES_PRINTED"; break;
8103 ndr_print_enum(ndr, name, "ENUM", val, r);
8106 static enum ndr_err_code ndr_push_spoolss_NotifyType(struct ndr_push *ndr, int ndr_flags, enum spoolss_NotifyType r)
8108 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
8109 return NDR_ERR_SUCCESS;
8112 static enum ndr_err_code ndr_pull_spoolss_NotifyType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_NotifyType *r)
8115 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
8117 return NDR_ERR_SUCCESS;
8120 _PUBLIC_ void ndr_print_spoolss_NotifyType(struct ndr_print *ndr, const char *name, enum spoolss_NotifyType r)
8122 const char *val = NULL;
8125 case SPOOLSS_NOTIFY_PRINTER: val = "SPOOLSS_NOTIFY_PRINTER"; break;
8126 case SPOOLSS_NOTIFY_JOB: val = "SPOOLSS_NOTIFY_JOB"; break;
8128 ndr_print_enum(ndr, name, "ENUM", val, r);
8131 static enum ndr_err_code ndr_push_spoolss_NotifyOptionsArray(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyOptionsArray *r)
8133 uint32_t cntr_fields_1;
8134 if (ndr_flags & NDR_SCALARS) {
8135 NDR_CHECK(ndr_push_align(ndr, 4));
8136 NDR_CHECK(ndr_push_spoolss_NotifyType(ndr, NDR_SCALARS, r->type));
8137 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->u1));
8138 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
8139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
8140 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8141 NDR_CHECK(ndr_push_unique_ptr(ndr, r->fields));
8143 if (ndr_flags & NDR_BUFFERS) {
8145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8146 for (cntr_fields_1 = 0; cntr_fields_1 < r->count; cntr_fields_1++) {
8147 NDR_CHECK(ndr_push_spoolss_Field(ndr, NDR_SCALARS, r->fields[cntr_fields_1]));
8151 return NDR_ERR_SUCCESS;
8154 static enum ndr_err_code ndr_pull_spoolss_NotifyOptionsArray(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyOptionsArray *r)
8156 uint32_t _ptr_fields;
8157 uint32_t cntr_fields_1;
8158 TALLOC_CTX *_mem_save_fields_0;
8159 TALLOC_CTX *_mem_save_fields_1;
8160 if (ndr_flags & NDR_SCALARS) {
8161 NDR_CHECK(ndr_pull_align(ndr, 4));
8162 NDR_CHECK(ndr_pull_spoolss_NotifyType(ndr, NDR_SCALARS, &r->type));
8163 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->u1));
8164 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
8165 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
8166 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8167 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_fields));
8169 NDR_PULL_ALLOC(ndr, r->fields);
8174 if (ndr_flags & NDR_BUFFERS) {
8176 _mem_save_fields_0 = NDR_PULL_GET_MEM_CTX(ndr);
8177 NDR_PULL_SET_MEM_CTX(ndr, r->fields, 0);
8178 NDR_CHECK(ndr_pull_array_size(ndr, &r->fields));
8179 NDR_PULL_ALLOC_N(ndr, r->fields, ndr_get_array_size(ndr, &r->fields));
8180 _mem_save_fields_1 = NDR_PULL_GET_MEM_CTX(ndr);
8181 NDR_PULL_SET_MEM_CTX(ndr, r->fields, 0);
8182 for (cntr_fields_1 = 0; cntr_fields_1 < r->count; cntr_fields_1++) {
8183 NDR_CHECK(ndr_pull_spoolss_Field(ndr, NDR_SCALARS, &r->fields[cntr_fields_1]));
8185 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_fields_1, 0);
8186 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_fields_0, 0);
8189 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->fields, r->count));
8192 return NDR_ERR_SUCCESS;
8195 _PUBLIC_ void ndr_print_spoolss_NotifyOptionsArray(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyOptionsArray *r)
8197 uint32_t cntr_fields_1;
8198 ndr_print_struct(ndr, name, "spoolss_NotifyOptionsArray");
8200 ndr_print_spoolss_NotifyType(ndr, "type", r->type);
8201 ndr_print_uint16(ndr, "u1", r->u1);
8202 ndr_print_uint32(ndr, "u2", r->u2);
8203 ndr_print_uint32(ndr, "u3", r->u3);
8204 ndr_print_uint32(ndr, "count", r->count);
8205 ndr_print_ptr(ndr, "fields", r->fields);
8208 ndr->print(ndr, "%s: ARRAY(%d)", "fields", (int)r->count);
8210 for (cntr_fields_1=0;cntr_fields_1<r->count;cntr_fields_1++) {
8212 if (asprintf(&idx_1, "[%d]", cntr_fields_1) != -1) {
8213 ndr_print_spoolss_Field(ndr, "fields", r->fields[cntr_fields_1]);
8223 static enum ndr_err_code ndr_push_spoolss_NotifyOptionsContainer(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyOptionsContainer *r)
8225 uint32_t cntr_options_1;
8226 if (ndr_flags & NDR_SCALARS) {
8227 NDR_CHECK(ndr_push_align(ndr, 4));
8228 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
8229 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
8230 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8231 NDR_CHECK(ndr_push_unique_ptr(ndr, r->options));
8233 if (ndr_flags & NDR_BUFFERS) {
8235 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8236 for (cntr_options_1 = 0; cntr_options_1 < r->count; cntr_options_1++) {
8237 NDR_CHECK(ndr_push_spoolss_NotifyOptionsArray(ndr, NDR_SCALARS, &r->options[cntr_options_1]));
8239 for (cntr_options_1 = 0; cntr_options_1 < r->count; cntr_options_1++) {
8240 NDR_CHECK(ndr_push_spoolss_NotifyOptionsArray(ndr, NDR_BUFFERS, &r->options[cntr_options_1]));
8244 return NDR_ERR_SUCCESS;
8247 static enum ndr_err_code ndr_pull_spoolss_NotifyOptionsContainer(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyOptionsContainer *r)
8249 uint32_t _ptr_options;
8250 uint32_t cntr_options_1;
8251 TALLOC_CTX *_mem_save_options_0;
8252 TALLOC_CTX *_mem_save_options_1;
8253 if (ndr_flags & NDR_SCALARS) {
8254 NDR_CHECK(ndr_pull_align(ndr, 4));
8255 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
8256 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
8257 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8258 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_options));
8260 NDR_PULL_ALLOC(ndr, r->options);
8265 if (ndr_flags & NDR_BUFFERS) {
8267 _mem_save_options_0 = NDR_PULL_GET_MEM_CTX(ndr);
8268 NDR_PULL_SET_MEM_CTX(ndr, r->options, 0);
8269 NDR_CHECK(ndr_pull_array_size(ndr, &r->options));
8270 NDR_PULL_ALLOC_N(ndr, r->options, ndr_get_array_size(ndr, &r->options));
8271 _mem_save_options_1 = NDR_PULL_GET_MEM_CTX(ndr);
8272 NDR_PULL_SET_MEM_CTX(ndr, r->options, 0);
8273 for (cntr_options_1 = 0; cntr_options_1 < r->count; cntr_options_1++) {
8274 NDR_CHECK(ndr_pull_spoolss_NotifyOptionsArray(ndr, NDR_SCALARS, &r->options[cntr_options_1]));
8276 for (cntr_options_1 = 0; cntr_options_1 < r->count; cntr_options_1++) {
8277 NDR_CHECK(ndr_pull_spoolss_NotifyOptionsArray(ndr, NDR_BUFFERS, &r->options[cntr_options_1]));
8279 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_options_1, 0);
8280 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_options_0, 0);
8283 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->options, r->count));
8286 return NDR_ERR_SUCCESS;
8289 _PUBLIC_ void ndr_print_spoolss_NotifyOptionsContainer(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyOptionsContainer *r)
8291 uint32_t cntr_options_1;
8292 ndr_print_struct(ndr, name, "spoolss_NotifyOptionsContainer");
8294 ndr_print_uint32(ndr, "version", r->version);
8295 ndr_print_uint32(ndr, "flags", r->flags);
8296 ndr_print_uint32(ndr, "count", r->count);
8297 ndr_print_ptr(ndr, "options", r->options);
8300 ndr->print(ndr, "%s: ARRAY(%d)", "options", (int)r->count);
8302 for (cntr_options_1=0;cntr_options_1<r->count;cntr_options_1++) {
8304 if (asprintf(&idx_1, "[%d]", cntr_options_1) != -1) {
8305 ndr_print_spoolss_NotifyOptionsArray(ndr, "options", &r->options[cntr_options_1]);
8315 static enum ndr_err_code ndr_push_spoolss_NotifyUTF16String(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyUTF16String *r)
8317 if (ndr_flags & NDR_SCALARS) {
8318 NDR_CHECK(ndr_push_align(ndr, 4));
8319 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8320 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
8322 if (ndr_flags & NDR_BUFFERS) {
8324 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size / 2));
8325 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, r->size / 2, sizeof(uint16_t), CH_UTF16));
8328 return NDR_ERR_SUCCESS;
8331 static enum ndr_err_code ndr_pull_spoolss_NotifyUTF16String(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyUTF16String *r)
8333 uint32_t _ptr_string;
8334 TALLOC_CTX *_mem_save_string_0;
8335 if (ndr_flags & NDR_SCALARS) {
8336 NDR_CHECK(ndr_pull_align(ndr, 4));
8337 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8338 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
8340 NDR_PULL_ALLOC(ndr, r->string);
8345 if (ndr_flags & NDR_BUFFERS) {
8347 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
8348 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
8349 NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
8350 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_size(ndr, &r->string), sizeof(uint16_t), CH_UTF16));
8351 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
8354 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->size / 2));
8357 return NDR_ERR_SUCCESS;
8360 _PUBLIC_ void ndr_print_spoolss_NotifyUTF16String(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyUTF16String *r)
8362 ndr_print_struct(ndr, name, "spoolss_NotifyUTF16String");
8364 ndr_print_uint32(ndr, "size", r->size);
8365 ndr_print_ptr(ndr, "string", r->string);
8368 ndr_print_string(ndr, "string", r->string);
8374 static enum ndr_err_code ndr_push_spoolss_NotifyDOSString(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyDOSString *r)
8376 if (ndr_flags & NDR_SCALARS) {
8377 NDR_CHECK(ndr_push_align(ndr, 4));
8378 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8379 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
8381 if (ndr_flags & NDR_BUFFERS) {
8383 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8384 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, r->size, sizeof(uint8_t), CH_DOS));
8387 return NDR_ERR_SUCCESS;
8390 static enum ndr_err_code ndr_pull_spoolss_NotifyDOSString(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyDOSString *r)
8392 uint32_t _ptr_string;
8393 TALLOC_CTX *_mem_save_string_0;
8394 if (ndr_flags & NDR_SCALARS) {
8395 NDR_CHECK(ndr_pull_align(ndr, 4));
8396 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8397 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
8399 NDR_PULL_ALLOC(ndr, r->string);
8404 if (ndr_flags & NDR_BUFFERS) {
8406 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
8407 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
8408 NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
8409 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_size(ndr, &r->string), sizeof(uint8_t), CH_DOS));
8410 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
8413 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->size));
8416 return NDR_ERR_SUCCESS;
8419 _PUBLIC_ void ndr_print_spoolss_NotifyDOSString(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyDOSString *r)
8421 ndr_print_struct(ndr, name, "spoolss_NotifyDOSString");
8423 ndr_print_uint32(ndr, "size", r->size);
8424 ndr_print_ptr(ndr, "string", r->string);
8427 ndr_print_string(ndr, "string", r->string);
8433 static enum ndr_err_code ndr_push_spoolss_NotifyBlobData(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyBlobData *r)
8435 uint32_t cntr_data_0;
8436 if (ndr_flags & NDR_SCALARS) {
8437 NDR_CHECK(ndr_push_align(ndr, 2));
8438 for (cntr_data_0 = 0; cntr_data_0 < 8; cntr_data_0++) {
8439 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->data[cntr_data_0]));
8442 if (ndr_flags & NDR_BUFFERS) {
8444 return NDR_ERR_SUCCESS;
8447 static enum ndr_err_code ndr_pull_spoolss_NotifyBlobData(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyBlobData *r)
8449 uint32_t cntr_data_0;
8450 if (ndr_flags & NDR_SCALARS) {
8451 NDR_CHECK(ndr_pull_align(ndr, 2));
8452 for (cntr_data_0 = 0; cntr_data_0 < 8; cntr_data_0++) {
8453 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data[cntr_data_0]));
8456 if (ndr_flags & NDR_BUFFERS) {
8458 return NDR_ERR_SUCCESS;
8461 _PUBLIC_ void ndr_print_spoolss_NotifyBlobData(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyBlobData *r)
8463 uint32_t cntr_data_0;
8464 ndr_print_struct(ndr, name, "spoolss_NotifyBlobData");
8466 ndr->print(ndr, "%s: ARRAY(%d)", "data", (int)8);
8468 for (cntr_data_0=0;cntr_data_0<8;cntr_data_0++) {
8470 if (asprintf(&idx_0, "[%d]", cntr_data_0) != -1) {
8471 ndr_print_uint16(ndr, "data", r->data[cntr_data_0]);
8479 static enum ndr_err_code ndr_push_spoolss_NotifyBlob(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyBlob *r)
8481 if (ndr_flags & NDR_SCALARS) {
8482 NDR_CHECK(ndr_push_align(ndr, 4));
8483 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
8484 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
8486 if (ndr_flags & NDR_BUFFERS) {
8488 NDR_CHECK(ndr_push_spoolss_NotifyBlobData(ndr, NDR_SCALARS, r->data));
8491 return NDR_ERR_SUCCESS;
8494 static enum ndr_err_code ndr_pull_spoolss_NotifyBlob(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyBlob *r)
8497 TALLOC_CTX *_mem_save_data_0;
8498 if (ndr_flags & NDR_SCALARS) {
8499 NDR_CHECK(ndr_pull_align(ndr, 4));
8500 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
8501 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
8503 NDR_PULL_ALLOC(ndr, r->data);
8508 if (ndr_flags & NDR_BUFFERS) {
8510 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
8511 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
8512 NDR_CHECK(ndr_pull_spoolss_NotifyBlobData(ndr, NDR_SCALARS, r->data));
8513 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
8516 return NDR_ERR_SUCCESS;
8519 _PUBLIC_ void ndr_print_spoolss_NotifyBlob(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyBlob *r)
8521 ndr_print_struct(ndr, name, "spoolss_NotifyBlob");
8523 ndr_print_uint32(ndr, "len", r->len);
8524 ndr_print_ptr(ndr, "data", r->data);
8527 ndr_print_spoolss_NotifyBlobData(ndr, "data", r->data);
8533 static enum ndr_err_code ndr_push_spoolss_NotifyData(struct ndr_push *ndr, int ndr_flags, const union spoolss_NotifyData *r)
8535 if (ndr_flags & NDR_SCALARS) {
8536 int level = ndr_push_get_switch_value(ndr, r);
8537 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8540 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->integer));
8544 NDR_CHECK(ndr_push_spoolss_NotifyUTF16String(ndr, NDR_SCALARS, &r->utf16_string));
8548 NDR_CHECK(ndr_push_spoolss_NotifyDOSString(ndr, NDR_SCALARS, &r->ascii_string));
8552 NDR_CHECK(ndr_push_spoolss_NotifyBlob(ndr, NDR_SCALARS, &r->blob));
8556 NDR_CHECK(ndr_push_spoolss_NotifyDOSString(ndr, NDR_SCALARS, &r->ascii_string));
8560 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8563 if (ndr_flags & NDR_BUFFERS) {
8564 int level = ndr_push_get_switch_value(ndr, r);
8570 NDR_CHECK(ndr_push_spoolss_NotifyUTF16String(ndr, NDR_BUFFERS, &r->utf16_string));
8574 NDR_CHECK(ndr_push_spoolss_NotifyDOSString(ndr, NDR_BUFFERS, &r->ascii_string));
8578 NDR_CHECK(ndr_push_spoolss_NotifyBlob(ndr, NDR_BUFFERS, &r->blob));
8582 NDR_CHECK(ndr_push_spoolss_NotifyDOSString(ndr, NDR_BUFFERS, &r->ascii_string));
8586 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8589 return NDR_ERR_SUCCESS;
8592 static enum ndr_err_code ndr_pull_spoolss_NotifyData(struct ndr_pull *ndr, int ndr_flags, union spoolss_NotifyData *r)
8596 level = ndr_pull_get_switch_value(ndr, r);
8597 if (ndr_flags & NDR_SCALARS) {
8598 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8599 if (_level != level) {
8600 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
8604 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->integer));
8608 NDR_CHECK(ndr_pull_spoolss_NotifyUTF16String(ndr, NDR_SCALARS, &r->utf16_string));
8612 NDR_CHECK(ndr_pull_spoolss_NotifyDOSString(ndr, NDR_SCALARS, &r->ascii_string));
8616 NDR_CHECK(ndr_pull_spoolss_NotifyBlob(ndr, NDR_SCALARS, &r->blob));
8620 NDR_CHECK(ndr_pull_spoolss_NotifyDOSString(ndr, NDR_SCALARS, &r->ascii_string));
8624 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8627 if (ndr_flags & NDR_BUFFERS) {
8633 NDR_CHECK(ndr_pull_spoolss_NotifyUTF16String(ndr, NDR_BUFFERS, &r->utf16_string));
8637 NDR_CHECK(ndr_pull_spoolss_NotifyDOSString(ndr, NDR_BUFFERS, &r->ascii_string));
8641 NDR_CHECK(ndr_pull_spoolss_NotifyBlob(ndr, NDR_BUFFERS, &r->blob));
8645 NDR_CHECK(ndr_pull_spoolss_NotifyDOSString(ndr, NDR_BUFFERS, &r->ascii_string));
8649 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8652 return NDR_ERR_SUCCESS;
8655 _PUBLIC_ void ndr_print_spoolss_NotifyData(struct ndr_print *ndr, const char *name, const union spoolss_NotifyData *r)
8658 level = ndr_print_get_switch_value(ndr, r);
8659 ndr_print_union(ndr, name, level, "spoolss_NotifyData");
8662 ndr_print_dlong(ndr, "integer", r->integer);
8666 ndr_print_spoolss_NotifyUTF16String(ndr, "utf16_string", &r->utf16_string);
8670 ndr_print_spoolss_NotifyDOSString(ndr, "ascii_string", &r->ascii_string);
8674 ndr_print_spoolss_NotifyBlob(ndr, "blob", &r->blob);
8678 ndr_print_spoolss_NotifyDOSString(ndr, "ascii_string", &r->ascii_string);
8682 ndr_print_bad_level(ndr, name, level);
8686 static enum ndr_err_code ndr_push_spoolss_Notify(struct ndr_push *ndr, int ndr_flags, const struct spoolss_Notify *r)
8688 if (ndr_flags & NDR_SCALARS) {
8689 NDR_CHECK(ndr_push_align(ndr, 4));
8690 NDR_CHECK(ndr_push_spoolss_NotifyType(ndr, NDR_SCALARS, r->type));
8691 NDR_CHECK(ndr_push_spoolss_Field(ndr, NDR_SCALARS, r->field));
8692 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->variable_type));
8693 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
8694 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->data, r->variable_type));
8695 NDR_CHECK(ndr_push_spoolss_NotifyData(ndr, NDR_SCALARS, &r->data));
8697 if (ndr_flags & NDR_BUFFERS) {
8698 NDR_CHECK(ndr_push_spoolss_NotifyData(ndr, NDR_BUFFERS, &r->data));
8700 return NDR_ERR_SUCCESS;
8703 static enum ndr_err_code ndr_pull_spoolss_Notify(struct ndr_pull *ndr, int ndr_flags, struct spoolss_Notify *r)
8705 if (ndr_flags & NDR_SCALARS) {
8706 NDR_CHECK(ndr_pull_align(ndr, 4));
8707 NDR_CHECK(ndr_pull_spoolss_NotifyType(ndr, NDR_SCALARS, &r->type));
8708 NDR_CHECK(ndr_pull_spoolss_Field(ndr, NDR_SCALARS, &r->field));
8709 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->variable_type));
8710 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
8711 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->data, r->variable_type));
8712 NDR_CHECK(ndr_pull_spoolss_NotifyData(ndr, NDR_SCALARS, &r->data));
8714 if (ndr_flags & NDR_BUFFERS) {
8715 NDR_CHECK(ndr_pull_spoolss_NotifyData(ndr, NDR_BUFFERS, &r->data));
8717 return NDR_ERR_SUCCESS;
8720 _PUBLIC_ void ndr_print_spoolss_Notify(struct ndr_print *ndr, const char *name, const struct spoolss_Notify *r)
8722 ndr_print_struct(ndr, name, "spoolss_Notify");
8724 ndr_print_spoolss_NotifyType(ndr, "type", r->type);
8725 ndr_print_spoolss_Field(ndr, "field", r->field);
8726 ndr_print_uint32(ndr, "variable_type", r->variable_type);
8727 ndr_print_uint32(ndr, "job_id", r->job_id);
8728 ndr_print_set_switch_value(ndr, &r->data, r->variable_type);
8729 ndr_print_spoolss_NotifyData(ndr, "data", &r->data);
8733 static enum ndr_err_code ndr_push_spoolss_NotifyInfo(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyInfo *r)
8735 uint32_t cntr_notifies_0;
8736 if (ndr_flags & NDR_SCALARS) {
8737 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8738 NDR_CHECK(ndr_push_align(ndr, 4));
8739 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
8740 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
8741 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8742 for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) {
8743 NDR_CHECK(ndr_push_spoolss_Notify(ndr, NDR_SCALARS, &r->notifies[cntr_notifies_0]));
8746 if (ndr_flags & NDR_BUFFERS) {
8747 for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) {
8748 NDR_CHECK(ndr_push_spoolss_Notify(ndr, NDR_BUFFERS, &r->notifies[cntr_notifies_0]));
8751 return NDR_ERR_SUCCESS;
8754 static enum ndr_err_code ndr_pull_spoolss_NotifyInfo(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyInfo *r)
8756 uint32_t cntr_notifies_0;
8757 TALLOC_CTX *_mem_save_notifies_0;
8758 if (ndr_flags & NDR_SCALARS) {
8759 NDR_CHECK(ndr_pull_array_size(ndr, &r->notifies));
8760 NDR_CHECK(ndr_pull_align(ndr, 4));
8761 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
8762 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
8763 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8764 NDR_PULL_ALLOC_N(ndr, r->notifies, ndr_get_array_size(ndr, &r->notifies));
8765 _mem_save_notifies_0 = NDR_PULL_GET_MEM_CTX(ndr);
8766 NDR_PULL_SET_MEM_CTX(ndr, r->notifies, 0);
8767 for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) {
8768 NDR_CHECK(ndr_pull_spoolss_Notify(ndr, NDR_SCALARS, &r->notifies[cntr_notifies_0]));
8770 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notifies_0, 0);
8772 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->notifies, r->count));
8775 if (ndr_flags & NDR_BUFFERS) {
8776 _mem_save_notifies_0 = NDR_PULL_GET_MEM_CTX(ndr);
8777 NDR_PULL_SET_MEM_CTX(ndr, r->notifies, 0);
8778 for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) {
8779 NDR_CHECK(ndr_pull_spoolss_Notify(ndr, NDR_BUFFERS, &r->notifies[cntr_notifies_0]));
8781 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notifies_0, 0);
8783 return NDR_ERR_SUCCESS;
8786 _PUBLIC_ void ndr_print_spoolss_NotifyInfo(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyInfo *r)
8788 uint32_t cntr_notifies_0;
8789 ndr_print_struct(ndr, name, "spoolss_NotifyInfo");
8791 ndr_print_uint32(ndr, "version", r->version);
8792 ndr_print_uint32(ndr, "flags", r->flags);
8793 ndr_print_uint32(ndr, "count", r->count);
8794 ndr->print(ndr, "%s: ARRAY(%d)", "notifies", (int)r->count);
8796 for (cntr_notifies_0=0;cntr_notifies_0<r->count;cntr_notifies_0++) {
8798 if (asprintf(&idx_0, "[%d]", cntr_notifies_0) != -1) {
8799 ndr_print_spoolss_Notify(ndr, "notifies", &r->notifies[cntr_notifies_0]);
8807 static enum ndr_err_code ndr_push_spoolss_UserLevel1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UserLevel1 *r)
8809 if (ndr_flags & NDR_SCALARS) {
8810 NDR_CHECK(ndr_push_align(ndr, 4));
8811 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8812 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client));
8813 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
8814 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build));
8815 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->major));
8816 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minor));
8817 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->processor));
8819 if (ndr_flags & NDR_BUFFERS) {
8821 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16)));
8822 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8823 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16)));
8824 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client, ndr_charset_length(r->client, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8827 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
8828 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8829 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
8830 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8833 return NDR_ERR_SUCCESS;
8836 static enum ndr_err_code ndr_pull_spoolss_UserLevel1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UserLevel1 *r)
8838 uint32_t _ptr_client;
8839 TALLOC_CTX *_mem_save_client_0;
8841 TALLOC_CTX *_mem_save_user_0;
8842 if (ndr_flags & NDR_SCALARS) {
8843 NDR_CHECK(ndr_pull_align(ndr, 4));
8844 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8845 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client));
8847 NDR_PULL_ALLOC(ndr, r->client);
8851 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
8853 NDR_PULL_ALLOC(ndr, r->user);
8857 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build));
8858 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->major));
8859 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minor));
8860 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->processor));
8862 if (ndr_flags & NDR_BUFFERS) {
8864 _mem_save_client_0 = NDR_PULL_GET_MEM_CTX(ndr);
8865 NDR_PULL_SET_MEM_CTX(ndr, r->client, 0);
8866 NDR_CHECK(ndr_pull_array_size(ndr, &r->client));
8867 NDR_CHECK(ndr_pull_array_length(ndr, &r->client));
8868 if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) {
8869 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));
8871 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t)));
8872 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16));
8873 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0);
8876 _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
8877 NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
8878 NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
8879 NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
8880 if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
8881 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));
8883 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
8884 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
8885 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
8888 return NDR_ERR_SUCCESS;
8891 _PUBLIC_ void ndr_print_spoolss_UserLevel1(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevel1 *r)
8893 ndr_print_struct(ndr, name, "spoolss_UserLevel1");
8895 ndr_print_uint32(ndr, "size", r->size);
8896 ndr_print_ptr(ndr, "client", r->client);
8899 ndr_print_string(ndr, "client", r->client);
8902 ndr_print_ptr(ndr, "user", r->user);
8905 ndr_print_string(ndr, "user", r->user);
8908 ndr_print_uint32(ndr, "build", r->build);
8909 ndr_print_uint32(ndr, "major", r->major);
8910 ndr_print_uint32(ndr, "minor", r->minor);
8911 ndr_print_uint32(ndr, "processor", r->processor);
8915 static enum ndr_err_code ndr_push_spoolss_UserLevel(struct ndr_push *ndr, int ndr_flags, const union spoolss_UserLevel *r)
8917 if (ndr_flags & NDR_SCALARS) {
8918 int level = ndr_push_get_switch_value(ndr, r);
8919 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8922 NDR_CHECK(ndr_push_unique_ptr(ndr, r->level1));
8926 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8929 if (ndr_flags & NDR_BUFFERS) {
8930 int level = ndr_push_get_switch_value(ndr, r);
8934 NDR_CHECK(ndr_push_spoolss_UserLevel1(ndr, NDR_SCALARS|NDR_BUFFERS, r->level1));
8939 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8942 return NDR_ERR_SUCCESS;
8945 static enum ndr_err_code ndr_pull_spoolss_UserLevel(struct ndr_pull *ndr, int ndr_flags, union spoolss_UserLevel *r)
8949 TALLOC_CTX *_mem_save_level1_0;
8950 level = ndr_pull_get_switch_value(ndr, r);
8951 if (ndr_flags & NDR_SCALARS) {
8952 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8953 if (_level != level) {
8954 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
8958 uint32_t _ptr_level1;
8959 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_level1));
8961 NDR_PULL_ALLOC(ndr, r->level1);
8968 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8971 if (ndr_flags & NDR_BUFFERS) {
8975 _mem_save_level1_0 = NDR_PULL_GET_MEM_CTX(ndr);
8976 NDR_PULL_SET_MEM_CTX(ndr, r->level1, 0);
8977 NDR_CHECK(ndr_pull_spoolss_UserLevel1(ndr, NDR_SCALARS|NDR_BUFFERS, r->level1));
8978 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level1_0, 0);
8983 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8986 return NDR_ERR_SUCCESS;
8989 _PUBLIC_ void ndr_print_spoolss_UserLevel(struct ndr_print *ndr, const char *name, const union spoolss_UserLevel *r)
8992 level = ndr_print_get_switch_value(ndr, r);
8993 ndr_print_union(ndr, name, level, "spoolss_UserLevel");
8996 ndr_print_ptr(ndr, "level1", r->level1);
8999 ndr_print_spoolss_UserLevel1(ndr, "level1", r->level1);
9005 ndr_print_bad_level(ndr, name, level);
9009 _PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrinters(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrinters *r)
9011 if (flags & NDR_IN) {
9012 NDR_CHECK(ndr_push_spoolss_EnumPrinterFlags(ndr, NDR_SCALARS, r->in.flags));
9013 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
9015 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
9016 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9017 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
9018 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9020 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9021 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
9023 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
9025 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
9027 if (flags & NDR_OUT) {
9028 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
9030 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
9032 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.needed));
9033 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.count));
9034 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9036 return NDR_ERR_SUCCESS;
9039 _PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrinters(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrinters *r)
9041 uint32_t _ptr_server;
9042 uint32_t _ptr_buffer;
9044 TALLOC_CTX *_mem_save_server_0;
9045 TALLOC_CTX *_mem_save_buffer_0;
9046 TALLOC_CTX *_mem_save_info_0;
9047 if (flags & NDR_IN) {
9048 ZERO_STRUCT(r->out);
9050 NDR_CHECK(ndr_pull_spoolss_EnumPrinterFlags(ndr, NDR_SCALARS, &r->in.flags));
9051 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
9053 NDR_PULL_ALLOC(ndr, r->in.server);
9055 r->in.server = NULL;
9058 _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
9059 NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
9060 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
9061 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
9062 if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
9063 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));
9065 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
9066 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
9067 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
9069 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9070 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
9072 NDR_PULL_ALLOC(ndr, r->in.buffer);
9074 r->in.buffer = NULL;
9077 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9078 NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
9079 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
9080 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
9082 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
9084 if (flags & NDR_OUT) {
9085 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9087 NDR_PULL_ALLOC(ndr, r->out.info);
9092 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9093 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
9094 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
9095 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
9097 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.needed));
9098 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.count));
9099 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9101 return NDR_ERR_SUCCESS;
9104 _PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrinters(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrinters *r)
9106 uint32_t cntr_info_0;
9107 if (flags & NDR_IN) {
9108 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9109 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
9111 if (flags & NDR_OUT) {
9112 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
9113 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
9114 NDR_CHECK(ndr_push_spoolss_PrinterInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
9116 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
9117 NDR_CHECK(ndr_push_spoolss_PrinterInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
9120 return NDR_ERR_SUCCESS;
9123 _PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrinters(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrinters *r)
9125 uint32_t cntr_info_0;
9126 TALLOC_CTX *_mem_save_info_0;
9127 if (flags & NDR_IN) {
9128 ZERO_STRUCT(r->out);
9130 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9131 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
9133 if (flags & NDR_OUT) {
9134 NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
9135 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9136 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
9137 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
9138 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
9139 NDR_CHECK(ndr_pull_spoolss_PrinterInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
9141 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
9142 NDR_CHECK(ndr_pull_spoolss_PrinterInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
9144 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
9146 return NDR_ERR_SUCCESS;
9149 _PUBLIC_ void ndr_print_spoolss_EnumPrinters(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinters *r)
9151 uint32_t cntr_info_1;
9152 ndr_print_struct(ndr, name, "spoolss_EnumPrinters");
9154 if (flags & NDR_SET_VALUES) {
9155 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9157 if (flags & NDR_IN) {
9158 ndr_print_struct(ndr, "in", "spoolss_EnumPrinters");
9160 ndr_print_spoolss_EnumPrinterFlags(ndr, "flags", r->in.flags);
9161 ndr_print_ptr(ndr, "server", r->in.server);
9164 ndr_print_string(ndr, "server", r->in.server);
9167 ndr_print_uint32(ndr, "level", r->in.level);
9168 ndr_print_ptr(ndr, "buffer", r->in.buffer);
9171 ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
9174 ndr_print_uint32(ndr, "offered", r->in.offered);
9177 if (flags & NDR_OUT) {
9178 ndr_print_struct(ndr, "out", "spoolss_EnumPrinters");
9180 ndr_print_ptr(ndr, "info", r->out.info);
9183 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->out.count);
9185 for (cntr_info_1=0;cntr_info_1<r->out.count;cntr_info_1++) {
9187 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
9188 ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_1], r->in.level);
9189 ndr_print_spoolss_PrinterInfo(ndr, "info", &r->out.info[cntr_info_1]);
9196 ndr_print_uint32(ndr, "needed", r->out.needed);
9197 ndr_print_uint32(ndr, "count", r->out.count);
9198 ndr_print_WERROR(ndr, "result", r->out.result);
9204 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_OpenPrinter(struct ndr_push *ndr, int flags, const struct spoolss_OpenPrinter *r)
9206 if (flags & NDR_IN) {
9207 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.printername));
9208 if (r->in.printername) {
9209 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
9210 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9211 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
9212 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.printername, ndr_charset_length(r->in.printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9214 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.datatype));
9215 if (r->in.datatype) {
9216 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16)));
9217 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9218 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16)));
9219 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.datatype, ndr_charset_length(r->in.datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9221 NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
9222 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.access_mask));
9224 if (flags & NDR_OUT) {
9225 if (r->out.handle == NULL) {
9226 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9228 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
9229 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9231 return NDR_ERR_SUCCESS;
9234 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OpenPrinter(struct ndr_pull *ndr, int flags, struct spoolss_OpenPrinter *r)
9236 uint32_t _ptr_printername;
9237 uint32_t _ptr_datatype;
9238 TALLOC_CTX *_mem_save_printername_0;
9239 TALLOC_CTX *_mem_save_datatype_0;
9240 TALLOC_CTX *_mem_save_handle_0;
9241 if (flags & NDR_IN) {
9242 ZERO_STRUCT(r->out);
9244 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
9245 if (_ptr_printername) {
9246 NDR_PULL_ALLOC(ndr, r->in.printername);
9248 r->in.printername = NULL;
9250 if (r->in.printername) {
9251 _mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
9252 NDR_PULL_SET_MEM_CTX(ndr, r->in.printername, 0);
9253 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.printername));
9254 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.printername));
9255 if (ndr_get_array_length(ndr, &r->in.printername) > ndr_get_array_size(ndr, &r->in.printername)) {
9256 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));
9258 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t)));
9259 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.printername, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t), CH_UTF16));
9260 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
9262 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
9263 if (_ptr_datatype) {
9264 NDR_PULL_ALLOC(ndr, r->in.datatype);
9266 r->in.datatype = NULL;
9268 if (r->in.datatype) {
9269 _mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
9270 NDR_PULL_SET_MEM_CTX(ndr, r->in.datatype, 0);
9271 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.datatype));
9272 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.datatype));
9273 if (ndr_get_array_length(ndr, &r->in.datatype) > ndr_get_array_size(ndr, &r->in.datatype)) {
9274 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));
9276 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t)));
9277 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.datatype, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t), CH_UTF16));
9278 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
9280 NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
9281 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.access_mask));
9282 NDR_PULL_ALLOC(ndr, r->out.handle);
9283 ZERO_STRUCTP(r->out.handle);
9285 if (flags & NDR_OUT) {
9286 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9287 NDR_PULL_ALLOC(ndr, r->out.handle);
9289 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9290 NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
9291 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
9292 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
9293 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9295 return NDR_ERR_SUCCESS;
9298 _PUBLIC_ void ndr_print_spoolss_OpenPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_OpenPrinter *r)
9300 ndr_print_struct(ndr, name, "spoolss_OpenPrinter");
9302 if (flags & NDR_SET_VALUES) {
9303 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9305 if (flags & NDR_IN) {
9306 ndr_print_struct(ndr, "in", "spoolss_OpenPrinter");
9308 ndr_print_ptr(ndr, "printername", r->in.printername);
9310 if (r->in.printername) {
9311 ndr_print_string(ndr, "printername", r->in.printername);
9314 ndr_print_ptr(ndr, "datatype", r->in.datatype);
9316 if (r->in.datatype) {
9317 ndr_print_string(ndr, "datatype", r->in.datatype);
9320 ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", &r->in.devmode_ctr);
9321 ndr_print_uint32(ndr, "access_mask", r->in.access_mask);
9324 if (flags & NDR_OUT) {
9325 ndr_print_struct(ndr, "out", "spoolss_OpenPrinter");
9327 ndr_print_ptr(ndr, "handle", r->out.handle);
9329 ndr_print_policy_handle(ndr, "handle", r->out.handle);
9331 ndr_print_WERROR(ndr, "result", r->out.result);
9337 static enum ndr_err_code ndr_push_spoolss_SetJob(struct ndr_push *ndr, int flags, const struct spoolss_SetJob *r)
9339 if (flags & NDR_IN) {
9340 if (r->in.handle == NULL) {
9341 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9343 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9344 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.job_id));
9345 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.ctr));
9347 NDR_CHECK(ndr_push_spoolss_JobInfoContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
9349 NDR_CHECK(ndr_push_spoolss_JobControl(ndr, NDR_SCALARS, r->in.command));
9351 if (flags & NDR_OUT) {
9352 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9354 return NDR_ERR_SUCCESS;
9357 static enum ndr_err_code ndr_pull_spoolss_SetJob(struct ndr_pull *ndr, int flags, struct spoolss_SetJob *r)
9360 TALLOC_CTX *_mem_save_handle_0;
9361 TALLOC_CTX *_mem_save_ctr_0;
9362 if (flags & NDR_IN) {
9363 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9364 NDR_PULL_ALLOC(ndr, r->in.handle);
9366 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9367 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
9368 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9369 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
9370 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.job_id));
9371 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
9373 NDR_PULL_ALLOC(ndr, r->in.ctr);
9378 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
9379 NDR_PULL_SET_MEM_CTX(ndr, r->in.ctr, 0);
9380 NDR_CHECK(ndr_pull_spoolss_JobInfoContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
9381 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, 0);
9383 NDR_CHECK(ndr_pull_spoolss_JobControl(ndr, NDR_SCALARS, &r->in.command));
9385 if (flags & NDR_OUT) {
9386 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9388 return NDR_ERR_SUCCESS;
9391 _PUBLIC_ void ndr_print_spoolss_SetJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetJob *r)
9393 ndr_print_struct(ndr, name, "spoolss_SetJob");
9395 if (flags & NDR_SET_VALUES) {
9396 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9398 if (flags & NDR_IN) {
9399 ndr_print_struct(ndr, "in", "spoolss_SetJob");
9401 ndr_print_ptr(ndr, "handle", r->in.handle);
9403 ndr_print_policy_handle(ndr, "handle", r->in.handle);
9405 ndr_print_uint32(ndr, "job_id", r->in.job_id);
9406 ndr_print_ptr(ndr, "ctr", r->in.ctr);
9409 ndr_print_spoolss_JobInfoContainer(ndr, "ctr", r->in.ctr);
9412 ndr_print_spoolss_JobControl(ndr, "command", r->in.command);
9415 if (flags & NDR_OUT) {
9416 ndr_print_struct(ndr, "out", "spoolss_SetJob");
9418 ndr_print_WERROR(ndr, "result", r->out.result);
9424 static enum ndr_err_code ndr_push_spoolss_GetJob(struct ndr_push *ndr, int flags, const struct spoolss_GetJob *r)
9426 if (flags & NDR_IN) {
9427 if (r->in.handle == NULL) {
9428 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9430 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.job_id));
9432 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9433 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
9435 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
9437 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
9439 if (flags & NDR_OUT) {
9440 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
9443 struct ndr_push *_ndr_info;
9444 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
9445 NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
9446 NDR_CHECK(ndr_push_spoolss_JobInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
9447 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
9450 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.needed));
9451 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9453 return NDR_ERR_SUCCESS;
9456 static enum ndr_err_code ndr_pull_spoolss_GetJob(struct ndr_pull *ndr, int flags, struct spoolss_GetJob *r)
9458 uint32_t _ptr_buffer;
9460 TALLOC_CTX *_mem_save_handle_0;
9461 TALLOC_CTX *_mem_save_buffer_0;
9462 TALLOC_CTX *_mem_save_info_0;
9463 if (flags & NDR_IN) {
9464 ZERO_STRUCT(r->out);
9466 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9467 NDR_PULL_ALLOC(ndr, r->in.handle);
9469 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9470 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
9471 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9472 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
9473 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.job_id));
9474 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9475 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
9477 NDR_PULL_ALLOC(ndr, r->in.buffer);
9479 r->in.buffer = NULL;
9482 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9483 NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
9484 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
9485 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
9487 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
9489 if (flags & NDR_OUT) {
9490 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9492 NDR_PULL_ALLOC(ndr, r->out.info);
9497 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9498 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
9500 struct ndr_pull *_ndr_info;
9501 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
9502 NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
9503 NDR_CHECK(ndr_pull_spoolss_JobInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
9504 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
9506 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
9508 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.needed));
9509 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9511 return NDR_ERR_SUCCESS;
9514 _PUBLIC_ void ndr_print_spoolss_GetJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetJob *r)
9516 ndr_print_struct(ndr, name, "spoolss_GetJob");
9518 if (flags & NDR_SET_VALUES) {
9519 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9521 if (flags & NDR_IN) {
9522 ndr_print_struct(ndr, "in", "spoolss_GetJob");
9524 ndr_print_ptr(ndr, "handle", r->in.handle);
9526 ndr_print_policy_handle(ndr, "handle", r->in.handle);
9528 ndr_print_uint32(ndr, "job_id", r->in.job_id);
9529 ndr_print_uint32(ndr, "level", r->in.level);
9530 ndr_print_ptr(ndr, "buffer", r->in.buffer);
9533 ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
9536 ndr_print_uint32(ndr, "offered", r->in.offered);
9539 if (flags & NDR_OUT) {
9540 ndr_print_struct(ndr, "out", "spoolss_GetJob");
9542 ndr_print_ptr(ndr, "info", r->out.info);
9545 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
9546 ndr_print_spoolss_JobInfo(ndr, "info", r->out.info);
9549 ndr_print_uint32(ndr, "needed", r->out.needed);
9550 ndr_print_WERROR(ndr, "result", r->out.result);
9556 _PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumJobs(struct ndr_push *ndr, int flags, const struct _spoolss_EnumJobs *r)
9558 if (flags & NDR_IN) {
9559 if (r->in.handle == NULL) {
9560 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9562 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9563 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.firstjob));
9564 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.numjobs));
9565 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9566 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
9568 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
9570 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
9572 if (flags & NDR_OUT) {
9573 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
9575 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
9577 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.needed));
9578 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.count));
9579 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9581 return NDR_ERR_SUCCESS;
9584 _PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumJobs(struct ndr_pull *ndr, int flags, struct _spoolss_EnumJobs *r)
9586 uint32_t _ptr_buffer;
9588 TALLOC_CTX *_mem_save_handle_0;
9589 TALLOC_CTX *_mem_save_buffer_0;
9590 TALLOC_CTX *_mem_save_info_0;
9591 if (flags & NDR_IN) {
9592 ZERO_STRUCT(r->out);
9594 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9595 NDR_PULL_ALLOC(ndr, r->in.handle);
9597 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9598 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
9599 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9600 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
9601 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.firstjob));
9602 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.numjobs));
9603 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9604 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
9606 NDR_PULL_ALLOC(ndr, r->in.buffer);
9608 r->in.buffer = NULL;
9611 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9612 NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
9613 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
9614 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
9616 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
9618 if (flags & NDR_OUT) {
9619 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9621 NDR_PULL_ALLOC(ndr, r->out.info);
9626 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9627 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
9628 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
9629 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
9631 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.needed));
9632 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.count));
9633 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9635 return NDR_ERR_SUCCESS;
9638 _PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumJobs(struct ndr_push *ndr, int flags, const struct __spoolss_EnumJobs *r)
9640 uint32_t cntr_info_0;
9641 if (flags & NDR_IN) {
9642 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9643 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
9645 if (flags & NDR_OUT) {
9646 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
9647 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
9648 NDR_CHECK(ndr_push_spoolss_JobInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
9650 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
9651 NDR_CHECK(ndr_push_spoolss_JobInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
9654 return NDR_ERR_SUCCESS;
9657 _PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumJobs(struct ndr_pull *ndr, int flags, struct __spoolss_EnumJobs *r)
9659 uint32_t cntr_info_0;
9660 TALLOC_CTX *_mem_save_info_0;
9661 if (flags & NDR_IN) {
9662 ZERO_STRUCT(r->out);
9664 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9665 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
9667 if (flags & NDR_OUT) {
9668 NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
9669 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9670 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
9671 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
9672 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
9673 NDR_CHECK(ndr_pull_spoolss_JobInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
9675 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
9676 NDR_CHECK(ndr_pull_spoolss_JobInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
9678 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
9680 return NDR_ERR_SUCCESS;
9683 _PUBLIC_ void ndr_print_spoolss_EnumJobs(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumJobs *r)
9685 uint32_t cntr_info_1;
9686 ndr_print_struct(ndr, name, "spoolss_EnumJobs");
9688 if (flags & NDR_SET_VALUES) {
9689 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9691 if (flags & NDR_IN) {
9692 ndr_print_struct(ndr, "in", "spoolss_EnumJobs");
9694 ndr_print_ptr(ndr, "handle", r->in.handle);
9696 ndr_print_policy_handle(ndr, "handle", r->in.handle);
9698 ndr_print_uint32(ndr, "firstjob", r->in.firstjob);
9699 ndr_print_uint32(ndr, "numjobs", r->in.numjobs);
9700 ndr_print_uint32(ndr, "level", r->in.level);
9701 ndr_print_ptr(ndr, "buffer", r->in.buffer);
9704 ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
9707 ndr_print_uint32(ndr, "offered", r->in.offered);
9710 if (flags & NDR_OUT) {
9711 ndr_print_struct(ndr, "out", "spoolss_EnumJobs");
9713 ndr_print_ptr(ndr, "info", r->out.info);
9716 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->out.count);
9718 for (cntr_info_1=0;cntr_info_1<r->out.count;cntr_info_1++) {
9720 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
9721 ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_1], r->in.level);
9722 ndr_print_spoolss_JobInfo(ndr, "info", &r->out.info[cntr_info_1]);
9729 ndr_print_uint32(ndr, "needed", r->out.needed);
9730 ndr_print_uint32(ndr, "count", r->out.count);
9731 ndr_print_WERROR(ndr, "result", r->out.result);
9737 static enum ndr_err_code ndr_push_spoolss_AddPrinter(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinter *r)
9739 if (flags & NDR_IN) {
9741 if (flags & NDR_OUT) {
9742 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9744 return NDR_ERR_SUCCESS;
9747 static enum ndr_err_code ndr_pull_spoolss_AddPrinter(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinter *r)
9749 if (flags & NDR_IN) {
9751 if (flags & NDR_OUT) {
9752 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9754 return NDR_ERR_SUCCESS;
9757 _PUBLIC_ void ndr_print_spoolss_AddPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinter *r)
9759 ndr_print_struct(ndr, name, "spoolss_AddPrinter");
9761 if (flags & NDR_SET_VALUES) {
9762 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9764 if (flags & NDR_IN) {
9765 ndr_print_struct(ndr, "in", "spoolss_AddPrinter");
9769 if (flags & NDR_OUT) {
9770 ndr_print_struct(ndr, "out", "spoolss_AddPrinter");
9772 ndr_print_WERROR(ndr, "result", r->out.result);
9778 static enum ndr_err_code ndr_push_spoolss_DeletePrinter(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinter *r)
9780 if (flags & NDR_IN) {
9781 if (r->in.handle == NULL) {
9782 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9784 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9786 if (flags & NDR_OUT) {
9787 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9789 return NDR_ERR_SUCCESS;
9792 static enum ndr_err_code ndr_pull_spoolss_DeletePrinter(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinter *r)
9794 TALLOC_CTX *_mem_save_handle_0;
9795 if (flags & NDR_IN) {
9796 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9797 NDR_PULL_ALLOC(ndr, r->in.handle);
9799 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9800 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
9801 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9802 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
9804 if (flags & NDR_OUT) {
9805 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9807 return NDR_ERR_SUCCESS;
9810 _PUBLIC_ void ndr_print_spoolss_DeletePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinter *r)
9812 ndr_print_struct(ndr, name, "spoolss_DeletePrinter");
9814 if (flags & NDR_SET_VALUES) {
9815 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9817 if (flags & NDR_IN) {
9818 ndr_print_struct(ndr, "in", "spoolss_DeletePrinter");
9820 ndr_print_ptr(ndr, "handle", r->in.handle);
9822 ndr_print_policy_handle(ndr, "handle", r->in.handle);
9826 if (flags & NDR_OUT) {
9827 ndr_print_struct(ndr, "out", "spoolss_DeletePrinter");
9829 ndr_print_WERROR(ndr, "result", r->out.result);
9835 static enum ndr_err_code ndr_push_spoolss_SetPrinter(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinter *r)
9837 if (flags & NDR_IN) {
9838 if (r->in.handle == NULL) {
9839 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9841 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9842 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9843 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level));
9844 NDR_CHECK(ndr_push_spoolss_SetPrinterInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
9845 NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
9846 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.secdesc_ctr));
9847 NDR_CHECK(ndr_push_spoolss_PrinterControl(ndr, NDR_SCALARS, r->in.command));
9849 if (flags & NDR_OUT) {
9850 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9852 return NDR_ERR_SUCCESS;
9855 static enum ndr_err_code ndr_pull_spoolss_SetPrinter(struct ndr_pull *ndr, int flags, struct spoolss_SetPrinter *r)
9857 TALLOC_CTX *_mem_save_handle_0;
9858 if (flags & NDR_IN) {
9859 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9860 NDR_PULL_ALLOC(ndr, r->in.handle);
9862 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9863 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
9864 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9865 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
9866 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9867 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level));
9868 NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
9869 NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
9870 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.secdesc_ctr));
9871 NDR_CHECK(ndr_pull_spoolss_PrinterControl(ndr, NDR_SCALARS, &r->in.command));
9873 if (flags & NDR_OUT) {
9874 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9876 return NDR_ERR_SUCCESS;
9879 _PUBLIC_ void ndr_print_spoolss_SetPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinter *r)
9881 ndr_print_struct(ndr, name, "spoolss_SetPrinter");
9883 if (flags & NDR_SET_VALUES) {
9884 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9886 if (flags & NDR_IN) {
9887 ndr_print_struct(ndr, "in", "spoolss_SetPrinter");
9889 ndr_print_ptr(ndr, "handle", r->in.handle);
9891 ndr_print_policy_handle(ndr, "handle", r->in.handle);
9893 ndr_print_uint32(ndr, "level", r->in.level);
9894 ndr_print_set_switch_value(ndr, &r->in.info, r->in.level);
9895 ndr_print_spoolss_SetPrinterInfo(ndr, "info", &r->in.info);
9896 ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", &r->in.devmode_ctr);
9897 ndr_print_sec_desc_buf(ndr, "secdesc_ctr", &r->in.secdesc_ctr);
9898 ndr_print_spoolss_PrinterControl(ndr, "command", r->in.command);
9901 if (flags & NDR_OUT) {
9902 ndr_print_struct(ndr, "out", "spoolss_SetPrinter");
9904 ndr_print_WERROR(ndr, "result", r->out.result);
9910 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_GetPrinter(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinter *r)
9912 if (flags & NDR_IN) {
9913 if (r->in.handle == NULL) {
9914 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9916 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9917 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9918 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
9920 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
9922 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
9924 if (flags & NDR_OUT) {
9925 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
9928 struct ndr_push *_ndr_info;
9929 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
9930 NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
9931 NDR_CHECK(ndr_push_spoolss_PrinterInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
9932 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
9935 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.needed));
9936 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9938 return NDR_ERR_SUCCESS;
9941 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_GetPrinter(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinter *r)
9943 uint32_t _ptr_buffer;
9945 TALLOC_CTX *_mem_save_handle_0;
9946 TALLOC_CTX *_mem_save_buffer_0;
9947 TALLOC_CTX *_mem_save_info_0;
9948 if (flags & NDR_IN) {
9949 ZERO_STRUCT(r->out);
9951 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9952 NDR_PULL_ALLOC(ndr, r->in.handle);
9954 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9955 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
9956 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9957 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
9958 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9959 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
9961 NDR_PULL_ALLOC(ndr, r->in.buffer);
9963 r->in.buffer = NULL;
9966 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9967 NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
9968 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
9969 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
9971 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
9973 if (flags & NDR_OUT) {
9974 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9976 NDR_PULL_ALLOC(ndr, r->out.info);
9981 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9982 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
9984 struct ndr_pull *_ndr_info;
9985 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
9986 NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
9987 NDR_CHECK(ndr_pull_spoolss_PrinterInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
9988 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
9990 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
9992 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.needed));
9993 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9995 return NDR_ERR_SUCCESS;
9998 _PUBLIC_ void ndr_print_spoolss_GetPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinter *r)
10000 ndr_print_struct(ndr, name, "spoolss_GetPrinter");
10002 if (flags & NDR_SET_VALUES) {
10003 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10005 if (flags & NDR_IN) {
10006 ndr_print_struct(ndr, "in", "spoolss_GetPrinter");
10008 ndr_print_ptr(ndr, "handle", r->in.handle);
10010 ndr_print_policy_handle(ndr, "handle", r->in.handle);
10012 ndr_print_uint32(ndr, "level", r->in.level);
10013 ndr_print_ptr(ndr, "buffer", r->in.buffer);
10015 if (r->in.buffer) {
10016 ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
10019 ndr_print_uint32(ndr, "offered", r->in.offered);
10022 if (flags & NDR_OUT) {
10023 ndr_print_struct(ndr, "out", "spoolss_GetPrinter");
10025 ndr_print_ptr(ndr, "info", r->out.info);
10028 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
10029 ndr_print_spoolss_PrinterInfo(ndr, "info", r->out.info);
10032 ndr_print_uint32(ndr, "needed", r->out.needed);
10033 ndr_print_WERROR(ndr, "result", r->out.result);
10039 static enum ndr_err_code ndr_push_spoolss_AddPrinterDriver(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterDriver *r)
10041 if (flags & NDR_IN) {
10043 if (flags & NDR_OUT) {
10044 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10046 return NDR_ERR_SUCCESS;
10049 static enum ndr_err_code ndr_pull_spoolss_AddPrinterDriver(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterDriver *r)
10051 if (flags & NDR_IN) {
10053 if (flags & NDR_OUT) {
10054 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10056 return NDR_ERR_SUCCESS;
10059 _PUBLIC_ void ndr_print_spoolss_AddPrinterDriver(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterDriver *r)
10061 ndr_print_struct(ndr, name, "spoolss_AddPrinterDriver");
10063 if (flags & NDR_SET_VALUES) {
10064 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10066 if (flags & NDR_IN) {
10067 ndr_print_struct(ndr, "in", "spoolss_AddPrinterDriver");
10071 if (flags & NDR_OUT) {
10072 ndr_print_struct(ndr, "out", "spoolss_AddPrinterDriver");
10074 ndr_print_WERROR(ndr, "result", r->out.result);
10080 _PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrinterDrivers(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrinterDrivers *r)
10082 if (flags & NDR_IN) {
10083 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
10084 if (r->in.server) {
10085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
10086 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10087 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
10088 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10090 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment));
10091 if (r->in.environment) {
10092 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
10093 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10094 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
10095 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10097 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10098 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
10099 if (r->in.buffer) {
10100 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
10102 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
10104 if (flags & NDR_OUT) {
10105 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
10107 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
10109 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.needed));
10110 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.count));
10111 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10113 return NDR_ERR_SUCCESS;
10116 _PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrinterDrivers(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrinterDrivers *r)
10118 uint32_t _ptr_server;
10119 uint32_t _ptr_environment;
10120 uint32_t _ptr_buffer;
10121 uint32_t _ptr_info;
10122 TALLOC_CTX *_mem_save_server_0;
10123 TALLOC_CTX *_mem_save_environment_0;
10124 TALLOC_CTX *_mem_save_buffer_0;
10125 TALLOC_CTX *_mem_save_info_0;
10126 if (flags & NDR_IN) {
10127 ZERO_STRUCT(r->out);
10129 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
10131 NDR_PULL_ALLOC(ndr, r->in.server);
10133 r->in.server = NULL;
10135 if (r->in.server) {
10136 _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10137 NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
10138 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
10139 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
10140 if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
10141 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));
10143 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
10144 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
10145 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
10147 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
10148 if (_ptr_environment) {
10149 NDR_PULL_ALLOC(ndr, r->in.environment);
10151 r->in.environment = NULL;
10153 if (r->in.environment) {
10154 _mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
10155 NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0);
10156 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment));
10157 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment));
10158 if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) {
10159 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));
10161 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t)));
10162 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16));
10163 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
10165 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10166 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
10168 NDR_PULL_ALLOC(ndr, r->in.buffer);
10170 r->in.buffer = NULL;
10172 if (r->in.buffer) {
10173 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
10174 NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
10175 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
10176 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
10178 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
10180 if (flags & NDR_OUT) {
10181 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
10183 NDR_PULL_ALLOC(ndr, r->out.info);
10185 r->out.info = NULL;
10188 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10189 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
10190 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
10191 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
10193 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.needed));
10194 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.count));
10195 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10197 return NDR_ERR_SUCCESS;
10200 _PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrinterDrivers(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrinterDrivers *r)
10202 uint32_t cntr_info_0;
10203 if (flags & NDR_IN) {
10204 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10205 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
10207 if (flags & NDR_OUT) {
10208 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
10209 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
10210 NDR_CHECK(ndr_push_spoolss_DriverInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
10212 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
10213 NDR_CHECK(ndr_push_spoolss_DriverInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
10216 return NDR_ERR_SUCCESS;
10219 _PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrinterDrivers(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrinterDrivers *r)
10221 uint32_t cntr_info_0;
10222 TALLOC_CTX *_mem_save_info_0;
10223 if (flags & NDR_IN) {
10224 ZERO_STRUCT(r->out);
10226 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10227 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
10229 if (flags & NDR_OUT) {
10230 NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
10231 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10232 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
10233 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
10234 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
10235 NDR_CHECK(ndr_pull_spoolss_DriverInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
10237 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
10238 NDR_CHECK(ndr_pull_spoolss_DriverInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
10240 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
10242 return NDR_ERR_SUCCESS;
10245 _PUBLIC_ void ndr_print_spoolss_EnumPrinterDrivers(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterDrivers *r)
10247 uint32_t cntr_info_1;
10248 ndr_print_struct(ndr, name, "spoolss_EnumPrinterDrivers");
10250 if (flags & NDR_SET_VALUES) {
10251 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10253 if (flags & NDR_IN) {
10254 ndr_print_struct(ndr, "in", "spoolss_EnumPrinterDrivers");
10256 ndr_print_ptr(ndr, "server", r->in.server);
10258 if (r->in.server) {
10259 ndr_print_string(ndr, "server", r->in.server);
10262 ndr_print_ptr(ndr, "environment", r->in.environment);
10264 if (r->in.environment) {
10265 ndr_print_string(ndr, "environment", r->in.environment);
10268 ndr_print_uint32(ndr, "level", r->in.level);
10269 ndr_print_ptr(ndr, "buffer", r->in.buffer);
10271 if (r->in.buffer) {
10272 ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
10275 ndr_print_uint32(ndr, "offered", r->in.offered);
10278 if (flags & NDR_OUT) {
10279 ndr_print_struct(ndr, "out", "spoolss_EnumPrinterDrivers");
10281 ndr_print_ptr(ndr, "info", r->out.info);
10284 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->out.count);
10286 for (cntr_info_1=0;cntr_info_1<r->out.count;cntr_info_1++) {
10288 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
10289 ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_1], r->in.level);
10290 ndr_print_spoolss_DriverInfo(ndr, "info", &r->out.info[cntr_info_1]);
10297 ndr_print_uint32(ndr, "needed", r->out.needed);
10298 ndr_print_uint32(ndr, "count", r->out.count);
10299 ndr_print_WERROR(ndr, "result", r->out.result);
10305 static enum ndr_err_code ndr_push_spoolss_GetPrinterDriver(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriver *r)
10307 if (flags & NDR_IN) {
10309 if (flags & NDR_OUT) {
10310 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10312 return NDR_ERR_SUCCESS;
10315 static enum ndr_err_code ndr_pull_spoolss_GetPrinterDriver(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriver *r)
10317 if (flags & NDR_IN) {
10319 if (flags & NDR_OUT) {
10320 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10322 return NDR_ERR_SUCCESS;
10325 _PUBLIC_ void ndr_print_spoolss_GetPrinterDriver(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriver *r)
10327 ndr_print_struct(ndr, name, "spoolss_GetPrinterDriver");
10329 if (flags & NDR_SET_VALUES) {
10330 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10332 if (flags & NDR_IN) {
10333 ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriver");
10337 if (flags & NDR_OUT) {
10338 ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriver");
10340 ndr_print_WERROR(ndr, "result", r->out.result);
10346 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_GetPrinterDriverDirectory(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriverDirectory *r)
10348 if (flags & NDR_IN) {
10349 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
10350 if (r->in.server) {
10351 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
10352 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10353 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
10354 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10356 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment));
10357 if (r->in.environment) {
10358 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
10359 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10360 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
10361 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10363 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10364 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
10365 if (r->in.buffer) {
10366 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
10368 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
10370 if (flags & NDR_OUT) {
10371 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
10374 struct ndr_push *_ndr_info;
10375 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
10376 NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
10377 NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo(_ndr_info, NDR_SCALARS, r->out.info));
10378 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
10381 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.needed));
10382 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10384 return NDR_ERR_SUCCESS;
10387 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_GetPrinterDriverDirectory(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriverDirectory *r)
10389 uint32_t _ptr_server;
10390 uint32_t _ptr_environment;
10391 uint32_t _ptr_buffer;
10392 uint32_t _ptr_info;
10393 TALLOC_CTX *_mem_save_server_0;
10394 TALLOC_CTX *_mem_save_environment_0;
10395 TALLOC_CTX *_mem_save_buffer_0;
10396 TALLOC_CTX *_mem_save_info_0;
10397 if (flags & NDR_IN) {
10398 ZERO_STRUCT(r->out);
10400 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
10402 NDR_PULL_ALLOC(ndr, r->in.server);
10404 r->in.server = NULL;
10406 if (r->in.server) {
10407 _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10408 NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
10409 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
10410 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
10411 if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
10412 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));
10414 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
10415 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
10416 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
10418 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
10419 if (_ptr_environment) {
10420 NDR_PULL_ALLOC(ndr, r->in.environment);
10422 r->in.environment = NULL;
10424 if (r->in.environment) {
10425 _mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
10426 NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0);
10427 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment));
10428 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment));
10429 if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) {
10430 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));
10432 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t)));
10433 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16));
10434 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
10436 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10437 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
10439 NDR_PULL_ALLOC(ndr, r->in.buffer);
10441 r->in.buffer = NULL;
10443 if (r->in.buffer) {
10444 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
10445 NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
10446 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
10447 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
10449 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
10451 if (flags & NDR_OUT) {
10452 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
10454 NDR_PULL_ALLOC(ndr, r->out.info);
10456 r->out.info = NULL;
10459 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10460 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
10462 struct ndr_pull *_ndr_info;
10463 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
10464 NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
10465 NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo(_ndr_info, NDR_SCALARS, r->out.info));
10466 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
10468 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
10470 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.needed));
10471 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10473 return NDR_ERR_SUCCESS;
10476 _PUBLIC_ void ndr_print_spoolss_GetPrinterDriverDirectory(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriverDirectory *r)
10478 ndr_print_struct(ndr, name, "spoolss_GetPrinterDriverDirectory");
10480 if (flags & NDR_SET_VALUES) {
10481 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10483 if (flags & NDR_IN) {
10484 ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriverDirectory");
10486 ndr_print_ptr(ndr, "server", r->in.server);
10488 if (r->in.server) {
10489 ndr_print_string(ndr, "server", r->in.server);
10492 ndr_print_ptr(ndr, "environment", r->in.environment);
10494 if (r->in.environment) {
10495 ndr_print_string(ndr, "environment", r->in.environment);
10498 ndr_print_uint32(ndr, "level", r->in.level);
10499 ndr_print_ptr(ndr, "buffer", r->in.buffer);
10501 if (r->in.buffer) {
10502 ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
10505 ndr_print_uint32(ndr, "offered", r->in.offered);
10508 if (flags & NDR_OUT) {
10509 ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriverDirectory");
10511 ndr_print_ptr(ndr, "info", r->out.info);
10514 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
10515 ndr_print_spoolss_DriverDirectoryInfo(ndr, "info", r->out.info);
10518 ndr_print_uint32(ndr, "needed", r->out.needed);
10519 ndr_print_WERROR(ndr, "result", r->out.result);
10525 static enum ndr_err_code ndr_push_spoolss_DeletePrinterDriver(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterDriver *r)
10527 if (flags & NDR_IN) {
10528 if (r->in.handle == NULL) {
10529 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10531 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10532 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
10533 if (r->in.server) {
10534 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
10535 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10536 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
10537 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10539 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
10540 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10541 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
10542 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10543 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.driver, CH_UTF16)));
10544 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10545 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.driver, CH_UTF16)));
10546 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.driver, ndr_charset_length(r->in.driver, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10548 if (flags & NDR_OUT) {
10549 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10551 return NDR_ERR_SUCCESS;
10554 static enum ndr_err_code ndr_pull_spoolss_DeletePrinterDriver(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterDriver *r)
10556 uint32_t _ptr_server;
10557 TALLOC_CTX *_mem_save_handle_0;
10558 TALLOC_CTX *_mem_save_server_0;
10559 if (flags & NDR_IN) {
10560 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10561 NDR_PULL_ALLOC(ndr, r->in.handle);
10563 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10564 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
10565 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10566 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
10567 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
10569 NDR_PULL_ALLOC(ndr, r->in.server);
10571 r->in.server = NULL;
10573 if (r->in.server) {
10574 _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10575 NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
10576 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
10577 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
10578 if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
10579 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));
10581 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
10582 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
10583 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
10585 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
10586 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
10587 if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
10588 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));
10590 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
10591 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
10592 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.driver));
10593 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.driver));
10594 if (ndr_get_array_length(ndr, &r->in.driver) > ndr_get_array_size(ndr, &r->in.driver)) {
10595 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));
10597 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.driver), sizeof(uint16_t)));
10598 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.driver, ndr_get_array_length(ndr, &r->in.driver), sizeof(uint16_t), CH_UTF16));
10600 if (flags & NDR_OUT) {
10601 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10603 return NDR_ERR_SUCCESS;
10606 _PUBLIC_ void ndr_print_spoolss_DeletePrinterDriver(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterDriver *r)
10608 ndr_print_struct(ndr, name, "spoolss_DeletePrinterDriver");
10610 if (flags & NDR_SET_VALUES) {
10611 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10613 if (flags & NDR_IN) {
10614 ndr_print_struct(ndr, "in", "spoolss_DeletePrinterDriver");
10616 ndr_print_ptr(ndr, "handle", r->in.handle);
10618 ndr_print_policy_handle(ndr, "handle", r->in.handle);
10620 ndr_print_ptr(ndr, "server", r->in.server);
10622 if (r->in.server) {
10623 ndr_print_string(ndr, "server", r->in.server);
10626 ndr_print_string(ndr, "architecture", r->in.architecture);
10627 ndr_print_string(ndr, "driver", r->in.driver);
10630 if (flags & NDR_OUT) {
10631 ndr_print_struct(ndr, "out", "spoolss_DeletePrinterDriver");
10633 ndr_print_WERROR(ndr, "result", r->out.result);
10639 static enum ndr_err_code ndr_push_spoolss_AddPrintProcessor(struct ndr_push *ndr, int flags, const struct spoolss_AddPrintProcessor *r)
10641 if (flags & NDR_IN) {
10643 if (flags & NDR_OUT) {
10644 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10646 return NDR_ERR_SUCCESS;
10649 static enum ndr_err_code ndr_pull_spoolss_AddPrintProcessor(struct ndr_pull *ndr, int flags, struct spoolss_AddPrintProcessor *r)
10651 if (flags & NDR_IN) {
10653 if (flags & NDR_OUT) {
10654 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10656 return NDR_ERR_SUCCESS;
10659 _PUBLIC_ void ndr_print_spoolss_AddPrintProcessor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrintProcessor *r)
10661 ndr_print_struct(ndr, name, "spoolss_AddPrintProcessor");
10663 if (flags & NDR_SET_VALUES) {
10664 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10666 if (flags & NDR_IN) {
10667 ndr_print_struct(ndr, "in", "spoolss_AddPrintProcessor");
10671 if (flags & NDR_OUT) {
10672 ndr_print_struct(ndr, "out", "spoolss_AddPrintProcessor");
10674 ndr_print_WERROR(ndr, "result", r->out.result);
10680 _PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrintProcessors(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrintProcessors *r)
10682 if (flags & NDR_IN) {
10683 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
10684 if (r->in.servername) {
10685 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
10686 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10687 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
10688 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10690 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment));
10691 if (r->in.environment) {
10692 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
10693 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10694 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16)));
10695 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10697 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10698 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
10699 if (r->in.buffer) {
10700 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
10702 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
10704 if (flags & NDR_OUT) {
10705 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
10707 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
10709 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.needed));
10710 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.count));
10711 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10713 return NDR_ERR_SUCCESS;
10716 _PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrintProcessors(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrintProcessors *r)
10718 uint32_t _ptr_servername;
10719 uint32_t _ptr_environment;
10720 uint32_t _ptr_buffer;
10721 uint32_t _ptr_info;
10722 TALLOC_CTX *_mem_save_servername_0;
10723 TALLOC_CTX *_mem_save_environment_0;
10724 TALLOC_CTX *_mem_save_buffer_0;
10725 TALLOC_CTX *_mem_save_info_0;
10726 if (flags & NDR_IN) {
10727 ZERO_STRUCT(r->out);
10729 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
10730 if (_ptr_servername) {
10731 NDR_PULL_ALLOC(ndr, r->in.servername);
10733 r->in.servername = NULL;
10735 if (r->in.servername) {
10736 _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
10737 NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
10738 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
10739 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
10740 if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
10741 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));
10743 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
10744 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
10745 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
10747 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
10748 if (_ptr_environment) {
10749 NDR_PULL_ALLOC(ndr, r->in.environment);
10751 r->in.environment = NULL;
10753 if (r->in.environment) {
10754 _mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr);
10755 NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0);
10756 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment));
10757 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment));
10758 if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) {
10759 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));
10761 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t)));
10762 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16));
10763 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
10765 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10766 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
10768 NDR_PULL_ALLOC(ndr, r->in.buffer);
10770 r->in.buffer = NULL;
10772 if (r->in.buffer) {
10773 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
10774 NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
10775 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
10776 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
10778 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
10780 if (flags & NDR_OUT) {
10781 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
10783 NDR_PULL_ALLOC(ndr, r->out.info);
10785 r->out.info = NULL;
10788 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10789 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
10790 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
10791 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
10793 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.needed));
10794 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.count));
10795 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10797 return NDR_ERR_SUCCESS;
10800 _PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrintProcessors(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrintProcessors *r)
10802 uint32_t cntr_info_0;
10803 if (flags & NDR_IN) {
10804 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10805 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
10807 if (flags & NDR_OUT) {
10808 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
10809 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
10810 NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
10812 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
10813 NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
10816 return NDR_ERR_SUCCESS;
10819 _PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrintProcessors(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrintProcessors *r)
10821 uint32_t cntr_info_0;
10822 TALLOC_CTX *_mem_save_info_0;
10823 if (flags & NDR_IN) {
10824 ZERO_STRUCT(r->out);
10826 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10827 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
10829 if (flags & NDR_OUT) {
10830 NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
10831 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10832 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
10833 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
10834 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
10835 NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
10837 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
10838 NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
10840 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
10842 return NDR_ERR_SUCCESS;
10845 _PUBLIC_ void ndr_print_spoolss_EnumPrintProcessors(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrintProcessors *r)
10847 uint32_t cntr_info_1;
10848 ndr_print_struct(ndr, name, "spoolss_EnumPrintProcessors");
10850 if (flags & NDR_SET_VALUES) {
10851 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10853 if (flags & NDR_IN) {
10854 ndr_print_struct(ndr, "in", "spoolss_EnumPrintProcessors");
10856 ndr_print_ptr(ndr, "servername", r->in.servername);
10858 if (r->in.servername) {
10859 ndr_print_string(ndr, "servername", r->in.servername);
10862 ndr_print_ptr(ndr, "environment", r->in.environment);
10864 if (r->in.environment) {
10865 ndr_print_string(ndr, "environment", r->in.environment);
10868 ndr_print_uint32(ndr, "level", r->in.level);
10869 ndr_print_ptr(ndr, "buffer", r->in.buffer);
10871 if (r->in.buffer) {
10872 ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
10875 ndr_print_uint32(ndr, "offered", r->in.offered);
10878 if (flags & NDR_OUT) {
10879 ndr_print_struct(ndr, "out", "spoolss_EnumPrintProcessors");
10881 ndr_print_ptr(ndr, "info", r->out.info);
10884 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->out.count);
10886 for (cntr_info_1=0;cntr_info_1<r->out.count;cntr_info_1++) {
10888 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
10889 ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_1], r->in.level);
10890 ndr_print_spoolss_PrintProcessorInfo(ndr, "info", &r->out.info[cntr_info_1]);
10897 ndr_print_uint32(ndr, "needed", r->out.needed);
10898 ndr_print_uint32(ndr, "count", r->out.count);
10899 ndr_print_WERROR(ndr, "result", r->out.result);
10905 static enum ndr_err_code ndr_push_spoolss_GetPrintProcessorDirectory(struct ndr_push *ndr, int flags, const struct spoolss_GetPrintProcessorDirectory *r)
10907 if (flags & NDR_IN) {
10909 if (flags & NDR_OUT) {
10910 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10912 return NDR_ERR_SUCCESS;
10915 static enum ndr_err_code ndr_pull_spoolss_GetPrintProcessorDirectory(struct ndr_pull *ndr, int flags, struct spoolss_GetPrintProcessorDirectory *r)
10917 if (flags & NDR_IN) {
10919 if (flags & NDR_OUT) {
10920 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10922 return NDR_ERR_SUCCESS;
10925 _PUBLIC_ void ndr_print_spoolss_GetPrintProcessorDirectory(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrintProcessorDirectory *r)
10927 ndr_print_struct(ndr, name, "spoolss_GetPrintProcessorDirectory");
10929 if (flags & NDR_SET_VALUES) {
10930 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10932 if (flags & NDR_IN) {
10933 ndr_print_struct(ndr, "in", "spoolss_GetPrintProcessorDirectory");
10937 if (flags & NDR_OUT) {
10938 ndr_print_struct(ndr, "out", "spoolss_GetPrintProcessorDirectory");
10940 ndr_print_WERROR(ndr, "result", r->out.result);
10946 static enum ndr_err_code ndr_push_spoolss_StartDocPrinter(struct ndr_push *ndr, int flags, const struct spoolss_StartDocPrinter *r)
10948 if (flags & NDR_IN) {
10949 if (r->in.handle == NULL) {
10950 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10952 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10953 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10954 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level));
10955 NDR_CHECK(ndr_push_spoolss_DocumentInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
10957 if (flags & NDR_OUT) {
10958 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.job_id));
10959 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10961 return NDR_ERR_SUCCESS;
10964 static enum ndr_err_code ndr_pull_spoolss_StartDocPrinter(struct ndr_pull *ndr, int flags, struct spoolss_StartDocPrinter *r)
10966 TALLOC_CTX *_mem_save_handle_0;
10967 if (flags & NDR_IN) {
10968 ZERO_STRUCT(r->out);
10970 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10971 NDR_PULL_ALLOC(ndr, r->in.handle);
10973 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10974 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
10975 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10976 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
10977 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10978 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level));
10979 NDR_CHECK(ndr_pull_spoolss_DocumentInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
10981 if (flags & NDR_OUT) {
10982 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.job_id));
10983 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10985 return NDR_ERR_SUCCESS;
10988 _PUBLIC_ void ndr_print_spoolss_StartDocPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_StartDocPrinter *r)
10990 ndr_print_struct(ndr, name, "spoolss_StartDocPrinter");
10992 if (flags & NDR_SET_VALUES) {
10993 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10995 if (flags & NDR_IN) {
10996 ndr_print_struct(ndr, "in", "spoolss_StartDocPrinter");
10998 ndr_print_ptr(ndr, "handle", r->in.handle);
11000 ndr_print_policy_handle(ndr, "handle", r->in.handle);
11002 ndr_print_uint32(ndr, "level", r->in.level);
11003 ndr_print_set_switch_value(ndr, &r->in.info, r->in.level);
11004 ndr_print_spoolss_DocumentInfo(ndr, "info", &r->in.info);
11007 if (flags & NDR_OUT) {
11008 ndr_print_struct(ndr, "out", "spoolss_StartDocPrinter");
11010 ndr_print_uint32(ndr, "job_id", r->out.job_id);
11011 ndr_print_WERROR(ndr, "result", r->out.result);
11017 static enum ndr_err_code ndr_push_spoolss_StartPagePrinter(struct ndr_push *ndr, int flags, const struct spoolss_StartPagePrinter *r)
11019 if (flags & NDR_IN) {
11020 if (r->in.handle == NULL) {
11021 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11023 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11025 if (flags & NDR_OUT) {
11026 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11028 return NDR_ERR_SUCCESS;
11031 static enum ndr_err_code ndr_pull_spoolss_StartPagePrinter(struct ndr_pull *ndr, int flags, struct spoolss_StartPagePrinter *r)
11033 TALLOC_CTX *_mem_save_handle_0;
11034 if (flags & NDR_IN) {
11035 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11036 NDR_PULL_ALLOC(ndr, r->in.handle);
11038 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11039 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
11040 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11041 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
11043 if (flags & NDR_OUT) {
11044 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11046 return NDR_ERR_SUCCESS;
11049 _PUBLIC_ void ndr_print_spoolss_StartPagePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_StartPagePrinter *r)
11051 ndr_print_struct(ndr, name, "spoolss_StartPagePrinter");
11053 if (flags & NDR_SET_VALUES) {
11054 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11056 if (flags & NDR_IN) {
11057 ndr_print_struct(ndr, "in", "spoolss_StartPagePrinter");
11059 ndr_print_ptr(ndr, "handle", r->in.handle);
11061 ndr_print_policy_handle(ndr, "handle", r->in.handle);
11065 if (flags & NDR_OUT) {
11066 ndr_print_struct(ndr, "out", "spoolss_StartPagePrinter");
11068 ndr_print_WERROR(ndr, "result", r->out.result);
11074 static enum ndr_err_code ndr_push_spoolss_WritePrinter(struct ndr_push *ndr, int flags, const struct spoolss_WritePrinter *r)
11076 if (flags & NDR_IN) {
11077 if (r->in.handle == NULL) {
11078 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11080 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11081 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.data));
11082 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.data.length));
11084 if (flags & NDR_OUT) {
11085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.num_written));
11086 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11088 return NDR_ERR_SUCCESS;
11091 static enum ndr_err_code ndr_pull_spoolss_WritePrinter(struct ndr_pull *ndr, int flags, struct spoolss_WritePrinter *r)
11093 TALLOC_CTX *_mem_save_handle_0;
11094 if (flags & NDR_IN) {
11095 ZERO_STRUCT(r->out);
11097 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11098 NDR_PULL_ALLOC(ndr, r->in.handle);
11100 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11101 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
11102 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11103 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
11104 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.data));
11105 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in._data_size));
11107 if (flags & NDR_OUT) {
11108 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.num_written));
11109 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11111 return NDR_ERR_SUCCESS;
11114 _PUBLIC_ void ndr_print_spoolss_WritePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_WritePrinter *r)
11116 ndr_print_struct(ndr, name, "spoolss_WritePrinter");
11118 if (flags & NDR_SET_VALUES) {
11119 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11121 if (flags & NDR_IN) {
11122 ndr_print_struct(ndr, "in", "spoolss_WritePrinter");
11124 ndr_print_ptr(ndr, "handle", r->in.handle);
11126 ndr_print_policy_handle(ndr, "handle", r->in.handle);
11128 ndr_print_DATA_BLOB(ndr, "data", r->in.data);
11129 ndr_print_uint32(ndr, "_data_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->in.data.length:r->in._data_size);
11132 if (flags & NDR_OUT) {
11133 ndr_print_struct(ndr, "out", "spoolss_WritePrinter");
11135 ndr_print_uint32(ndr, "num_written", r->out.num_written);
11136 ndr_print_WERROR(ndr, "result", r->out.result);
11142 static enum ndr_err_code ndr_push_spoolss_EndPagePrinter(struct ndr_push *ndr, int flags, const struct spoolss_EndPagePrinter *r)
11144 if (flags & NDR_IN) {
11145 if (r->in.handle == NULL) {
11146 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11148 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11150 if (flags & NDR_OUT) {
11151 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11153 return NDR_ERR_SUCCESS;
11156 static enum ndr_err_code ndr_pull_spoolss_EndPagePrinter(struct ndr_pull *ndr, int flags, struct spoolss_EndPagePrinter *r)
11158 TALLOC_CTX *_mem_save_handle_0;
11159 if (flags & NDR_IN) {
11160 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11161 NDR_PULL_ALLOC(ndr, r->in.handle);
11163 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11164 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
11165 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11166 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
11168 if (flags & NDR_OUT) {
11169 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11171 return NDR_ERR_SUCCESS;
11174 _PUBLIC_ void ndr_print_spoolss_EndPagePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EndPagePrinter *r)
11176 ndr_print_struct(ndr, name, "spoolss_EndPagePrinter");
11178 if (flags & NDR_SET_VALUES) {
11179 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11181 if (flags & NDR_IN) {
11182 ndr_print_struct(ndr, "in", "spoolss_EndPagePrinter");
11184 ndr_print_ptr(ndr, "handle", r->in.handle);
11186 ndr_print_policy_handle(ndr, "handle", r->in.handle);
11190 if (flags & NDR_OUT) {
11191 ndr_print_struct(ndr, "out", "spoolss_EndPagePrinter");
11193 ndr_print_WERROR(ndr, "result", r->out.result);
11199 static enum ndr_err_code ndr_push_spoolss_AbortPrinter(struct ndr_push *ndr, int flags, const struct spoolss_AbortPrinter *r)
11201 if (flags & NDR_IN) {
11202 if (r->in.handle == NULL) {
11203 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11205 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11207 if (flags & NDR_OUT) {
11208 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11210 return NDR_ERR_SUCCESS;
11213 static enum ndr_err_code ndr_pull_spoolss_AbortPrinter(struct ndr_pull *ndr, int flags, struct spoolss_AbortPrinter *r)
11215 TALLOC_CTX *_mem_save_handle_0;
11216 if (flags & NDR_IN) {
11217 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11218 NDR_PULL_ALLOC(ndr, r->in.handle);
11220 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11221 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
11222 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11223 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
11225 if (flags & NDR_OUT) {
11226 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11228 return NDR_ERR_SUCCESS;
11231 _PUBLIC_ void ndr_print_spoolss_AbortPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AbortPrinter *r)
11233 ndr_print_struct(ndr, name, "spoolss_AbortPrinter");
11235 if (flags & NDR_SET_VALUES) {
11236 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11238 if (flags & NDR_IN) {
11239 ndr_print_struct(ndr, "in", "spoolss_AbortPrinter");
11241 ndr_print_ptr(ndr, "handle", r->in.handle);
11243 ndr_print_policy_handle(ndr, "handle", r->in.handle);
11247 if (flags & NDR_OUT) {
11248 ndr_print_struct(ndr, "out", "spoolss_AbortPrinter");
11250 ndr_print_WERROR(ndr, "result", r->out.result);
11256 static enum ndr_err_code ndr_push_spoolss_ReadPrinter(struct ndr_push *ndr, int flags, const struct spoolss_ReadPrinter *r)
11258 if (flags & NDR_IN) {
11259 if (r->in.handle == NULL) {
11260 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11262 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11263 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.data_size));
11265 if (flags & NDR_OUT) {
11266 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->out.data));
11267 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.data.length));
11268 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11270 return NDR_ERR_SUCCESS;
11273 static enum ndr_err_code ndr_pull_spoolss_ReadPrinter(struct ndr_pull *ndr, int flags, struct spoolss_ReadPrinter *r)
11275 TALLOC_CTX *_mem_save_handle_0;
11276 if (flags & NDR_IN) {
11277 ZERO_STRUCT(r->out);
11279 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11280 NDR_PULL_ALLOC(ndr, r->in.handle);
11282 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11283 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
11284 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11285 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
11286 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.data_size));
11288 if (flags & NDR_OUT) {
11289 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->out.data));
11290 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out._data_size));
11291 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11293 return NDR_ERR_SUCCESS;
11296 _PUBLIC_ void ndr_print_spoolss_ReadPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ReadPrinter *r)
11298 ndr_print_struct(ndr, name, "spoolss_ReadPrinter");
11300 if (flags & NDR_SET_VALUES) {
11301 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11303 if (flags & NDR_IN) {
11304 ndr_print_struct(ndr, "in", "spoolss_ReadPrinter");
11306 ndr_print_ptr(ndr, "handle", r->in.handle);
11308 ndr_print_policy_handle(ndr, "handle", r->in.handle);
11310 ndr_print_uint32(ndr, "data_size", r->in.data_size);
11313 if (flags & NDR_OUT) {
11314 ndr_print_struct(ndr, "out", "spoolss_ReadPrinter");
11316 ndr_print_DATA_BLOB(ndr, "data", r->out.data);
11317 ndr_print_uint32(ndr, "_data_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->out.data.length:r->out._data_size);
11318 ndr_print_WERROR(ndr, "result", r->out.result);
11324 static enum ndr_err_code ndr_push_spoolss_EndDocPrinter(struct ndr_push *ndr, int flags, const struct spoolss_EndDocPrinter *r)
11326 if (flags & NDR_IN) {
11327 if (r->in.handle == NULL) {
11328 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11330 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11332 if (flags & NDR_OUT) {
11333 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11335 return NDR_ERR_SUCCESS;
11338 static enum ndr_err_code ndr_pull_spoolss_EndDocPrinter(struct ndr_pull *ndr, int flags, struct spoolss_EndDocPrinter *r)
11340 TALLOC_CTX *_mem_save_handle_0;
11341 if (flags & NDR_IN) {
11342 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11343 NDR_PULL_ALLOC(ndr, r->in.handle);
11345 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11346 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
11347 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11348 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
11350 if (flags & NDR_OUT) {
11351 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11353 return NDR_ERR_SUCCESS;
11356 _PUBLIC_ void ndr_print_spoolss_EndDocPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EndDocPrinter *r)
11358 ndr_print_struct(ndr, name, "spoolss_EndDocPrinter");
11360 if (flags & NDR_SET_VALUES) {
11361 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11363 if (flags & NDR_IN) {
11364 ndr_print_struct(ndr, "in", "spoolss_EndDocPrinter");
11366 ndr_print_ptr(ndr, "handle", r->in.handle);
11368 ndr_print_policy_handle(ndr, "handle", r->in.handle);
11372 if (flags & NDR_OUT) {
11373 ndr_print_struct(ndr, "out", "spoolss_EndDocPrinter");
11375 ndr_print_WERROR(ndr, "result", r->out.result);
11381 static enum ndr_err_code ndr_push_spoolss_AddJob(struct ndr_push *ndr, int flags, const struct spoolss_AddJob *r)
11383 if (flags & NDR_IN) {
11385 if (flags & NDR_OUT) {
11386 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11388 return NDR_ERR_SUCCESS;
11391 static enum ndr_err_code ndr_pull_spoolss_AddJob(struct ndr_pull *ndr, int flags, struct spoolss_AddJob *r)
11393 if (flags & NDR_IN) {
11395 if (flags & NDR_OUT) {
11396 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11398 return NDR_ERR_SUCCESS;
11401 _PUBLIC_ void ndr_print_spoolss_AddJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddJob *r)
11403 ndr_print_struct(ndr, name, "spoolss_AddJob");
11405 if (flags & NDR_SET_VALUES) {
11406 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11408 if (flags & NDR_IN) {
11409 ndr_print_struct(ndr, "in", "spoolss_AddJob");
11413 if (flags & NDR_OUT) {
11414 ndr_print_struct(ndr, "out", "spoolss_AddJob");
11416 ndr_print_WERROR(ndr, "result", r->out.result);
11422 static enum ndr_err_code ndr_push_spoolss_ScheduleJob(struct ndr_push *ndr, int flags, const struct spoolss_ScheduleJob *r)
11424 if (flags & NDR_IN) {
11426 if (flags & NDR_OUT) {
11427 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11429 return NDR_ERR_SUCCESS;
11432 static enum ndr_err_code ndr_pull_spoolss_ScheduleJob(struct ndr_pull *ndr, int flags, struct spoolss_ScheduleJob *r)
11434 if (flags & NDR_IN) {
11436 if (flags & NDR_OUT) {
11437 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11439 return NDR_ERR_SUCCESS;
11442 _PUBLIC_ void ndr_print_spoolss_ScheduleJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ScheduleJob *r)
11444 ndr_print_struct(ndr, name, "spoolss_ScheduleJob");
11446 if (flags & NDR_SET_VALUES) {
11447 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11449 if (flags & NDR_IN) {
11450 ndr_print_struct(ndr, "in", "spoolss_ScheduleJob");
11454 if (flags & NDR_OUT) {
11455 ndr_print_struct(ndr, "out", "spoolss_ScheduleJob");
11457 ndr_print_WERROR(ndr, "result", r->out.result);
11463 _PUBLIC_ enum ndr_err_code ndr_push__spoolss_GetPrinterData(struct ndr_push *ndr, int flags, const struct _spoolss_GetPrinterData *r)
11465 if (flags & NDR_IN) {
11466 if (r->in.handle == NULL) {
11467 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11469 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11470 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
11471 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11472 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
11473 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));
11474 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
11476 if (flags & NDR_OUT) {
11477 NDR_CHECK(ndr_push_spoolss_PrinterDataType(ndr, NDR_SCALARS, r->out.type));
11478 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->out.data));
11479 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.needed));
11480 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11482 return NDR_ERR_SUCCESS;
11485 _PUBLIC_ enum ndr_err_code ndr_pull__spoolss_GetPrinterData(struct ndr_pull *ndr, int flags, struct _spoolss_GetPrinterData *r)
11487 TALLOC_CTX *_mem_save_handle_0;
11488 if (flags & NDR_IN) {
11489 ZERO_STRUCT(r->out);
11491 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11492 NDR_PULL_ALLOC(ndr, r->in.handle);
11494 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11495 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
11496 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11497 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
11498 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
11499 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
11500 if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
11501 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));
11503 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
11504 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));
11505 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
11507 if (flags & NDR_OUT) {
11508 NDR_CHECK(ndr_pull_spoolss_PrinterDataType(ndr, NDR_SCALARS, &r->out.type));
11509 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->out.data));
11510 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.needed));
11511 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11513 return NDR_ERR_SUCCESS;
11516 _PUBLIC_ enum ndr_err_code ndr_push___spoolss_GetPrinterData(struct ndr_push *ndr, int flags, const struct __spoolss_GetPrinterData *r)
11518 if (flags & NDR_IN) {
11519 NDR_CHECK(ndr_push_spoolss_PrinterDataType(ndr, NDR_SCALARS, r->in.type));
11521 if (flags & NDR_OUT) {
11522 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.data, r->in.type));
11523 NDR_CHECK(ndr_push_spoolss_PrinterData(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.data));
11525 return NDR_ERR_SUCCESS;
11528 _PUBLIC_ enum ndr_err_code ndr_pull___spoolss_GetPrinterData(struct ndr_pull *ndr, int flags, struct __spoolss_GetPrinterData *r)
11530 if (flags & NDR_IN) {
11531 ZERO_STRUCT(r->out);
11533 NDR_CHECK(ndr_pull_spoolss_PrinterDataType(ndr, NDR_SCALARS, &r->in.type));
11535 if (flags & NDR_OUT) {
11536 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.data, r->in.type));
11537 NDR_CHECK(ndr_pull_spoolss_PrinterData(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.data));
11539 return NDR_ERR_SUCCESS;
11542 _PUBLIC_ void ndr_print_spoolss_GetPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterData *r)
11544 ndr_print_struct(ndr, name, "spoolss_GetPrinterData");
11546 if (flags & NDR_SET_VALUES) {
11547 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11549 if (flags & NDR_IN) {
11550 ndr_print_struct(ndr, "in", "spoolss_GetPrinterData");
11552 ndr_print_ptr(ndr, "handle", r->in.handle);
11554 ndr_print_policy_handle(ndr, "handle", r->in.handle);
11556 ndr_print_string(ndr, "value_name", r->in.value_name);
11557 ndr_print_uint32(ndr, "offered", r->in.offered);
11560 if (flags & NDR_OUT) {
11561 ndr_print_struct(ndr, "out", "spoolss_GetPrinterData");
11563 ndr_print_spoolss_PrinterDataType(ndr, "type", r->out.type);
11564 ndr_print_set_switch_value(ndr, &r->out.data, r->out.type);
11565 ndr_print_spoolss_PrinterData(ndr, "data", &r->out.data);
11566 ndr_print_uint32(ndr, "needed", r->out.needed);
11567 ndr_print_WERROR(ndr, "result", r->out.result);
11573 _PUBLIC_ enum ndr_err_code ndr_push__spoolss_SetPrinterData(struct ndr_push *ndr, int flags, const struct _spoolss_SetPrinterData *r)
11575 if (flags & NDR_IN) {
11576 if (r->in.handle == NULL) {
11577 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11579 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
11581 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11582 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
11583 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));
11584 NDR_CHECK(ndr_push_spoolss_PrinterDataType(ndr, NDR_SCALARS, r->in.type));
11585 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.data));
11586 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in._offered));
11588 if (flags & NDR_OUT) {
11589 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11591 return NDR_ERR_SUCCESS;
11594 _PUBLIC_ enum ndr_err_code ndr_push___spoolss_SetPrinterData(struct ndr_push *ndr, int flags, const struct __spoolss_SetPrinterData *r)
11596 if (flags & NDR_IN) {
11597 NDR_CHECK(ndr_push_spoolss_PrinterDataType(ndr, NDR_SCALARS, r->in.type));
11599 if (flags & NDR_OUT) {
11600 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.data, r->in.type));
11601 NDR_CHECK(ndr_push_spoolss_PrinterData(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.data));
11603 return NDR_ERR_SUCCESS;
11606 static enum ndr_err_code ndr_pull_spoolss_SetPrinterData(struct ndr_pull *ndr, int flags, struct spoolss_SetPrinterData *r)
11608 TALLOC_CTX *_mem_save_handle_0;
11609 if (flags & NDR_IN) {
11610 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11611 NDR_PULL_ALLOC(ndr, r->in.handle);
11613 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11614 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
11615 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11616 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
11617 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
11618 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
11619 if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
11620 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));
11622 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
11623 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));
11624 NDR_CHECK(ndr_pull_spoolss_PrinterDataType(ndr, NDR_SCALARS, &r->in.type));
11626 struct ndr_pull *_ndr_data;
11627 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_data, 4, -1));
11628 NDR_CHECK(ndr_pull_set_switch_value(_ndr_data, &r->in.data, r->in.type));
11629 NDR_CHECK(ndr_pull_spoolss_PrinterData(_ndr_data, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
11630 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_data, 4, -1));
11632 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in._offered));
11634 if (flags & NDR_OUT) {
11635 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11637 return NDR_ERR_SUCCESS;
11640 _PUBLIC_ void ndr_print_spoolss_SetPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinterData *r)
11642 ndr_print_struct(ndr, name, "spoolss_SetPrinterData");
11644 if (flags & NDR_SET_VALUES) {
11645 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11647 if (flags & NDR_IN) {
11648 ndr_print_struct(ndr, "in", "spoolss_SetPrinterData");
11650 ndr_print_ptr(ndr, "handle", r->in.handle);
11652 ndr_print_policy_handle(ndr, "handle", r->in.handle);
11654 ndr_print_string(ndr, "value_name", r->in.value_name);
11655 ndr_print_spoolss_PrinterDataType(ndr, "type", r->in.type);
11656 ndr_print_set_switch_value(ndr, &r->in.data, r->in.type);
11657 ndr_print_spoolss_PrinterData(ndr, "data", &r->in.data);
11658 ndr_print_uint32(ndr, "_offered", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_spoolss_PrinterData(&r->in.data, r->in.type, ndr->iconv_convenience, flags):r->in._offered);
11661 if (flags & NDR_OUT) {
11662 ndr_print_struct(ndr, "out", "spoolss_SetPrinterData");
11664 ndr_print_WERROR(ndr, "result", r->out.result);
11670 static enum ndr_err_code ndr_push_spoolss_WaitForPrinterChange(struct ndr_push *ndr, int flags, const struct spoolss_WaitForPrinterChange *r)
11672 if (flags & NDR_IN) {
11674 if (flags & NDR_OUT) {
11675 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11677 return NDR_ERR_SUCCESS;
11680 static enum ndr_err_code ndr_pull_spoolss_WaitForPrinterChange(struct ndr_pull *ndr, int flags, struct spoolss_WaitForPrinterChange *r)
11682 if (flags & NDR_IN) {
11684 if (flags & NDR_OUT) {
11685 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11687 return NDR_ERR_SUCCESS;
11690 _PUBLIC_ void ndr_print_spoolss_WaitForPrinterChange(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_WaitForPrinterChange *r)
11692 ndr_print_struct(ndr, name, "spoolss_WaitForPrinterChange");
11694 if (flags & NDR_SET_VALUES) {
11695 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11697 if (flags & NDR_IN) {
11698 ndr_print_struct(ndr, "in", "spoolss_WaitForPrinterChange");
11702 if (flags & NDR_OUT) {
11703 ndr_print_struct(ndr, "out", "spoolss_WaitForPrinterChange");
11705 ndr_print_WERROR(ndr, "result", r->out.result);
11711 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_ClosePrinter(struct ndr_push *ndr, int flags, const struct spoolss_ClosePrinter *r)
11713 if (flags & NDR_IN) {
11714 if (r->in.handle == NULL) {
11715 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11717 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11719 if (flags & NDR_OUT) {
11720 if (r->out.handle == NULL) {
11721 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11723 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
11724 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11726 return NDR_ERR_SUCCESS;
11729 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_ClosePrinter(struct ndr_pull *ndr, int flags, struct spoolss_ClosePrinter *r)
11731 TALLOC_CTX *_mem_save_handle_0;
11732 if (flags & NDR_IN) {
11733 ZERO_STRUCT(r->out);
11735 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11736 NDR_PULL_ALLOC(ndr, r->in.handle);
11738 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11739 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
11740 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11741 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
11742 NDR_PULL_ALLOC(ndr, r->out.handle);
11743 *r->out.handle = *r->in.handle;
11745 if (flags & NDR_OUT) {
11746 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11747 NDR_PULL_ALLOC(ndr, r->out.handle);
11749 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11750 NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
11751 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
11752 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
11753 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11755 return NDR_ERR_SUCCESS;
11758 _PUBLIC_ void ndr_print_spoolss_ClosePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ClosePrinter *r)
11760 ndr_print_struct(ndr, name, "spoolss_ClosePrinter");
11762 if (flags & NDR_SET_VALUES) {
11763 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11765 if (flags & NDR_IN) {
11766 ndr_print_struct(ndr, "in", "spoolss_ClosePrinter");
11768 ndr_print_ptr(ndr, "handle", r->in.handle);
11770 ndr_print_policy_handle(ndr, "handle", r->in.handle);
11774 if (flags & NDR_OUT) {
11775 ndr_print_struct(ndr, "out", "spoolss_ClosePrinter");
11777 ndr_print_ptr(ndr, "handle", r->out.handle);
11779 ndr_print_policy_handle(ndr, "handle", r->out.handle);
11781 ndr_print_WERROR(ndr, "result", r->out.result);
11787 static enum ndr_err_code ndr_push_spoolss_AddForm(struct ndr_push *ndr, int flags, const struct spoolss_AddForm *r)
11789 if (flags & NDR_IN) {
11790 if (r->in.handle == NULL) {
11791 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11793 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11794 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11795 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level));
11796 NDR_CHECK(ndr_push_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
11798 if (flags & NDR_OUT) {
11799 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11801 return NDR_ERR_SUCCESS;
11804 static enum ndr_err_code ndr_pull_spoolss_AddForm(struct ndr_pull *ndr, int flags, struct spoolss_AddForm *r)
11806 TALLOC_CTX *_mem_save_handle_0;
11807 if (flags & NDR_IN) {
11808 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11809 NDR_PULL_ALLOC(ndr, r->in.handle);
11811 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11812 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
11813 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11814 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
11815 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11816 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level));
11817 NDR_CHECK(ndr_pull_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
11819 if (flags & NDR_OUT) {
11820 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11822 return NDR_ERR_SUCCESS;
11825 _PUBLIC_ void ndr_print_spoolss_AddForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddForm *r)
11827 ndr_print_struct(ndr, name, "spoolss_AddForm");
11829 if (flags & NDR_SET_VALUES) {
11830 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11832 if (flags & NDR_IN) {
11833 ndr_print_struct(ndr, "in", "spoolss_AddForm");
11835 ndr_print_ptr(ndr, "handle", r->in.handle);
11837 ndr_print_policy_handle(ndr, "handle", r->in.handle);
11839 ndr_print_uint32(ndr, "level", r->in.level);
11840 ndr_print_set_switch_value(ndr, &r->in.info, r->in.level);
11841 ndr_print_spoolss_AddFormInfo(ndr, "info", &r->in.info);
11844 if (flags & NDR_OUT) {
11845 ndr_print_struct(ndr, "out", "spoolss_AddForm");
11847 ndr_print_WERROR(ndr, "result", r->out.result);
11853 static enum ndr_err_code ndr_push_spoolss_DeleteForm(struct ndr_push *ndr, int flags, const struct spoolss_DeleteForm *r)
11855 if (flags & NDR_IN) {
11856 if (r->in.handle == NULL) {
11857 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11859 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11860 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
11861 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11862 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
11863 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));
11865 if (flags & NDR_OUT) {
11866 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11868 return NDR_ERR_SUCCESS;
11871 static enum ndr_err_code ndr_pull_spoolss_DeleteForm(struct ndr_pull *ndr, int flags, struct spoolss_DeleteForm *r)
11873 TALLOC_CTX *_mem_save_handle_0;
11874 if (flags & NDR_IN) {
11875 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11876 NDR_PULL_ALLOC(ndr, r->in.handle);
11878 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11879 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
11880 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11881 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
11882 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.form_name));
11883 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.form_name));
11884 if (ndr_get_array_length(ndr, &r->in.form_name) > ndr_get_array_size(ndr, &r->in.form_name)) {
11885 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));
11887 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t)));
11888 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));
11890 if (flags & NDR_OUT) {
11891 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11893 return NDR_ERR_SUCCESS;
11896 _PUBLIC_ void ndr_print_spoolss_DeleteForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeleteForm *r)
11898 ndr_print_struct(ndr, name, "spoolss_DeleteForm");
11900 if (flags & NDR_SET_VALUES) {
11901 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11903 if (flags & NDR_IN) {
11904 ndr_print_struct(ndr, "in", "spoolss_DeleteForm");
11906 ndr_print_ptr(ndr, "handle", r->in.handle);
11908 ndr_print_policy_handle(ndr, "handle", r->in.handle);
11910 ndr_print_string(ndr, "form_name", r->in.form_name);
11913 if (flags & NDR_OUT) {
11914 ndr_print_struct(ndr, "out", "spoolss_DeleteForm");
11916 ndr_print_WERROR(ndr, "result", r->out.result);
11922 static enum ndr_err_code ndr_push_spoolss_GetForm(struct ndr_push *ndr, int flags, const struct spoolss_GetForm *r)
11924 if (flags & NDR_IN) {
11925 if (r->in.handle == NULL) {
11926 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11928 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11929 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
11930 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11931 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
11932 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));
11933 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11934 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
11935 if (r->in.buffer) {
11936 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
11938 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
11940 if (flags & NDR_OUT) {
11941 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
11944 struct ndr_push *_ndr_info;
11945 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
11946 NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level));
11947 NDR_CHECK(ndr_push_spoolss_FormInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
11948 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
11951 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.needed));
11952 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11954 return NDR_ERR_SUCCESS;
11957 static enum ndr_err_code ndr_pull_spoolss_GetForm(struct ndr_pull *ndr, int flags, struct spoolss_GetForm *r)
11959 uint32_t _ptr_buffer;
11960 uint32_t _ptr_info;
11961 TALLOC_CTX *_mem_save_handle_0;
11962 TALLOC_CTX *_mem_save_buffer_0;
11963 TALLOC_CTX *_mem_save_info_0;
11964 if (flags & NDR_IN) {
11965 ZERO_STRUCT(r->out);
11967 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11968 NDR_PULL_ALLOC(ndr, r->in.handle);
11970 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11971 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
11972 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11973 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
11974 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.form_name));
11975 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.form_name));
11976 if (ndr_get_array_length(ndr, &r->in.form_name) > ndr_get_array_size(ndr, &r->in.form_name)) {
11977 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));
11979 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t)));
11980 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));
11981 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11982 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
11984 NDR_PULL_ALLOC(ndr, r->in.buffer);
11986 r->in.buffer = NULL;
11988 if (r->in.buffer) {
11989 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
11990 NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
11991 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
11992 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
11994 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
11996 if (flags & NDR_OUT) {
11997 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
11999 NDR_PULL_ALLOC(ndr, r->out.info);
12001 r->out.info = NULL;
12004 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12005 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
12007 struct ndr_pull *_ndr_info;
12008 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered));
12009 NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level));
12010 NDR_CHECK(ndr_pull_spoolss_FormInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info));
12011 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered));
12013 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
12015 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.needed));
12016 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12018 return NDR_ERR_SUCCESS;
12021 _PUBLIC_ void ndr_print_spoolss_GetForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetForm *r)
12023 ndr_print_struct(ndr, name, "spoolss_GetForm");
12025 if (flags & NDR_SET_VALUES) {
12026 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12028 if (flags & NDR_IN) {
12029 ndr_print_struct(ndr, "in", "spoolss_GetForm");
12031 ndr_print_ptr(ndr, "handle", r->in.handle);
12033 ndr_print_policy_handle(ndr, "handle", r->in.handle);
12035 ndr_print_string(ndr, "form_name", r->in.form_name);
12036 ndr_print_uint32(ndr, "level", r->in.level);
12037 ndr_print_ptr(ndr, "buffer", r->in.buffer);
12039 if (r->in.buffer) {
12040 ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
12043 ndr_print_uint32(ndr, "offered", r->in.offered);
12046 if (flags & NDR_OUT) {
12047 ndr_print_struct(ndr, "out", "spoolss_GetForm");
12049 ndr_print_ptr(ndr, "info", r->out.info);
12052 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
12053 ndr_print_spoolss_FormInfo(ndr, "info", r->out.info);
12056 ndr_print_uint32(ndr, "needed", r->out.needed);
12057 ndr_print_WERROR(ndr, "result", r->out.result);
12063 static enum ndr_err_code ndr_push_spoolss_SetForm(struct ndr_push *ndr, int flags, const struct spoolss_SetForm *r)
12065 if (flags & NDR_IN) {
12066 if (r->in.handle == NULL) {
12067 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12069 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
12070 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
12071 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12072 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16)));
12073 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));
12074 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12075 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level));
12076 NDR_CHECK(ndr_push_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
12078 if (flags & NDR_OUT) {
12079 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12081 return NDR_ERR_SUCCESS;
12084 static enum ndr_err_code ndr_pull_spoolss_SetForm(struct ndr_pull *ndr, int flags, struct spoolss_SetForm *r)
12086 TALLOC_CTX *_mem_save_handle_0;
12087 if (flags & NDR_IN) {
12088 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12089 NDR_PULL_ALLOC(ndr, r->in.handle);
12091 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12092 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
12093 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
12094 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
12095 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.form_name));
12096 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.form_name));
12097 if (ndr_get_array_length(ndr, &r->in.form_name) > ndr_get_array_size(ndr, &r->in.form_name)) {
12098 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));
12100 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t)));
12101 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));
12102 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12103 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level));
12104 NDR_CHECK(ndr_pull_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
12106 if (flags & NDR_OUT) {
12107 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12109 return NDR_ERR_SUCCESS;
12112 _PUBLIC_ void ndr_print_spoolss_SetForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetForm *r)
12114 ndr_print_struct(ndr, name, "spoolss_SetForm");
12116 if (flags & NDR_SET_VALUES) {
12117 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12119 if (flags & NDR_IN) {
12120 ndr_print_struct(ndr, "in", "spoolss_SetForm");
12122 ndr_print_ptr(ndr, "handle", r->in.handle);
12124 ndr_print_policy_handle(ndr, "handle", r->in.handle);
12126 ndr_print_string(ndr, "form_name", r->in.form_name);
12127 ndr_print_uint32(ndr, "level", r->in.level);
12128 ndr_print_set_switch_value(ndr, &r->in.info, r->in.level);
12129 ndr_print_spoolss_AddFormInfo(ndr, "info", &r->in.info);
12132 if (flags & NDR_OUT) {
12133 ndr_print_struct(ndr, "out", "spoolss_SetForm");
12135 ndr_print_WERROR(ndr, "result", r->out.result);
12141 _PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumForms(struct ndr_push *ndr, int flags, const struct _spoolss_EnumForms *r)
12143 if (flags & NDR_IN) {
12144 if (r->in.handle == NULL) {
12145 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12147 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
12148 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12149 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
12150 if (r->in.buffer) {
12151 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
12153 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
12155 if (flags & NDR_OUT) {
12156 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
12158 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
12160 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.needed));
12161 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.count));
12162 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12164 return NDR_ERR_SUCCESS;
12167 _PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumForms(struct ndr_pull *ndr, int flags, struct _spoolss_EnumForms *r)
12169 uint32_t _ptr_buffer;
12170 uint32_t _ptr_info;
12171 TALLOC_CTX *_mem_save_handle_0;
12172 TALLOC_CTX *_mem_save_buffer_0;
12173 TALLOC_CTX *_mem_save_info_0;
12174 if (flags & NDR_IN) {
12175 ZERO_STRUCT(r->out);
12177 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12178 NDR_PULL_ALLOC(ndr, r->in.handle);
12180 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12181 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
12182 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
12183 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
12184 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12185 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
12187 NDR_PULL_ALLOC(ndr, r->in.buffer);
12189 r->in.buffer = NULL;
12191 if (r->in.buffer) {
12192 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
12193 NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
12194 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
12195 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
12197 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
12199 if (flags & NDR_OUT) {
12200 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12202 NDR_PULL_ALLOC(ndr, r->out.info);
12204 r->out.info = NULL;
12207 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12208 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
12209 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
12210 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
12212 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.needed));
12213 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.count));
12214 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12216 return NDR_ERR_SUCCESS;
12219 _PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumForms(struct ndr_push *ndr, int flags, const struct __spoolss_EnumForms *r)
12221 uint32_t cntr_info_0;
12222 if (flags & NDR_IN) {
12223 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12224 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
12226 if (flags & NDR_OUT) {
12227 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
12228 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
12229 NDR_CHECK(ndr_push_spoolss_FormInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
12231 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
12232 NDR_CHECK(ndr_push_spoolss_FormInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
12235 return NDR_ERR_SUCCESS;
12238 _PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumForms(struct ndr_pull *ndr, int flags, struct __spoolss_EnumForms *r)
12240 uint32_t cntr_info_0;
12241 TALLOC_CTX *_mem_save_info_0;
12242 if (flags & NDR_IN) {
12243 ZERO_STRUCT(r->out);
12245 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12246 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
12248 if (flags & NDR_OUT) {
12249 NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
12250 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12251 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
12252 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
12253 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
12254 NDR_CHECK(ndr_pull_spoolss_FormInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
12256 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
12257 NDR_CHECK(ndr_pull_spoolss_FormInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
12259 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
12261 return NDR_ERR_SUCCESS;
12264 _PUBLIC_ void ndr_print_spoolss_EnumForms(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumForms *r)
12266 uint32_t cntr_info_1;
12267 ndr_print_struct(ndr, name, "spoolss_EnumForms");
12269 if (flags & NDR_SET_VALUES) {
12270 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12272 if (flags & NDR_IN) {
12273 ndr_print_struct(ndr, "in", "spoolss_EnumForms");
12275 ndr_print_ptr(ndr, "handle", r->in.handle);
12277 ndr_print_policy_handle(ndr, "handle", r->in.handle);
12279 ndr_print_uint32(ndr, "level", r->in.level);
12280 ndr_print_ptr(ndr, "buffer", r->in.buffer);
12282 if (r->in.buffer) {
12283 ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
12286 ndr_print_uint32(ndr, "offered", r->in.offered);
12289 if (flags & NDR_OUT) {
12290 ndr_print_struct(ndr, "out", "spoolss_EnumForms");
12292 ndr_print_ptr(ndr, "info", r->out.info);
12295 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->out.count);
12297 for (cntr_info_1=0;cntr_info_1<r->out.count;cntr_info_1++) {
12299 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
12300 ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_1], r->in.level);
12301 ndr_print_spoolss_FormInfo(ndr, "info", &r->out.info[cntr_info_1]);
12308 ndr_print_uint32(ndr, "needed", r->out.needed);
12309 ndr_print_uint32(ndr, "count", r->out.count);
12310 ndr_print_WERROR(ndr, "result", r->out.result);
12316 _PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPorts(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPorts *r)
12318 if (flags & NDR_IN) {
12319 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
12320 if (r->in.servername) {
12321 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
12322 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12323 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
12324 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12326 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12327 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
12328 if (r->in.buffer) {
12329 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
12331 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
12333 if (flags & NDR_OUT) {
12334 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
12336 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
12338 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.needed));
12339 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.count));
12340 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12342 return NDR_ERR_SUCCESS;
12345 _PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPorts(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPorts *r)
12347 uint32_t _ptr_servername;
12348 uint32_t _ptr_buffer;
12349 uint32_t _ptr_info;
12350 TALLOC_CTX *_mem_save_servername_0;
12351 TALLOC_CTX *_mem_save_buffer_0;
12352 TALLOC_CTX *_mem_save_info_0;
12353 if (flags & NDR_IN) {
12354 ZERO_STRUCT(r->out);
12356 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
12357 if (_ptr_servername) {
12358 NDR_PULL_ALLOC(ndr, r->in.servername);
12360 r->in.servername = NULL;
12362 if (r->in.servername) {
12363 _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
12364 NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
12365 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
12366 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
12367 if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
12368 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));
12370 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
12371 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
12372 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
12374 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12375 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
12377 NDR_PULL_ALLOC(ndr, r->in.buffer);
12379 r->in.buffer = NULL;
12381 if (r->in.buffer) {
12382 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
12383 NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
12384 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
12385 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
12387 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
12389 if (flags & NDR_OUT) {
12390 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12392 NDR_PULL_ALLOC(ndr, r->out.info);
12394 r->out.info = NULL;
12397 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12398 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
12399 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
12400 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
12402 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.needed));
12403 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.count));
12404 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12406 return NDR_ERR_SUCCESS;
12409 _PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPorts(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPorts *r)
12411 uint32_t cntr_info_0;
12412 if (flags & NDR_IN) {
12413 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12414 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
12416 if (flags & NDR_OUT) {
12417 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
12418 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
12419 NDR_CHECK(ndr_push_spoolss_PortInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
12421 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
12422 NDR_CHECK(ndr_push_spoolss_PortInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
12425 return NDR_ERR_SUCCESS;
12428 _PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPorts(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPorts *r)
12430 uint32_t cntr_info_0;
12431 TALLOC_CTX *_mem_save_info_0;
12432 if (flags & NDR_IN) {
12433 ZERO_STRUCT(r->out);
12435 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12436 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
12438 if (flags & NDR_OUT) {
12439 NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
12440 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12441 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
12442 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
12443 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
12444 NDR_CHECK(ndr_pull_spoolss_PortInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
12446 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
12447 NDR_CHECK(ndr_pull_spoolss_PortInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
12449 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
12451 return NDR_ERR_SUCCESS;
12454 _PUBLIC_ void ndr_print_spoolss_EnumPorts(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPorts *r)
12456 uint32_t cntr_info_1;
12457 ndr_print_struct(ndr, name, "spoolss_EnumPorts");
12459 if (flags & NDR_SET_VALUES) {
12460 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12462 if (flags & NDR_IN) {
12463 ndr_print_struct(ndr, "in", "spoolss_EnumPorts");
12465 ndr_print_ptr(ndr, "servername", r->in.servername);
12467 if (r->in.servername) {
12468 ndr_print_string(ndr, "servername", r->in.servername);
12471 ndr_print_uint32(ndr, "level", r->in.level);
12472 ndr_print_ptr(ndr, "buffer", r->in.buffer);
12474 if (r->in.buffer) {
12475 ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
12478 ndr_print_uint32(ndr, "offered", r->in.offered);
12481 if (flags & NDR_OUT) {
12482 ndr_print_struct(ndr, "out", "spoolss_EnumPorts");
12484 ndr_print_ptr(ndr, "info", r->out.info);
12487 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->out.count);
12489 for (cntr_info_1=0;cntr_info_1<r->out.count;cntr_info_1++) {
12491 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
12492 ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_1], r->in.level);
12493 ndr_print_spoolss_PortInfo(ndr, "info", &r->out.info[cntr_info_1]);
12500 ndr_print_uint32(ndr, "needed", r->out.needed);
12501 ndr_print_uint32(ndr, "count", r->out.count);
12502 ndr_print_WERROR(ndr, "result", r->out.result);
12508 _PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumMonitors(struct ndr_push *ndr, int flags, const struct _spoolss_EnumMonitors *r)
12510 if (flags & NDR_IN) {
12511 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername));
12512 if (r->in.servername) {
12513 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
12514 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
12516 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12518 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12519 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
12520 if (r->in.buffer) {
12521 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
12523 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
12525 if (flags & NDR_OUT) {
12526 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
12528 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
12530 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.needed));
12531 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.count));
12532 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12534 return NDR_ERR_SUCCESS;
12537 _PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumMonitors(struct ndr_pull *ndr, int flags, struct _spoolss_EnumMonitors *r)
12539 uint32_t _ptr_servername;
12540 uint32_t _ptr_buffer;
12541 uint32_t _ptr_info;
12542 TALLOC_CTX *_mem_save_servername_0;
12543 TALLOC_CTX *_mem_save_buffer_0;
12544 TALLOC_CTX *_mem_save_info_0;
12545 if (flags & NDR_IN) {
12546 ZERO_STRUCT(r->out);
12548 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
12549 if (_ptr_servername) {
12550 NDR_PULL_ALLOC(ndr, r->in.servername);
12552 r->in.servername = NULL;
12554 if (r->in.servername) {
12555 _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr);
12556 NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
12557 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
12558 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
12559 if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
12560 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));
12562 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
12563 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
12564 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
12566 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12567 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
12569 NDR_PULL_ALLOC(ndr, r->in.buffer);
12571 r->in.buffer = NULL;
12573 if (r->in.buffer) {
12574 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
12575 NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
12576 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
12577 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
12579 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
12581 if (flags & NDR_OUT) {
12582 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12584 NDR_PULL_ALLOC(ndr, r->out.info);
12586 r->out.info = NULL;
12589 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12590 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
12591 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
12592 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
12594 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.needed));
12595 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.count));
12596 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12598 return NDR_ERR_SUCCESS;
12601 _PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumMonitors(struct ndr_push *ndr, int flags, const struct __spoolss_EnumMonitors *r)
12603 uint32_t cntr_info_0;
12604 if (flags & NDR_IN) {
12605 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12606 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
12608 if (flags & NDR_OUT) {
12609 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
12610 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
12611 NDR_CHECK(ndr_push_spoolss_MonitorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
12613 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
12614 NDR_CHECK(ndr_push_spoolss_MonitorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
12617 return NDR_ERR_SUCCESS;
12620 _PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumMonitors(struct ndr_pull *ndr, int flags, struct __spoolss_EnumMonitors *r)
12622 uint32_t cntr_info_0;
12623 TALLOC_CTX *_mem_save_info_0;
12624 if (flags & NDR_IN) {
12625 ZERO_STRUCT(r->out);
12627 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12628 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
12630 if (flags & NDR_OUT) {
12631 NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count);
12632 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12633 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
12634 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
12635 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level));
12636 NDR_CHECK(ndr_pull_spoolss_MonitorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0]));
12638 for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) {
12639 NDR_CHECK(ndr_pull_spoolss_MonitorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0]));
12641 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
12643 return NDR_ERR_SUCCESS;
12646 _PUBLIC_ void ndr_print_spoolss_EnumMonitors(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumMonitors *r)
12648 uint32_t cntr_info_1;
12649 ndr_print_struct(ndr, name, "spoolss_EnumMonitors");
12651 if (flags & NDR_SET_VALUES) {
12652 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12654 if (flags & NDR_IN) {
12655 ndr_print_struct(ndr, "in", "spoolss_EnumMonitors");
12657 ndr_print_ptr(ndr, "servername", r->in.servername);
12659 if (r->in.servername) {
12660 ndr_print_string(ndr, "servername", r->in.servername);
12663 ndr_print_uint32(ndr, "level", r->in.level);
12664 ndr_print_ptr(ndr, "buffer", r->in.buffer);
12666 if (r->in.buffer) {
12667 ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
12670 ndr_print_uint32(ndr, "offered", r->in.offered);
12673 if (flags & NDR_OUT) {
12674 ndr_print_struct(ndr, "out", "spoolss_EnumMonitors");
12676 ndr_print_ptr(ndr, "info", r->out.info);
12679 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->out.count);
12681 for (cntr_info_1=0;cntr_info_1<r->out.count;cntr_info_1++) {
12683 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
12684 ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_1], r->in.level);
12685 ndr_print_spoolss_MonitorInfo(ndr, "info", &r->out.info[cntr_info_1]);
12692 ndr_print_uint32(ndr, "needed", r->out.needed);
12693 ndr_print_uint32(ndr, "count", r->out.count);
12694 ndr_print_WERROR(ndr, "result", r->out.result);
12700 static enum ndr_err_code ndr_push_spoolss_AddPort(struct ndr_push *ndr, int flags, const struct spoolss_AddPort *r)
12702 if (flags & NDR_IN) {
12703 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12704 if (r->in.server_name) {
12705 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12706 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12707 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12708 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));
12710 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
12711 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.monitor_name, CH_UTF16)));
12712 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12713 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.monitor_name, CH_UTF16)));
12714 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));
12716 if (flags & NDR_OUT) {
12717 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12719 return NDR_ERR_SUCCESS;
12722 static enum ndr_err_code ndr_pull_spoolss_AddPort(struct ndr_pull *ndr, int flags, struct spoolss_AddPort *r)
12724 uint32_t _ptr_server_name;
12725 TALLOC_CTX *_mem_save_server_name_0;
12726 if (flags & NDR_IN) {
12727 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12728 if (_ptr_server_name) {
12729 NDR_PULL_ALLOC(ndr, r->in.server_name);
12731 r->in.server_name = NULL;
12733 if (r->in.server_name) {
12734 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12735 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12736 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12737 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12738 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12739 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));
12741 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12742 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));
12743 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12745 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
12746 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.monitor_name));
12747 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.monitor_name));
12748 if (ndr_get_array_length(ndr, &r->in.monitor_name) > ndr_get_array_size(ndr, &r->in.monitor_name)) {
12749 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));
12751 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.monitor_name), sizeof(uint16_t)));
12752 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));
12754 if (flags & NDR_OUT) {
12755 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12757 return NDR_ERR_SUCCESS;
12760 _PUBLIC_ void ndr_print_spoolss_AddPort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPort *r)
12762 ndr_print_struct(ndr, name, "spoolss_AddPort");
12764 if (flags & NDR_SET_VALUES) {
12765 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12767 if (flags & NDR_IN) {
12768 ndr_print_struct(ndr, "in", "spoolss_AddPort");
12770 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12772 if (r->in.server_name) {
12773 ndr_print_string(ndr, "server_name", r->in.server_name);
12776 ndr_print_uint32(ndr, "unknown", r->in.unknown);
12777 ndr_print_string(ndr, "monitor_name", r->in.monitor_name);
12780 if (flags & NDR_OUT) {
12781 ndr_print_struct(ndr, "out", "spoolss_AddPort");
12783 ndr_print_WERROR(ndr, "result", r->out.result);
12789 static enum ndr_err_code ndr_push_spoolss_ConfigurePort(struct ndr_push *ndr, int flags, const struct spoolss_ConfigurePort *r)
12791 if (flags & NDR_IN) {
12793 if (flags & NDR_OUT) {
12794 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12796 return NDR_ERR_SUCCESS;
12799 static enum ndr_err_code ndr_pull_spoolss_ConfigurePort(struct ndr_pull *ndr, int flags, struct spoolss_ConfigurePort *r)
12801 if (flags & NDR_IN) {
12803 if (flags & NDR_OUT) {
12804 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12806 return NDR_ERR_SUCCESS;
12809 _PUBLIC_ void ndr_print_spoolss_ConfigurePort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ConfigurePort *r)
12811 ndr_print_struct(ndr, name, "spoolss_ConfigurePort");
12813 if (flags & NDR_SET_VALUES) {
12814 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12816 if (flags & NDR_IN) {
12817 ndr_print_struct(ndr, "in", "spoolss_ConfigurePort");
12821 if (flags & NDR_OUT) {
12822 ndr_print_struct(ndr, "out", "spoolss_ConfigurePort");
12824 ndr_print_WERROR(ndr, "result", r->out.result);
12830 static enum ndr_err_code ndr_push_spoolss_DeletePort(struct ndr_push *ndr, int flags, const struct spoolss_DeletePort *r)
12832 if (flags & NDR_IN) {
12834 if (flags & NDR_OUT) {
12835 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12837 return NDR_ERR_SUCCESS;
12840 static enum ndr_err_code ndr_pull_spoolss_DeletePort(struct ndr_pull *ndr, int flags, struct spoolss_DeletePort *r)
12842 if (flags & NDR_IN) {
12844 if (flags & NDR_OUT) {
12845 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12847 return NDR_ERR_SUCCESS;
12850 _PUBLIC_ void ndr_print_spoolss_DeletePort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePort *r)
12852 ndr_print_struct(ndr, name, "spoolss_DeletePort");
12854 if (flags & NDR_SET_VALUES) {
12855 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12857 if (flags & NDR_IN) {
12858 ndr_print_struct(ndr, "in", "spoolss_DeletePort");
12862 if (flags & NDR_OUT) {
12863 ndr_print_struct(ndr, "out", "spoolss_DeletePort");
12865 ndr_print_WERROR(ndr, "result", r->out.result);
12871 static enum ndr_err_code ndr_push_spoolss_CreatePrinterIC(struct ndr_push *ndr, int flags, const struct spoolss_CreatePrinterIC *r)
12873 if (flags & NDR_IN) {
12875 if (flags & NDR_OUT) {
12876 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12878 return NDR_ERR_SUCCESS;
12881 static enum ndr_err_code ndr_pull_spoolss_CreatePrinterIC(struct ndr_pull *ndr, int flags, struct spoolss_CreatePrinterIC *r)
12883 if (flags & NDR_IN) {
12885 if (flags & NDR_OUT) {
12886 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12888 return NDR_ERR_SUCCESS;
12891 _PUBLIC_ void ndr_print_spoolss_CreatePrinterIC(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_CreatePrinterIC *r)
12893 ndr_print_struct(ndr, name, "spoolss_CreatePrinterIC");
12895 if (flags & NDR_SET_VALUES) {
12896 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12898 if (flags & NDR_IN) {
12899 ndr_print_struct(ndr, "in", "spoolss_CreatePrinterIC");
12903 if (flags & NDR_OUT) {
12904 ndr_print_struct(ndr, "out", "spoolss_CreatePrinterIC");
12906 ndr_print_WERROR(ndr, "result", r->out.result);
12912 static enum ndr_err_code ndr_push_spoolss_PlayGDIScriptOnPrinterIC(struct ndr_push *ndr, int flags, const struct spoolss_PlayGDIScriptOnPrinterIC *r)
12914 if (flags & NDR_IN) {
12916 if (flags & NDR_OUT) {
12917 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12919 return NDR_ERR_SUCCESS;
12922 static enum ndr_err_code ndr_pull_spoolss_PlayGDIScriptOnPrinterIC(struct ndr_pull *ndr, int flags, struct spoolss_PlayGDIScriptOnPrinterIC *r)
12924 if (flags & NDR_IN) {
12926 if (flags & NDR_OUT) {
12927 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12929 return NDR_ERR_SUCCESS;
12932 _PUBLIC_ void ndr_print_spoolss_PlayGDIScriptOnPrinterIC(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_PlayGDIScriptOnPrinterIC *r)
12934 ndr_print_struct(ndr, name, "spoolss_PlayGDIScriptOnPrinterIC");
12936 if (flags & NDR_SET_VALUES) {
12937 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12939 if (flags & NDR_IN) {
12940 ndr_print_struct(ndr, "in", "spoolss_PlayGDIScriptOnPrinterIC");
12944 if (flags & NDR_OUT) {
12945 ndr_print_struct(ndr, "out", "spoolss_PlayGDIScriptOnPrinterIC");
12947 ndr_print_WERROR(ndr, "result", r->out.result);
12953 static enum ndr_err_code ndr_push_spoolss_DeletePrinterIC(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterIC *r)
12955 if (flags & NDR_IN) {
12957 if (flags & NDR_OUT) {
12958 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12960 return NDR_ERR_SUCCESS;
12963 static enum ndr_err_code ndr_pull_spoolss_DeletePrinterIC(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterIC *r)
12965 if (flags & NDR_IN) {
12967 if (flags & NDR_OUT) {
12968 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12970 return NDR_ERR_SUCCESS;
12973 _PUBLIC_ void ndr_print_spoolss_DeletePrinterIC(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterIC *r)
12975 ndr_print_struct(ndr, name, "spoolss_DeletePrinterIC");
12977 if (flags & NDR_SET_VALUES) {
12978 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12980 if (flags & NDR_IN) {
12981 ndr_print_struct(ndr, "in", "spoolss_DeletePrinterIC");
12985 if (flags & NDR_OUT) {
12986 ndr_print_struct(ndr, "out", "spoolss_DeletePrinterIC");
12988 ndr_print_WERROR(ndr, "result", r->out.result);
12994 static enum ndr_err_code ndr_push_spoolss_AddPrinterConnection(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterConnection *r)
12996 if (flags & NDR_IN) {
12998 if (flags & NDR_OUT) {
12999 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13001 return NDR_ERR_SUCCESS;
13004 static enum ndr_err_code ndr_pull_spoolss_AddPrinterConnection(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterConnection *r)
13006 if (flags & NDR_IN) {
13008 if (flags & NDR_OUT) {
13009 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13011 return NDR_ERR_SUCCESS;
13014 _PUBLIC_ void ndr_print_spoolss_AddPrinterConnection(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterConnection *r)
13016 ndr_print_struct(ndr, name, "spoolss_AddPrinterConnection");
13018 if (flags & NDR_SET_VALUES) {
13019 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13021 if (flags & NDR_IN) {
13022 ndr_print_struct(ndr, "in", "spoolss_AddPrinterConnection");
13026 if (flags & NDR_OUT) {
13027 ndr_print_struct(ndr, "out", "spoolss_AddPrinterConnection");
13029 ndr_print_WERROR(ndr, "result", r->out.result);
13035 static enum ndr_err_code ndr_push_spoolss_DeletePrinterConnection(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterConnection *r)
13037 if (flags & NDR_IN) {
13039 if (flags & NDR_OUT) {
13040 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13042 return NDR_ERR_SUCCESS;
13045 static enum ndr_err_code ndr_pull_spoolss_DeletePrinterConnection(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterConnection *r)
13047 if (flags & NDR_IN) {
13049 if (flags & NDR_OUT) {
13050 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13052 return NDR_ERR_SUCCESS;
13055 _PUBLIC_ void ndr_print_spoolss_DeletePrinterConnection(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterConnection *r)
13057 ndr_print_struct(ndr, name, "spoolss_DeletePrinterConnection");
13059 if (flags & NDR_SET_VALUES) {
13060 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13062 if (flags & NDR_IN) {
13063 ndr_print_struct(ndr, "in", "spoolss_DeletePrinterConnection");
13067 if (flags & NDR_OUT) {
13068 ndr_print_struct(ndr, "out", "spoolss_DeletePrinterConnection");
13070 ndr_print_WERROR(ndr, "result", r->out.result);
13076 static enum ndr_err_code ndr_push_spoolss_PrinterMessageBox(struct ndr_push *ndr, int flags, const struct spoolss_PrinterMessageBox *r)
13078 if (flags & NDR_IN) {
13080 if (flags & NDR_OUT) {
13081 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13083 return NDR_ERR_SUCCESS;
13086 static enum ndr_err_code ndr_pull_spoolss_PrinterMessageBox(struct ndr_pull *ndr, int flags, struct spoolss_PrinterMessageBox *r)
13088 if (flags & NDR_IN) {
13090 if (flags & NDR_OUT) {
13091 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13093 return NDR_ERR_SUCCESS;
13096 _PUBLIC_ void ndr_print_spoolss_PrinterMessageBox(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_PrinterMessageBox *r)
13098 ndr_print_struct(ndr, name, "spoolss_PrinterMessageBox");
13100 if (flags & NDR_SET_VALUES) {
13101 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13103 if (flags & NDR_IN) {
13104 ndr_print_struct(ndr, "in", "spoolss_PrinterMessageBox");
13108 if (flags & NDR_OUT) {
13109 ndr_print_struct(ndr, "out", "spoolss_PrinterMessageBox");
13111 ndr_print_WERROR(ndr, "result", r->out.result);
13117 static enum ndr_err_code ndr_push_spoolss_AddMonitor(struct ndr_push *ndr, int flags, const struct spoolss_AddMonitor *r)
13119 if (flags & NDR_IN) {
13121 if (flags & NDR_OUT) {
13122 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13124 return NDR_ERR_SUCCESS;
13127 static enum ndr_err_code ndr_pull_spoolss_AddMonitor(struct ndr_pull *ndr, int flags, struct spoolss_AddMonitor *r)
13129 if (flags & NDR_IN) {
13131 if (flags & NDR_OUT) {
13132 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13134 return NDR_ERR_SUCCESS;
13137 _PUBLIC_ void ndr_print_spoolss_AddMonitor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddMonitor *r)
13139 ndr_print_struct(ndr, name, "spoolss_AddMonitor");
13141 if (flags & NDR_SET_VALUES) {
13142 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13144 if (flags & NDR_IN) {
13145 ndr_print_struct(ndr, "in", "spoolss_AddMonitor");
13149 if (flags & NDR_OUT) {
13150 ndr_print_struct(ndr, "out", "spoolss_AddMonitor");
13152 ndr_print_WERROR(ndr, "result", r->out.result);
13158 static enum ndr_err_code ndr_push_spoolss_DeleteMonitor(struct ndr_push *ndr, int flags, const struct spoolss_DeleteMonitor *r)
13160 if (flags & NDR_IN) {
13162 if (flags & NDR_OUT) {
13163 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13165 return NDR_ERR_SUCCESS;
13168 static enum ndr_err_code ndr_pull_spoolss_DeleteMonitor(struct ndr_pull *ndr, int flags, struct spoolss_DeleteMonitor *r)
13170 if (flags & NDR_IN) {
13172 if (flags & NDR_OUT) {
13173 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13175 return NDR_ERR_SUCCESS;
13178 _PUBLIC_ void ndr_print_spoolss_DeleteMonitor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeleteMonitor *r)
13180 ndr_print_struct(ndr, name, "spoolss_DeleteMonitor");
13182 if (flags & NDR_SET_VALUES) {
13183 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13185 if (flags & NDR_IN) {
13186 ndr_print_struct(ndr, "in", "spoolss_DeleteMonitor");
13190 if (flags & NDR_OUT) {
13191 ndr_print_struct(ndr, "out", "spoolss_DeleteMonitor");
13193 ndr_print_WERROR(ndr, "result", r->out.result);
13199 static enum ndr_err_code ndr_push_spoolss_DeletePrintProcessor(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrintProcessor *r)
13201 if (flags & NDR_IN) {
13203 if (flags & NDR_OUT) {
13204 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13206 return NDR_ERR_SUCCESS;
13209 static enum ndr_err_code ndr_pull_spoolss_DeletePrintProcessor(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrintProcessor *r)
13211 if (flags & NDR_IN) {
13213 if (flags & NDR_OUT) {
13214 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13216 return NDR_ERR_SUCCESS;
13219 _PUBLIC_ void ndr_print_spoolss_DeletePrintProcessor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrintProcessor *r)
13221 ndr_print_struct(ndr, name, "spoolss_DeletePrintProcessor");
13223 if (flags & NDR_SET_VALUES) {
13224 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13226 if (flags & NDR_IN) {
13227 ndr_print_struct(ndr, "in", "spoolss_DeletePrintProcessor");
13231 if (flags & NDR_OUT) {
13232 ndr_print_struct(ndr, "out", "spoolss_DeletePrintProcessor");
13234 ndr_print_WERROR(ndr, "result", r->out.result);
13240 static enum ndr_err_code ndr_push_spoolss_AddPrintProvidor(struct ndr_push *ndr, int flags, const struct spoolss_AddPrintProvidor *r)
13242 if (flags & NDR_IN) {
13244 if (flags & NDR_OUT) {
13245 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13247 return NDR_ERR_SUCCESS;
13250 static enum ndr_err_code ndr_pull_spoolss_AddPrintProvidor(struct ndr_pull *ndr, int flags, struct spoolss_AddPrintProvidor *r)
13252 if (flags & NDR_IN) {
13254 if (flags & NDR_OUT) {
13255 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13257 return NDR_ERR_SUCCESS;
13260 _PUBLIC_ void ndr_print_spoolss_AddPrintProvidor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrintProvidor *r)
13262 ndr_print_struct(ndr, name, "spoolss_AddPrintProvidor");
13264 if (flags & NDR_SET_VALUES) {
13265 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13267 if (flags & NDR_IN) {
13268 ndr_print_struct(ndr, "in", "spoolss_AddPrintProvidor");
13272 if (flags & NDR_OUT) {
13273 ndr_print_struct(ndr, "out", "spoolss_AddPrintProvidor");
13275 ndr_print_WERROR(ndr, "result", r->out.result);
13281 static enum ndr_err_code ndr_push_spoolss_DeletePrintProvidor(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrintProvidor *r)
13283 if (flags & NDR_IN) {
13285 if (flags & NDR_OUT) {
13286 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13288 return NDR_ERR_SUCCESS;
13291 static enum ndr_err_code ndr_pull_spoolss_DeletePrintProvidor(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrintProvidor *r)
13293 if (flags & NDR_IN) {
13295 if (flags & NDR_OUT) {
13296 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13298 return NDR_ERR_SUCCESS;
13301 _PUBLIC_ void ndr_print_spoolss_DeletePrintProvidor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrintProvidor *r)
13303 ndr_print_struct(ndr, name, "spoolss_DeletePrintProvidor");
13305 if (flags & NDR_SET_VALUES) {
13306 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13308 if (flags & NDR_IN) {
13309 ndr_print_struct(ndr, "in", "spoolss_DeletePrintProvidor");
13313 if (flags & NDR_OUT) {
13314 ndr_print_struct(ndr, "out", "spoolss_DeletePrintProvidor");
13316 ndr_print_WERROR(ndr, "result", r->out.result);
13322 static enum ndr_err_code ndr_push_spoolss_EnumPrintProcDataTypes(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrintProcDataTypes *r)
13324 if (flags & NDR_IN) {
13326 if (flags & NDR_OUT) {
13327 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13329 return NDR_ERR_SUCCESS;
13332 static enum ndr_err_code ndr_pull_spoolss_EnumPrintProcDataTypes(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrintProcDataTypes *r)
13334 if (flags & NDR_IN) {
13336 if (flags & NDR_OUT) {
13337 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13339 return NDR_ERR_SUCCESS;
13342 _PUBLIC_ void ndr_print_spoolss_EnumPrintProcDataTypes(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrintProcDataTypes *r)
13344 ndr_print_struct(ndr, name, "spoolss_EnumPrintProcDataTypes");
13346 if (flags & NDR_SET_VALUES) {
13347 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13349 if (flags & NDR_IN) {
13350 ndr_print_struct(ndr, "in", "spoolss_EnumPrintProcDataTypes");
13354 if (flags & NDR_OUT) {
13355 ndr_print_struct(ndr, "out", "spoolss_EnumPrintProcDataTypes");
13357 ndr_print_WERROR(ndr, "result", r->out.result);
13363 static enum ndr_err_code ndr_push_spoolss_ResetPrinter(struct ndr_push *ndr, int flags, const struct spoolss_ResetPrinter *r)
13365 if (flags & NDR_IN) {
13367 if (flags & NDR_OUT) {
13368 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13370 return NDR_ERR_SUCCESS;
13373 static enum ndr_err_code ndr_pull_spoolss_ResetPrinter(struct ndr_pull *ndr, int flags, struct spoolss_ResetPrinter *r)
13375 if (flags & NDR_IN) {
13377 if (flags & NDR_OUT) {
13378 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13380 return NDR_ERR_SUCCESS;
13383 _PUBLIC_ void ndr_print_spoolss_ResetPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ResetPrinter *r)
13385 ndr_print_struct(ndr, name, "spoolss_ResetPrinter");
13387 if (flags & NDR_SET_VALUES) {
13388 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13390 if (flags & NDR_IN) {
13391 ndr_print_struct(ndr, "in", "spoolss_ResetPrinter");
13395 if (flags & NDR_OUT) {
13396 ndr_print_struct(ndr, "out", "spoolss_ResetPrinter");
13398 ndr_print_WERROR(ndr, "result", r->out.result);
13404 static enum ndr_err_code ndr_push_spoolss_GetPrinterDriver2(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriver2 *r)
13406 if (flags & NDR_IN) {
13407 if (r->in.handle == NULL) {
13408 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13410 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
13411 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.architecture));
13412 if (r->in.architecture) {
13413 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
13414 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13415 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16)));
13416 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13418 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13419 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
13420 if (r->in.buffer) {
13421 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer));
13423 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
13424 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.client_major_version));
13425 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.client_minor_version));
13427 if (flags & NDR_OUT) {
13428 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info));
13430 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info));
13432 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.needed));
13433 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.server_major_version));
13434 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.server_minor_version));
13435 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13437 return NDR_ERR_SUCCESS;
13440 static enum ndr_err_code ndr_pull_spoolss_GetPrinterDriver2(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriver2 *r)
13442 uint32_t _ptr_architecture;
13443 uint32_t _ptr_buffer;
13444 uint32_t _ptr_info;
13445 TALLOC_CTX *_mem_save_handle_0;
13446 TALLOC_CTX *_mem_save_architecture_0;
13447 TALLOC_CTX *_mem_save_buffer_0;
13448 TALLOC_CTX *_mem_save_info_0;
13449 if (flags & NDR_IN) {
13450 ZERO_STRUCT(r->out);
13452 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13453 NDR_PULL_ALLOC(ndr, r->in.handle);
13455 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13456 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
13457 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
13458 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
13459 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
13460 if (_ptr_architecture) {
13461 NDR_PULL_ALLOC(ndr, r->in.architecture);
13463 r->in.architecture = NULL;
13465 if (r->in.architecture) {
13466 _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr);
13467 NDR_PULL_SET_MEM_CTX(ndr, r->in.architecture, 0);
13468 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture));
13469 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture));
13470 if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) {
13471 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));
13473 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t)));
13474 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16));
13475 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
13477 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13478 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
13480 NDR_PULL_ALLOC(ndr, r->in.buffer);
13482 r->in.buffer = NULL;
13484 if (r->in.buffer) {
13485 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
13486 NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
13487 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
13488 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
13490 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
13491 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.client_major_version));
13492 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.client_minor_version));
13494 if (flags & NDR_OUT) {
13495 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
13497 NDR_PULL_ALLOC(ndr, r->out.info);
13499 r->out.info = NULL;
13502 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13503 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0);
13504 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info));
13505 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
13507 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.needed));
13508 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.server_major_version));
13509 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.server_minor_version));
13510 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13512 return NDR_ERR_SUCCESS;
13515 _PUBLIC_ void ndr_print_spoolss_GetPrinterDriver2(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriver2 *r)
13517 ndr_print_struct(ndr, name, "spoolss_GetPrinterDriver2");
13519 if (flags & NDR_SET_VALUES) {
13520 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13522 if (flags & NDR_IN) {
13523 ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriver2");
13525 ndr_print_ptr(ndr, "handle", r->in.handle);
13527 ndr_print_policy_handle(ndr, "handle", r->in.handle);
13529 ndr_print_ptr(ndr, "architecture", r->in.architecture);
13531 if (r->in.architecture) {
13532 ndr_print_string(ndr, "architecture", r->in.architecture);
13535 ndr_print_uint32(ndr, "level", r->in.level);
13536 ndr_print_ptr(ndr, "buffer", r->in.buffer);
13538 if (r->in.buffer) {
13539 ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer);
13542 ndr_print_uint32(ndr, "offered", r->in.offered);
13543 ndr_print_uint32(ndr, "client_major_version", r->in.client_major_version);
13544 ndr_print_uint32(ndr, "client_minor_version", r->in.client_minor_version);
13547 if (flags & NDR_OUT) {
13548 ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriver2");
13550 ndr_print_ptr(ndr, "info", r->out.info);
13553 ndr_print_DATA_BLOB(ndr, "info", *r->out.info);
13556 ndr_print_uint32(ndr, "needed", r->out.needed);
13557 ndr_print_uint32(ndr, "server_major_version", r->out.server_major_version);
13558 ndr_print_uint32(ndr, "server_minor_version", r->out.server_minor_version);
13559 ndr_print_WERROR(ndr, "result", r->out.result);
13565 static enum ndr_err_code ndr_push_spoolss_FindFirstPrinterChangeNotification(struct ndr_push *ndr, int flags, const struct spoolss_FindFirstPrinterChangeNotification *r)
13567 if (flags & NDR_IN) {
13569 if (flags & NDR_OUT) {
13570 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13572 return NDR_ERR_SUCCESS;
13575 static enum ndr_err_code ndr_pull_spoolss_FindFirstPrinterChangeNotification(struct ndr_pull *ndr, int flags, struct spoolss_FindFirstPrinterChangeNotification *r)
13577 if (flags & NDR_IN) {
13579 if (flags & NDR_OUT) {
13580 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13582 return NDR_ERR_SUCCESS;
13585 _PUBLIC_ void ndr_print_spoolss_FindFirstPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_FindFirstPrinterChangeNotification *r)
13587 ndr_print_struct(ndr, name, "spoolss_FindFirstPrinterChangeNotification");
13589 if (flags & NDR_SET_VALUES) {
13590 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13592 if (flags & NDR_IN) {
13593 ndr_print_struct(ndr, "in", "spoolss_FindFirstPrinterChangeNotification");
13597 if (flags & NDR_OUT) {
13598 ndr_print_struct(ndr, "out", "spoolss_FindFirstPrinterChangeNotification");
13600 ndr_print_WERROR(ndr, "result", r->out.result);
13606 static enum ndr_err_code ndr_push_spoolss_FindNextPrinterChangeNotification(struct ndr_push *ndr, int flags, const struct spoolss_FindNextPrinterChangeNotification *r)
13608 if (flags & NDR_IN) {
13610 if (flags & NDR_OUT) {
13611 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13613 return NDR_ERR_SUCCESS;
13616 static enum ndr_err_code ndr_pull_spoolss_FindNextPrinterChangeNotification(struct ndr_pull *ndr, int flags, struct spoolss_FindNextPrinterChangeNotification *r)
13618 if (flags & NDR_IN) {
13620 if (flags & NDR_OUT) {
13621 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13623 return NDR_ERR_SUCCESS;
13626 _PUBLIC_ void ndr_print_spoolss_FindNextPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_FindNextPrinterChangeNotification *r)
13628 ndr_print_struct(ndr, name, "spoolss_FindNextPrinterChangeNotification");
13630 if (flags & NDR_SET_VALUES) {
13631 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13633 if (flags & NDR_IN) {
13634 ndr_print_struct(ndr, "in", "spoolss_FindNextPrinterChangeNotification");
13638 if (flags & NDR_OUT) {
13639 ndr_print_struct(ndr, "out", "spoolss_FindNextPrinterChangeNotification");
13641 ndr_print_WERROR(ndr, "result", r->out.result);
13647 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_FindClosePrinterNotify(struct ndr_push *ndr, int flags, const struct spoolss_FindClosePrinterNotify *r)
13649 if (flags & NDR_IN) {
13650 if (r->in.handle == NULL) {
13651 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13653 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
13655 if (flags & NDR_OUT) {
13656 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13658 return NDR_ERR_SUCCESS;
13661 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FindClosePrinterNotify(struct ndr_pull *ndr, int flags, struct spoolss_FindClosePrinterNotify *r)
13663 TALLOC_CTX *_mem_save_handle_0;
13664 if (flags & NDR_IN) {
13665 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13666 NDR_PULL_ALLOC(ndr, r->in.handle);
13668 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13669 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
13670 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
13671 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
13673 if (flags & NDR_OUT) {
13674 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13676 return NDR_ERR_SUCCESS;
13679 _PUBLIC_ void ndr_print_spoolss_FindClosePrinterNotify(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_FindClosePrinterNotify *r)
13681 ndr_print_struct(ndr, name, "spoolss_FindClosePrinterNotify");
13683 if (flags & NDR_SET_VALUES) {
13684 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13686 if (flags & NDR_IN) {
13687 ndr_print_struct(ndr, "in", "spoolss_FindClosePrinterNotify");
13689 ndr_print_ptr(ndr, "handle", r->in.handle);
13691 ndr_print_policy_handle(ndr, "handle", r->in.handle);
13695 if (flags & NDR_OUT) {
13696 ndr_print_struct(ndr, "out", "spoolss_FindClosePrinterNotify");
13698 ndr_print_WERROR(ndr, "result", r->out.result);
13704 static enum ndr_err_code ndr_push_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct ndr_push *ndr, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r)
13706 if (flags & NDR_IN) {
13708 if (flags & NDR_OUT) {
13709 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13711 return NDR_ERR_SUCCESS;
13714 static enum ndr_err_code ndr_pull_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct ndr_pull *ndr, int flags, struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r)
13716 if (flags & NDR_IN) {
13718 if (flags & NDR_OUT) {
13719 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13721 return NDR_ERR_SUCCESS;
13724 _PUBLIC_ void ndr_print_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r)
13726 ndr_print_struct(ndr, name, "spoolss_RouterFindFirstPrinterChangeNotificationOld");
13728 if (flags & NDR_SET_VALUES) {
13729 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13731 if (flags & NDR_IN) {
13732 ndr_print_struct(ndr, "in", "spoolss_RouterFindFirstPrinterChangeNotificationOld");
13736 if (flags & NDR_OUT) {
13737 ndr_print_struct(ndr, "out", "spoolss_RouterFindFirstPrinterChangeNotificationOld");
13739 ndr_print_WERROR(ndr, "result", r->out.result);
13745 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_ReplyOpenPrinter(struct ndr_push *ndr, int flags, const struct spoolss_ReplyOpenPrinter *r)
13747 if (flags & NDR_IN) {
13748 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13749 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13750 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13751 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));
13752 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.printer_local));
13753 NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type));
13754 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
13755 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
13757 if (flags & NDR_OUT) {
13758 if (r->out.handle == NULL) {
13759 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13761 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
13762 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13764 return NDR_ERR_SUCCESS;
13767 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_ReplyOpenPrinter(struct ndr_pull *ndr, int flags, struct spoolss_ReplyOpenPrinter *r)
13769 TALLOC_CTX *_mem_save_handle_0;
13770 if (flags & NDR_IN) {
13771 ZERO_STRUCT(r->out);
13773 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13774 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13775 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13776 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));
13778 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13779 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));
13780 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.printer_local));
13781 NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type));
13782 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
13783 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
13784 NDR_PULL_ALLOC(ndr, r->out.handle);
13785 ZERO_STRUCTP(r->out.handle);
13787 if (flags & NDR_OUT) {
13788 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13789 NDR_PULL_ALLOC(ndr, r->out.handle);
13791 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13792 NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
13793 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
13794 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
13795 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13797 return NDR_ERR_SUCCESS;
13800 _PUBLIC_ void ndr_print_spoolss_ReplyOpenPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ReplyOpenPrinter *r)
13802 ndr_print_struct(ndr, name, "spoolss_ReplyOpenPrinter");
13804 if (flags & NDR_SET_VALUES) {
13805 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13807 if (flags & NDR_IN) {
13808 ndr_print_struct(ndr, "in", "spoolss_ReplyOpenPrinter");
13810 ndr_print_string(ndr, "server_name", r->in.server_name);
13811 ndr_print_uint32(ndr, "printer_local", r->in.printer_local);
13812 ndr_print_winreg_Type(ndr, "type", r->in.type);
13813 ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
13814 ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
13817 if (flags & NDR_OUT) {
13818 ndr_print_struct(ndr, "out", "spoolss_ReplyOpenPrinter");
13820 ndr_print_ptr(ndr, "handle", r->out.handle);
13822 ndr_print_policy_handle(ndr, "handle", r->out.handle);
13824 ndr_print_WERROR(ndr, "result", r->out.result);
13830 static enum ndr_err_code ndr_push_spoolss_RouterReplyPrinter(struct ndr_push *ndr, int flags, const struct spoolss_RouterReplyPrinter *r)
13832 if (flags & NDR_IN) {
13834 if (flags & NDR_OUT) {
13835 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13837 return NDR_ERR_SUCCESS;
13840 static enum ndr_err_code ndr_pull_spoolss_RouterReplyPrinter(struct ndr_pull *ndr, int flags, struct spoolss_RouterReplyPrinter *r)
13842 if (flags & NDR_IN) {
13844 if (flags & NDR_OUT) {
13845 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13847 return NDR_ERR_SUCCESS;
13850 _PUBLIC_ void ndr_print_spoolss_RouterReplyPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterReplyPrinter *r)
13852 ndr_print_struct(ndr, name, "spoolss_RouterReplyPrinter");
13854 if (flags & NDR_SET_VALUES) {
13855 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13857 if (flags & NDR_IN) {
13858 ndr_print_struct(ndr, "in", "spoolss_RouterReplyPrinter");
13862 if (flags & NDR_OUT) {
13863 ndr_print_struct(ndr, "out", "spoolss_RouterReplyPrinter");
13865 ndr_print_WERROR(ndr, "result", r->out.result);
13871 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_ReplyClosePrinter(struct ndr_push *ndr, int flags, const struct spoolss_ReplyClosePrinter *r)
13873 if (flags & NDR_IN) {
13874 if (r->in.handle == NULL) {
13875 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13877 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
13879 if (flags & NDR_OUT) {
13880 if (r->out.handle == NULL) {
13881 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13883 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
13884 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13886 return NDR_ERR_SUCCESS;
13889 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_ReplyClosePrinter(struct ndr_pull *ndr, int flags, struct spoolss_ReplyClosePrinter *r)
13891 TALLOC_CTX *_mem_save_handle_0;
13892 if (flags & NDR_IN) {
13893 ZERO_STRUCT(r->out);
13895 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13896 NDR_PULL_ALLOC(ndr, r->in.handle);
13898 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13899 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
13900 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
13901 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
13902 NDR_PULL_ALLOC(ndr, r->out.handle);
13903 *r->out.handle = *r->in.handle;
13905 if (flags & NDR_OUT) {
13906 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13907 NDR_PULL_ALLOC(ndr, r->out.handle);
13909 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13910 NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
13911 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
13912 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
13913 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13915 return NDR_ERR_SUCCESS;
13918 _PUBLIC_ void ndr_print_spoolss_ReplyClosePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ReplyClosePrinter *r)
13920 ndr_print_struct(ndr, name, "spoolss_ReplyClosePrinter");
13922 if (flags & NDR_SET_VALUES) {
13923 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13925 if (flags & NDR_IN) {
13926 ndr_print_struct(ndr, "in", "spoolss_ReplyClosePrinter");
13928 ndr_print_ptr(ndr, "handle", r->in.handle);
13930 ndr_print_policy_handle(ndr, "handle", r->in.handle);
13934 if (flags & NDR_OUT) {
13935 ndr_print_struct(ndr, "out", "spoolss_ReplyClosePrinter");
13937 ndr_print_ptr(ndr, "handle", r->out.handle);
13939 ndr_print_policy_handle(ndr, "handle", r->out.handle);
13941 ndr_print_WERROR(ndr, "result", r->out.result);
13947 static enum ndr_err_code ndr_push_spoolss_AddPortEx(struct ndr_push *ndr, int flags, const struct spoolss_AddPortEx *r)
13949 if (flags & NDR_IN) {
13951 if (flags & NDR_OUT) {
13952 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13954 return NDR_ERR_SUCCESS;
13957 static enum ndr_err_code ndr_pull_spoolss_AddPortEx(struct ndr_pull *ndr, int flags, struct spoolss_AddPortEx *r)
13959 if (flags & NDR_IN) {
13961 if (flags & NDR_OUT) {
13962 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13964 return NDR_ERR_SUCCESS;
13967 _PUBLIC_ void ndr_print_spoolss_AddPortEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPortEx *r)
13969 ndr_print_struct(ndr, name, "spoolss_AddPortEx");
13971 if (flags & NDR_SET_VALUES) {
13972 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13974 if (flags & NDR_IN) {
13975 ndr_print_struct(ndr, "in", "spoolss_AddPortEx");
13979 if (flags & NDR_OUT) {
13980 ndr_print_struct(ndr, "out", "spoolss_AddPortEx");
13982 ndr_print_WERROR(ndr, "result", r->out.result);
13988 static enum ndr_err_code ndr_push_spoolss_RouterFindFirstPrinterChangeNotification(struct ndr_push *ndr, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotification *r)
13990 if (flags & NDR_IN) {
13992 if (flags & NDR_OUT) {
13993 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13995 return NDR_ERR_SUCCESS;
13998 static enum ndr_err_code ndr_pull_spoolss_RouterFindFirstPrinterChangeNotification(struct ndr_pull *ndr, int flags, struct spoolss_RouterFindFirstPrinterChangeNotification *r)
14000 if (flags & NDR_IN) {
14002 if (flags & NDR_OUT) {
14003 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14005 return NDR_ERR_SUCCESS;
14008 _PUBLIC_ void ndr_print_spoolss_RouterFindFirstPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotification *r)
14010 ndr_print_struct(ndr, name, "spoolss_RouterFindFirstPrinterChangeNotification");
14012 if (flags & NDR_SET_VALUES) {
14013 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14015 if (flags & NDR_IN) {
14016 ndr_print_struct(ndr, "in", "spoolss_RouterFindFirstPrinterChangeNotification");
14020 if (flags & NDR_OUT) {
14021 ndr_print_struct(ndr, "out", "spoolss_RouterFindFirstPrinterChangeNotification");
14023 ndr_print_WERROR(ndr, "result", r->out.result);
14029 static enum ndr_err_code ndr_push_spoolss_SpoolerInit(struct ndr_push *ndr, int flags, const struct spoolss_SpoolerInit *r)
14031 if (flags & NDR_IN) {
14033 if (flags & NDR_OUT) {
14034 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14036 return NDR_ERR_SUCCESS;
14039 static enum ndr_err_code ndr_pull_spoolss_SpoolerInit(struct ndr_pull *ndr, int flags, struct spoolss_SpoolerInit *r)
14041 if (flags & NDR_IN) {
14043 if (flags & NDR_OUT) {
14044 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14046 return NDR_ERR_SUCCESS;
14049 _PUBLIC_ void ndr_print_spoolss_SpoolerInit(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SpoolerInit *r)
14051 ndr_print_struct(ndr, name, "spoolss_SpoolerInit");
14053 if (flags & NDR_SET_VALUES) {
14054 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14056 if (flags & NDR_IN) {
14057 ndr_print_struct(ndr, "in", "spoolss_SpoolerInit");
14061 if (flags & NDR_OUT) {
14062 ndr_print_struct(ndr, "out", "spoolss_SpoolerInit");
14064 ndr_print_WERROR(ndr, "result", r->out.result);
14070 static enum ndr_err_code ndr_push_spoolss_ResetPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_ResetPrinterEx *r)
14072 if (flags & NDR_IN) {
14074 if (flags & NDR_OUT) {
14075 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14077 return NDR_ERR_SUCCESS;
14080 static enum ndr_err_code ndr_pull_spoolss_ResetPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_ResetPrinterEx *r)
14082 if (flags & NDR_IN) {
14084 if (flags & NDR_OUT) {
14085 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14087 return NDR_ERR_SUCCESS;
14090 _PUBLIC_ void ndr_print_spoolss_ResetPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ResetPrinterEx *r)
14092 ndr_print_struct(ndr, name, "spoolss_ResetPrinterEx");
14094 if (flags & NDR_SET_VALUES) {
14095 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14097 if (flags & NDR_IN) {
14098 ndr_print_struct(ndr, "in", "spoolss_ResetPrinterEx");
14102 if (flags & NDR_OUT) {
14103 ndr_print_struct(ndr, "out", "spoolss_ResetPrinterEx");
14105 ndr_print_WERROR(ndr, "result", r->out.result);
14111 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct ndr_push *ndr, int flags, const struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r)
14113 if (flags & NDR_IN) {
14114 if (r->in.handle == NULL) {
14115 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14117 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
14118 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
14119 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.options));
14120 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.str));
14122 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.str, CH_UTF16)));
14123 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14124 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.str, CH_UTF16)));
14125 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.str, ndr_charset_length(r->in.str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14127 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.printer_local));
14128 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.t1));
14130 NDR_CHECK(ndr_push_spoolss_NotifyOptionsContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.t1));
14133 if (flags & NDR_OUT) {
14134 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14136 return NDR_ERR_SUCCESS;
14139 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct ndr_pull *ndr, int flags, struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r)
14143 TALLOC_CTX *_mem_save_handle_0;
14144 TALLOC_CTX *_mem_save_str_0;
14145 TALLOC_CTX *_mem_save_t1_0;
14146 if (flags & NDR_IN) {
14147 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14148 NDR_PULL_ALLOC(ndr, r->in.handle);
14150 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14151 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
14152 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
14153 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
14154 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
14155 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.options));
14156 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
14158 NDR_PULL_ALLOC(ndr, r->in.str);
14163 _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
14164 NDR_PULL_SET_MEM_CTX(ndr, r->in.str, 0);
14165 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.str));
14166 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.str));
14167 if (ndr_get_array_length(ndr, &r->in.str) > ndr_get_array_size(ndr, &r->in.str)) {
14168 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.str), ndr_get_array_length(ndr, &r->in.str));
14170 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.str), sizeof(uint16_t)));
14171 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.str, ndr_get_array_length(ndr, &r->in.str), sizeof(uint16_t), CH_UTF16));
14172 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
14174 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.printer_local));
14175 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_t1));
14177 NDR_PULL_ALLOC(ndr, r->in.t1);
14182 _mem_save_t1_0 = NDR_PULL_GET_MEM_CTX(ndr);
14183 NDR_PULL_SET_MEM_CTX(ndr, r->in.t1, 0);
14184 NDR_CHECK(ndr_pull_spoolss_NotifyOptionsContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.t1));
14185 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_t1_0, 0);
14188 if (flags & NDR_OUT) {
14189 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14191 return NDR_ERR_SUCCESS;
14194 _PUBLIC_ void ndr_print_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r)
14196 ndr_print_struct(ndr, name, "spoolss_RemoteFindFirstPrinterChangeNotifyEx");
14198 if (flags & NDR_SET_VALUES) {
14199 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14201 if (flags & NDR_IN) {
14202 ndr_print_struct(ndr, "in", "spoolss_RemoteFindFirstPrinterChangeNotifyEx");
14204 ndr_print_ptr(ndr, "handle", r->in.handle);
14206 ndr_print_policy_handle(ndr, "handle", r->in.handle);
14208 ndr_print_uint32(ndr, "flags", r->in.flags);
14209 ndr_print_uint32(ndr, "options", r->in.options);
14210 ndr_print_ptr(ndr, "str", r->in.str);
14213 ndr_print_string(ndr, "str", r->in.str);
14216 ndr_print_uint32(ndr, "printer_local", r->in.printer_local);
14217 ndr_print_ptr(ndr, "t1", r->in.t1);
14220 ndr_print_spoolss_NotifyOptionsContainer(ndr, "t1", r->in.t1);
14225 if (flags & NDR_OUT) {
14226 ndr_print_struct(ndr, "out", "spoolss_RemoteFindFirstPrinterChangeNotifyEx");
14228 ndr_print_WERROR(ndr, "result", r->out.result);
14234 static enum ndr_err_code ndr_push_spoolss_RouterRefreshPrinterChangeNotification(struct ndr_push *ndr, int flags, const struct spoolss_RouterRefreshPrinterChangeNotification *r)
14236 if (flags & NDR_IN) {
14238 if (flags & NDR_OUT) {
14239 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14241 return NDR_ERR_SUCCESS;
14244 static enum ndr_err_code ndr_pull_spoolss_RouterRefreshPrinterChangeNotification(struct ndr_pull *ndr, int flags, struct spoolss_RouterRefreshPrinterChangeNotification *r)
14246 if (flags & NDR_IN) {
14248 if (flags & NDR_OUT) {
14249 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14251 return NDR_ERR_SUCCESS;
14254 _PUBLIC_ void ndr_print_spoolss_RouterRefreshPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterRefreshPrinterChangeNotification *r)
14256 ndr_print_struct(ndr, name, "spoolss_RouterRefreshPrinterChangeNotification");
14258 if (flags & NDR_SET_VALUES) {
14259 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14261 if (flags & NDR_IN) {
14262 ndr_print_struct(ndr, "in", "spoolss_RouterRefreshPrinterChangeNotification");
14266 if (flags & NDR_OUT) {
14267 ndr_print_struct(ndr, "out", "spoolss_RouterRefreshPrinterChangeNotification");
14269 ndr_print_WERROR(ndr, "result", r->out.result);
14275 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_RemoteFindNextPrinterChangeNotifyEx(struct ndr_push *ndr, int flags, const struct spoolss_RemoteFindNextPrinterChangeNotifyEx *r)
14277 if (flags & NDR_IN) {
14278 if (r->in.handle == NULL) {
14279 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14281 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
14282 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.change_low));
14283 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.container));
14284 if (r->in.container) {
14285 NDR_CHECK(ndr_push_spoolss_NotifyOptionsContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.container));
14288 if (flags & NDR_OUT) {
14289 if (r->out.info == NULL) {
14290 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14292 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
14293 if (*r->out.info) {
14294 NDR_CHECK(ndr_push_spoolss_NotifyInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
14296 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14298 return NDR_ERR_SUCCESS;
14301 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_RemoteFindNextPrinterChangeNotifyEx(struct ndr_pull *ndr, int flags, struct spoolss_RemoteFindNextPrinterChangeNotifyEx *r)
14303 uint32_t _ptr_container;
14304 uint32_t _ptr_info;
14305 TALLOC_CTX *_mem_save_handle_0;
14306 TALLOC_CTX *_mem_save_container_0;
14307 TALLOC_CTX *_mem_save_info_0;
14308 TALLOC_CTX *_mem_save_info_1;
14309 if (flags & NDR_IN) {
14310 ZERO_STRUCT(r->out);
14312 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14313 NDR_PULL_ALLOC(ndr, r->in.handle);
14315 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14316 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
14317 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
14318 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
14319 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_low));
14320 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_container));
14321 if (_ptr_container) {
14322 NDR_PULL_ALLOC(ndr, r->in.container);
14324 r->in.container = NULL;
14326 if (r->in.container) {
14327 _mem_save_container_0 = NDR_PULL_GET_MEM_CTX(ndr);
14328 NDR_PULL_SET_MEM_CTX(ndr, r->in.container, 0);
14329 NDR_CHECK(ndr_pull_spoolss_NotifyOptionsContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.container));
14330 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_container_0, 0);
14332 NDR_PULL_ALLOC(ndr, r->out.info);
14333 ZERO_STRUCTP(r->out.info);
14335 if (flags & NDR_OUT) {
14336 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14337 NDR_PULL_ALLOC(ndr, r->out.info);
14339 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14340 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14341 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
14343 NDR_PULL_ALLOC(ndr, *r->out.info);
14345 *r->out.info = NULL;
14347 if (*r->out.info) {
14348 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14349 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
14350 NDR_CHECK(ndr_pull_spoolss_NotifyInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
14351 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
14353 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14354 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14356 return NDR_ERR_SUCCESS;
14359 _PUBLIC_ void ndr_print_spoolss_RemoteFindNextPrinterChangeNotifyEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RemoteFindNextPrinterChangeNotifyEx *r)
14361 ndr_print_struct(ndr, name, "spoolss_RemoteFindNextPrinterChangeNotifyEx");
14363 if (flags & NDR_SET_VALUES) {
14364 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14366 if (flags & NDR_IN) {
14367 ndr_print_struct(ndr, "in", "spoolss_RemoteFindNextPrinterChangeNotifyEx");
14369 ndr_print_ptr(ndr, "handle", r->in.handle);
14371 ndr_print_policy_handle(ndr, "handle", r->in.handle);
14373 ndr_print_uint32(ndr, "change_low", r->in.change_low);
14374 ndr_print_ptr(ndr, "container", r->in.container);
14376 if (r->in.container) {
14377 ndr_print_spoolss_NotifyOptionsContainer(ndr, "container", r->in.container);
14382 if (flags & NDR_OUT) {
14383 ndr_print_struct(ndr, "out", "spoolss_RemoteFindNextPrinterChangeNotifyEx");
14385 ndr_print_ptr(ndr, "info", r->out.info);
14387 ndr_print_ptr(ndr, "info", *r->out.info);
14389 if (*r->out.info) {
14390 ndr_print_spoolss_NotifyInfo(ndr, "info", *r->out.info);
14394 ndr_print_WERROR(ndr, "result", r->out.result);
14400 static enum ndr_err_code ndr_push_spoolss_44(struct ndr_push *ndr, int flags, const struct spoolss_44 *r)
14402 if (flags & NDR_IN) {
14404 if (flags & NDR_OUT) {
14405 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14407 return NDR_ERR_SUCCESS;
14410 static enum ndr_err_code ndr_pull_spoolss_44(struct ndr_pull *ndr, int flags, struct spoolss_44 *r)
14412 if (flags & NDR_IN) {
14414 if (flags & NDR_OUT) {
14415 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14417 return NDR_ERR_SUCCESS;
14420 _PUBLIC_ void ndr_print_spoolss_44(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_44 *r)
14422 ndr_print_struct(ndr, name, "spoolss_44");
14424 if (flags & NDR_SET_VALUES) {
14425 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14427 if (flags & NDR_IN) {
14428 ndr_print_struct(ndr, "in", "spoolss_44");
14432 if (flags & NDR_OUT) {
14433 ndr_print_struct(ndr, "out", "spoolss_44");
14435 ndr_print_WERROR(ndr, "result", r->out.result);
14441 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_OpenPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_OpenPrinterEx *r)
14443 if (flags & NDR_IN) {
14444 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.printername));
14445 if (r->in.printername) {
14446 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
14447 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14448 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16)));
14449 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.printername, ndr_charset_length(r->in.printername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14451 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.datatype));
14452 if (r->in.datatype) {
14453 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16)));
14454 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14455 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16)));
14456 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.datatype, ndr_charset_length(r->in.datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14458 NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
14459 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.access_mask));
14460 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14461 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.userlevel, r->in.level));
14462 NDR_CHECK(ndr_push_spoolss_UserLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.userlevel));
14464 if (flags & NDR_OUT) {
14465 if (r->out.handle == NULL) {
14466 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14468 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
14469 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14471 return NDR_ERR_SUCCESS;
14474 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OpenPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_OpenPrinterEx *r)
14476 uint32_t _ptr_printername;
14477 uint32_t _ptr_datatype;
14478 TALLOC_CTX *_mem_save_printername_0;
14479 TALLOC_CTX *_mem_save_datatype_0;
14480 TALLOC_CTX *_mem_save_handle_0;
14481 if (flags & NDR_IN) {
14482 ZERO_STRUCT(r->out);
14484 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
14485 if (_ptr_printername) {
14486 NDR_PULL_ALLOC(ndr, r->in.printername);
14488 r->in.printername = NULL;
14490 if (r->in.printername) {
14491 _mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr);
14492 NDR_PULL_SET_MEM_CTX(ndr, r->in.printername, 0);
14493 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.printername));
14494 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.printername));
14495 if (ndr_get_array_length(ndr, &r->in.printername) > ndr_get_array_size(ndr, &r->in.printername)) {
14496 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));
14498 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t)));
14499 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.printername, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t), CH_UTF16));
14500 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
14502 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
14503 if (_ptr_datatype) {
14504 NDR_PULL_ALLOC(ndr, r->in.datatype);
14506 r->in.datatype = NULL;
14508 if (r->in.datatype) {
14509 _mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr);
14510 NDR_PULL_SET_MEM_CTX(ndr, r->in.datatype, 0);
14511 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.datatype));
14512 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.datatype));
14513 if (ndr_get_array_length(ndr, &r->in.datatype) > ndr_get_array_size(ndr, &r->in.datatype)) {
14514 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));
14516 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t)));
14517 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.datatype, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t), CH_UTF16));
14518 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
14520 NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
14521 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.access_mask));
14522 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14523 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.userlevel, r->in.level));
14524 NDR_CHECK(ndr_pull_spoolss_UserLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.userlevel));
14525 NDR_PULL_ALLOC(ndr, r->out.handle);
14526 ZERO_STRUCTP(r->out.handle);
14528 if (flags & NDR_OUT) {
14529 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14530 NDR_PULL_ALLOC(ndr, r->out.handle);
14532 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14533 NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
14534 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
14535 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
14536 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14538 return NDR_ERR_SUCCESS;
14541 _PUBLIC_ void ndr_print_spoolss_OpenPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_OpenPrinterEx *r)
14543 ndr_print_struct(ndr, name, "spoolss_OpenPrinterEx");
14545 if (flags & NDR_SET_VALUES) {
14546 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14548 if (flags & NDR_IN) {
14549 ndr_print_struct(ndr, "in", "spoolss_OpenPrinterEx");
14551 ndr_print_ptr(ndr, "printername", r->in.printername);
14553 if (r->in.printername) {
14554 ndr_print_string(ndr, "printername", r->in.printername);
14557 ndr_print_ptr(ndr, "datatype", r->in.datatype);
14559 if (r->in.datatype) {
14560 ndr_print_string(ndr, "datatype", r->in.datatype);
14563 ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", &r->in.devmode_ctr);
14564 ndr_print_uint32(ndr, "access_mask", r->in.access_mask);
14565 ndr_print_uint32(ndr, "level", r->in.level);
14566 ndr_print_set_switch_value(ndr, &r->in.userlevel, r->in.level);
14567 ndr_print_spoolss_UserLevel(ndr, "userlevel", &r->in.userlevel);
14570 if (flags & NDR_OUT) {
14571 ndr_print_struct(ndr, "out", "spoolss_OpenPrinterEx");
14573 ndr_print_ptr(ndr, "handle", r->out.handle);
14575 ndr_print_policy_handle(ndr, "handle", r->out.handle);
14577 ndr_print_WERROR(ndr, "result", r->out.result);
14583 static enum ndr_err_code ndr_push_spoolss_AddPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterEx *r)
14585 if (flags & NDR_IN) {
14586 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
14587 if (r->in.server) {
14588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
14589 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14590 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16)));
14591 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14594 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.info));
14596 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
14597 NDR_CHECK(ndr_push_spoolss_PrinterInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
14599 NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
14600 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.secdesc));
14601 if (r->in.secdesc) {
14602 NDR_CHECK(ndr_push_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc));
14604 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.ulevel));
14605 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.userlevel, r->in.ulevel));
14606 NDR_CHECK(ndr_push_spoolss_UserLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.userlevel));
14608 if (flags & NDR_OUT) {
14609 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14611 return NDR_ERR_SUCCESS;
14614 static enum ndr_err_code ndr_pull_spoolss_AddPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterEx *r)
14616 uint32_t _ptr_server;
14617 uint32_t _ptr_info;
14618 uint32_t _ptr_secdesc;
14619 TALLOC_CTX *_mem_save_server_0;
14620 TALLOC_CTX *_mem_save_info_0;
14621 TALLOC_CTX *_mem_save_secdesc_0;
14622 if (flags & NDR_IN) {
14623 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
14625 NDR_PULL_ALLOC(ndr, r->in.server);
14627 r->in.server = NULL;
14629 if (r->in.server) {
14630 _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
14631 NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
14632 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
14633 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
14634 if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
14635 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));
14637 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
14638 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
14639 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
14641 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14642 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
14644 NDR_PULL_ALLOC(ndr, r->in.info);
14649 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14650 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, 0);
14651 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
14652 NDR_CHECK(ndr_pull_spoolss_PrinterInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
14653 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
14655 NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
14656 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
14657 if (_ptr_secdesc) {
14658 NDR_PULL_ALLOC(ndr, r->in.secdesc);
14660 r->in.secdesc = NULL;
14662 if (r->in.secdesc) {
14663 _mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
14664 NDR_PULL_SET_MEM_CTX(ndr, r->in.secdesc, 0);
14665 NDR_CHECK(ndr_pull_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc));
14666 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
14668 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.ulevel));
14669 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.userlevel, r->in.ulevel));
14670 NDR_CHECK(ndr_pull_spoolss_UserLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.userlevel));
14672 if (flags & NDR_OUT) {
14673 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14675 return NDR_ERR_SUCCESS;
14678 _PUBLIC_ void ndr_print_spoolss_AddPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterEx *r)
14680 ndr_print_struct(ndr, name, "spoolss_AddPrinterEx");
14682 if (flags & NDR_SET_VALUES) {
14683 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14685 if (flags & NDR_IN) {
14686 ndr_print_struct(ndr, "in", "spoolss_AddPrinterEx");
14688 ndr_print_ptr(ndr, "server", r->in.server);
14690 if (r->in.server) {
14691 ndr_print_string(ndr, "server", r->in.server);
14694 ndr_print_uint32(ndr, "level", r->in.level);
14695 ndr_print_ptr(ndr, "info", r->in.info);
14698 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
14699 ndr_print_spoolss_PrinterInfo(ndr, "info", r->in.info);
14702 ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", &r->in.devmode_ctr);
14703 ndr_print_ptr(ndr, "secdesc", r->in.secdesc);
14705 if (r->in.secdesc) {
14706 ndr_print_security_descriptor(ndr, "secdesc", r->in.secdesc);
14709 ndr_print_uint32(ndr, "ulevel", r->in.ulevel);
14710 ndr_print_set_switch_value(ndr, &r->in.userlevel, r->in.ulevel);
14711 ndr_print_spoolss_UserLevel(ndr, "userlevel", &r->in.userlevel);
14714 if (flags & NDR_OUT) {
14715 ndr_print_struct(ndr, "out", "spoolss_AddPrinterEx");
14717 ndr_print_WERROR(ndr, "result", r->out.result);
14723 static enum ndr_err_code ndr_push_spoolss_47(struct ndr_push *ndr, int flags, const struct spoolss_47 *r)
14725 if (flags & NDR_IN) {
14727 if (flags & NDR_OUT) {
14728 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14730 return NDR_ERR_SUCCESS;
14733 static enum ndr_err_code ndr_pull_spoolss_47(struct ndr_pull *ndr, int flags, struct spoolss_47 *r)
14735 if (flags & NDR_IN) {
14737 if (flags & NDR_OUT) {
14738 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14740 return NDR_ERR_SUCCESS;
14743 _PUBLIC_ void ndr_print_spoolss_47(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_47 *r)
14745 ndr_print_struct(ndr, name, "spoolss_47");
14747 if (flags & NDR_SET_VALUES) {
14748 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14750 if (flags & NDR_IN) {
14751 ndr_print_struct(ndr, "in", "spoolss_47");
14755 if (flags & NDR_OUT) {
14756 ndr_print_struct(ndr, "out", "spoolss_47");
14758 ndr_print_WERROR(ndr, "result", r->out.result);
14764 static enum ndr_err_code ndr_push_spoolss_EnumPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrinterData *r)
14766 if (flags & NDR_IN) {
14767 if (r->in.handle == NULL) {
14768 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14770 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
14771 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.enum_index));
14772 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.value_offered));
14773 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.data_offered));
14775 if (flags & NDR_OUT) {
14776 if (r->out.value_name == NULL) {
14777 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14779 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.value_offered / 2));
14780 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->out.value_name, r->in.value_offered / 2, sizeof(uint16_t), CH_UTF16));
14781 if (r->out.value_needed == NULL) {
14782 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.value_needed));
14785 if (r->out.printerdata_type == NULL) {
14786 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14788 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.printerdata_type));
14789 if (r->out.buffer == NULL) {
14790 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14792 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.buffer));
14793 if (r->out.data_needed == NULL) {
14794 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.data_needed));
14797 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14799 return NDR_ERR_SUCCESS;
14802 static enum ndr_err_code ndr_pull_spoolss_EnumPrinterData(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinterData *r)
14804 TALLOC_CTX *_mem_save_handle_0;
14805 TALLOC_CTX *_mem_save_value_needed_0;
14806 TALLOC_CTX *_mem_save_printerdata_type_0;
14807 TALLOC_CTX *_mem_save_buffer_0;
14808 TALLOC_CTX *_mem_save_data_needed_0;
14809 if (flags & NDR_IN) {
14810 ZERO_STRUCT(r->out);
14812 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14813 NDR_PULL_ALLOC(ndr, r->in.handle);
14815 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14816 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
14817 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
14818 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
14819 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.enum_index));
14820 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.value_offered));
14821 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.data_offered));
14822 NDR_PULL_ALLOC_N(ndr, r->out.value_name, r->in.value_offered / 2);
14823 memset(CONST_DISCARD(struct spoolss_EnumPrinterData *,r->out.value_name), 0, (r->in.value_offered / 2) * sizeof(*r->out.value_name));
14824 NDR_PULL_ALLOC(ndr, r->out.value_needed);
14825 ZERO_STRUCTP(r->out.value_needed);
14826 NDR_PULL_ALLOC(ndr, r->out.printerdata_type);
14827 ZERO_STRUCTP(r->out.printerdata_type);
14828 NDR_PULL_ALLOC(ndr, r->out.buffer);
14829 ZERO_STRUCTP(r->out.buffer);
14830 NDR_PULL_ALLOC(ndr, r->out.data_needed);
14831 ZERO_STRUCTP(r->out.data_needed);
14833 if (flags & NDR_OUT) {
14834 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.value_name));
14835 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));
14836 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14837 NDR_PULL_ALLOC(ndr, r->out.value_needed);
14839 _mem_save_value_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
14840 NDR_PULL_SET_MEM_CTX(ndr, r->out.value_needed, LIBNDR_FLAG_REF_ALLOC);
14841 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.value_needed));
14842 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_needed_0, LIBNDR_FLAG_REF_ALLOC);
14843 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14844 NDR_PULL_ALLOC(ndr, r->out.printerdata_type);
14846 _mem_save_printerdata_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
14847 NDR_PULL_SET_MEM_CTX(ndr, r->out.printerdata_type, LIBNDR_FLAG_REF_ALLOC);
14848 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.printerdata_type));
14849 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printerdata_type_0, LIBNDR_FLAG_REF_ALLOC);
14850 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14851 NDR_PULL_ALLOC(ndr, r->out.buffer);
14853 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
14854 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
14855 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.buffer));
14856 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
14857 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14858 NDR_PULL_ALLOC(ndr, r->out.data_needed);
14860 _mem_save_data_needed_0 = NDR_PULL_GET_MEM_CTX(ndr);
14861 NDR_PULL_SET_MEM_CTX(ndr, r->out.data_needed, LIBNDR_FLAG_REF_ALLOC);
14862 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.data_needed));
14863 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_needed_0, LIBNDR_FLAG_REF_ALLOC);
14864 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14865 if (r->out.value_name) {
14866 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.value_name, r->in.value_offered / 2));
14869 return NDR_ERR_SUCCESS;
14872 _PUBLIC_ void ndr_print_spoolss_EnumPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterData *r)
14874 ndr_print_struct(ndr, name, "spoolss_EnumPrinterData");
14876 if (flags & NDR_SET_VALUES) {
14877 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14879 if (flags & NDR_IN) {
14880 ndr_print_struct(ndr, "in", "spoolss_EnumPrinterData");
14882 ndr_print_ptr(ndr, "handle", r->in.handle);
14884 ndr_print_policy_handle(ndr, "handle", r->in.handle);
14886 ndr_print_uint32(ndr, "enum_index", r->in.enum_index);
14887 ndr_print_uint32(ndr, "value_offered", r->in.value_offered);
14888 ndr_print_uint32(ndr, "data_offered", r->in.data_offered);
14891 if (flags & NDR_OUT) {
14892 ndr_print_struct(ndr, "out", "spoolss_EnumPrinterData");
14894 ndr_print_ptr(ndr, "value_name", r->out.value_name);
14896 ndr_print_string(ndr, "value_name", r->out.value_name);
14898 ndr_print_ptr(ndr, "value_needed", r->out.value_needed);
14900 ndr_print_uint32(ndr, "value_needed", *r->out.value_needed);
14902 ndr_print_ptr(ndr, "printerdata_type", r->out.printerdata_type);
14904 ndr_print_uint32(ndr, "printerdata_type", *r->out.printerdata_type);
14906 ndr_print_ptr(ndr, "buffer", r->out.buffer);
14908 ndr_print_DATA_BLOB(ndr, "buffer", *r->out.buffer);
14910 ndr_print_ptr(ndr, "data_needed", r->out.data_needed);
14912 ndr_print_uint32(ndr, "data_needed", *r->out.data_needed);
14914 ndr_print_WERROR(ndr, "result", r->out.result);
14920 static enum ndr_err_code ndr_push_spoolss_DeletePrinterData(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterData *r)
14922 if (flags & NDR_IN) {
14923 if (r->in.handle == NULL) {
14924 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14926 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
14927 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
14928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14929 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
14930 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));
14932 if (flags & NDR_OUT) {
14933 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14935 return NDR_ERR_SUCCESS;
14938 static enum ndr_err_code ndr_pull_spoolss_DeletePrinterData(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterData *r)
14940 TALLOC_CTX *_mem_save_handle_0;
14941 if (flags & NDR_IN) {
14942 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14943 NDR_PULL_ALLOC(ndr, r->in.handle);
14945 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14946 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
14947 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
14948 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
14949 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
14950 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
14951 if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
14952 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));
14954 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
14955 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));
14957 if (flags & NDR_OUT) {
14958 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14960 return NDR_ERR_SUCCESS;
14963 _PUBLIC_ void ndr_print_spoolss_DeletePrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterData *r)
14965 ndr_print_struct(ndr, name, "spoolss_DeletePrinterData");
14967 if (flags & NDR_SET_VALUES) {
14968 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14970 if (flags & NDR_IN) {
14971 ndr_print_struct(ndr, "in", "spoolss_DeletePrinterData");
14973 ndr_print_ptr(ndr, "handle", r->in.handle);
14975 ndr_print_policy_handle(ndr, "handle", r->in.handle);
14977 ndr_print_string(ndr, "value_name", r->in.value_name);
14980 if (flags & NDR_OUT) {
14981 ndr_print_struct(ndr, "out", "spoolss_DeletePrinterData");
14983 ndr_print_WERROR(ndr, "result", r->out.result);
14989 static enum ndr_err_code ndr_push_spoolss_4a(struct ndr_push *ndr, int flags, const struct spoolss_4a *r)
14991 if (flags & NDR_IN) {
14993 if (flags & NDR_OUT) {
14994 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14996 return NDR_ERR_SUCCESS;
14999 static enum ndr_err_code ndr_pull_spoolss_4a(struct ndr_pull *ndr, int flags, struct spoolss_4a *r)
15001 if (flags & NDR_IN) {
15003 if (flags & NDR_OUT) {
15004 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15006 return NDR_ERR_SUCCESS;
15009 _PUBLIC_ void ndr_print_spoolss_4a(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4a *r)
15011 ndr_print_struct(ndr, name, "spoolss_4a");
15013 if (flags & NDR_SET_VALUES) {
15014 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15016 if (flags & NDR_IN) {
15017 ndr_print_struct(ndr, "in", "spoolss_4a");
15021 if (flags & NDR_OUT) {
15022 ndr_print_struct(ndr, "out", "spoolss_4a");
15024 ndr_print_WERROR(ndr, "result", r->out.result);
15030 static enum ndr_err_code ndr_push_spoolss_4b(struct ndr_push *ndr, int flags, const struct spoolss_4b *r)
15032 if (flags & NDR_IN) {
15034 if (flags & NDR_OUT) {
15035 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15037 return NDR_ERR_SUCCESS;
15040 static enum ndr_err_code ndr_pull_spoolss_4b(struct ndr_pull *ndr, int flags, struct spoolss_4b *r)
15042 if (flags & NDR_IN) {
15044 if (flags & NDR_OUT) {
15045 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15047 return NDR_ERR_SUCCESS;
15050 _PUBLIC_ void ndr_print_spoolss_4b(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4b *r)
15052 ndr_print_struct(ndr, name, "spoolss_4b");
15054 if (flags & NDR_SET_VALUES) {
15055 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15057 if (flags & NDR_IN) {
15058 ndr_print_struct(ndr, "in", "spoolss_4b");
15062 if (flags & NDR_OUT) {
15063 ndr_print_struct(ndr, "out", "spoolss_4b");
15065 ndr_print_WERROR(ndr, "result", r->out.result);
15071 static enum ndr_err_code ndr_push_spoolss_4c(struct ndr_push *ndr, int flags, const struct spoolss_4c *r)
15073 if (flags & NDR_IN) {
15075 if (flags & NDR_OUT) {
15076 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15078 return NDR_ERR_SUCCESS;
15081 static enum ndr_err_code ndr_pull_spoolss_4c(struct ndr_pull *ndr, int flags, struct spoolss_4c *r)
15083 if (flags & NDR_IN) {
15085 if (flags & NDR_OUT) {
15086 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15088 return NDR_ERR_SUCCESS;
15091 _PUBLIC_ void ndr_print_spoolss_4c(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4c *r)
15093 ndr_print_struct(ndr, name, "spoolss_4c");
15095 if (flags & NDR_SET_VALUES) {
15096 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15098 if (flags & NDR_IN) {
15099 ndr_print_struct(ndr, "in", "spoolss_4c");
15103 if (flags & NDR_OUT) {
15104 ndr_print_struct(ndr, "out", "spoolss_4c");
15106 ndr_print_WERROR(ndr, "result", r->out.result);
15112 static enum ndr_err_code ndr_push_spoolss_SetPrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinterDataEx *r)
15114 if (flags & NDR_IN) {
15115 if (r->in.handle == NULL) {
15116 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15118 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
15119 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
15120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15121 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
15122 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));
15123 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
15124 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15125 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
15126 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));
15127 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type));
15128 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
15129 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
15131 if (flags & NDR_OUT) {
15132 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15134 return NDR_ERR_SUCCESS;
15137 static enum ndr_err_code ndr_pull_spoolss_SetPrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_SetPrinterDataEx *r)
15139 TALLOC_CTX *_mem_save_handle_0;
15140 if (flags & NDR_IN) {
15141 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15142 NDR_PULL_ALLOC(ndr, r->in.handle);
15144 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15145 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
15146 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
15147 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
15148 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
15149 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
15150 if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
15151 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));
15153 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
15154 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));
15155 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
15156 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
15157 if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
15158 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));
15160 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
15161 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));
15162 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type));
15163 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.buffer));
15164 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
15166 if (flags & NDR_OUT) {
15167 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15169 return NDR_ERR_SUCCESS;
15172 _PUBLIC_ void ndr_print_spoolss_SetPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinterDataEx *r)
15174 ndr_print_struct(ndr, name, "spoolss_SetPrinterDataEx");
15176 if (flags & NDR_SET_VALUES) {
15177 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15179 if (flags & NDR_IN) {
15180 ndr_print_struct(ndr, "in", "spoolss_SetPrinterDataEx");
15182 ndr_print_ptr(ndr, "handle", r->in.handle);
15184 ndr_print_policy_handle(ndr, "handle", r->in.handle);
15186 ndr_print_string(ndr, "key_name", r->in.key_name);
15187 ndr_print_string(ndr, "value_name", r->in.value_name);
15188 ndr_print_uint32(ndr, "type", r->in.type);
15189 ndr_print_DATA_BLOB(ndr, "buffer", r->in.buffer);
15190 ndr_print_uint32(ndr, "offered", r->in.offered);
15193 if (flags & NDR_OUT) {
15194 ndr_print_struct(ndr, "out", "spoolss_SetPrinterDataEx");
15196 ndr_print_WERROR(ndr, "result", r->out.result);
15202 static enum ndr_err_code ndr_push_spoolss_GetPrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDataEx *r)
15204 if (flags & NDR_IN) {
15205 if (r->in.handle == NULL) {
15206 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15208 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
15209 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
15210 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15211 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
15212 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));
15213 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
15214 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15215 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
15216 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));
15217 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
15219 if (flags & NDR_OUT) {
15220 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.type));
15221 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->out.buffer));
15222 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.needed));
15223 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15225 return NDR_ERR_SUCCESS;
15228 static enum ndr_err_code ndr_pull_spoolss_GetPrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDataEx *r)
15230 TALLOC_CTX *_mem_save_handle_0;
15231 if (flags & NDR_IN) {
15232 ZERO_STRUCT(r->out);
15234 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15235 NDR_PULL_ALLOC(ndr, r->in.handle);
15237 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15238 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
15239 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
15240 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
15241 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
15242 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
15243 if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
15244 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));
15246 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
15247 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));
15248 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
15249 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
15250 if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
15251 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));
15253 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
15254 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));
15255 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
15257 if (flags & NDR_OUT) {
15258 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.type));
15259 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->out.buffer));
15260 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.needed));
15261 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15263 return NDR_ERR_SUCCESS;
15266 _PUBLIC_ void ndr_print_spoolss_GetPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDataEx *r)
15268 ndr_print_struct(ndr, name, "spoolss_GetPrinterDataEx");
15270 if (flags & NDR_SET_VALUES) {
15271 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15273 if (flags & NDR_IN) {
15274 ndr_print_struct(ndr, "in", "spoolss_GetPrinterDataEx");
15276 ndr_print_ptr(ndr, "handle", r->in.handle);
15278 ndr_print_policy_handle(ndr, "handle", r->in.handle);
15280 ndr_print_string(ndr, "key_name", r->in.key_name);
15281 ndr_print_string(ndr, "value_name", r->in.value_name);
15282 ndr_print_uint32(ndr, "offered", r->in.offered);
15285 if (flags & NDR_OUT) {
15286 ndr_print_struct(ndr, "out", "spoolss_GetPrinterDataEx");
15288 ndr_print_uint32(ndr, "type", r->out.type);
15289 ndr_print_DATA_BLOB(ndr, "buffer", r->out.buffer);
15290 ndr_print_uint32(ndr, "needed", r->out.needed);
15291 ndr_print_WERROR(ndr, "result", r->out.result);
15297 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_EnumPrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrinterDataEx *r)
15299 if (flags & NDR_IN) {
15300 if (r->in.handle == NULL) {
15301 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15303 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
15304 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
15305 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15306 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
15307 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));
15308 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
15310 if (flags & NDR_OUT) {
15311 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->out.buffer));
15312 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.needed));
15313 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.count));
15314 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15316 return NDR_ERR_SUCCESS;
15319 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_EnumPrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinterDataEx *r)
15321 TALLOC_CTX *_mem_save_handle_0;
15322 if (flags & NDR_IN) {
15323 ZERO_STRUCT(r->out);
15325 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15326 NDR_PULL_ALLOC(ndr, r->in.handle);
15328 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15329 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
15330 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
15331 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
15332 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
15333 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
15334 if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
15335 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));
15337 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
15338 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));
15339 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
15341 if (flags & NDR_OUT) {
15342 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->out.buffer));
15343 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.needed));
15344 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.count));
15345 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15347 return NDR_ERR_SUCCESS;
15350 _PUBLIC_ void ndr_print_spoolss_EnumPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterDataEx *r)
15352 ndr_print_struct(ndr, name, "spoolss_EnumPrinterDataEx");
15354 if (flags & NDR_SET_VALUES) {
15355 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15357 if (flags & NDR_IN) {
15358 ndr_print_struct(ndr, "in", "spoolss_EnumPrinterDataEx");
15360 ndr_print_ptr(ndr, "handle", r->in.handle);
15362 ndr_print_policy_handle(ndr, "handle", r->in.handle);
15364 ndr_print_string(ndr, "key_name", r->in.key_name);
15365 ndr_print_uint32(ndr, "offered", r->in.offered);
15368 if (flags & NDR_OUT) {
15369 ndr_print_struct(ndr, "out", "spoolss_EnumPrinterDataEx");
15371 ndr_print_DATA_BLOB(ndr, "buffer", r->out.buffer);
15372 ndr_print_uint32(ndr, "needed", r->out.needed);
15373 ndr_print_uint32(ndr, "count", r->out.count);
15374 ndr_print_WERROR(ndr, "result", r->out.result);
15380 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_EnumPrinterKey(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrinterKey *r)
15382 uint32_t cntr_key_buffer_0;
15383 if (flags & NDR_IN) {
15384 if (r->in.handle == NULL) {
15385 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15387 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
15388 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
15389 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15390 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
15391 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));
15392 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.needed));
15394 if (flags & NDR_OUT) {
15395 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.key_buffer_size));
15396 for (cntr_key_buffer_0 = 0; cntr_key_buffer_0 < r->out.key_buffer_size; cntr_key_buffer_0++) {
15397 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.key_buffer[cntr_key_buffer_0]));
15399 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.needed));
15400 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15402 return NDR_ERR_SUCCESS;
15405 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_EnumPrinterKey(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinterKey *r)
15407 uint32_t cntr_key_buffer_0;
15408 TALLOC_CTX *_mem_save_handle_0;
15409 TALLOC_CTX *_mem_save_key_buffer_0;
15410 if (flags & NDR_IN) {
15411 ZERO_STRUCT(r->out);
15413 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15414 NDR_PULL_ALLOC(ndr, r->in.handle);
15416 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15417 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
15418 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
15419 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
15420 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
15421 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
15422 if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
15423 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));
15425 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
15426 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));
15427 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.needed));
15429 if (flags & NDR_OUT) {
15430 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.key_buffer_size));
15431 NDR_PULL_ALLOC_N(ndr, r->out.key_buffer, r->out.key_buffer_size);
15432 _mem_save_key_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
15433 NDR_PULL_SET_MEM_CTX(ndr, r->out.key_buffer, 0);
15434 for (cntr_key_buffer_0 = 0; cntr_key_buffer_0 < r->out.key_buffer_size; cntr_key_buffer_0++) {
15435 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.key_buffer[cntr_key_buffer_0]));
15437 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_buffer_0, 0);
15438 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.needed));
15439 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15441 return NDR_ERR_SUCCESS;
15444 _PUBLIC_ void ndr_print_spoolss_EnumPrinterKey(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterKey *r)
15446 uint32_t cntr_key_buffer_0;
15447 ndr_print_struct(ndr, name, "spoolss_EnumPrinterKey");
15449 if (flags & NDR_SET_VALUES) {
15450 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15452 if (flags & NDR_IN) {
15453 ndr_print_struct(ndr, "in", "spoolss_EnumPrinterKey");
15455 ndr_print_ptr(ndr, "handle", r->in.handle);
15457 ndr_print_policy_handle(ndr, "handle", r->in.handle);
15459 ndr_print_string(ndr, "key_name", r->in.key_name);
15460 ndr_print_uint32(ndr, "needed", r->in.needed);
15463 if (flags & NDR_OUT) {
15464 ndr_print_struct(ndr, "out", "spoolss_EnumPrinterKey");
15466 ndr_print_uint32(ndr, "key_buffer_size", r->out.key_buffer_size);
15467 ndr->print(ndr, "%s: ARRAY(%d)", "key_buffer", (int)r->out.key_buffer_size);
15469 for (cntr_key_buffer_0=0;cntr_key_buffer_0<r->out.key_buffer_size;cntr_key_buffer_0++) {
15471 if (asprintf(&idx_0, "[%d]", cntr_key_buffer_0) != -1) {
15472 ndr_print_uint16(ndr, "key_buffer", r->out.key_buffer[cntr_key_buffer_0]);
15477 ndr_print_uint32(ndr, "needed", r->out.needed);
15478 ndr_print_WERROR(ndr, "result", r->out.result);
15484 static enum ndr_err_code ndr_push_spoolss_DeletePrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterDataEx *r)
15486 if (flags & NDR_IN) {
15487 if (r->in.handle == NULL) {
15488 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15490 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
15491 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
15492 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15493 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16)));
15494 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));
15495 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
15496 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15497 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
15498 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));
15500 if (flags & NDR_OUT) {
15501 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15503 return NDR_ERR_SUCCESS;
15506 static enum ndr_err_code ndr_pull_spoolss_DeletePrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterDataEx *r)
15508 TALLOC_CTX *_mem_save_handle_0;
15509 if (flags & NDR_IN) {
15510 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15511 NDR_PULL_ALLOC(ndr, r->in.handle);
15513 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15514 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
15515 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
15516 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
15517 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
15518 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
15519 if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) {
15520 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));
15522 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
15523 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));
15524 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name));
15525 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name));
15526 if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) {
15527 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));
15529 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
15530 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));
15532 if (flags & NDR_OUT) {
15533 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15535 return NDR_ERR_SUCCESS;
15538 _PUBLIC_ void ndr_print_spoolss_DeletePrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterDataEx *r)
15540 ndr_print_struct(ndr, name, "spoolss_DeletePrinterDataEx");
15542 if (flags & NDR_SET_VALUES) {
15543 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15545 if (flags & NDR_IN) {
15546 ndr_print_struct(ndr, "in", "spoolss_DeletePrinterDataEx");
15548 ndr_print_ptr(ndr, "handle", r->in.handle);
15550 ndr_print_policy_handle(ndr, "handle", r->in.handle);
15552 ndr_print_string(ndr, "key_name", r->in.key_name);
15553 ndr_print_string(ndr, "value_name", r->in.value_name);
15556 if (flags & NDR_OUT) {
15557 ndr_print_struct(ndr, "out", "spoolss_DeletePrinterDataEx");
15559 ndr_print_WERROR(ndr, "result", r->out.result);
15565 static enum ndr_err_code ndr_push_spoolss_DeletePrinterKey(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterKey *r)
15567 if (flags & NDR_IN) {
15569 if (flags & NDR_OUT) {
15570 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15572 return NDR_ERR_SUCCESS;
15575 static enum ndr_err_code ndr_pull_spoolss_DeletePrinterKey(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterKey *r)
15577 if (flags & NDR_IN) {
15579 if (flags & NDR_OUT) {
15580 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15582 return NDR_ERR_SUCCESS;
15585 _PUBLIC_ void ndr_print_spoolss_DeletePrinterKey(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterKey *r)
15587 ndr_print_struct(ndr, name, "spoolss_DeletePrinterKey");
15589 if (flags & NDR_SET_VALUES) {
15590 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15592 if (flags & NDR_IN) {
15593 ndr_print_struct(ndr, "in", "spoolss_DeletePrinterKey");
15597 if (flags & NDR_OUT) {
15598 ndr_print_struct(ndr, "out", "spoolss_DeletePrinterKey");
15600 ndr_print_WERROR(ndr, "result", r->out.result);
15606 static enum ndr_err_code ndr_push_spoolss_53(struct ndr_push *ndr, int flags, const struct spoolss_53 *r)
15608 if (flags & NDR_IN) {
15610 if (flags & NDR_OUT) {
15611 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15613 return NDR_ERR_SUCCESS;
15616 static enum ndr_err_code ndr_pull_spoolss_53(struct ndr_pull *ndr, int flags, struct spoolss_53 *r)
15618 if (flags & NDR_IN) {
15620 if (flags & NDR_OUT) {
15621 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15623 return NDR_ERR_SUCCESS;
15626 _PUBLIC_ void ndr_print_spoolss_53(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_53 *r)
15628 ndr_print_struct(ndr, name, "spoolss_53");
15630 if (flags & NDR_SET_VALUES) {
15631 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15633 if (flags & NDR_IN) {
15634 ndr_print_struct(ndr, "in", "spoolss_53");
15638 if (flags & NDR_OUT) {
15639 ndr_print_struct(ndr, "out", "spoolss_53");
15641 ndr_print_WERROR(ndr, "result", r->out.result);
15647 static enum ndr_err_code ndr_push_spoolss_DeletePrinterDriverEx(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterDriverEx *r)
15649 if (flags & NDR_IN) {
15651 if (flags & NDR_OUT) {
15652 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15654 return NDR_ERR_SUCCESS;
15657 static enum ndr_err_code ndr_pull_spoolss_DeletePrinterDriverEx(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterDriverEx *r)
15659 if (flags & NDR_IN) {
15661 if (flags & NDR_OUT) {
15662 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15664 return NDR_ERR_SUCCESS;
15667 _PUBLIC_ void ndr_print_spoolss_DeletePrinterDriverEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterDriverEx *r)
15669 ndr_print_struct(ndr, name, "spoolss_DeletePrinterDriverEx");
15671 if (flags & NDR_SET_VALUES) {
15672 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15674 if (flags & NDR_IN) {
15675 ndr_print_struct(ndr, "in", "spoolss_DeletePrinterDriverEx");
15679 if (flags & NDR_OUT) {
15680 ndr_print_struct(ndr, "out", "spoolss_DeletePrinterDriverEx");
15682 ndr_print_WERROR(ndr, "result", r->out.result);
15688 static enum ndr_err_code ndr_push_spoolss_55(struct ndr_push *ndr, int flags, const struct spoolss_55 *r)
15690 if (flags & NDR_IN) {
15692 if (flags & NDR_OUT) {
15693 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15695 return NDR_ERR_SUCCESS;
15698 static enum ndr_err_code ndr_pull_spoolss_55(struct ndr_pull *ndr, int flags, struct spoolss_55 *r)
15700 if (flags & NDR_IN) {
15702 if (flags & NDR_OUT) {
15703 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15705 return NDR_ERR_SUCCESS;
15708 _PUBLIC_ void ndr_print_spoolss_55(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_55 *r)
15710 ndr_print_struct(ndr, name, "spoolss_55");
15712 if (flags & NDR_SET_VALUES) {
15713 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15715 if (flags & NDR_IN) {
15716 ndr_print_struct(ndr, "in", "spoolss_55");
15720 if (flags & NDR_OUT) {
15721 ndr_print_struct(ndr, "out", "spoolss_55");
15723 ndr_print_WERROR(ndr, "result", r->out.result);
15729 static enum ndr_err_code ndr_push_spoolss_56(struct ndr_push *ndr, int flags, const struct spoolss_56 *r)
15731 if (flags & NDR_IN) {
15733 if (flags & NDR_OUT) {
15734 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15736 return NDR_ERR_SUCCESS;
15739 static enum ndr_err_code ndr_pull_spoolss_56(struct ndr_pull *ndr, int flags, struct spoolss_56 *r)
15741 if (flags & NDR_IN) {
15743 if (flags & NDR_OUT) {
15744 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15746 return NDR_ERR_SUCCESS;
15749 _PUBLIC_ void ndr_print_spoolss_56(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_56 *r)
15751 ndr_print_struct(ndr, name, "spoolss_56");
15753 if (flags & NDR_SET_VALUES) {
15754 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15756 if (flags & NDR_IN) {
15757 ndr_print_struct(ndr, "in", "spoolss_56");
15761 if (flags & NDR_OUT) {
15762 ndr_print_struct(ndr, "out", "spoolss_56");
15764 ndr_print_WERROR(ndr, "result", r->out.result);
15770 static enum ndr_err_code ndr_push_spoolss_57(struct ndr_push *ndr, int flags, const struct spoolss_57 *r)
15772 if (flags & NDR_IN) {
15774 if (flags & NDR_OUT) {
15775 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15777 return NDR_ERR_SUCCESS;
15780 static enum ndr_err_code ndr_pull_spoolss_57(struct ndr_pull *ndr, int flags, struct spoolss_57 *r)
15782 if (flags & NDR_IN) {
15784 if (flags & NDR_OUT) {
15785 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15787 return NDR_ERR_SUCCESS;
15790 _PUBLIC_ void ndr_print_spoolss_57(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_57 *r)
15792 ndr_print_struct(ndr, name, "spoolss_57");
15794 if (flags & NDR_SET_VALUES) {
15795 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15797 if (flags & NDR_IN) {
15798 ndr_print_struct(ndr, "in", "spoolss_57");
15802 if (flags & NDR_OUT) {
15803 ndr_print_struct(ndr, "out", "spoolss_57");
15805 ndr_print_WERROR(ndr, "result", r->out.result);
15811 static enum ndr_err_code ndr_push_spoolss_XcvData(struct ndr_push *ndr, int flags, const struct spoolss_XcvData *r)
15813 if (flags & NDR_IN) {
15814 if (r->in.handle == NULL) {
15815 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15817 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
15818 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.function_name, CH_UTF16)));
15819 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15820 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.function_name, CH_UTF16)));
15821 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));
15822 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.in_data));
15823 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.in_data.length));
15824 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
15825 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
15827 if (flags & NDR_OUT) {
15828 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->out.out_data));
15829 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.needed));
15830 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.unknown2));
15831 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15833 return NDR_ERR_SUCCESS;
15836 static enum ndr_err_code ndr_pull_spoolss_XcvData(struct ndr_pull *ndr, int flags, struct spoolss_XcvData *r)
15838 TALLOC_CTX *_mem_save_handle_0;
15839 if (flags & NDR_IN) {
15840 ZERO_STRUCT(r->out);
15842 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15843 NDR_PULL_ALLOC(ndr, r->in.handle);
15845 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15846 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
15847 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
15848 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
15849 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.function_name));
15850 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.function_name));
15851 if (ndr_get_array_length(ndr, &r->in.function_name) > ndr_get_array_size(ndr, &r->in.function_name)) {
15852 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));
15854 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.function_name), sizeof(uint16_t)));
15855 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));
15856 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.in_data));
15857 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in._in_data_length));
15858 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
15859 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
15861 if (flags & NDR_OUT) {
15862 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->out.out_data));
15863 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.needed));
15864 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.unknown2));
15865 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15867 return NDR_ERR_SUCCESS;
15870 _PUBLIC_ void ndr_print_spoolss_XcvData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_XcvData *r)
15872 ndr_print_struct(ndr, name, "spoolss_XcvData");
15874 if (flags & NDR_SET_VALUES) {
15875 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15877 if (flags & NDR_IN) {
15878 ndr_print_struct(ndr, "in", "spoolss_XcvData");
15880 ndr_print_ptr(ndr, "handle", r->in.handle);
15882 ndr_print_policy_handle(ndr, "handle", r->in.handle);
15884 ndr_print_string(ndr, "function_name", r->in.function_name);
15885 ndr_print_DATA_BLOB(ndr, "in_data", r->in.in_data);
15886 ndr_print_uint32(ndr, "_in_data_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->in.in_data.length:r->in._in_data_length);
15887 ndr_print_uint32(ndr, "offered", r->in.offered);
15888 ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
15891 if (flags & NDR_OUT) {
15892 ndr_print_struct(ndr, "out", "spoolss_XcvData");
15894 ndr_print_DATA_BLOB(ndr, "out_data", r->out.out_data);
15895 ndr_print_uint32(ndr, "needed", r->out.needed);
15896 ndr_print_uint32(ndr, "unknown2", r->out.unknown2);
15897 ndr_print_WERROR(ndr, "result", r->out.result);
15903 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_AddPrinterDriverEx(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterDriverEx *r)
15905 if (flags & NDR_IN) {
15907 if (flags & NDR_OUT) {
15908 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15910 return NDR_ERR_SUCCESS;
15913 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_AddPrinterDriverEx(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterDriverEx *r)
15915 if (flags & NDR_IN) {
15917 if (flags & NDR_OUT) {
15918 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15920 return NDR_ERR_SUCCESS;
15923 _PUBLIC_ void ndr_print_spoolss_AddPrinterDriverEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterDriverEx *r)
15925 ndr_print_struct(ndr, name, "spoolss_AddPrinterDriverEx");
15927 if (flags & NDR_SET_VALUES) {
15928 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15930 if (flags & NDR_IN) {
15931 ndr_print_struct(ndr, "in", "spoolss_AddPrinterDriverEx");
15935 if (flags & NDR_OUT) {
15936 ndr_print_struct(ndr, "out", "spoolss_AddPrinterDriverEx");
15938 ndr_print_WERROR(ndr, "result", r->out.result);
15944 static enum ndr_err_code ndr_push_spoolss_5a(struct ndr_push *ndr, int flags, const struct spoolss_5a *r)
15946 if (flags & NDR_IN) {
15948 if (flags & NDR_OUT) {
15949 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15951 return NDR_ERR_SUCCESS;
15954 static enum ndr_err_code ndr_pull_spoolss_5a(struct ndr_pull *ndr, int flags, struct spoolss_5a *r)
15956 if (flags & NDR_IN) {
15958 if (flags & NDR_OUT) {
15959 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15961 return NDR_ERR_SUCCESS;
15964 _PUBLIC_ void ndr_print_spoolss_5a(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5a *r)
15966 ndr_print_struct(ndr, name, "spoolss_5a");
15968 if (flags & NDR_SET_VALUES) {
15969 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15971 if (flags & NDR_IN) {
15972 ndr_print_struct(ndr, "in", "spoolss_5a");
15976 if (flags & NDR_OUT) {
15977 ndr_print_struct(ndr, "out", "spoolss_5a");
15979 ndr_print_WERROR(ndr, "result", r->out.result);
15985 static enum ndr_err_code ndr_push_spoolss_5b(struct ndr_push *ndr, int flags, const struct spoolss_5b *r)
15987 if (flags & NDR_IN) {
15989 if (flags & NDR_OUT) {
15990 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15992 return NDR_ERR_SUCCESS;
15995 static enum ndr_err_code ndr_pull_spoolss_5b(struct ndr_pull *ndr, int flags, struct spoolss_5b *r)
15997 if (flags & NDR_IN) {
15999 if (flags & NDR_OUT) {
16000 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16002 return NDR_ERR_SUCCESS;
16005 _PUBLIC_ void ndr_print_spoolss_5b(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5b *r)
16007 ndr_print_struct(ndr, name, "spoolss_5b");
16009 if (flags & NDR_SET_VALUES) {
16010 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16012 if (flags & NDR_IN) {
16013 ndr_print_struct(ndr, "in", "spoolss_5b");
16017 if (flags & NDR_OUT) {
16018 ndr_print_struct(ndr, "out", "spoolss_5b");
16020 ndr_print_WERROR(ndr, "result", r->out.result);
16026 static enum ndr_err_code ndr_push_spoolss_5c(struct ndr_push *ndr, int flags, const struct spoolss_5c *r)
16028 if (flags & NDR_IN) {
16030 if (flags & NDR_OUT) {
16031 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16033 return NDR_ERR_SUCCESS;
16036 static enum ndr_err_code ndr_pull_spoolss_5c(struct ndr_pull *ndr, int flags, struct spoolss_5c *r)
16038 if (flags & NDR_IN) {
16040 if (flags & NDR_OUT) {
16041 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16043 return NDR_ERR_SUCCESS;
16046 _PUBLIC_ void ndr_print_spoolss_5c(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5c *r)
16048 ndr_print_struct(ndr, name, "spoolss_5c");
16050 if (flags & NDR_SET_VALUES) {
16051 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16053 if (flags & NDR_IN) {
16054 ndr_print_struct(ndr, "in", "spoolss_5c");
16058 if (flags & NDR_OUT) {
16059 ndr_print_struct(ndr, "out", "spoolss_5c");
16061 ndr_print_WERROR(ndr, "result", r->out.result);
16067 static enum ndr_err_code ndr_push_spoolss_5d(struct ndr_push *ndr, int flags, const struct spoolss_5d *r)
16069 if (flags & NDR_IN) {
16071 if (flags & NDR_OUT) {
16072 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16074 return NDR_ERR_SUCCESS;
16077 static enum ndr_err_code ndr_pull_spoolss_5d(struct ndr_pull *ndr, int flags, struct spoolss_5d *r)
16079 if (flags & NDR_IN) {
16081 if (flags & NDR_OUT) {
16082 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16084 return NDR_ERR_SUCCESS;
16087 _PUBLIC_ void ndr_print_spoolss_5d(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5d *r)
16089 ndr_print_struct(ndr, name, "spoolss_5d");
16091 if (flags & NDR_SET_VALUES) {
16092 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16094 if (flags & NDR_IN) {
16095 ndr_print_struct(ndr, "in", "spoolss_5d");
16099 if (flags & NDR_OUT) {
16100 ndr_print_struct(ndr, "out", "spoolss_5d");
16102 ndr_print_WERROR(ndr, "result", r->out.result);
16108 static enum ndr_err_code ndr_push_spoolss_5e(struct ndr_push *ndr, int flags, const struct spoolss_5e *r)
16110 if (flags & NDR_IN) {
16112 if (flags & NDR_OUT) {
16113 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16115 return NDR_ERR_SUCCESS;
16118 static enum ndr_err_code ndr_pull_spoolss_5e(struct ndr_pull *ndr, int flags, struct spoolss_5e *r)
16120 if (flags & NDR_IN) {
16122 if (flags & NDR_OUT) {
16123 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16125 return NDR_ERR_SUCCESS;
16128 _PUBLIC_ void ndr_print_spoolss_5e(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5e *r)
16130 ndr_print_struct(ndr, name, "spoolss_5e");
16132 if (flags & NDR_SET_VALUES) {
16133 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16135 if (flags & NDR_IN) {
16136 ndr_print_struct(ndr, "in", "spoolss_5e");
16140 if (flags & NDR_OUT) {
16141 ndr_print_struct(ndr, "out", "spoolss_5e");
16143 ndr_print_WERROR(ndr, "result", r->out.result);
16149 static enum ndr_err_code ndr_push_spoolss_5f(struct ndr_push *ndr, int flags, const struct spoolss_5f *r)
16151 if (flags & NDR_IN) {
16153 if (flags & NDR_OUT) {
16154 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16156 return NDR_ERR_SUCCESS;
16159 static enum ndr_err_code ndr_pull_spoolss_5f(struct ndr_pull *ndr, int flags, struct spoolss_5f *r)
16161 if (flags & NDR_IN) {
16163 if (flags & NDR_OUT) {
16164 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16166 return NDR_ERR_SUCCESS;
16169 _PUBLIC_ void ndr_print_spoolss_5f(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5f *r)
16171 ndr_print_struct(ndr, name, "spoolss_5f");
16173 if (flags & NDR_SET_VALUES) {
16174 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16176 if (flags & NDR_IN) {
16177 ndr_print_struct(ndr, "in", "spoolss_5f");
16181 if (flags & NDR_OUT) {
16182 ndr_print_struct(ndr, "out", "spoolss_5f");
16184 ndr_print_WERROR(ndr, "result", r->out.result);
16190 static const struct ndr_interface_call spoolss_calls[] = {
16192 "spoolss_EnumPrinters",
16193 sizeof(struct spoolss_EnumPrinters),
16194 (ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinters,
16195 (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinters,
16196 (ndr_print_function_t) ndr_print_spoolss_EnumPrinters,
16200 "spoolss_OpenPrinter",
16201 sizeof(struct spoolss_OpenPrinter),
16202 (ndr_push_flags_fn_t) ndr_push_spoolss_OpenPrinter,
16203 (ndr_pull_flags_fn_t) ndr_pull_spoolss_OpenPrinter,
16204 (ndr_print_function_t) ndr_print_spoolss_OpenPrinter,
16209 sizeof(struct spoolss_SetJob),
16210 (ndr_push_flags_fn_t) ndr_push_spoolss_SetJob,
16211 (ndr_pull_flags_fn_t) ndr_pull_spoolss_SetJob,
16212 (ndr_print_function_t) ndr_print_spoolss_SetJob,
16217 sizeof(struct spoolss_GetJob),
16218 (ndr_push_flags_fn_t) ndr_push_spoolss_GetJob,
16219 (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetJob,
16220 (ndr_print_function_t) ndr_print_spoolss_GetJob,
16224 "spoolss_EnumJobs",
16225 sizeof(struct spoolss_EnumJobs),
16226 (ndr_push_flags_fn_t) ndr_push_spoolss_EnumJobs,
16227 (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumJobs,
16228 (ndr_print_function_t) ndr_print_spoolss_EnumJobs,
16232 "spoolss_AddPrinter",
16233 sizeof(struct spoolss_AddPrinter),
16234 (ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinter,
16235 (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinter,
16236 (ndr_print_function_t) ndr_print_spoolss_AddPrinter,
16240 "spoolss_DeletePrinter",
16241 sizeof(struct spoolss_DeletePrinter),
16242 (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinter,
16243 (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinter,
16244 (ndr_print_function_t) ndr_print_spoolss_DeletePrinter,
16248 "spoolss_SetPrinter",
16249 sizeof(struct spoolss_SetPrinter),
16250 (ndr_push_flags_fn_t) ndr_push_spoolss_SetPrinter,
16251 (ndr_pull_flags_fn_t) ndr_pull_spoolss_SetPrinter,
16252 (ndr_print_function_t) ndr_print_spoolss_SetPrinter,
16256 "spoolss_GetPrinter",
16257 sizeof(struct spoolss_GetPrinter),
16258 (ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinter,
16259 (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinter,
16260 (ndr_print_function_t) ndr_print_spoolss_GetPrinter,
16264 "spoolss_AddPrinterDriver",
16265 sizeof(struct spoolss_AddPrinterDriver),
16266 (ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterDriver,
16267 (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterDriver,
16268 (ndr_print_function_t) ndr_print_spoolss_AddPrinterDriver,
16272 "spoolss_EnumPrinterDrivers",
16273 sizeof(struct spoolss_EnumPrinterDrivers),
16274 (ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterDrivers,
16275 (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterDrivers,
16276 (ndr_print_function_t) ndr_print_spoolss_EnumPrinterDrivers,
16280 "spoolss_GetPrinterDriver",
16281 sizeof(struct spoolss_GetPrinterDriver),
16282 (ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriver,
16283 (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriver,
16284 (ndr_print_function_t) ndr_print_spoolss_GetPrinterDriver,
16288 "spoolss_GetPrinterDriverDirectory",
16289 sizeof(struct spoolss_GetPrinterDriverDirectory),
16290 (ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriverDirectory,
16291 (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriverDirectory,
16292 (ndr_print_function_t) ndr_print_spoolss_GetPrinterDriverDirectory,
16296 "spoolss_DeletePrinterDriver",
16297 sizeof(struct spoolss_DeletePrinterDriver),
16298 (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterDriver,
16299 (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterDriver,
16300 (ndr_print_function_t) ndr_print_spoolss_DeletePrinterDriver,
16304 "spoolss_AddPrintProcessor",
16305 sizeof(struct spoolss_AddPrintProcessor),
16306 (ndr_push_flags_fn_t) ndr_push_spoolss_AddPrintProcessor,
16307 (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrintProcessor,
16308 (ndr_print_function_t) ndr_print_spoolss_AddPrintProcessor,
16312 "spoolss_EnumPrintProcessors",
16313 sizeof(struct spoolss_EnumPrintProcessors),
16314 (ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrintProcessors,
16315 (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrintProcessors,
16316 (ndr_print_function_t) ndr_print_spoolss_EnumPrintProcessors,
16320 "spoolss_GetPrintProcessorDirectory",
16321 sizeof(struct spoolss_GetPrintProcessorDirectory),
16322 (ndr_push_flags_fn_t) ndr_push_spoolss_GetPrintProcessorDirectory,
16323 (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrintProcessorDirectory,
16324 (ndr_print_function_t) ndr_print_spoolss_GetPrintProcessorDirectory,
16328 "spoolss_StartDocPrinter",
16329 sizeof(struct spoolss_StartDocPrinter),
16330 (ndr_push_flags_fn_t) ndr_push_spoolss_StartDocPrinter,
16331 (ndr_pull_flags_fn_t) ndr_pull_spoolss_StartDocPrinter,
16332 (ndr_print_function_t) ndr_print_spoolss_StartDocPrinter,
16336 "spoolss_StartPagePrinter",
16337 sizeof(struct spoolss_StartPagePrinter),
16338 (ndr_push_flags_fn_t) ndr_push_spoolss_StartPagePrinter,
16339 (ndr_pull_flags_fn_t) ndr_pull_spoolss_StartPagePrinter,
16340 (ndr_print_function_t) ndr_print_spoolss_StartPagePrinter,
16344 "spoolss_WritePrinter",
16345 sizeof(struct spoolss_WritePrinter),
16346 (ndr_push_flags_fn_t) ndr_push_spoolss_WritePrinter,
16347 (ndr_pull_flags_fn_t) ndr_pull_spoolss_WritePrinter,
16348 (ndr_print_function_t) ndr_print_spoolss_WritePrinter,
16352 "spoolss_EndPagePrinter",
16353 sizeof(struct spoolss_EndPagePrinter),
16354 (ndr_push_flags_fn_t) ndr_push_spoolss_EndPagePrinter,
16355 (ndr_pull_flags_fn_t) ndr_pull_spoolss_EndPagePrinter,
16356 (ndr_print_function_t) ndr_print_spoolss_EndPagePrinter,
16360 "spoolss_AbortPrinter",
16361 sizeof(struct spoolss_AbortPrinter),
16362 (ndr_push_flags_fn_t) ndr_push_spoolss_AbortPrinter,
16363 (ndr_pull_flags_fn_t) ndr_pull_spoolss_AbortPrinter,
16364 (ndr_print_function_t) ndr_print_spoolss_AbortPrinter,
16368 "spoolss_ReadPrinter",
16369 sizeof(struct spoolss_ReadPrinter),
16370 (ndr_push_flags_fn_t) ndr_push_spoolss_ReadPrinter,
16371 (ndr_pull_flags_fn_t) ndr_pull_spoolss_ReadPrinter,
16372 (ndr_print_function_t) ndr_print_spoolss_ReadPrinter,
16376 "spoolss_EndDocPrinter",
16377 sizeof(struct spoolss_EndDocPrinter),
16378 (ndr_push_flags_fn_t) ndr_push_spoolss_EndDocPrinter,
16379 (ndr_pull_flags_fn_t) ndr_pull_spoolss_EndDocPrinter,
16380 (ndr_print_function_t) ndr_print_spoolss_EndDocPrinter,
16385 sizeof(struct spoolss_AddJob),
16386 (ndr_push_flags_fn_t) ndr_push_spoolss_AddJob,
16387 (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddJob,
16388 (ndr_print_function_t) ndr_print_spoolss_AddJob,
16392 "spoolss_ScheduleJob",
16393 sizeof(struct spoolss_ScheduleJob),
16394 (ndr_push_flags_fn_t) ndr_push_spoolss_ScheduleJob,
16395 (ndr_pull_flags_fn_t) ndr_pull_spoolss_ScheduleJob,
16396 (ndr_print_function_t) ndr_print_spoolss_ScheduleJob,
16400 "spoolss_GetPrinterData",
16401 sizeof(struct spoolss_GetPrinterData),
16402 (ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterData,
16403 (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterData,
16404 (ndr_print_function_t) ndr_print_spoolss_GetPrinterData,
16408 "spoolss_SetPrinterData",
16409 sizeof(struct spoolss_SetPrinterData),
16410 (ndr_push_flags_fn_t) ndr_push_spoolss_SetPrinterData,
16411 (ndr_pull_flags_fn_t) ndr_pull_spoolss_SetPrinterData,
16412 (ndr_print_function_t) ndr_print_spoolss_SetPrinterData,
16416 "spoolss_WaitForPrinterChange",
16417 sizeof(struct spoolss_WaitForPrinterChange),
16418 (ndr_push_flags_fn_t) ndr_push_spoolss_WaitForPrinterChange,
16419 (ndr_pull_flags_fn_t) ndr_pull_spoolss_WaitForPrinterChange,
16420 (ndr_print_function_t) ndr_print_spoolss_WaitForPrinterChange,
16424 "spoolss_ClosePrinter",
16425 sizeof(struct spoolss_ClosePrinter),
16426 (ndr_push_flags_fn_t) ndr_push_spoolss_ClosePrinter,
16427 (ndr_pull_flags_fn_t) ndr_pull_spoolss_ClosePrinter,
16428 (ndr_print_function_t) ndr_print_spoolss_ClosePrinter,
16433 sizeof(struct spoolss_AddForm),
16434 (ndr_push_flags_fn_t) ndr_push_spoolss_AddForm,
16435 (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddForm,
16436 (ndr_print_function_t) ndr_print_spoolss_AddForm,
16440 "spoolss_DeleteForm",
16441 sizeof(struct spoolss_DeleteForm),
16442 (ndr_push_flags_fn_t) ndr_push_spoolss_DeleteForm,
16443 (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeleteForm,
16444 (ndr_print_function_t) ndr_print_spoolss_DeleteForm,
16449 sizeof(struct spoolss_GetForm),
16450 (ndr_push_flags_fn_t) ndr_push_spoolss_GetForm,
16451 (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetForm,
16452 (ndr_print_function_t) ndr_print_spoolss_GetForm,
16457 sizeof(struct spoolss_SetForm),
16458 (ndr_push_flags_fn_t) ndr_push_spoolss_SetForm,
16459 (ndr_pull_flags_fn_t) ndr_pull_spoolss_SetForm,
16460 (ndr_print_function_t) ndr_print_spoolss_SetForm,
16464 "spoolss_EnumForms",
16465 sizeof(struct spoolss_EnumForms),
16466 (ndr_push_flags_fn_t) ndr_push_spoolss_EnumForms,
16467 (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumForms,
16468 (ndr_print_function_t) ndr_print_spoolss_EnumForms,
16472 "spoolss_EnumPorts",
16473 sizeof(struct spoolss_EnumPorts),
16474 (ndr_push_flags_fn_t) ndr_push_spoolss_EnumPorts,
16475 (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPorts,
16476 (ndr_print_function_t) ndr_print_spoolss_EnumPorts,
16480 "spoolss_EnumMonitors",
16481 sizeof(struct spoolss_EnumMonitors),
16482 (ndr_push_flags_fn_t) ndr_push_spoolss_EnumMonitors,
16483 (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumMonitors,
16484 (ndr_print_function_t) ndr_print_spoolss_EnumMonitors,
16489 sizeof(struct spoolss_AddPort),
16490 (ndr_push_flags_fn_t) ndr_push_spoolss_AddPort,
16491 (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPort,
16492 (ndr_print_function_t) ndr_print_spoolss_AddPort,
16496 "spoolss_ConfigurePort",
16497 sizeof(struct spoolss_ConfigurePort),
16498 (ndr_push_flags_fn_t) ndr_push_spoolss_ConfigurePort,
16499 (ndr_pull_flags_fn_t) ndr_pull_spoolss_ConfigurePort,
16500 (ndr_print_function_t) ndr_print_spoolss_ConfigurePort,
16504 "spoolss_DeletePort",
16505 sizeof(struct spoolss_DeletePort),
16506 (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePort,
16507 (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePort,
16508 (ndr_print_function_t) ndr_print_spoolss_DeletePort,
16512 "spoolss_CreatePrinterIC",
16513 sizeof(struct spoolss_CreatePrinterIC),
16514 (ndr_push_flags_fn_t) ndr_push_spoolss_CreatePrinterIC,
16515 (ndr_pull_flags_fn_t) ndr_pull_spoolss_CreatePrinterIC,
16516 (ndr_print_function_t) ndr_print_spoolss_CreatePrinterIC,
16520 "spoolss_PlayGDIScriptOnPrinterIC",
16521 sizeof(struct spoolss_PlayGDIScriptOnPrinterIC),
16522 (ndr_push_flags_fn_t) ndr_push_spoolss_PlayGDIScriptOnPrinterIC,
16523 (ndr_pull_flags_fn_t) ndr_pull_spoolss_PlayGDIScriptOnPrinterIC,
16524 (ndr_print_function_t) ndr_print_spoolss_PlayGDIScriptOnPrinterIC,
16528 "spoolss_DeletePrinterIC",
16529 sizeof(struct spoolss_DeletePrinterIC),
16530 (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterIC,
16531 (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterIC,
16532 (ndr_print_function_t) ndr_print_spoolss_DeletePrinterIC,
16536 "spoolss_AddPrinterConnection",
16537 sizeof(struct spoolss_AddPrinterConnection),
16538 (ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterConnection,
16539 (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterConnection,
16540 (ndr_print_function_t) ndr_print_spoolss_AddPrinterConnection,
16544 "spoolss_DeletePrinterConnection",
16545 sizeof(struct spoolss_DeletePrinterConnection),
16546 (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterConnection,
16547 (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterConnection,
16548 (ndr_print_function_t) ndr_print_spoolss_DeletePrinterConnection,
16552 "spoolss_PrinterMessageBox",
16553 sizeof(struct spoolss_PrinterMessageBox),
16554 (ndr_push_flags_fn_t) ndr_push_spoolss_PrinterMessageBox,
16555 (ndr_pull_flags_fn_t) ndr_pull_spoolss_PrinterMessageBox,
16556 (ndr_print_function_t) ndr_print_spoolss_PrinterMessageBox,
16560 "spoolss_AddMonitor",
16561 sizeof(struct spoolss_AddMonitor),
16562 (ndr_push_flags_fn_t) ndr_push_spoolss_AddMonitor,
16563 (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddMonitor,
16564 (ndr_print_function_t) ndr_print_spoolss_AddMonitor,
16568 "spoolss_DeleteMonitor",
16569 sizeof(struct spoolss_DeleteMonitor),
16570 (ndr_push_flags_fn_t) ndr_push_spoolss_DeleteMonitor,
16571 (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeleteMonitor,
16572 (ndr_print_function_t) ndr_print_spoolss_DeleteMonitor,
16576 "spoolss_DeletePrintProcessor",
16577 sizeof(struct spoolss_DeletePrintProcessor),
16578 (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrintProcessor,
16579 (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrintProcessor,
16580 (ndr_print_function_t) ndr_print_spoolss_DeletePrintProcessor,
16584 "spoolss_AddPrintProvidor",
16585 sizeof(struct spoolss_AddPrintProvidor),
16586 (ndr_push_flags_fn_t) ndr_push_spoolss_AddPrintProvidor,
16587 (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrintProvidor,
16588 (ndr_print_function_t) ndr_print_spoolss_AddPrintProvidor,
16592 "spoolss_DeletePrintProvidor",
16593 sizeof(struct spoolss_DeletePrintProvidor),
16594 (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrintProvidor,
16595 (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrintProvidor,
16596 (ndr_print_function_t) ndr_print_spoolss_DeletePrintProvidor,
16600 "spoolss_EnumPrintProcDataTypes",
16601 sizeof(struct spoolss_EnumPrintProcDataTypes),
16602 (ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrintProcDataTypes,
16603 (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrintProcDataTypes,
16604 (ndr_print_function_t) ndr_print_spoolss_EnumPrintProcDataTypes,
16608 "spoolss_ResetPrinter",
16609 sizeof(struct spoolss_ResetPrinter),
16610 (ndr_push_flags_fn_t) ndr_push_spoolss_ResetPrinter,
16611 (ndr_pull_flags_fn_t) ndr_pull_spoolss_ResetPrinter,
16612 (ndr_print_function_t) ndr_print_spoolss_ResetPrinter,
16616 "spoolss_GetPrinterDriver2",
16617 sizeof(struct spoolss_GetPrinterDriver2),
16618 (ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriver2,
16619 (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriver2,
16620 (ndr_print_function_t) ndr_print_spoolss_GetPrinterDriver2,
16624 "spoolss_FindFirstPrinterChangeNotification",
16625 sizeof(struct spoolss_FindFirstPrinterChangeNotification),
16626 (ndr_push_flags_fn_t) ndr_push_spoolss_FindFirstPrinterChangeNotification,
16627 (ndr_pull_flags_fn_t) ndr_pull_spoolss_FindFirstPrinterChangeNotification,
16628 (ndr_print_function_t) ndr_print_spoolss_FindFirstPrinterChangeNotification,
16632 "spoolss_FindNextPrinterChangeNotification",
16633 sizeof(struct spoolss_FindNextPrinterChangeNotification),
16634 (ndr_push_flags_fn_t) ndr_push_spoolss_FindNextPrinterChangeNotification,
16635 (ndr_pull_flags_fn_t) ndr_pull_spoolss_FindNextPrinterChangeNotification,
16636 (ndr_print_function_t) ndr_print_spoolss_FindNextPrinterChangeNotification,
16640 "spoolss_FindClosePrinterNotify",
16641 sizeof(struct spoolss_FindClosePrinterNotify),
16642 (ndr_push_flags_fn_t) ndr_push_spoolss_FindClosePrinterNotify,
16643 (ndr_pull_flags_fn_t) ndr_pull_spoolss_FindClosePrinterNotify,
16644 (ndr_print_function_t) ndr_print_spoolss_FindClosePrinterNotify,
16648 "spoolss_RouterFindFirstPrinterChangeNotificationOld",
16649 sizeof(struct spoolss_RouterFindFirstPrinterChangeNotificationOld),
16650 (ndr_push_flags_fn_t) ndr_push_spoolss_RouterFindFirstPrinterChangeNotificationOld,
16651 (ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterFindFirstPrinterChangeNotificationOld,
16652 (ndr_print_function_t) ndr_print_spoolss_RouterFindFirstPrinterChangeNotificationOld,
16656 "spoolss_ReplyOpenPrinter",
16657 sizeof(struct spoolss_ReplyOpenPrinter),
16658 (ndr_push_flags_fn_t) ndr_push_spoolss_ReplyOpenPrinter,
16659 (ndr_pull_flags_fn_t) ndr_pull_spoolss_ReplyOpenPrinter,
16660 (ndr_print_function_t) ndr_print_spoolss_ReplyOpenPrinter,
16664 "spoolss_RouterReplyPrinter",
16665 sizeof(struct spoolss_RouterReplyPrinter),
16666 (ndr_push_flags_fn_t) ndr_push_spoolss_RouterReplyPrinter,
16667 (ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterReplyPrinter,
16668 (ndr_print_function_t) ndr_print_spoolss_RouterReplyPrinter,
16672 "spoolss_ReplyClosePrinter",
16673 sizeof(struct spoolss_ReplyClosePrinter),
16674 (ndr_push_flags_fn_t) ndr_push_spoolss_ReplyClosePrinter,
16675 (ndr_pull_flags_fn_t) ndr_pull_spoolss_ReplyClosePrinter,
16676 (ndr_print_function_t) ndr_print_spoolss_ReplyClosePrinter,
16680 "spoolss_AddPortEx",
16681 sizeof(struct spoolss_AddPortEx),
16682 (ndr_push_flags_fn_t) ndr_push_spoolss_AddPortEx,
16683 (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPortEx,
16684 (ndr_print_function_t) ndr_print_spoolss_AddPortEx,
16688 "spoolss_RouterFindFirstPrinterChangeNotification",
16689 sizeof(struct spoolss_RouterFindFirstPrinterChangeNotification),
16690 (ndr_push_flags_fn_t) ndr_push_spoolss_RouterFindFirstPrinterChangeNotification,
16691 (ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterFindFirstPrinterChangeNotification,
16692 (ndr_print_function_t) ndr_print_spoolss_RouterFindFirstPrinterChangeNotification,
16696 "spoolss_SpoolerInit",
16697 sizeof(struct spoolss_SpoolerInit),
16698 (ndr_push_flags_fn_t) ndr_push_spoolss_SpoolerInit,
16699 (ndr_pull_flags_fn_t) ndr_pull_spoolss_SpoolerInit,
16700 (ndr_print_function_t) ndr_print_spoolss_SpoolerInit,
16704 "spoolss_ResetPrinterEx",
16705 sizeof(struct spoolss_ResetPrinterEx),
16706 (ndr_push_flags_fn_t) ndr_push_spoolss_ResetPrinterEx,
16707 (ndr_pull_flags_fn_t) ndr_pull_spoolss_ResetPrinterEx,
16708 (ndr_print_function_t) ndr_print_spoolss_ResetPrinterEx,
16712 "spoolss_RemoteFindFirstPrinterChangeNotifyEx",
16713 sizeof(struct spoolss_RemoteFindFirstPrinterChangeNotifyEx),
16714 (ndr_push_flags_fn_t) ndr_push_spoolss_RemoteFindFirstPrinterChangeNotifyEx,
16715 (ndr_pull_flags_fn_t) ndr_pull_spoolss_RemoteFindFirstPrinterChangeNotifyEx,
16716 (ndr_print_function_t) ndr_print_spoolss_RemoteFindFirstPrinterChangeNotifyEx,
16720 "spoolss_RouterRefreshPrinterChangeNotification",
16721 sizeof(struct spoolss_RouterRefreshPrinterChangeNotification),
16722 (ndr_push_flags_fn_t) ndr_push_spoolss_RouterRefreshPrinterChangeNotification,
16723 (ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterRefreshPrinterChangeNotification,
16724 (ndr_print_function_t) ndr_print_spoolss_RouterRefreshPrinterChangeNotification,
16728 "spoolss_RemoteFindNextPrinterChangeNotifyEx",
16729 sizeof(struct spoolss_RemoteFindNextPrinterChangeNotifyEx),
16730 (ndr_push_flags_fn_t) ndr_push_spoolss_RemoteFindNextPrinterChangeNotifyEx,
16731 (ndr_pull_flags_fn_t) ndr_pull_spoolss_RemoteFindNextPrinterChangeNotifyEx,
16732 (ndr_print_function_t) ndr_print_spoolss_RemoteFindNextPrinterChangeNotifyEx,
16737 sizeof(struct spoolss_44),
16738 (ndr_push_flags_fn_t) ndr_push_spoolss_44,
16739 (ndr_pull_flags_fn_t) ndr_pull_spoolss_44,
16740 (ndr_print_function_t) ndr_print_spoolss_44,
16744 "spoolss_OpenPrinterEx",
16745 sizeof(struct spoolss_OpenPrinterEx),
16746 (ndr_push_flags_fn_t) ndr_push_spoolss_OpenPrinterEx,
16747 (ndr_pull_flags_fn_t) ndr_pull_spoolss_OpenPrinterEx,
16748 (ndr_print_function_t) ndr_print_spoolss_OpenPrinterEx,
16752 "spoolss_AddPrinterEx",
16753 sizeof(struct spoolss_AddPrinterEx),
16754 (ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterEx,
16755 (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterEx,
16756 (ndr_print_function_t) ndr_print_spoolss_AddPrinterEx,
16761 sizeof(struct spoolss_47),
16762 (ndr_push_flags_fn_t) ndr_push_spoolss_47,
16763 (ndr_pull_flags_fn_t) ndr_pull_spoolss_47,
16764 (ndr_print_function_t) ndr_print_spoolss_47,
16768 "spoolss_EnumPrinterData",
16769 sizeof(struct spoolss_EnumPrinterData),
16770 (ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterData,
16771 (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterData,
16772 (ndr_print_function_t) ndr_print_spoolss_EnumPrinterData,
16776 "spoolss_DeletePrinterData",
16777 sizeof(struct spoolss_DeletePrinterData),
16778 (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterData,
16779 (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterData,
16780 (ndr_print_function_t) ndr_print_spoolss_DeletePrinterData,
16785 sizeof(struct spoolss_4a),
16786 (ndr_push_flags_fn_t) ndr_push_spoolss_4a,
16787 (ndr_pull_flags_fn_t) ndr_pull_spoolss_4a,
16788 (ndr_print_function_t) ndr_print_spoolss_4a,
16793 sizeof(struct spoolss_4b),
16794 (ndr_push_flags_fn_t) ndr_push_spoolss_4b,
16795 (ndr_pull_flags_fn_t) ndr_pull_spoolss_4b,
16796 (ndr_print_function_t) ndr_print_spoolss_4b,
16801 sizeof(struct spoolss_4c),
16802 (ndr_push_flags_fn_t) ndr_push_spoolss_4c,
16803 (ndr_pull_flags_fn_t) ndr_pull_spoolss_4c,
16804 (ndr_print_function_t) ndr_print_spoolss_4c,
16808 "spoolss_SetPrinterDataEx",
16809 sizeof(struct spoolss_SetPrinterDataEx),
16810 (ndr_push_flags_fn_t) ndr_push_spoolss_SetPrinterDataEx,
16811 (ndr_pull_flags_fn_t) ndr_pull_spoolss_SetPrinterDataEx,
16812 (ndr_print_function_t) ndr_print_spoolss_SetPrinterDataEx,
16816 "spoolss_GetPrinterDataEx",
16817 sizeof(struct spoolss_GetPrinterDataEx),
16818 (ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDataEx,
16819 (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDataEx,
16820 (ndr_print_function_t) ndr_print_spoolss_GetPrinterDataEx,
16824 "spoolss_EnumPrinterDataEx",
16825 sizeof(struct spoolss_EnumPrinterDataEx),
16826 (ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterDataEx,
16827 (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterDataEx,
16828 (ndr_print_function_t) ndr_print_spoolss_EnumPrinterDataEx,
16832 "spoolss_EnumPrinterKey",
16833 sizeof(struct spoolss_EnumPrinterKey),
16834 (ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterKey,
16835 (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterKey,
16836 (ndr_print_function_t) ndr_print_spoolss_EnumPrinterKey,
16840 "spoolss_DeletePrinterDataEx",
16841 sizeof(struct spoolss_DeletePrinterDataEx),
16842 (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterDataEx,
16843 (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterDataEx,
16844 (ndr_print_function_t) ndr_print_spoolss_DeletePrinterDataEx,
16848 "spoolss_DeletePrinterKey",
16849 sizeof(struct spoolss_DeletePrinterKey),
16850 (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterKey,
16851 (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterKey,
16852 (ndr_print_function_t) ndr_print_spoolss_DeletePrinterKey,
16857 sizeof(struct spoolss_53),
16858 (ndr_push_flags_fn_t) ndr_push_spoolss_53,
16859 (ndr_pull_flags_fn_t) ndr_pull_spoolss_53,
16860 (ndr_print_function_t) ndr_print_spoolss_53,
16864 "spoolss_DeletePrinterDriverEx",
16865 sizeof(struct spoolss_DeletePrinterDriverEx),
16866 (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterDriverEx,
16867 (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterDriverEx,
16868 (ndr_print_function_t) ndr_print_spoolss_DeletePrinterDriverEx,
16873 sizeof(struct spoolss_55),
16874 (ndr_push_flags_fn_t) ndr_push_spoolss_55,
16875 (ndr_pull_flags_fn_t) ndr_pull_spoolss_55,
16876 (ndr_print_function_t) ndr_print_spoolss_55,
16881 sizeof(struct spoolss_56),
16882 (ndr_push_flags_fn_t) ndr_push_spoolss_56,
16883 (ndr_pull_flags_fn_t) ndr_pull_spoolss_56,
16884 (ndr_print_function_t) ndr_print_spoolss_56,
16889 sizeof(struct spoolss_57),
16890 (ndr_push_flags_fn_t) ndr_push_spoolss_57,
16891 (ndr_pull_flags_fn_t) ndr_pull_spoolss_57,
16892 (ndr_print_function_t) ndr_print_spoolss_57,
16897 sizeof(struct spoolss_XcvData),
16898 (ndr_push_flags_fn_t) ndr_push_spoolss_XcvData,
16899 (ndr_pull_flags_fn_t) ndr_pull_spoolss_XcvData,
16900 (ndr_print_function_t) ndr_print_spoolss_XcvData,
16904 "spoolss_AddPrinterDriverEx",
16905 sizeof(struct spoolss_AddPrinterDriverEx),
16906 (ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterDriverEx,
16907 (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterDriverEx,
16908 (ndr_print_function_t) ndr_print_spoolss_AddPrinterDriverEx,
16913 sizeof(struct spoolss_5a),
16914 (ndr_push_flags_fn_t) ndr_push_spoolss_5a,
16915 (ndr_pull_flags_fn_t) ndr_pull_spoolss_5a,
16916 (ndr_print_function_t) ndr_print_spoolss_5a,
16921 sizeof(struct spoolss_5b),
16922 (ndr_push_flags_fn_t) ndr_push_spoolss_5b,
16923 (ndr_pull_flags_fn_t) ndr_pull_spoolss_5b,
16924 (ndr_print_function_t) ndr_print_spoolss_5b,
16929 sizeof(struct spoolss_5c),
16930 (ndr_push_flags_fn_t) ndr_push_spoolss_5c,
16931 (ndr_pull_flags_fn_t) ndr_pull_spoolss_5c,
16932 (ndr_print_function_t) ndr_print_spoolss_5c,
16937 sizeof(struct spoolss_5d),
16938 (ndr_push_flags_fn_t) ndr_push_spoolss_5d,
16939 (ndr_pull_flags_fn_t) ndr_pull_spoolss_5d,
16940 (ndr_print_function_t) ndr_print_spoolss_5d,
16945 sizeof(struct spoolss_5e),
16946 (ndr_push_flags_fn_t) ndr_push_spoolss_5e,
16947 (ndr_pull_flags_fn_t) ndr_pull_spoolss_5e,
16948 (ndr_print_function_t) ndr_print_spoolss_5e,
16953 sizeof(struct spoolss_5f),
16954 (ndr_push_flags_fn_t) ndr_push_spoolss_5f,
16955 (ndr_pull_flags_fn_t) ndr_pull_spoolss_5f,
16956 (ndr_print_function_t) ndr_print_spoolss_5f,
16959 { NULL, 0, NULL, NULL, NULL, false }
16962 static const char * const spoolss_endpoint_strings[] = {
16963 "ncacn_np:[\\pipe\\spoolss]",
16966 static const struct ndr_interface_string_array spoolss_endpoints = {
16968 .names = spoolss_endpoint_strings
16971 static const char * const spoolss_authservice_strings[] = {
16975 static const struct ndr_interface_string_array spoolss_authservices = {
16977 .names = spoolss_authservice_strings
16981 const struct ndr_interface_table ndr_table_spoolss = {
16984 {0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xab}},
16985 NDR_SPOOLSS_VERSION
16987 .helpstring = NDR_SPOOLSS_HELPSTRING,
16989 .calls = spoolss_calls,
16990 .endpoints = &spoolss_endpoints,
16991 .authservices = &spoolss_authservices