Line data Source code
1 : /* s3 compat server functions auto-generated by pidl */
2 : #include "bin/default/librpc/gen_ndr/ndr_spoolss.h"
3 : #include "bin/default/librpc/gen_ndr/ndr_spoolss_scompat.h"
4 : #include <librpc/rpc/dcesrv_core.h>
5 : #include <rpc_server/rpc_config.h>
6 : #include <rpc_server/rpc_server.h>
7 : #include <util/debug.h>
8 :
9 : enum s3compat_rpc_dispatch {
10 : S3COMPAT_RPC_DISPATCH_EXTERNAL = 0x00000001,
11 : S3COMPAT_RPC_DISPATCH_INTERNAL = 0x00000002,
12 : };
13 :
14 : /* spoolss - dcerpc server boilerplate generated by pidl */
15 60 : static NTSTATUS spoolss__op_bind(struct dcesrv_connection_context *context, const struct dcesrv_interface *iface)
16 : {
17 : #ifdef DCESRV_INTERFACE_SPOOLSS_BIND
18 : return DCESRV_INTERFACE_SPOOLSS_BIND(context,iface);
19 : #else
20 60 : return NT_STATUS_OK;
21 : #endif
22 : }
23 :
24 60 : static void spoolss__op_unbind(struct dcesrv_connection_context *context, const struct dcesrv_interface *iface)
25 : {
26 : #ifdef DCESRV_INTERFACE_SPOOLSS_UNBIND
27 : DCESRV_INTERFACE_SPOOLSS_UNBIND(context, iface);
28 : #else
29 60 : return;
30 : #endif
31 : }
32 :
33 35260 : NTSTATUS spoolss__op_ndr_pull(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ndr_pull *pull, void **r)
34 : {
35 0 : enum ndr_err_code ndr_err;
36 35260 : uint16_t opnum = dce_call->pkt.u.request.opnum;
37 :
38 35260 : dce_call->fault_code = 0;
39 :
40 35260 : if (opnum >= ndr_table_spoolss.num_calls) {
41 0 : dce_call->fault_code = DCERPC_FAULT_OP_RNG_ERROR;
42 0 : return NT_STATUS_NET_WRITE_FAULT;
43 : }
44 :
45 35260 : *r = talloc_named(mem_ctx, ndr_table_spoolss.calls[opnum].struct_size, "struct %s", ndr_table_spoolss.calls[opnum].name);
46 35260 : NT_STATUS_HAVE_NO_MEMORY(*r);
47 :
48 : /* unravel the NDR for the packet */
49 35260 : ndr_err = ndr_table_spoolss.calls[opnum].ndr_pull(pull, NDR_IN, *r);
50 35260 : if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
51 0 : dce_call->fault_code = DCERPC_FAULT_NDR;
52 0 : return NT_STATUS_NET_WRITE_FAULT;
53 : }
54 :
55 35260 : return NT_STATUS_OK;
56 : }
57 :
58 35260 : static NTSTATUS spoolss__op_dispatch_internal(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r, enum s3compat_rpc_dispatch dispatch)
59 : {
60 35260 : uint16_t opnum = dce_call->pkt.u.request.opnum;
61 35260 : struct pipes_struct *p = NULL;
62 35260 : NTSTATUS status = NT_STATUS_OK;
63 35260 : bool impersonated = false;
64 :
65 : /* Retrieve pipes struct */
66 35260 : p = dcesrv_get_pipes_struct(dce_call->conn);
67 35260 : p->dce_call = dce_call;
68 35260 : p->mem_ctx = mem_ctx;
69 : /* Reset pipes struct fault state */
70 35260 : p->fault_state = 0;
71 :
72 : /* Impersonate */
73 35260 : if (dispatch == S3COMPAT_RPC_DISPATCH_EXTERNAL) {
74 35260 : impersonated = become_authenticated_pipe_user(dce_call->auth_state->session_info);
75 35260 : if (!impersonated) {
76 0 : dce_call->fault_code = DCERPC_FAULT_ACCESS_DENIED;
77 0 : status = NT_STATUS_NET_WRITE_FAULT;
78 0 : goto fail;
79 : }
80 : }
81 :
82 35260 : switch (opnum) {
83 180 : case 0: { /* spoolss_EnumPrinters */
84 180 : struct spoolss_EnumPrinters *r2 = (struct spoolss_EnumPrinters *)r;
85 180 : if (DEBUGLEVEL >= 10) {
86 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumPrinters, NDR_IN, r2);
87 : }
88 180 : NDR_ZERO_STRUCT(r2->out);
89 180 : r2->out.count = talloc_zero(r2, uint32_t);
90 180 : if (r2->out.count == NULL) {
91 0 : status = NT_STATUS_NO_MEMORY;
92 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
93 0 : goto fail;
94 : }
95 :
96 180 : r2->out.info = talloc_zero(r2, union spoolss_PrinterInfo *);
97 180 : if (r2->out.info == NULL) {
98 0 : status = NT_STATUS_NO_MEMORY;
99 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
100 0 : goto fail;
101 : }
102 :
103 180 : r2->out.needed = talloc_zero(r2, uint32_t);
104 180 : if (r2->out.needed == NULL) {
105 0 : status = NT_STATUS_NO_MEMORY;
106 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
107 0 : goto fail;
108 : }
109 :
110 180 : r2->out.result = _spoolss_EnumPrinters(p, r2);
111 180 : break;
112 : }
113 194 : case 1: { /* spoolss_OpenPrinter */
114 194 : struct spoolss_OpenPrinter *r2 = (struct spoolss_OpenPrinter *)r;
115 194 : if (DEBUGLEVEL >= 10) {
116 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_OpenPrinter, NDR_IN, r2);
117 : }
118 194 : NDR_ZERO_STRUCT(r2->out);
119 194 : r2->out.handle = talloc_zero(r2, struct policy_handle);
120 194 : if (r2->out.handle == NULL) {
121 0 : status = NT_STATUS_NO_MEMORY;
122 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
123 0 : goto fail;
124 : }
125 :
126 194 : r2->out.result = _spoolss_OpenPrinter(p, r2);
127 194 : break;
128 : }
129 640 : case 2: { /* spoolss_SetJob */
130 640 : struct spoolss_SetJob *r2 = (struct spoolss_SetJob *)r;
131 640 : if (DEBUGLEVEL >= 10) {
132 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_SetJob, NDR_IN, r2);
133 : }
134 640 : r2->out.result = _spoolss_SetJob(p, r2);
135 640 : break;
136 : }
137 2048 : case 3: { /* spoolss_GetJob */
138 2048 : struct spoolss_GetJob *r2 = (struct spoolss_GetJob *)r;
139 2048 : if (DEBUGLEVEL >= 10) {
140 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetJob, NDR_IN, r2);
141 : }
142 2048 : NDR_ZERO_STRUCT(r2->out);
143 2048 : r2->out.info = talloc_zero(r2, union spoolss_JobInfo);
144 2048 : if (r2->out.info == NULL) {
145 0 : status = NT_STATUS_NO_MEMORY;
146 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
147 0 : goto fail;
148 : }
149 :
150 2048 : r2->out.needed = talloc_zero(r2, uint32_t);
151 2048 : if (r2->out.needed == NULL) {
152 0 : status = NT_STATUS_NO_MEMORY;
153 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
154 0 : goto fail;
155 : }
156 :
157 2048 : r2->out.result = _spoolss_GetJob(p, r2);
158 2048 : break;
159 : }
160 98 : case 4: { /* spoolss_EnumJobs */
161 98 : struct spoolss_EnumJobs *r2 = (struct spoolss_EnumJobs *)r;
162 98 : if (DEBUGLEVEL >= 10) {
163 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumJobs, NDR_IN, r2);
164 : }
165 98 : NDR_ZERO_STRUCT(r2->out);
166 98 : r2->out.count = talloc_zero(r2, uint32_t);
167 98 : if (r2->out.count == NULL) {
168 0 : status = NT_STATUS_NO_MEMORY;
169 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
170 0 : goto fail;
171 : }
172 :
173 98 : r2->out.info = talloc_zero(r2, union spoolss_JobInfo *);
174 98 : if (r2->out.info == NULL) {
175 0 : status = NT_STATUS_NO_MEMORY;
176 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
177 0 : goto fail;
178 : }
179 :
180 98 : r2->out.needed = talloc_zero(r2, uint32_t);
181 98 : if (r2->out.needed == NULL) {
182 0 : status = NT_STATUS_NO_MEMORY;
183 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
184 0 : goto fail;
185 : }
186 :
187 98 : r2->out.result = _spoolss_EnumJobs(p, r2);
188 98 : break;
189 : }
190 72 : case 5: { /* spoolss_AddPrinter */
191 72 : struct spoolss_AddPrinter *r2 = (struct spoolss_AddPrinter *)r;
192 72 : if (DEBUGLEVEL >= 10) {
193 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPrinter, NDR_IN, r2);
194 : }
195 72 : NDR_ZERO_STRUCT(r2->out);
196 72 : r2->out.handle = talloc_zero(r2, struct policy_handle);
197 72 : if (r2->out.handle == NULL) {
198 0 : status = NT_STATUS_NO_MEMORY;
199 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
200 0 : goto fail;
201 : }
202 :
203 72 : r2->out.result = _spoolss_AddPrinter(p, r2);
204 72 : break;
205 : }
206 16 : case 6: { /* spoolss_DeletePrinter */
207 16 : struct spoolss_DeletePrinter *r2 = (struct spoolss_DeletePrinter *)r;
208 16 : if (DEBUGLEVEL >= 10) {
209 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrinter, NDR_IN, r2);
210 : }
211 16 : r2->out.result = _spoolss_DeletePrinter(p, r2);
212 16 : break;
213 : }
214 584 : case 7: { /* spoolss_SetPrinter */
215 584 : struct spoolss_SetPrinter *r2 = (struct spoolss_SetPrinter *)r;
216 584 : if (DEBUGLEVEL >= 10) {
217 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_SetPrinter, NDR_IN, r2);
218 : }
219 584 : r2->out.result = _spoolss_SetPrinter(p, r2);
220 584 : break;
221 : }
222 3512 : case 8: { /* spoolss_GetPrinter */
223 3512 : struct spoolss_GetPrinter *r2 = (struct spoolss_GetPrinter *)r;
224 3512 : if (DEBUGLEVEL >= 10) {
225 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetPrinter, NDR_IN, r2);
226 : }
227 3512 : NDR_ZERO_STRUCT(r2->out);
228 3512 : r2->out.info = talloc_zero(r2, union spoolss_PrinterInfo);
229 3512 : if (r2->out.info == NULL) {
230 0 : status = NT_STATUS_NO_MEMORY;
231 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
232 0 : goto fail;
233 : }
234 :
235 3512 : r2->out.needed = talloc_zero(r2, uint32_t);
236 3512 : if (r2->out.needed == NULL) {
237 0 : status = NT_STATUS_NO_MEMORY;
238 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
239 0 : goto fail;
240 : }
241 :
242 3512 : r2->out.result = _spoolss_GetPrinter(p, r2);
243 3512 : break;
244 : }
245 0 : case 9: { /* spoolss_AddPrinterDriver */
246 0 : struct spoolss_AddPrinterDriver *r2 = (struct spoolss_AddPrinterDriver *)r;
247 0 : if (DEBUGLEVEL >= 10) {
248 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPrinterDriver, NDR_IN, r2);
249 : }
250 0 : r2->out.result = _spoolss_AddPrinterDriver(p, r2);
251 0 : break;
252 : }
253 108 : case 10: { /* spoolss_EnumPrinterDrivers */
254 108 : struct spoolss_EnumPrinterDrivers *r2 = (struct spoolss_EnumPrinterDrivers *)r;
255 108 : if (DEBUGLEVEL >= 10) {
256 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumPrinterDrivers, NDR_IN, r2);
257 : }
258 108 : NDR_ZERO_STRUCT(r2->out);
259 108 : r2->out.count = talloc_zero(r2, uint32_t);
260 108 : if (r2->out.count == NULL) {
261 0 : status = NT_STATUS_NO_MEMORY;
262 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
263 0 : goto fail;
264 : }
265 :
266 108 : r2->out.info = talloc_zero(r2, union spoolss_DriverInfo *);
267 108 : if (r2->out.info == NULL) {
268 0 : status = NT_STATUS_NO_MEMORY;
269 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
270 0 : goto fail;
271 : }
272 :
273 108 : r2->out.needed = talloc_zero(r2, uint32_t);
274 108 : if (r2->out.needed == NULL) {
275 0 : status = NT_STATUS_NO_MEMORY;
276 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
277 0 : goto fail;
278 : }
279 :
280 108 : r2->out.result = _spoolss_EnumPrinterDrivers(p, r2);
281 108 : break;
282 : }
283 0 : case 11: { /* spoolss_GetPrinterDriver */
284 0 : struct spoolss_GetPrinterDriver *r2 = (struct spoolss_GetPrinterDriver *)r;
285 0 : if (DEBUGLEVEL >= 10) {
286 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetPrinterDriver, NDR_IN, r2);
287 : }
288 0 : NDR_ZERO_STRUCT(r2->out);
289 0 : r2->out.info = talloc_zero(r2, union spoolss_DriverInfo);
290 0 : if (r2->out.info == NULL) {
291 0 : status = NT_STATUS_NO_MEMORY;
292 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
293 0 : goto fail;
294 : }
295 :
296 0 : r2->out.needed = talloc_zero(r2, uint32_t);
297 0 : if (r2->out.needed == NULL) {
298 0 : status = NT_STATUS_NO_MEMORY;
299 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
300 0 : goto fail;
301 : }
302 :
303 0 : r2->out.result = _spoolss_GetPrinterDriver(p, r2);
304 0 : break;
305 : }
306 168 : case 12: { /* spoolss_GetPrinterDriverDirectory */
307 168 : struct spoolss_GetPrinterDriverDirectory *r2 = (struct spoolss_GetPrinterDriverDirectory *)r;
308 168 : if (DEBUGLEVEL >= 10) {
309 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetPrinterDriverDirectory, NDR_IN, r2);
310 : }
311 168 : NDR_ZERO_STRUCT(r2->out);
312 168 : r2->out.info = talloc_zero(r2, union spoolss_DriverDirectoryInfo);
313 168 : if (r2->out.info == NULL) {
314 0 : status = NT_STATUS_NO_MEMORY;
315 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
316 0 : goto fail;
317 : }
318 :
319 168 : r2->out.needed = talloc_zero(r2, uint32_t);
320 168 : if (r2->out.needed == NULL) {
321 0 : status = NT_STATUS_NO_MEMORY;
322 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
323 0 : goto fail;
324 : }
325 :
326 168 : r2->out.result = _spoolss_GetPrinterDriverDirectory(p, r2);
327 168 : break;
328 : }
329 0 : case 13: { /* spoolss_DeletePrinterDriver */
330 0 : struct spoolss_DeletePrinterDriver *r2 = (struct spoolss_DeletePrinterDriver *)r;
331 0 : if (DEBUGLEVEL >= 10) {
332 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrinterDriver, NDR_IN, r2);
333 : }
334 0 : r2->out.result = _spoolss_DeletePrinterDriver(p, r2);
335 0 : break;
336 : }
337 4 : case 14: { /* spoolss_AddPrintProcessor */
338 4 : struct spoolss_AddPrintProcessor *r2 = (struct spoolss_AddPrintProcessor *)r;
339 4 : if (DEBUGLEVEL >= 10) {
340 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPrintProcessor, NDR_IN, r2);
341 : }
342 4 : r2->out.result = _spoolss_AddPrintProcessor(p, r2);
343 4 : break;
344 : }
345 48 : case 15: { /* spoolss_EnumPrintProcessors */
346 48 : struct spoolss_EnumPrintProcessors *r2 = (struct spoolss_EnumPrintProcessors *)r;
347 48 : if (DEBUGLEVEL >= 10) {
348 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumPrintProcessors, NDR_IN, r2);
349 : }
350 48 : NDR_ZERO_STRUCT(r2->out);
351 48 : r2->out.count = talloc_zero(r2, uint32_t);
352 48 : if (r2->out.count == NULL) {
353 0 : status = NT_STATUS_NO_MEMORY;
354 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
355 0 : goto fail;
356 : }
357 :
358 48 : r2->out.info = talloc_zero(r2, union spoolss_PrintProcessorInfo *);
359 48 : if (r2->out.info == NULL) {
360 0 : status = NT_STATUS_NO_MEMORY;
361 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
362 0 : goto fail;
363 : }
364 :
365 48 : r2->out.needed = talloc_zero(r2, uint32_t);
366 48 : if (r2->out.needed == NULL) {
367 0 : status = NT_STATUS_NO_MEMORY;
368 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
369 0 : goto fail;
370 : }
371 :
372 48 : r2->out.result = _spoolss_EnumPrintProcessors(p, r2);
373 48 : break;
374 : }
375 40 : case 16: { /* spoolss_GetPrintProcessorDirectory */
376 40 : struct spoolss_GetPrintProcessorDirectory *r2 = (struct spoolss_GetPrintProcessorDirectory *)r;
377 40 : if (DEBUGLEVEL >= 10) {
378 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetPrintProcessorDirectory, NDR_IN, r2);
379 : }
380 40 : NDR_ZERO_STRUCT(r2->out);
381 40 : r2->out.info = talloc_zero(r2, union spoolss_PrintProcessorDirectoryInfo);
382 40 : if (r2->out.info == NULL) {
383 0 : status = NT_STATUS_NO_MEMORY;
384 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
385 0 : goto fail;
386 : }
387 :
388 40 : r2->out.needed = talloc_zero(r2, uint32_t);
389 40 : if (r2->out.needed == NULL) {
390 0 : status = NT_STATUS_NO_MEMORY;
391 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
392 0 : goto fail;
393 : }
394 :
395 40 : r2->out.result = _spoolss_GetPrintProcessorDirectory(p, r2);
396 40 : break;
397 : }
398 668 : case 17: { /* spoolss_StartDocPrinter */
399 668 : struct spoolss_StartDocPrinter *r2 = (struct spoolss_StartDocPrinter *)r;
400 668 : if (DEBUGLEVEL >= 10) {
401 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_StartDocPrinter, NDR_IN, r2);
402 : }
403 668 : NDR_ZERO_STRUCT(r2->out);
404 668 : r2->out.job_id = talloc_zero(r2, uint32_t);
405 668 : if (r2->out.job_id == NULL) {
406 0 : status = NT_STATUS_NO_MEMORY;
407 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
408 0 : goto fail;
409 : }
410 :
411 668 : r2->out.result = _spoolss_StartDocPrinter(p, r2);
412 668 : break;
413 : }
414 1920 : case 18: { /* spoolss_StartPagePrinter */
415 1920 : struct spoolss_StartPagePrinter *r2 = (struct spoolss_StartPagePrinter *)r;
416 1920 : if (DEBUGLEVEL >= 10) {
417 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_StartPagePrinter, NDR_IN, r2);
418 : }
419 1920 : r2->out.result = _spoolss_StartPagePrinter(p, r2);
420 1920 : break;
421 : }
422 1920 : case 19: { /* spoolss_WritePrinter */
423 1920 : struct spoolss_WritePrinter *r2 = (struct spoolss_WritePrinter *)r;
424 1920 : if (DEBUGLEVEL >= 10) {
425 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_WritePrinter, NDR_IN, r2);
426 : }
427 1920 : NDR_ZERO_STRUCT(r2->out);
428 1920 : r2->out.num_written = talloc_zero(r2, uint32_t);
429 1920 : if (r2->out.num_written == NULL) {
430 0 : status = NT_STATUS_NO_MEMORY;
431 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
432 0 : goto fail;
433 : }
434 :
435 1920 : r2->out.result = _spoolss_WritePrinter(p, r2);
436 1920 : break;
437 : }
438 1920 : case 20: { /* spoolss_EndPagePrinter */
439 1920 : struct spoolss_EndPagePrinter *r2 = (struct spoolss_EndPagePrinter *)r;
440 1920 : if (DEBUGLEVEL >= 10) {
441 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EndPagePrinter, NDR_IN, r2);
442 : }
443 1920 : r2->out.result = _spoolss_EndPagePrinter(p, r2);
444 1920 : break;
445 : }
446 0 : case 21: { /* spoolss_AbortPrinter */
447 0 : struct spoolss_AbortPrinter *r2 = (struct spoolss_AbortPrinter *)r;
448 0 : if (DEBUGLEVEL >= 10) {
449 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AbortPrinter, NDR_IN, r2);
450 : }
451 0 : r2->out.result = _spoolss_AbortPrinter(p, r2);
452 0 : break;
453 : }
454 0 : case 22: { /* spoolss_ReadPrinter */
455 0 : struct spoolss_ReadPrinter *r2 = (struct spoolss_ReadPrinter *)r;
456 0 : if (DEBUGLEVEL >= 10) {
457 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_ReadPrinter, NDR_IN, r2);
458 : }
459 0 : NDR_ZERO_STRUCT(r2->out);
460 0 : r2->out.data = talloc_zero_array(r2, uint8_t, r2->in.data_size);
461 0 : if (r2->out.data == NULL) {
462 0 : status = NT_STATUS_NO_MEMORY;
463 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
464 0 : goto fail;
465 : }
466 :
467 0 : r2->out._data_size = talloc_zero(r2, uint32_t);
468 0 : if (r2->out._data_size == NULL) {
469 0 : status = NT_STATUS_NO_MEMORY;
470 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
471 0 : goto fail;
472 : }
473 :
474 0 : r2->out.result = _spoolss_ReadPrinter(p, r2);
475 0 : break;
476 : }
477 640 : case 23: { /* spoolss_EndDocPrinter */
478 640 : struct spoolss_EndDocPrinter *r2 = (struct spoolss_EndDocPrinter *)r;
479 640 : if (DEBUGLEVEL >= 10) {
480 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EndDocPrinter, NDR_IN, r2);
481 : }
482 640 : r2->out.result = _spoolss_EndDocPrinter(p, r2);
483 640 : break;
484 : }
485 16 : case 24: { /* spoolss_AddJob */
486 16 : struct spoolss_AddJob *r2 = (struct spoolss_AddJob *)r;
487 16 : if (DEBUGLEVEL >= 10) {
488 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddJob, NDR_IN, r2);
489 : }
490 16 : NDR_ZERO_STRUCT(r2->out);
491 16 : r2->out.buffer = r2->in.buffer;
492 16 : r2->out.needed = talloc_zero(r2, uint32_t);
493 16 : if (r2->out.needed == NULL) {
494 0 : status = NT_STATUS_NO_MEMORY;
495 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
496 0 : goto fail;
497 : }
498 :
499 16 : r2->out.result = _spoolss_AddJob(p, r2);
500 16 : break;
501 : }
502 0 : case 25: { /* spoolss_ScheduleJob */
503 0 : struct spoolss_ScheduleJob *r2 = (struct spoolss_ScheduleJob *)r;
504 0 : if (DEBUGLEVEL >= 10) {
505 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_ScheduleJob, NDR_IN, r2);
506 : }
507 0 : r2->out.result = _spoolss_ScheduleJob(p, r2);
508 0 : break;
509 : }
510 480 : case 26: { /* spoolss_GetPrinterData */
511 480 : struct spoolss_GetPrinterData *r2 = (struct spoolss_GetPrinterData *)r;
512 480 : if (DEBUGLEVEL >= 10) {
513 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetPrinterData, NDR_IN, r2);
514 : }
515 480 : NDR_ZERO_STRUCT(r2->out);
516 480 : r2->out.type = talloc_zero(r2, enum winreg_Type);
517 480 : if (r2->out.type == NULL) {
518 0 : status = NT_STATUS_NO_MEMORY;
519 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
520 0 : goto fail;
521 : }
522 :
523 480 : r2->out.data = talloc_zero_array(r2, uint8_t, r2->in.offered);
524 480 : if (r2->out.data == NULL) {
525 0 : status = NT_STATUS_NO_MEMORY;
526 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
527 0 : goto fail;
528 : }
529 :
530 480 : r2->out.needed = talloc_zero(r2, uint32_t);
531 480 : if (r2->out.needed == NULL) {
532 0 : status = NT_STATUS_NO_MEMORY;
533 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
534 0 : goto fail;
535 : }
536 :
537 480 : r2->out.result = _spoolss_GetPrinterData(p, r2);
538 480 : break;
539 : }
540 168 : case 27: { /* spoolss_SetPrinterData */
541 168 : struct spoolss_SetPrinterData *r2 = (struct spoolss_SetPrinterData *)r;
542 168 : if (DEBUGLEVEL >= 10) {
543 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_SetPrinterData, NDR_IN, r2);
544 : }
545 168 : r2->out.result = _spoolss_SetPrinterData(p, r2);
546 168 : break;
547 : }
548 0 : case 28: { /* spoolss_WaitForPrinterChange */
549 0 : struct spoolss_WaitForPrinterChange *r2 = (struct spoolss_WaitForPrinterChange *)r;
550 0 : if (DEBUGLEVEL >= 10) {
551 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_WaitForPrinterChange, NDR_IN, r2);
552 : }
553 0 : r2->out.result = _spoolss_WaitForPrinterChange(p, r2);
554 0 : break;
555 : }
556 620 : case 29: { /* spoolss_ClosePrinter */
557 620 : struct spoolss_ClosePrinter *r2 = (struct spoolss_ClosePrinter *)r;
558 620 : if (DEBUGLEVEL >= 10) {
559 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_ClosePrinter, NDR_IN, r2);
560 : }
561 620 : NDR_ZERO_STRUCT(r2->out);
562 620 : r2->out.handle = r2->in.handle;
563 620 : r2->out.result = _spoolss_ClosePrinter(p, r2);
564 620 : break;
565 : }
566 576 : case 30: { /* spoolss_AddForm */
567 576 : struct spoolss_AddForm *r2 = (struct spoolss_AddForm *)r;
568 576 : if (DEBUGLEVEL >= 10) {
569 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddForm, NDR_IN, r2);
570 : }
571 576 : r2->out.result = _spoolss_AddForm(p, r2);
572 576 : break;
573 : }
574 384 : case 31: { /* spoolss_DeleteForm */
575 384 : struct spoolss_DeleteForm *r2 = (struct spoolss_DeleteForm *)r;
576 384 : if (DEBUGLEVEL >= 10) {
577 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeleteForm, NDR_IN, r2);
578 : }
579 384 : r2->out.result = _spoolss_DeleteForm(p, r2);
580 384 : break;
581 : }
582 5040 : case 32: { /* spoolss_GetForm */
583 5040 : struct spoolss_GetForm *r2 = (struct spoolss_GetForm *)r;
584 5040 : if (DEBUGLEVEL >= 10) {
585 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetForm, NDR_IN, r2);
586 : }
587 5040 : NDR_ZERO_STRUCT(r2->out);
588 5040 : r2->out.info = talloc_zero(r2, union spoolss_FormInfo);
589 5040 : if (r2->out.info == NULL) {
590 0 : status = NT_STATUS_NO_MEMORY;
591 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
592 0 : goto fail;
593 : }
594 :
595 5040 : r2->out.needed = talloc_zero(r2, uint32_t);
596 5040 : if (r2->out.needed == NULL) {
597 0 : status = NT_STATUS_NO_MEMORY;
598 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
599 0 : goto fail;
600 : }
601 :
602 5040 : r2->out.result = _spoolss_GetForm(p, r2);
603 5040 : break;
604 : }
605 80 : case 33: { /* spoolss_SetForm */
606 80 : struct spoolss_SetForm *r2 = (struct spoolss_SetForm *)r;
607 80 : if (DEBUGLEVEL >= 10) {
608 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_SetForm, NDR_IN, r2);
609 : }
610 80 : r2->out.result = _spoolss_SetForm(p, r2);
611 80 : break;
612 : }
613 560 : case 34: { /* spoolss_EnumForms */
614 560 : struct spoolss_EnumForms *r2 = (struct spoolss_EnumForms *)r;
615 560 : if (DEBUGLEVEL >= 10) {
616 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumForms, NDR_IN, r2);
617 : }
618 560 : NDR_ZERO_STRUCT(r2->out);
619 560 : r2->out.count = talloc_zero(r2, uint32_t);
620 560 : if (r2->out.count == NULL) {
621 0 : status = NT_STATUS_NO_MEMORY;
622 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
623 0 : goto fail;
624 : }
625 :
626 560 : r2->out.info = talloc_zero(r2, union spoolss_FormInfo *);
627 560 : if (r2->out.info == NULL) {
628 0 : status = NT_STATUS_NO_MEMORY;
629 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
630 0 : goto fail;
631 : }
632 :
633 560 : r2->out.needed = talloc_zero(r2, uint32_t);
634 560 : if (r2->out.needed == NULL) {
635 0 : status = NT_STATUS_NO_MEMORY;
636 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
637 0 : goto fail;
638 : }
639 :
640 560 : r2->out.result = _spoolss_EnumForms(p, r2);
641 560 : break;
642 : }
643 24 : case 35: { /* spoolss_EnumPorts */
644 24 : struct spoolss_EnumPorts *r2 = (struct spoolss_EnumPorts *)r;
645 24 : if (DEBUGLEVEL >= 10) {
646 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumPorts, NDR_IN, r2);
647 : }
648 24 : NDR_ZERO_STRUCT(r2->out);
649 24 : r2->out.count = talloc_zero(r2, uint32_t);
650 24 : if (r2->out.count == NULL) {
651 0 : status = NT_STATUS_NO_MEMORY;
652 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
653 0 : goto fail;
654 : }
655 :
656 24 : r2->out.info = talloc_zero(r2, union spoolss_PortInfo *);
657 24 : if (r2->out.info == NULL) {
658 0 : status = NT_STATUS_NO_MEMORY;
659 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
660 0 : goto fail;
661 : }
662 :
663 24 : r2->out.needed = talloc_zero(r2, uint32_t);
664 24 : if (r2->out.needed == NULL) {
665 0 : status = NT_STATUS_NO_MEMORY;
666 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
667 0 : goto fail;
668 : }
669 :
670 24 : r2->out.result = _spoolss_EnumPorts(p, r2);
671 24 : break;
672 : }
673 16 : case 36: { /* spoolss_EnumMonitors */
674 16 : struct spoolss_EnumMonitors *r2 = (struct spoolss_EnumMonitors *)r;
675 16 : if (DEBUGLEVEL >= 10) {
676 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumMonitors, NDR_IN, r2);
677 : }
678 16 : NDR_ZERO_STRUCT(r2->out);
679 16 : r2->out.count = talloc_zero(r2, uint32_t);
680 16 : if (r2->out.count == NULL) {
681 0 : status = NT_STATUS_NO_MEMORY;
682 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
683 0 : goto fail;
684 : }
685 :
686 16 : r2->out.info = talloc_zero(r2, union spoolss_MonitorInfo *);
687 16 : if (r2->out.info == NULL) {
688 0 : status = NT_STATUS_NO_MEMORY;
689 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
690 0 : goto fail;
691 : }
692 :
693 16 : r2->out.needed = talloc_zero(r2, uint32_t);
694 16 : if (r2->out.needed == NULL) {
695 0 : status = NT_STATUS_NO_MEMORY;
696 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
697 0 : goto fail;
698 : }
699 :
700 16 : r2->out.result = _spoolss_EnumMonitors(p, r2);
701 16 : break;
702 : }
703 4 : case 37: { /* spoolss_AddPort */
704 4 : struct spoolss_AddPort *r2 = (struct spoolss_AddPort *)r;
705 4 : if (DEBUGLEVEL >= 10) {
706 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPort, NDR_IN, r2);
707 : }
708 4 : r2->out.result = _spoolss_AddPort(p, r2);
709 4 : break;
710 : }
711 0 : case 38: { /* spoolss_ConfigurePort */
712 0 : struct spoolss_ConfigurePort *r2 = (struct spoolss_ConfigurePort *)r;
713 0 : if (DEBUGLEVEL >= 10) {
714 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_ConfigurePort, NDR_IN, r2);
715 : }
716 0 : r2->out.result = _spoolss_ConfigurePort(p, r2);
717 0 : break;
718 : }
719 0 : case 39: { /* spoolss_DeletePort */
720 0 : struct spoolss_DeletePort *r2 = (struct spoolss_DeletePort *)r;
721 0 : if (DEBUGLEVEL >= 10) {
722 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePort, NDR_IN, r2);
723 : }
724 0 : r2->out.result = _spoolss_DeletePort(p, r2);
725 0 : break;
726 : }
727 0 : case 40: { /* spoolss_CreatePrinterIC */
728 0 : struct spoolss_CreatePrinterIC *r2 = (struct spoolss_CreatePrinterIC *)r;
729 0 : if (DEBUGLEVEL >= 10) {
730 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_CreatePrinterIC, NDR_IN, r2);
731 : }
732 0 : NDR_ZERO_STRUCT(r2->out);
733 0 : r2->out.gdi_handle = talloc_zero(r2, struct policy_handle);
734 0 : if (r2->out.gdi_handle == NULL) {
735 0 : status = NT_STATUS_NO_MEMORY;
736 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
737 0 : goto fail;
738 : }
739 :
740 0 : r2->out.result = _spoolss_CreatePrinterIC(p, r2);
741 0 : break;
742 : }
743 0 : case 41: { /* spoolss_PlayGDIScriptOnPrinterIC */
744 0 : struct spoolss_PlayGDIScriptOnPrinterIC *r2 = (struct spoolss_PlayGDIScriptOnPrinterIC *)r;
745 0 : if (DEBUGLEVEL >= 10) {
746 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_PlayGDIScriptOnPrinterIC, NDR_IN, r2);
747 : }
748 0 : NDR_ZERO_STRUCT(r2->out);
749 0 : r2->out.pOut = talloc_zero_array(r2, uint8_t, r2->in.cOut);
750 0 : if (r2->out.pOut == NULL) {
751 0 : status = NT_STATUS_NO_MEMORY;
752 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
753 0 : goto fail;
754 : }
755 :
756 0 : r2->out.result = _spoolss_PlayGDIScriptOnPrinterIC(p, r2);
757 0 : break;
758 : }
759 0 : case 42: { /* spoolss_DeletePrinterIC */
760 0 : struct spoolss_DeletePrinterIC *r2 = (struct spoolss_DeletePrinterIC *)r;
761 0 : if (DEBUGLEVEL >= 10) {
762 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrinterIC, NDR_IN, r2);
763 : }
764 0 : NDR_ZERO_STRUCT(r2->out);
765 0 : r2->out.gdi_handle = r2->in.gdi_handle;
766 0 : r2->out.result = _spoolss_DeletePrinterIC(p, r2);
767 0 : break;
768 : }
769 0 : case 43: { /* spoolss_AddPrinterConnection */
770 0 : struct spoolss_AddPrinterConnection *r2 = (struct spoolss_AddPrinterConnection *)r;
771 0 : if (DEBUGLEVEL >= 10) {
772 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPrinterConnection, NDR_IN, r2);
773 : }
774 0 : r2->out.result = _spoolss_AddPrinterConnection(p, r2);
775 0 : break;
776 : }
777 0 : case 44: { /* spoolss_DeletePrinterConnection */
778 0 : struct spoolss_DeletePrinterConnection *r2 = (struct spoolss_DeletePrinterConnection *)r;
779 0 : if (DEBUGLEVEL >= 10) {
780 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrinterConnection, NDR_IN, r2);
781 : }
782 0 : r2->out.result = _spoolss_DeletePrinterConnection(p, r2);
783 0 : break;
784 : }
785 0 : case 45: { /* spoolss_PrinterMessageBox */
786 0 : struct spoolss_PrinterMessageBox *r2 = (struct spoolss_PrinterMessageBox *)r;
787 0 : if (DEBUGLEVEL >= 10) {
788 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_PrinterMessageBox, NDR_IN, r2);
789 : }
790 0 : r2->out.result = _spoolss_PrinterMessageBox(p, r2);
791 0 : break;
792 : }
793 0 : case 46: { /* spoolss_AddMonitor */
794 0 : struct spoolss_AddMonitor *r2 = (struct spoolss_AddMonitor *)r;
795 0 : if (DEBUGLEVEL >= 10) {
796 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddMonitor, NDR_IN, r2);
797 : }
798 0 : r2->out.result = _spoolss_AddMonitor(p, r2);
799 0 : break;
800 : }
801 0 : case 47: { /* spoolss_DeleteMonitor */
802 0 : struct spoolss_DeleteMonitor *r2 = (struct spoolss_DeleteMonitor *)r;
803 0 : if (DEBUGLEVEL >= 10) {
804 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeleteMonitor, NDR_IN, r2);
805 : }
806 0 : r2->out.result = _spoolss_DeleteMonitor(p, r2);
807 0 : break;
808 : }
809 0 : case 48: { /* spoolss_DeletePrintProcessor */
810 0 : struct spoolss_DeletePrintProcessor *r2 = (struct spoolss_DeletePrintProcessor *)r;
811 0 : if (DEBUGLEVEL >= 10) {
812 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrintProcessor, NDR_IN, r2);
813 : }
814 0 : r2->out.result = _spoolss_DeletePrintProcessor(p, r2);
815 0 : break;
816 : }
817 0 : case 49: { /* spoolss_AddPrintProvidor */
818 0 : struct spoolss_AddPrintProvidor *r2 = (struct spoolss_AddPrintProvidor *)r;
819 0 : if (DEBUGLEVEL >= 10) {
820 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPrintProvidor, NDR_IN, r2);
821 : }
822 0 : r2->out.result = _spoolss_AddPrintProvidor(p, r2);
823 0 : break;
824 : }
825 0 : case 50: { /* spoolss_DeletePrintProvidor */
826 0 : struct spoolss_DeletePrintProvidor *r2 = (struct spoolss_DeletePrintProvidor *)r;
827 0 : if (DEBUGLEVEL >= 10) {
828 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrintProvidor, NDR_IN, r2);
829 : }
830 0 : r2->out.result = _spoolss_DeletePrintProvidor(p, r2);
831 0 : break;
832 : }
833 44 : case 51: { /* spoolss_EnumPrintProcessorDataTypes */
834 44 : struct spoolss_EnumPrintProcessorDataTypes *r2 = (struct spoolss_EnumPrintProcessorDataTypes *)r;
835 44 : if (DEBUGLEVEL >= 10) {
836 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumPrintProcessorDataTypes, NDR_IN, r2);
837 : }
838 44 : NDR_ZERO_STRUCT(r2->out);
839 44 : r2->out.count = talloc_zero(r2, uint32_t);
840 44 : if (r2->out.count == NULL) {
841 0 : status = NT_STATUS_NO_MEMORY;
842 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
843 0 : goto fail;
844 : }
845 :
846 44 : r2->out.info = talloc_zero(r2, union spoolss_PrintProcDataTypesInfo *);
847 44 : if (r2->out.info == NULL) {
848 0 : status = NT_STATUS_NO_MEMORY;
849 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
850 0 : goto fail;
851 : }
852 :
853 44 : r2->out.needed = talloc_zero(r2, uint32_t);
854 44 : if (r2->out.needed == NULL) {
855 0 : status = NT_STATUS_NO_MEMORY;
856 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
857 0 : goto fail;
858 : }
859 :
860 44 : r2->out.result = _spoolss_EnumPrintProcessorDataTypes(p, r2);
861 44 : break;
862 : }
863 0 : case 52: { /* spoolss_ResetPrinter */
864 0 : struct spoolss_ResetPrinter *r2 = (struct spoolss_ResetPrinter *)r;
865 0 : if (DEBUGLEVEL >= 10) {
866 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_ResetPrinter, NDR_IN, r2);
867 : }
868 0 : r2->out.result = _spoolss_ResetPrinter(p, r2);
869 0 : break;
870 : }
871 4 : case 53: { /* spoolss_GetPrinterDriver2 */
872 4 : struct spoolss_GetPrinterDriver2 *r2 = (struct spoolss_GetPrinterDriver2 *)r;
873 4 : if (DEBUGLEVEL >= 10) {
874 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetPrinterDriver2, NDR_IN, r2);
875 : }
876 4 : NDR_ZERO_STRUCT(r2->out);
877 4 : r2->out.info = talloc_zero(r2, union spoolss_DriverInfo);
878 4 : if (r2->out.info == NULL) {
879 0 : status = NT_STATUS_NO_MEMORY;
880 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
881 0 : goto fail;
882 : }
883 :
884 4 : r2->out.needed = talloc_zero(r2, uint32_t);
885 4 : if (r2->out.needed == NULL) {
886 0 : status = NT_STATUS_NO_MEMORY;
887 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
888 0 : goto fail;
889 : }
890 :
891 4 : r2->out.server_major_version = talloc_zero(r2, uint32_t);
892 4 : if (r2->out.server_major_version == NULL) {
893 0 : status = NT_STATUS_NO_MEMORY;
894 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
895 0 : goto fail;
896 : }
897 :
898 4 : r2->out.server_minor_version = talloc_zero(r2, uint32_t);
899 4 : if (r2->out.server_minor_version == NULL) {
900 0 : status = NT_STATUS_NO_MEMORY;
901 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
902 0 : goto fail;
903 : }
904 :
905 4 : r2->out.result = _spoolss_GetPrinterDriver2(p, r2);
906 4 : break;
907 : }
908 0 : case 54: { /* spoolss_FindFirstPrinterChangeNotification */
909 0 : struct spoolss_FindFirstPrinterChangeNotification *r2 = (struct spoolss_FindFirstPrinterChangeNotification *)r;
910 0 : if (DEBUGLEVEL >= 10) {
911 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_FindFirstPrinterChangeNotification, NDR_IN, r2);
912 : }
913 0 : r2->out.result = _spoolss_FindFirstPrinterChangeNotification(p, r2);
914 0 : break;
915 : }
916 0 : case 55: { /* spoolss_FindNextPrinterChangeNotification */
917 0 : struct spoolss_FindNextPrinterChangeNotification *r2 = (struct spoolss_FindNextPrinterChangeNotification *)r;
918 0 : if (DEBUGLEVEL >= 10) {
919 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_FindNextPrinterChangeNotification, NDR_IN, r2);
920 : }
921 0 : r2->out.result = _spoolss_FindNextPrinterChangeNotification(p, r2);
922 0 : break;
923 : }
924 0 : case 56: { /* spoolss_FindClosePrinterNotify */
925 0 : struct spoolss_FindClosePrinterNotify *r2 = (struct spoolss_FindClosePrinterNotify *)r;
926 0 : if (DEBUGLEVEL >= 10) {
927 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_FindClosePrinterNotify, NDR_IN, r2);
928 : }
929 0 : r2->out.result = _spoolss_FindClosePrinterNotify(p, r2);
930 0 : break;
931 : }
932 0 : case 57: { /* spoolss_RouterFindFirstPrinterChangeNotificationOld */
933 0 : struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r2 = (struct spoolss_RouterFindFirstPrinterChangeNotificationOld *)r;
934 0 : if (DEBUGLEVEL >= 10) {
935 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_RouterFindFirstPrinterChangeNotificationOld, NDR_IN, r2);
936 : }
937 0 : r2->out.result = _spoolss_RouterFindFirstPrinterChangeNotificationOld(p, r2);
938 0 : break;
939 : }
940 0 : case 58: { /* spoolss_ReplyOpenPrinter */
941 0 : struct spoolss_ReplyOpenPrinter *r2 = (struct spoolss_ReplyOpenPrinter *)r;
942 0 : if (DEBUGLEVEL >= 10) {
943 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_ReplyOpenPrinter, NDR_IN, r2);
944 : }
945 0 : NDR_ZERO_STRUCT(r2->out);
946 0 : r2->out.handle = talloc_zero(r2, struct policy_handle);
947 0 : if (r2->out.handle == NULL) {
948 0 : status = NT_STATUS_NO_MEMORY;
949 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
950 0 : goto fail;
951 : }
952 :
953 0 : r2->out.result = _spoolss_ReplyOpenPrinter(p, r2);
954 0 : break;
955 : }
956 0 : case 59: { /* spoolss_RouterReplyPrinter */
957 0 : struct spoolss_RouterReplyPrinter *r2 = (struct spoolss_RouterReplyPrinter *)r;
958 0 : if (DEBUGLEVEL >= 10) {
959 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_RouterReplyPrinter, NDR_IN, r2);
960 : }
961 0 : r2->out.result = _spoolss_RouterReplyPrinter(p, r2);
962 0 : break;
963 : }
964 0 : case 60: { /* spoolss_ReplyClosePrinter */
965 0 : struct spoolss_ReplyClosePrinter *r2 = (struct spoolss_ReplyClosePrinter *)r;
966 0 : if (DEBUGLEVEL >= 10) {
967 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_ReplyClosePrinter, NDR_IN, r2);
968 : }
969 0 : NDR_ZERO_STRUCT(r2->out);
970 0 : r2->out.handle = r2->in.handle;
971 0 : r2->out.result = _spoolss_ReplyClosePrinter(p, r2);
972 0 : break;
973 : }
974 0 : case 61: { /* spoolss_AddPortEx */
975 0 : struct spoolss_AddPortEx *r2 = (struct spoolss_AddPortEx *)r;
976 0 : if (DEBUGLEVEL >= 10) {
977 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPortEx, NDR_IN, r2);
978 : }
979 0 : r2->out.result = _spoolss_AddPortEx(p, r2);
980 0 : break;
981 : }
982 0 : case 62: { /* spoolss_RouterFindFirstPrinterChangeNotification */
983 0 : struct spoolss_RouterFindFirstPrinterChangeNotification *r2 = (struct spoolss_RouterFindFirstPrinterChangeNotification *)r;
984 0 : if (DEBUGLEVEL >= 10) {
985 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_RouterFindFirstPrinterChangeNotification, NDR_IN, r2);
986 : }
987 0 : r2->out.result = _spoolss_RouterFindFirstPrinterChangeNotification(p, r2);
988 0 : break;
989 : }
990 0 : case 63: { /* spoolss_SpoolerInit */
991 0 : struct spoolss_SpoolerInit *r2 = (struct spoolss_SpoolerInit *)r;
992 0 : if (DEBUGLEVEL >= 10) {
993 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_SpoolerInit, NDR_IN, r2);
994 : }
995 0 : r2->out.result = _spoolss_SpoolerInit(p, r2);
996 0 : break;
997 : }
998 0 : case 64: { /* spoolss_ResetPrinterEx */
999 0 : struct spoolss_ResetPrinterEx *r2 = (struct spoolss_ResetPrinterEx *)r;
1000 0 : if (DEBUGLEVEL >= 10) {
1001 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_ResetPrinterEx, NDR_IN, r2);
1002 : }
1003 0 : r2->out.result = _spoolss_ResetPrinterEx(p, r2);
1004 0 : break;
1005 : }
1006 2 : case 65: { /* spoolss_RemoteFindFirstPrinterChangeNotifyEx */
1007 2 : struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r2 = (struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *)r;
1008 2 : if (DEBUGLEVEL >= 10) {
1009 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_RemoteFindFirstPrinterChangeNotifyEx, NDR_IN, r2);
1010 : }
1011 2 : r2->out.result = _spoolss_RemoteFindFirstPrinterChangeNotifyEx(p, r2);
1012 2 : break;
1013 : }
1014 0 : case 66: { /* spoolss_RouterReplyPrinterEx */
1015 0 : struct spoolss_RouterReplyPrinterEx *r2 = (struct spoolss_RouterReplyPrinterEx *)r;
1016 0 : if (DEBUGLEVEL >= 10) {
1017 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_RouterReplyPrinterEx, NDR_IN, r2);
1018 : }
1019 0 : NDR_ZERO_STRUCT(r2->out);
1020 0 : r2->out.reply_result = talloc_zero(r2, uint32_t);
1021 0 : if (r2->out.reply_result == NULL) {
1022 0 : status = NT_STATUS_NO_MEMORY;
1023 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1024 0 : goto fail;
1025 : }
1026 :
1027 0 : r2->out.result = _spoolss_RouterReplyPrinterEx(p, r2);
1028 0 : break;
1029 : }
1030 4 : case 67: { /* spoolss_RouterRefreshPrinterChangeNotify */
1031 4 : struct spoolss_RouterRefreshPrinterChangeNotify *r2 = (struct spoolss_RouterRefreshPrinterChangeNotify *)r;
1032 4 : if (DEBUGLEVEL >= 10) {
1033 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_RouterRefreshPrinterChangeNotify, NDR_IN, r2);
1034 : }
1035 4 : NDR_ZERO_STRUCT(r2->out);
1036 4 : r2->out.info = talloc_zero(r2, struct spoolss_NotifyInfo *);
1037 4 : if (r2->out.info == NULL) {
1038 0 : status = NT_STATUS_NO_MEMORY;
1039 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1040 0 : goto fail;
1041 : }
1042 :
1043 4 : r2->out.result = _spoolss_RouterRefreshPrinterChangeNotify(p, r2);
1044 4 : break;
1045 : }
1046 0 : case 68: { /* spoolss_44 */
1047 0 : struct spoolss_44 *r2 = (struct spoolss_44 *)r;
1048 0 : if (DEBUGLEVEL >= 10) {
1049 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_44, NDR_IN, r2);
1050 : }
1051 0 : r2->out.result = _spoolss_44(p, r2);
1052 0 : break;
1053 : }
1054 794 : case 69: { /* spoolss_OpenPrinterEx */
1055 794 : struct spoolss_OpenPrinterEx *r2 = (struct spoolss_OpenPrinterEx *)r;
1056 794 : if (DEBUGLEVEL >= 10) {
1057 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_OpenPrinterEx, NDR_IN, r2);
1058 : }
1059 794 : NDR_ZERO_STRUCT(r2->out);
1060 794 : r2->out.handle = talloc_zero(r2, struct policy_handle);
1061 794 : if (r2->out.handle == NULL) {
1062 0 : status = NT_STATUS_NO_MEMORY;
1063 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1064 0 : goto fail;
1065 : }
1066 :
1067 794 : r2->out.result = _spoolss_OpenPrinterEx(p, r2);
1068 794 : break;
1069 : }
1070 24 : case 70: { /* spoolss_AddPrinterEx */
1071 24 : struct spoolss_AddPrinterEx *r2 = (struct spoolss_AddPrinterEx *)r;
1072 24 : if (DEBUGLEVEL >= 10) {
1073 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPrinterEx, NDR_IN, r2);
1074 : }
1075 24 : NDR_ZERO_STRUCT(r2->out);
1076 24 : r2->out.handle = talloc_zero(r2, struct policy_handle);
1077 24 : if (r2->out.handle == NULL) {
1078 0 : status = NT_STATUS_NO_MEMORY;
1079 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1080 0 : goto fail;
1081 : }
1082 :
1083 24 : r2->out.result = _spoolss_AddPrinterEx(p, r2);
1084 24 : break;
1085 : }
1086 0 : case 71: { /* spoolss_SetPort */
1087 0 : struct spoolss_SetPort *r2 = (struct spoolss_SetPort *)r;
1088 0 : if (DEBUGLEVEL >= 10) {
1089 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_SetPort, NDR_IN, r2);
1090 : }
1091 0 : r2->out.result = _spoolss_SetPort(p, r2);
1092 0 : break;
1093 : }
1094 152 : case 72: { /* spoolss_EnumPrinterData */
1095 152 : struct spoolss_EnumPrinterData *r2 = (struct spoolss_EnumPrinterData *)r;
1096 152 : if (DEBUGLEVEL >= 10) {
1097 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumPrinterData, NDR_IN, r2);
1098 : }
1099 152 : NDR_ZERO_STRUCT(r2->out);
1100 152 : r2->out.value_name = talloc_zero_array(r2, const char, r2->in.value_offered / 2);
1101 152 : if (r2->out.value_name == NULL) {
1102 0 : status = NT_STATUS_NO_MEMORY;
1103 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1104 0 : goto fail;
1105 : }
1106 :
1107 152 : r2->out.value_needed = talloc_zero(r2, uint32_t);
1108 152 : if (r2->out.value_needed == NULL) {
1109 0 : status = NT_STATUS_NO_MEMORY;
1110 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1111 0 : goto fail;
1112 : }
1113 :
1114 152 : r2->out.type = talloc_zero(r2, enum winreg_Type);
1115 152 : if (r2->out.type == NULL) {
1116 0 : status = NT_STATUS_NO_MEMORY;
1117 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1118 0 : goto fail;
1119 : }
1120 :
1121 152 : r2->out.data = talloc_zero_array(r2, uint8_t, r2->in.data_offered);
1122 152 : if (r2->out.data == NULL) {
1123 0 : status = NT_STATUS_NO_MEMORY;
1124 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1125 0 : goto fail;
1126 : }
1127 :
1128 152 : r2->out.data_needed = talloc_zero(r2, uint32_t);
1129 152 : if (r2->out.data_needed == NULL) {
1130 0 : status = NT_STATUS_NO_MEMORY;
1131 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1132 0 : goto fail;
1133 : }
1134 :
1135 152 : r2->out.result = _spoolss_EnumPrinterData(p, r2);
1136 152 : break;
1137 : }
1138 168 : case 73: { /* spoolss_DeletePrinterData */
1139 168 : struct spoolss_DeletePrinterData *r2 = (struct spoolss_DeletePrinterData *)r;
1140 168 : if (DEBUGLEVEL >= 10) {
1141 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrinterData, NDR_IN, r2);
1142 : }
1143 168 : r2->out.result = _spoolss_DeletePrinterData(p, r2);
1144 168 : break;
1145 : }
1146 0 : case 74: { /* spoolss_4a */
1147 0 : struct spoolss_4a *r2 = (struct spoolss_4a *)r;
1148 0 : if (DEBUGLEVEL >= 10) {
1149 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_4a, NDR_IN, r2);
1150 : }
1151 0 : r2->out.result = _spoolss_4a(p, r2);
1152 0 : break;
1153 : }
1154 0 : case 75: { /* spoolss_4b */
1155 0 : struct spoolss_4b *r2 = (struct spoolss_4b *)r;
1156 0 : if (DEBUGLEVEL >= 10) {
1157 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_4b, NDR_IN, r2);
1158 : }
1159 0 : r2->out.result = _spoolss_4b(p, r2);
1160 0 : break;
1161 : }
1162 0 : case 76: { /* spoolss_4c */
1163 0 : struct spoolss_4c *r2 = (struct spoolss_4c *)r;
1164 0 : if (DEBUGLEVEL >= 10) {
1165 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_4c, NDR_IN, r2);
1166 : }
1167 0 : r2->out.result = _spoolss_4c(p, r2);
1168 0 : break;
1169 : }
1170 1200 : case 77: { /* spoolss_SetPrinterDataEx */
1171 1200 : struct spoolss_SetPrinterDataEx *r2 = (struct spoolss_SetPrinterDataEx *)r;
1172 1200 : if (DEBUGLEVEL >= 10) {
1173 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_SetPrinterDataEx, NDR_IN, r2);
1174 : }
1175 1200 : r2->out.result = _spoolss_SetPrinterDataEx(p, r2);
1176 1200 : break;
1177 : }
1178 2700 : case 78: { /* spoolss_GetPrinterDataEx */
1179 2700 : struct spoolss_GetPrinterDataEx *r2 = (struct spoolss_GetPrinterDataEx *)r;
1180 2700 : if (DEBUGLEVEL >= 10) {
1181 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetPrinterDataEx, NDR_IN, r2);
1182 : }
1183 2700 : NDR_ZERO_STRUCT(r2->out);
1184 2700 : r2->out.type = talloc_zero(r2, enum winreg_Type);
1185 2700 : if (r2->out.type == NULL) {
1186 0 : status = NT_STATUS_NO_MEMORY;
1187 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1188 0 : goto fail;
1189 : }
1190 :
1191 2700 : r2->out.data = talloc_zero_array(r2, uint8_t, r2->in.offered);
1192 2700 : if (r2->out.data == NULL) {
1193 0 : status = NT_STATUS_NO_MEMORY;
1194 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1195 0 : goto fail;
1196 : }
1197 :
1198 2700 : r2->out.needed = talloc_zero(r2, uint32_t);
1199 2700 : if (r2->out.needed == NULL) {
1200 0 : status = NT_STATUS_NO_MEMORY;
1201 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1202 0 : goto fail;
1203 : }
1204 :
1205 2700 : r2->out.result = _spoolss_GetPrinterDataEx(p, r2);
1206 2700 : break;
1207 : }
1208 2596 : case 79: { /* spoolss_EnumPrinterDataEx */
1209 2596 : struct spoolss_EnumPrinterDataEx *r2 = (struct spoolss_EnumPrinterDataEx *)r;
1210 2596 : if (DEBUGLEVEL >= 10) {
1211 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumPrinterDataEx, NDR_IN, r2);
1212 : }
1213 2596 : NDR_ZERO_STRUCT(r2->out);
1214 2596 : r2->out.count = talloc_zero(r2, uint32_t);
1215 2596 : if (r2->out.count == NULL) {
1216 0 : status = NT_STATUS_NO_MEMORY;
1217 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1218 0 : goto fail;
1219 : }
1220 :
1221 2596 : r2->out.info = talloc_zero(r2, struct spoolss_PrinterEnumValues *);
1222 2596 : if (r2->out.info == NULL) {
1223 0 : status = NT_STATUS_NO_MEMORY;
1224 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1225 0 : goto fail;
1226 : }
1227 :
1228 2596 : r2->out.needed = talloc_zero(r2, uint32_t);
1229 2596 : if (r2->out.needed == NULL) {
1230 0 : status = NT_STATUS_NO_MEMORY;
1231 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1232 0 : goto fail;
1233 : }
1234 :
1235 2596 : r2->out.result = _spoolss_EnumPrinterDataEx(p, r2);
1236 2596 : break;
1237 : }
1238 3384 : case 80: { /* spoolss_EnumPrinterKey */
1239 3384 : struct spoolss_EnumPrinterKey *r2 = (struct spoolss_EnumPrinterKey *)r;
1240 3384 : if (DEBUGLEVEL >= 10) {
1241 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumPrinterKey, NDR_IN, r2);
1242 : }
1243 3384 : NDR_ZERO_STRUCT(r2->out);
1244 3384 : r2->out._ndr_size = talloc_zero(r2, uint32_t);
1245 3384 : if (r2->out._ndr_size == NULL) {
1246 0 : status = NT_STATUS_NO_MEMORY;
1247 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1248 0 : goto fail;
1249 : }
1250 :
1251 3384 : r2->out.key_buffer = talloc_zero(r2, union spoolss_KeyNames);
1252 3384 : if (r2->out.key_buffer == NULL) {
1253 0 : status = NT_STATUS_NO_MEMORY;
1254 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1255 0 : goto fail;
1256 : }
1257 :
1258 3384 : r2->out.needed = talloc_zero(r2, uint32_t);
1259 3384 : if (r2->out.needed == NULL) {
1260 0 : status = NT_STATUS_NO_MEMORY;
1261 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1262 0 : goto fail;
1263 : }
1264 :
1265 3384 : r2->out.result = _spoolss_EnumPrinterKey(p, r2);
1266 3384 : break;
1267 : }
1268 1200 : case 81: { /* spoolss_DeletePrinterDataEx */
1269 1200 : struct spoolss_DeletePrinterDataEx *r2 = (struct spoolss_DeletePrinterDataEx *)r;
1270 1200 : if (DEBUGLEVEL >= 10) {
1271 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrinterDataEx, NDR_IN, r2);
1272 : }
1273 1200 : r2->out.result = _spoolss_DeletePrinterDataEx(p, r2);
1274 1200 : break;
1275 : }
1276 216 : case 82: { /* spoolss_DeletePrinterKey */
1277 216 : struct spoolss_DeletePrinterKey *r2 = (struct spoolss_DeletePrinterKey *)r;
1278 216 : if (DEBUGLEVEL >= 10) {
1279 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrinterKey, NDR_IN, r2);
1280 : }
1281 216 : r2->out.result = _spoolss_DeletePrinterKey(p, r2);
1282 216 : break;
1283 : }
1284 0 : case 83: { /* spoolss_53 */
1285 0 : struct spoolss_53 *r2 = (struct spoolss_53 *)r;
1286 0 : if (DEBUGLEVEL >= 10) {
1287 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_53, NDR_IN, r2);
1288 : }
1289 0 : r2->out.result = _spoolss_53(p, r2);
1290 0 : break;
1291 : }
1292 0 : case 84: { /* spoolss_DeletePrinterDriverEx */
1293 0 : struct spoolss_DeletePrinterDriverEx *r2 = (struct spoolss_DeletePrinterDriverEx *)r;
1294 0 : if (DEBUGLEVEL >= 10) {
1295 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrinterDriverEx, NDR_IN, r2);
1296 : }
1297 0 : r2->out.result = _spoolss_DeletePrinterDriverEx(p, r2);
1298 0 : break;
1299 : }
1300 4 : case 85: { /* spoolss_AddPerMachineConnection */
1301 4 : struct spoolss_AddPerMachineConnection *r2 = (struct spoolss_AddPerMachineConnection *)r;
1302 4 : if (DEBUGLEVEL >= 10) {
1303 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPerMachineConnection, NDR_IN, r2);
1304 : }
1305 4 : r2->out.result = _spoolss_AddPerMachineConnection(p, r2);
1306 4 : break;
1307 : }
1308 0 : case 86: { /* spoolss_DeletePerMachineConnection */
1309 0 : struct spoolss_DeletePerMachineConnection *r2 = (struct spoolss_DeletePerMachineConnection *)r;
1310 0 : if (DEBUGLEVEL >= 10) {
1311 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePerMachineConnection, NDR_IN, r2);
1312 : }
1313 0 : r2->out.result = _spoolss_DeletePerMachineConnection(p, r2);
1314 0 : break;
1315 : }
1316 0 : case 87: { /* spoolss_EnumPerMachineConnections */
1317 0 : struct spoolss_EnumPerMachineConnections *r2 = (struct spoolss_EnumPerMachineConnections *)r;
1318 0 : if (DEBUGLEVEL >= 10) {
1319 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumPerMachineConnections, NDR_IN, r2);
1320 : }
1321 0 : NDR_ZERO_STRUCT(r2->out);
1322 0 : r2->out.count = talloc_zero(r2, uint32_t);
1323 0 : if (r2->out.count == NULL) {
1324 0 : status = NT_STATUS_NO_MEMORY;
1325 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1326 0 : goto fail;
1327 : }
1328 :
1329 0 : r2->out.info = talloc_zero(r2, struct spoolss_PrinterInfo4 *);
1330 0 : if (r2->out.info == NULL) {
1331 0 : status = NT_STATUS_NO_MEMORY;
1332 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1333 0 : goto fail;
1334 : }
1335 :
1336 0 : r2->out.needed = talloc_zero(r2, uint32_t);
1337 0 : if (r2->out.needed == NULL) {
1338 0 : status = NT_STATUS_NO_MEMORY;
1339 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1340 0 : goto fail;
1341 : }
1342 :
1343 0 : r2->out.result = _spoolss_EnumPerMachineConnections(p, r2);
1344 0 : break;
1345 : }
1346 0 : case 88: { /* spoolss_XcvData */
1347 0 : struct spoolss_XcvData *r2 = (struct spoolss_XcvData *)r;
1348 0 : if (DEBUGLEVEL >= 10) {
1349 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_XcvData, NDR_IN, r2);
1350 : }
1351 0 : NDR_ZERO_STRUCT(r2->out);
1352 0 : r2->out.status_code = r2->in.status_code;
1353 0 : r2->out.out_data = talloc_zero_array(r2, uint8_t, r2->in.out_data_size);
1354 0 : if (r2->out.out_data == NULL) {
1355 0 : status = NT_STATUS_NO_MEMORY;
1356 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1357 0 : goto fail;
1358 : }
1359 :
1360 0 : r2->out.needed = talloc_zero(r2, uint32_t);
1361 0 : if (r2->out.needed == NULL) {
1362 0 : status = NT_STATUS_NO_MEMORY;
1363 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1364 0 : goto fail;
1365 : }
1366 :
1367 0 : r2->out.result = _spoolss_XcvData(p, r2);
1368 0 : break;
1369 : }
1370 0 : case 89: { /* spoolss_AddPrinterDriverEx */
1371 0 : struct spoolss_AddPrinterDriverEx *r2 = (struct spoolss_AddPrinterDriverEx *)r;
1372 0 : if (DEBUGLEVEL >= 10) {
1373 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPrinterDriverEx, NDR_IN, r2);
1374 : }
1375 0 : r2->out.result = _spoolss_AddPrinterDriverEx(p, r2);
1376 0 : break;
1377 : }
1378 0 : case 90: { /* spoolss_5a */
1379 0 : struct spoolss_5a *r2 = (struct spoolss_5a *)r;
1380 0 : if (DEBUGLEVEL >= 10) {
1381 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_5a, NDR_IN, r2);
1382 : }
1383 0 : r2->out.result = _spoolss_5a(p, r2);
1384 0 : break;
1385 : }
1386 0 : case 91: { /* spoolss_5b */
1387 0 : struct spoolss_5b *r2 = (struct spoolss_5b *)r;
1388 0 : if (DEBUGLEVEL >= 10) {
1389 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_5b, NDR_IN, r2);
1390 : }
1391 0 : r2->out.result = _spoolss_5b(p, r2);
1392 0 : break;
1393 : }
1394 0 : case 92: { /* spoolss_5c */
1395 0 : struct spoolss_5c *r2 = (struct spoolss_5c *)r;
1396 0 : if (DEBUGLEVEL >= 10) {
1397 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_5c, NDR_IN, r2);
1398 : }
1399 0 : r2->out.result = _spoolss_5c(p, r2);
1400 0 : break;
1401 : }
1402 0 : case 93: { /* spoolss_5d */
1403 0 : struct spoolss_5d *r2 = (struct spoolss_5d *)r;
1404 0 : if (DEBUGLEVEL >= 10) {
1405 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_5d, NDR_IN, r2);
1406 : }
1407 0 : r2->out.result = _spoolss_5d(p, r2);
1408 0 : break;
1409 : }
1410 0 : case 94: { /* spoolss_5e */
1411 0 : struct spoolss_5e *r2 = (struct spoolss_5e *)r;
1412 0 : if (DEBUGLEVEL >= 10) {
1413 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_5e, NDR_IN, r2);
1414 : }
1415 0 : r2->out.result = _spoolss_5e(p, r2);
1416 0 : break;
1417 : }
1418 0 : case 95: { /* spoolss_5f */
1419 0 : struct spoolss_5f *r2 = (struct spoolss_5f *)r;
1420 0 : if (DEBUGLEVEL >= 10) {
1421 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_5f, NDR_IN, r2);
1422 : }
1423 0 : r2->out.result = _spoolss_5f(p, r2);
1424 0 : break;
1425 : }
1426 0 : case 96: { /* spoolss_60 */
1427 0 : struct spoolss_60 *r2 = (struct spoolss_60 *)r;
1428 0 : if (DEBUGLEVEL >= 10) {
1429 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_60, NDR_IN, r2);
1430 : }
1431 0 : r2->out.result = _spoolss_60(p, r2);
1432 0 : break;
1433 : }
1434 0 : case 97: { /* spoolss_SendRecvBidiData */
1435 0 : struct spoolss_SendRecvBidiData *r2 = (struct spoolss_SendRecvBidiData *)r;
1436 0 : if (DEBUGLEVEL >= 10) {
1437 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_SendRecvBidiData, NDR_IN, r2);
1438 : }
1439 0 : NDR_ZERO_STRUCT(r2->out);
1440 0 : r2->out.ppRespData = talloc_zero(r2, struct RPC_BIDI_RESPONSE_CONTAINER *);
1441 0 : if (r2->out.ppRespData == NULL) {
1442 0 : status = NT_STATUS_NO_MEMORY;
1443 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1444 0 : goto fail;
1445 : }
1446 :
1447 0 : r2->out.result = _spoolss_SendRecvBidiData(p, r2);
1448 0 : break;
1449 : }
1450 0 : case 98: { /* spoolss_62 */
1451 0 : struct spoolss_62 *r2 = (struct spoolss_62 *)r;
1452 0 : if (DEBUGLEVEL >= 10) {
1453 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_62, NDR_IN, r2);
1454 : }
1455 0 : r2->out.result = _spoolss_62(p, r2);
1456 0 : break;
1457 : }
1458 0 : case 99: { /* spoolss_63 */
1459 0 : struct spoolss_63 *r2 = (struct spoolss_63 *)r;
1460 0 : if (DEBUGLEVEL >= 10) {
1461 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_63, NDR_IN, r2);
1462 : }
1463 0 : r2->out.result = _spoolss_63(p, r2);
1464 0 : break;
1465 : }
1466 0 : case 100: { /* spoolss_64 */
1467 0 : struct spoolss_64 *r2 = (struct spoolss_64 *)r;
1468 0 : if (DEBUGLEVEL >= 10) {
1469 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_64, NDR_IN, r2);
1470 : }
1471 0 : r2->out.result = _spoolss_64(p, r2);
1472 0 : break;
1473 : }
1474 0 : case 101: { /* spoolss_65 */
1475 0 : struct spoolss_65 *r2 = (struct spoolss_65 *)r;
1476 0 : if (DEBUGLEVEL >= 10) {
1477 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_65, NDR_IN, r2);
1478 : }
1479 0 : r2->out.result = _spoolss_65(p, r2);
1480 0 : break;
1481 : }
1482 8 : case 102: { /* spoolss_GetCorePrinterDrivers */
1483 8 : struct spoolss_GetCorePrinterDrivers *r2 = (struct spoolss_GetCorePrinterDrivers *)r;
1484 8 : if (DEBUGLEVEL >= 10) {
1485 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetCorePrinterDrivers, NDR_IN, r2);
1486 : }
1487 8 : NDR_ZERO_STRUCT(r2->out);
1488 8 : r2->out.core_printer_drivers = talloc_zero_array(r2, struct spoolss_CorePrinterDriver, r2->in.core_printer_driver_count);
1489 8 : if (r2->out.core_printer_drivers == NULL) {
1490 0 : status = NT_STATUS_NO_MEMORY;
1491 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1492 0 : goto fail;
1493 : }
1494 :
1495 8 : r2->out.result = _spoolss_GetCorePrinterDrivers(p, r2);
1496 8 : break;
1497 : }
1498 0 : case 103: { /* spoolss_67 */
1499 0 : struct spoolss_67 *r2 = (struct spoolss_67 *)r;
1500 0 : if (DEBUGLEVEL >= 10) {
1501 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_67, NDR_IN, r2);
1502 : }
1503 0 : r2->out.result = _spoolss_67(p, r2);
1504 0 : break;
1505 : }
1506 4 : case 104: { /* spoolss_GetPrinterDriverPackagePath */
1507 4 : struct spoolss_GetPrinterDriverPackagePath *r2 = (struct spoolss_GetPrinterDriverPackagePath *)r;
1508 4 : if (DEBUGLEVEL >= 10) {
1509 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetPrinterDriverPackagePath, NDR_IN, r2);
1510 : }
1511 4 : NDR_ZERO_STRUCT(r2->out);
1512 4 : r2->out.driver_package_cab = r2->in.driver_package_cab;
1513 4 : r2->out.required = talloc_zero(r2, uint32_t);
1514 4 : if (r2->out.required == NULL) {
1515 0 : status = NT_STATUS_NO_MEMORY;
1516 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1517 0 : goto fail;
1518 : }
1519 :
1520 4 : r2->out.result = _spoolss_GetPrinterDriverPackagePath(p, r2);
1521 4 : break;
1522 : }
1523 0 : case 105: { /* spoolss_69 */
1524 0 : struct spoolss_69 *r2 = (struct spoolss_69 *)r;
1525 0 : if (DEBUGLEVEL >= 10) {
1526 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_69, NDR_IN, r2);
1527 : }
1528 0 : r2->out.result = _spoolss_69(p, r2);
1529 0 : break;
1530 : }
1531 0 : case 106: { /* spoolss_6a */
1532 0 : struct spoolss_6a *r2 = (struct spoolss_6a *)r;
1533 0 : if (DEBUGLEVEL >= 10) {
1534 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_6a, NDR_IN, r2);
1535 : }
1536 0 : r2->out.result = _spoolss_6a(p, r2);
1537 0 : break;
1538 : }
1539 0 : case 107: { /* spoolss_6b */
1540 0 : struct spoolss_6b *r2 = (struct spoolss_6b *)r;
1541 0 : if (DEBUGLEVEL >= 10) {
1542 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_6b, NDR_IN, r2);
1543 : }
1544 0 : r2->out.result = _spoolss_6b(p, r2);
1545 0 : break;
1546 : }
1547 0 : case 108: { /* spoolss_6c */
1548 0 : struct spoolss_6c *r2 = (struct spoolss_6c *)r;
1549 0 : if (DEBUGLEVEL >= 10) {
1550 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_6c, NDR_IN, r2);
1551 : }
1552 0 : r2->out.result = _spoolss_6c(p, r2);
1553 0 : break;
1554 : }
1555 0 : case 109: { /* spoolss_6d */
1556 0 : struct spoolss_6d *r2 = (struct spoolss_6d *)r;
1557 0 : if (DEBUGLEVEL >= 10) {
1558 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_6d, NDR_IN, r2);
1559 : }
1560 0 : r2->out.result = _spoolss_6d(p, r2);
1561 0 : break;
1562 : }
1563 0 : case 110: { /* spoolss_GetJobNamedPropertyValue */
1564 0 : struct spoolss_GetJobNamedPropertyValue *r2 = (struct spoolss_GetJobNamedPropertyValue *)r;
1565 0 : if (DEBUGLEVEL >= 10) {
1566 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetJobNamedPropertyValue, NDR_IN, r2);
1567 : }
1568 0 : NDR_ZERO_STRUCT(r2->out);
1569 0 : r2->out.pValue = talloc_zero(r2, struct spoolss_PrintPropertyValue);
1570 0 : if (r2->out.pValue == NULL) {
1571 0 : status = NT_STATUS_NO_MEMORY;
1572 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1573 0 : goto fail;
1574 : }
1575 :
1576 0 : r2->out.result = _spoolss_GetJobNamedPropertyValue(p, r2);
1577 0 : break;
1578 : }
1579 0 : case 111: { /* spoolss_SetJobNamedProperty */
1580 0 : struct spoolss_SetJobNamedProperty *r2 = (struct spoolss_SetJobNamedProperty *)r;
1581 0 : if (DEBUGLEVEL >= 10) {
1582 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_SetJobNamedProperty, NDR_IN, r2);
1583 : }
1584 0 : r2->out.result = _spoolss_SetJobNamedProperty(p, r2);
1585 0 : break;
1586 : }
1587 0 : case 112: { /* spoolss_DeleteJobNamedProperty */
1588 0 : struct spoolss_DeleteJobNamedProperty *r2 = (struct spoolss_DeleteJobNamedProperty *)r;
1589 0 : if (DEBUGLEVEL >= 10) {
1590 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeleteJobNamedProperty, NDR_IN, r2);
1591 : }
1592 0 : r2->out.result = _spoolss_DeleteJobNamedProperty(p, r2);
1593 0 : break;
1594 : }
1595 0 : case 113: { /* spoolss_EnumJobNamedProperties */
1596 0 : struct spoolss_EnumJobNamedProperties *r2 = (struct spoolss_EnumJobNamedProperties *)r;
1597 0 : if (DEBUGLEVEL >= 10) {
1598 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumJobNamedProperties, NDR_IN, r2);
1599 : }
1600 0 : NDR_ZERO_STRUCT(r2->out);
1601 0 : r2->out.pcProperties = talloc_zero(r2, uint32_t);
1602 0 : if (r2->out.pcProperties == NULL) {
1603 0 : status = NT_STATUS_NO_MEMORY;
1604 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1605 0 : goto fail;
1606 : }
1607 :
1608 0 : r2->out.ppProperties = talloc_zero(r2, struct spoolss_PrintNamedProperty *);
1609 0 : if (r2->out.ppProperties == NULL) {
1610 0 : status = NT_STATUS_NO_MEMORY;
1611 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1612 0 : goto fail;
1613 : }
1614 :
1615 0 : r2->out.result = _spoolss_EnumJobNamedProperties(p, r2);
1616 0 : break;
1617 : }
1618 0 : case 114: { /* spoolss_72 */
1619 0 : struct spoolss_72 *r2 = (struct spoolss_72 *)r;
1620 0 : if (DEBUGLEVEL >= 10) {
1621 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_72, NDR_IN, r2);
1622 : }
1623 0 : r2->out.result = _spoolss_72(p, r2);
1624 0 : break;
1625 : }
1626 0 : case 115: { /* spoolss_73 */
1627 0 : struct spoolss_73 *r2 = (struct spoolss_73 *)r;
1628 0 : if (DEBUGLEVEL >= 10) {
1629 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_73, NDR_IN, r2);
1630 : }
1631 0 : r2->out.result = _spoolss_73(p, r2);
1632 0 : break;
1633 : }
1634 8 : case 116: { /* spoolss_LogJobInfoForBranchOffice */
1635 8 : struct spoolss_LogJobInfoForBranchOffice *r2 = (struct spoolss_LogJobInfoForBranchOffice *)r;
1636 8 : if (DEBUGLEVEL >= 10) {
1637 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_LogJobInfoForBranchOffice, NDR_IN, r2);
1638 : }
1639 8 : r2->out.result = _spoolss_LogJobInfoForBranchOffice(p, r2);
1640 8 : break;
1641 : }
1642 0 : default:
1643 0 : dce_call->fault_code = DCERPC_FAULT_OP_RNG_ERROR;
1644 0 : break;
1645 : }
1646 :
1647 35260 : fail:
1648 : /* Unimpersonate */
1649 35260 : if (impersonated) {
1650 35260 : unbecome_authenticated_pipe_user();
1651 : }
1652 :
1653 35260 : p->dce_call = NULL;
1654 35260 : p->mem_ctx = NULL;
1655 : /* Check pipes struct fault state */
1656 35260 : if (p->fault_state != 0) {
1657 24 : dce_call->fault_code = p->fault_state;
1658 : }
1659 35260 : if (dce_call->fault_code != 0) {
1660 24 : status = NT_STATUS_NET_WRITE_FAULT;
1661 : }
1662 :
1663 35260 : return status;
1664 : }
1665 :
1666 35260 : NTSTATUS spoolss__op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r)
1667 : {
1668 35260 : return spoolss__op_dispatch_internal(dce_call, mem_ctx, r, S3COMPAT_RPC_DISPATCH_EXTERNAL);
1669 : }
1670 :
1671 35236 : NTSTATUS spoolss__op_reply(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r)
1672 : {
1673 35236 : uint16_t opnum = dce_call->pkt.u.request.opnum;
1674 :
1675 35236 : switch (opnum) {
1676 180 : case 0: { /* spoolss_EnumPrinters */
1677 180 : struct spoolss_EnumPrinters *r2 = (struct spoolss_EnumPrinters *)r;
1678 180 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1679 0 : DEBUG(5,("function spoolss_EnumPrinters replied async\n"));
1680 : }
1681 180 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1682 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumPrinters, NDR_OUT | NDR_SET_VALUES, r2);
1683 : }
1684 180 : if (dce_call->fault_code != 0) {
1685 0 : DBG_WARNING("dcerpc_fault %s in spoolss_EnumPrinters\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1686 : }
1687 180 : break;
1688 : }
1689 194 : case 1: { /* spoolss_OpenPrinter */
1690 194 : struct spoolss_OpenPrinter *r2 = (struct spoolss_OpenPrinter *)r;
1691 194 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1692 0 : DEBUG(5,("function spoolss_OpenPrinter replied async\n"));
1693 : }
1694 194 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1695 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_OpenPrinter, NDR_OUT | NDR_SET_VALUES, r2);
1696 : }
1697 194 : if (dce_call->fault_code != 0) {
1698 0 : DBG_WARNING("dcerpc_fault %s in spoolss_OpenPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1699 : }
1700 194 : break;
1701 : }
1702 640 : case 2: { /* spoolss_SetJob */
1703 640 : struct spoolss_SetJob *r2 = (struct spoolss_SetJob *)r;
1704 640 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1705 0 : DEBUG(5,("function spoolss_SetJob replied async\n"));
1706 : }
1707 640 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1708 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_SetJob, NDR_OUT | NDR_SET_VALUES, r2);
1709 : }
1710 640 : if (dce_call->fault_code != 0) {
1711 0 : DBG_WARNING("dcerpc_fault %s in spoolss_SetJob\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1712 : }
1713 640 : break;
1714 : }
1715 2048 : case 3: { /* spoolss_GetJob */
1716 2048 : struct spoolss_GetJob *r2 = (struct spoolss_GetJob *)r;
1717 2048 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1718 0 : DEBUG(5,("function spoolss_GetJob replied async\n"));
1719 : }
1720 2048 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1721 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetJob, NDR_OUT | NDR_SET_VALUES, r2);
1722 : }
1723 2048 : if (dce_call->fault_code != 0) {
1724 0 : DBG_WARNING("dcerpc_fault %s in spoolss_GetJob\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1725 : }
1726 2048 : break;
1727 : }
1728 98 : case 4: { /* spoolss_EnumJobs */
1729 98 : struct spoolss_EnumJobs *r2 = (struct spoolss_EnumJobs *)r;
1730 98 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1731 0 : DEBUG(5,("function spoolss_EnumJobs replied async\n"));
1732 : }
1733 98 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1734 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumJobs, NDR_OUT | NDR_SET_VALUES, r2);
1735 : }
1736 98 : if (dce_call->fault_code != 0) {
1737 0 : DBG_WARNING("dcerpc_fault %s in spoolss_EnumJobs\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1738 : }
1739 98 : break;
1740 : }
1741 72 : case 5: { /* spoolss_AddPrinter */
1742 72 : struct spoolss_AddPrinter *r2 = (struct spoolss_AddPrinter *)r;
1743 72 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1744 0 : DEBUG(5,("function spoolss_AddPrinter replied async\n"));
1745 : }
1746 72 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1747 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPrinter, NDR_OUT | NDR_SET_VALUES, r2);
1748 : }
1749 72 : if (dce_call->fault_code != 0) {
1750 0 : DBG_WARNING("dcerpc_fault %s in spoolss_AddPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1751 : }
1752 72 : break;
1753 : }
1754 16 : case 6: { /* spoolss_DeletePrinter */
1755 16 : struct spoolss_DeletePrinter *r2 = (struct spoolss_DeletePrinter *)r;
1756 16 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1757 0 : DEBUG(5,("function spoolss_DeletePrinter replied async\n"));
1758 : }
1759 16 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1760 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrinter, NDR_OUT | NDR_SET_VALUES, r2);
1761 : }
1762 16 : if (dce_call->fault_code != 0) {
1763 0 : DBG_WARNING("dcerpc_fault %s in spoolss_DeletePrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1764 : }
1765 16 : break;
1766 : }
1767 584 : case 7: { /* spoolss_SetPrinter */
1768 584 : struct spoolss_SetPrinter *r2 = (struct spoolss_SetPrinter *)r;
1769 584 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1770 0 : DEBUG(5,("function spoolss_SetPrinter replied async\n"));
1771 : }
1772 584 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1773 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_SetPrinter, NDR_OUT | NDR_SET_VALUES, r2);
1774 : }
1775 584 : if (dce_call->fault_code != 0) {
1776 0 : DBG_WARNING("dcerpc_fault %s in spoolss_SetPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1777 : }
1778 584 : break;
1779 : }
1780 3512 : case 8: { /* spoolss_GetPrinter */
1781 3512 : struct spoolss_GetPrinter *r2 = (struct spoolss_GetPrinter *)r;
1782 3512 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1783 0 : DEBUG(5,("function spoolss_GetPrinter replied async\n"));
1784 : }
1785 3512 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1786 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetPrinter, NDR_OUT | NDR_SET_VALUES, r2);
1787 : }
1788 3512 : if (dce_call->fault_code != 0) {
1789 0 : DBG_WARNING("dcerpc_fault %s in spoolss_GetPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1790 : }
1791 3512 : break;
1792 : }
1793 0 : case 9: { /* spoolss_AddPrinterDriver */
1794 0 : struct spoolss_AddPrinterDriver *r2 = (struct spoolss_AddPrinterDriver *)r;
1795 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1796 0 : DEBUG(5,("function spoolss_AddPrinterDriver replied async\n"));
1797 : }
1798 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1799 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPrinterDriver, NDR_OUT | NDR_SET_VALUES, r2);
1800 : }
1801 0 : if (dce_call->fault_code != 0) {
1802 0 : DBG_WARNING("dcerpc_fault %s in spoolss_AddPrinterDriver\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1803 : }
1804 0 : break;
1805 : }
1806 108 : case 10: { /* spoolss_EnumPrinterDrivers */
1807 108 : struct spoolss_EnumPrinterDrivers *r2 = (struct spoolss_EnumPrinterDrivers *)r;
1808 108 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1809 0 : DEBUG(5,("function spoolss_EnumPrinterDrivers replied async\n"));
1810 : }
1811 108 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1812 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumPrinterDrivers, NDR_OUT | NDR_SET_VALUES, r2);
1813 : }
1814 108 : if (dce_call->fault_code != 0) {
1815 0 : DBG_WARNING("dcerpc_fault %s in spoolss_EnumPrinterDrivers\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1816 : }
1817 108 : break;
1818 : }
1819 0 : case 11: { /* spoolss_GetPrinterDriver */
1820 0 : struct spoolss_GetPrinterDriver *r2 = (struct spoolss_GetPrinterDriver *)r;
1821 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1822 0 : DEBUG(5,("function spoolss_GetPrinterDriver replied async\n"));
1823 : }
1824 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1825 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetPrinterDriver, NDR_OUT | NDR_SET_VALUES, r2);
1826 : }
1827 0 : if (dce_call->fault_code != 0) {
1828 0 : DBG_WARNING("dcerpc_fault %s in spoolss_GetPrinterDriver\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1829 : }
1830 0 : break;
1831 : }
1832 168 : case 12: { /* spoolss_GetPrinterDriverDirectory */
1833 168 : struct spoolss_GetPrinterDriverDirectory *r2 = (struct spoolss_GetPrinterDriverDirectory *)r;
1834 168 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1835 0 : DEBUG(5,("function spoolss_GetPrinterDriverDirectory replied async\n"));
1836 : }
1837 168 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1838 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetPrinterDriverDirectory, NDR_OUT | NDR_SET_VALUES, r2);
1839 : }
1840 168 : if (dce_call->fault_code != 0) {
1841 0 : DBG_WARNING("dcerpc_fault %s in spoolss_GetPrinterDriverDirectory\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1842 : }
1843 168 : break;
1844 : }
1845 0 : case 13: { /* spoolss_DeletePrinterDriver */
1846 0 : struct spoolss_DeletePrinterDriver *r2 = (struct spoolss_DeletePrinterDriver *)r;
1847 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1848 0 : DEBUG(5,("function spoolss_DeletePrinterDriver replied async\n"));
1849 : }
1850 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1851 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrinterDriver, NDR_OUT | NDR_SET_VALUES, r2);
1852 : }
1853 0 : if (dce_call->fault_code != 0) {
1854 0 : DBG_WARNING("dcerpc_fault %s in spoolss_DeletePrinterDriver\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1855 : }
1856 0 : break;
1857 : }
1858 4 : case 14: { /* spoolss_AddPrintProcessor */
1859 4 : struct spoolss_AddPrintProcessor *r2 = (struct spoolss_AddPrintProcessor *)r;
1860 4 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1861 0 : DEBUG(5,("function spoolss_AddPrintProcessor replied async\n"));
1862 : }
1863 4 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1864 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPrintProcessor, NDR_OUT | NDR_SET_VALUES, r2);
1865 : }
1866 4 : if (dce_call->fault_code != 0) {
1867 0 : DBG_WARNING("dcerpc_fault %s in spoolss_AddPrintProcessor\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1868 : }
1869 4 : break;
1870 : }
1871 48 : case 15: { /* spoolss_EnumPrintProcessors */
1872 48 : struct spoolss_EnumPrintProcessors *r2 = (struct spoolss_EnumPrintProcessors *)r;
1873 48 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1874 0 : DEBUG(5,("function spoolss_EnumPrintProcessors replied async\n"));
1875 : }
1876 48 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1877 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumPrintProcessors, NDR_OUT | NDR_SET_VALUES, r2);
1878 : }
1879 48 : if (dce_call->fault_code != 0) {
1880 0 : DBG_WARNING("dcerpc_fault %s in spoolss_EnumPrintProcessors\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1881 : }
1882 48 : break;
1883 : }
1884 40 : case 16: { /* spoolss_GetPrintProcessorDirectory */
1885 40 : struct spoolss_GetPrintProcessorDirectory *r2 = (struct spoolss_GetPrintProcessorDirectory *)r;
1886 40 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1887 0 : DEBUG(5,("function spoolss_GetPrintProcessorDirectory replied async\n"));
1888 : }
1889 40 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1890 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetPrintProcessorDirectory, NDR_OUT | NDR_SET_VALUES, r2);
1891 : }
1892 40 : if (dce_call->fault_code != 0) {
1893 0 : DBG_WARNING("dcerpc_fault %s in spoolss_GetPrintProcessorDirectory\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1894 : }
1895 40 : break;
1896 : }
1897 668 : case 17: { /* spoolss_StartDocPrinter */
1898 668 : struct spoolss_StartDocPrinter *r2 = (struct spoolss_StartDocPrinter *)r;
1899 668 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1900 0 : DEBUG(5,("function spoolss_StartDocPrinter replied async\n"));
1901 : }
1902 668 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1903 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_StartDocPrinter, NDR_OUT | NDR_SET_VALUES, r2);
1904 : }
1905 668 : if (dce_call->fault_code != 0) {
1906 0 : DBG_WARNING("dcerpc_fault %s in spoolss_StartDocPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1907 : }
1908 668 : break;
1909 : }
1910 1920 : case 18: { /* spoolss_StartPagePrinter */
1911 1920 : struct spoolss_StartPagePrinter *r2 = (struct spoolss_StartPagePrinter *)r;
1912 1920 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1913 0 : DEBUG(5,("function spoolss_StartPagePrinter replied async\n"));
1914 : }
1915 1920 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1916 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_StartPagePrinter, NDR_OUT | NDR_SET_VALUES, r2);
1917 : }
1918 1920 : if (dce_call->fault_code != 0) {
1919 0 : DBG_WARNING("dcerpc_fault %s in spoolss_StartPagePrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1920 : }
1921 1920 : break;
1922 : }
1923 1920 : case 19: { /* spoolss_WritePrinter */
1924 1920 : struct spoolss_WritePrinter *r2 = (struct spoolss_WritePrinter *)r;
1925 1920 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1926 0 : DEBUG(5,("function spoolss_WritePrinter replied async\n"));
1927 : }
1928 1920 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1929 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_WritePrinter, NDR_OUT | NDR_SET_VALUES, r2);
1930 : }
1931 1920 : if (dce_call->fault_code != 0) {
1932 0 : DBG_WARNING("dcerpc_fault %s in spoolss_WritePrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1933 : }
1934 1920 : break;
1935 : }
1936 1920 : case 20: { /* spoolss_EndPagePrinter */
1937 1920 : struct spoolss_EndPagePrinter *r2 = (struct spoolss_EndPagePrinter *)r;
1938 1920 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1939 0 : DEBUG(5,("function spoolss_EndPagePrinter replied async\n"));
1940 : }
1941 1920 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1942 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EndPagePrinter, NDR_OUT | NDR_SET_VALUES, r2);
1943 : }
1944 1920 : if (dce_call->fault_code != 0) {
1945 0 : DBG_WARNING("dcerpc_fault %s in spoolss_EndPagePrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1946 : }
1947 1920 : break;
1948 : }
1949 0 : case 21: { /* spoolss_AbortPrinter */
1950 0 : struct spoolss_AbortPrinter *r2 = (struct spoolss_AbortPrinter *)r;
1951 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1952 0 : DEBUG(5,("function spoolss_AbortPrinter replied async\n"));
1953 : }
1954 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1955 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AbortPrinter, NDR_OUT | NDR_SET_VALUES, r2);
1956 : }
1957 0 : if (dce_call->fault_code != 0) {
1958 0 : DBG_WARNING("dcerpc_fault %s in spoolss_AbortPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1959 : }
1960 0 : break;
1961 : }
1962 0 : case 22: { /* spoolss_ReadPrinter */
1963 0 : struct spoolss_ReadPrinter *r2 = (struct spoolss_ReadPrinter *)r;
1964 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1965 0 : DEBUG(5,("function spoolss_ReadPrinter replied async\n"));
1966 : }
1967 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1968 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_ReadPrinter, NDR_OUT | NDR_SET_VALUES, r2);
1969 : }
1970 0 : if (dce_call->fault_code != 0) {
1971 0 : DBG_WARNING("dcerpc_fault %s in spoolss_ReadPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1972 : }
1973 0 : break;
1974 : }
1975 640 : case 23: { /* spoolss_EndDocPrinter */
1976 640 : struct spoolss_EndDocPrinter *r2 = (struct spoolss_EndDocPrinter *)r;
1977 640 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1978 0 : DEBUG(5,("function spoolss_EndDocPrinter replied async\n"));
1979 : }
1980 640 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1981 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EndDocPrinter, NDR_OUT | NDR_SET_VALUES, r2);
1982 : }
1983 640 : if (dce_call->fault_code != 0) {
1984 0 : DBG_WARNING("dcerpc_fault %s in spoolss_EndDocPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1985 : }
1986 640 : break;
1987 : }
1988 16 : case 24: { /* spoolss_AddJob */
1989 16 : struct spoolss_AddJob *r2 = (struct spoolss_AddJob *)r;
1990 16 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1991 0 : DEBUG(5,("function spoolss_AddJob replied async\n"));
1992 : }
1993 16 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1994 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddJob, NDR_OUT | NDR_SET_VALUES, r2);
1995 : }
1996 16 : if (dce_call->fault_code != 0) {
1997 0 : DBG_WARNING("dcerpc_fault %s in spoolss_AddJob\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1998 : }
1999 16 : break;
2000 : }
2001 0 : case 25: { /* spoolss_ScheduleJob */
2002 0 : struct spoolss_ScheduleJob *r2 = (struct spoolss_ScheduleJob *)r;
2003 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2004 0 : DEBUG(5,("function spoolss_ScheduleJob replied async\n"));
2005 : }
2006 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2007 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_ScheduleJob, NDR_OUT | NDR_SET_VALUES, r2);
2008 : }
2009 0 : if (dce_call->fault_code != 0) {
2010 0 : DBG_WARNING("dcerpc_fault %s in spoolss_ScheduleJob\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2011 : }
2012 0 : break;
2013 : }
2014 480 : case 26: { /* spoolss_GetPrinterData */
2015 480 : struct spoolss_GetPrinterData *r2 = (struct spoolss_GetPrinterData *)r;
2016 480 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2017 0 : DEBUG(5,("function spoolss_GetPrinterData replied async\n"));
2018 : }
2019 480 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2020 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetPrinterData, NDR_OUT | NDR_SET_VALUES, r2);
2021 : }
2022 480 : if (dce_call->fault_code != 0) {
2023 0 : DBG_WARNING("dcerpc_fault %s in spoolss_GetPrinterData\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2024 : }
2025 480 : break;
2026 : }
2027 168 : case 27: { /* spoolss_SetPrinterData */
2028 168 : struct spoolss_SetPrinterData *r2 = (struct spoolss_SetPrinterData *)r;
2029 168 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2030 0 : DEBUG(5,("function spoolss_SetPrinterData replied async\n"));
2031 : }
2032 168 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2033 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_SetPrinterData, NDR_OUT | NDR_SET_VALUES, r2);
2034 : }
2035 168 : if (dce_call->fault_code != 0) {
2036 0 : DBG_WARNING("dcerpc_fault %s in spoolss_SetPrinterData\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2037 : }
2038 168 : break;
2039 : }
2040 0 : case 28: { /* spoolss_WaitForPrinterChange */
2041 0 : struct spoolss_WaitForPrinterChange *r2 = (struct spoolss_WaitForPrinterChange *)r;
2042 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2043 0 : DEBUG(5,("function spoolss_WaitForPrinterChange replied async\n"));
2044 : }
2045 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2046 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_WaitForPrinterChange, NDR_OUT | NDR_SET_VALUES, r2);
2047 : }
2048 0 : if (dce_call->fault_code != 0) {
2049 0 : DBG_WARNING("dcerpc_fault %s in spoolss_WaitForPrinterChange\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2050 : }
2051 0 : break;
2052 : }
2053 620 : case 29: { /* spoolss_ClosePrinter */
2054 620 : struct spoolss_ClosePrinter *r2 = (struct spoolss_ClosePrinter *)r;
2055 620 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2056 0 : DEBUG(5,("function spoolss_ClosePrinter replied async\n"));
2057 : }
2058 620 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2059 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_ClosePrinter, NDR_OUT | NDR_SET_VALUES, r2);
2060 : }
2061 620 : if (dce_call->fault_code != 0) {
2062 0 : DBG_WARNING("dcerpc_fault %s in spoolss_ClosePrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2063 : }
2064 620 : break;
2065 : }
2066 576 : case 30: { /* spoolss_AddForm */
2067 576 : struct spoolss_AddForm *r2 = (struct spoolss_AddForm *)r;
2068 576 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2069 0 : DEBUG(5,("function spoolss_AddForm replied async\n"));
2070 : }
2071 576 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2072 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddForm, NDR_OUT | NDR_SET_VALUES, r2);
2073 : }
2074 576 : if (dce_call->fault_code != 0) {
2075 0 : DBG_WARNING("dcerpc_fault %s in spoolss_AddForm\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2076 : }
2077 576 : break;
2078 : }
2079 384 : case 31: { /* spoolss_DeleteForm */
2080 384 : struct spoolss_DeleteForm *r2 = (struct spoolss_DeleteForm *)r;
2081 384 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2082 0 : DEBUG(5,("function spoolss_DeleteForm replied async\n"));
2083 : }
2084 384 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2085 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeleteForm, NDR_OUT | NDR_SET_VALUES, r2);
2086 : }
2087 384 : if (dce_call->fault_code != 0) {
2088 0 : DBG_WARNING("dcerpc_fault %s in spoolss_DeleteForm\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2089 : }
2090 384 : break;
2091 : }
2092 5040 : case 32: { /* spoolss_GetForm */
2093 5040 : struct spoolss_GetForm *r2 = (struct spoolss_GetForm *)r;
2094 5040 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2095 0 : DEBUG(5,("function spoolss_GetForm replied async\n"));
2096 : }
2097 5040 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2098 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetForm, NDR_OUT | NDR_SET_VALUES, r2);
2099 : }
2100 5040 : if (dce_call->fault_code != 0) {
2101 0 : DBG_WARNING("dcerpc_fault %s in spoolss_GetForm\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2102 : }
2103 5040 : break;
2104 : }
2105 80 : case 33: { /* spoolss_SetForm */
2106 80 : struct spoolss_SetForm *r2 = (struct spoolss_SetForm *)r;
2107 80 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2108 0 : DEBUG(5,("function spoolss_SetForm replied async\n"));
2109 : }
2110 80 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2111 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_SetForm, NDR_OUT | NDR_SET_VALUES, r2);
2112 : }
2113 80 : if (dce_call->fault_code != 0) {
2114 0 : DBG_WARNING("dcerpc_fault %s in spoolss_SetForm\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2115 : }
2116 80 : break;
2117 : }
2118 560 : case 34: { /* spoolss_EnumForms */
2119 560 : struct spoolss_EnumForms *r2 = (struct spoolss_EnumForms *)r;
2120 560 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2121 0 : DEBUG(5,("function spoolss_EnumForms replied async\n"));
2122 : }
2123 560 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2124 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumForms, NDR_OUT | NDR_SET_VALUES, r2);
2125 : }
2126 560 : if (dce_call->fault_code != 0) {
2127 0 : DBG_WARNING("dcerpc_fault %s in spoolss_EnumForms\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2128 : }
2129 560 : break;
2130 : }
2131 24 : case 35: { /* spoolss_EnumPorts */
2132 24 : struct spoolss_EnumPorts *r2 = (struct spoolss_EnumPorts *)r;
2133 24 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2134 0 : DEBUG(5,("function spoolss_EnumPorts replied async\n"));
2135 : }
2136 24 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2137 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumPorts, NDR_OUT | NDR_SET_VALUES, r2);
2138 : }
2139 24 : if (dce_call->fault_code != 0) {
2140 0 : DBG_WARNING("dcerpc_fault %s in spoolss_EnumPorts\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2141 : }
2142 24 : break;
2143 : }
2144 16 : case 36: { /* spoolss_EnumMonitors */
2145 16 : struct spoolss_EnumMonitors *r2 = (struct spoolss_EnumMonitors *)r;
2146 16 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2147 0 : DEBUG(5,("function spoolss_EnumMonitors replied async\n"));
2148 : }
2149 16 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2150 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumMonitors, NDR_OUT | NDR_SET_VALUES, r2);
2151 : }
2152 16 : if (dce_call->fault_code != 0) {
2153 0 : DBG_WARNING("dcerpc_fault %s in spoolss_EnumMonitors\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2154 : }
2155 16 : break;
2156 : }
2157 4 : case 37: { /* spoolss_AddPort */
2158 4 : struct spoolss_AddPort *r2 = (struct spoolss_AddPort *)r;
2159 4 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2160 0 : DEBUG(5,("function spoolss_AddPort replied async\n"));
2161 : }
2162 4 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2163 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPort, NDR_OUT | NDR_SET_VALUES, r2);
2164 : }
2165 4 : if (dce_call->fault_code != 0) {
2166 0 : DBG_WARNING("dcerpc_fault %s in spoolss_AddPort\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2167 : }
2168 4 : break;
2169 : }
2170 0 : case 38: { /* spoolss_ConfigurePort */
2171 0 : struct spoolss_ConfigurePort *r2 = (struct spoolss_ConfigurePort *)r;
2172 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2173 0 : DEBUG(5,("function spoolss_ConfigurePort replied async\n"));
2174 : }
2175 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2176 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_ConfigurePort, NDR_OUT | NDR_SET_VALUES, r2);
2177 : }
2178 0 : if (dce_call->fault_code != 0) {
2179 0 : DBG_WARNING("dcerpc_fault %s in spoolss_ConfigurePort\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2180 : }
2181 0 : break;
2182 : }
2183 0 : case 39: { /* spoolss_DeletePort */
2184 0 : struct spoolss_DeletePort *r2 = (struct spoolss_DeletePort *)r;
2185 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2186 0 : DEBUG(5,("function spoolss_DeletePort replied async\n"));
2187 : }
2188 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2189 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePort, NDR_OUT | NDR_SET_VALUES, r2);
2190 : }
2191 0 : if (dce_call->fault_code != 0) {
2192 0 : DBG_WARNING("dcerpc_fault %s in spoolss_DeletePort\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2193 : }
2194 0 : break;
2195 : }
2196 0 : case 40: { /* spoolss_CreatePrinterIC */
2197 0 : struct spoolss_CreatePrinterIC *r2 = (struct spoolss_CreatePrinterIC *)r;
2198 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2199 0 : DEBUG(5,("function spoolss_CreatePrinterIC replied async\n"));
2200 : }
2201 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2202 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_CreatePrinterIC, NDR_OUT | NDR_SET_VALUES, r2);
2203 : }
2204 0 : if (dce_call->fault_code != 0) {
2205 0 : DBG_WARNING("dcerpc_fault %s in spoolss_CreatePrinterIC\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2206 : }
2207 0 : break;
2208 : }
2209 0 : case 41: { /* spoolss_PlayGDIScriptOnPrinterIC */
2210 0 : struct spoolss_PlayGDIScriptOnPrinterIC *r2 = (struct spoolss_PlayGDIScriptOnPrinterIC *)r;
2211 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2212 0 : DEBUG(5,("function spoolss_PlayGDIScriptOnPrinterIC replied async\n"));
2213 : }
2214 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2215 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_PlayGDIScriptOnPrinterIC, NDR_OUT | NDR_SET_VALUES, r2);
2216 : }
2217 0 : if (dce_call->fault_code != 0) {
2218 0 : DBG_WARNING("dcerpc_fault %s in spoolss_PlayGDIScriptOnPrinterIC\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2219 : }
2220 0 : break;
2221 : }
2222 0 : case 42: { /* spoolss_DeletePrinterIC */
2223 0 : struct spoolss_DeletePrinterIC *r2 = (struct spoolss_DeletePrinterIC *)r;
2224 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2225 0 : DEBUG(5,("function spoolss_DeletePrinterIC replied async\n"));
2226 : }
2227 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2228 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrinterIC, NDR_OUT | NDR_SET_VALUES, r2);
2229 : }
2230 0 : if (dce_call->fault_code != 0) {
2231 0 : DBG_WARNING("dcerpc_fault %s in spoolss_DeletePrinterIC\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2232 : }
2233 0 : break;
2234 : }
2235 0 : case 43: { /* spoolss_AddPrinterConnection */
2236 0 : struct spoolss_AddPrinterConnection *r2 = (struct spoolss_AddPrinterConnection *)r;
2237 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2238 0 : DEBUG(5,("function spoolss_AddPrinterConnection replied async\n"));
2239 : }
2240 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2241 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPrinterConnection, NDR_OUT | NDR_SET_VALUES, r2);
2242 : }
2243 0 : if (dce_call->fault_code != 0) {
2244 0 : DBG_WARNING("dcerpc_fault %s in spoolss_AddPrinterConnection\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2245 : }
2246 0 : break;
2247 : }
2248 0 : case 44: { /* spoolss_DeletePrinterConnection */
2249 0 : struct spoolss_DeletePrinterConnection *r2 = (struct spoolss_DeletePrinterConnection *)r;
2250 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2251 0 : DEBUG(5,("function spoolss_DeletePrinterConnection replied async\n"));
2252 : }
2253 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2254 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrinterConnection, NDR_OUT | NDR_SET_VALUES, r2);
2255 : }
2256 0 : if (dce_call->fault_code != 0) {
2257 0 : DBG_WARNING("dcerpc_fault %s in spoolss_DeletePrinterConnection\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2258 : }
2259 0 : break;
2260 : }
2261 0 : case 45: { /* spoolss_PrinterMessageBox */
2262 0 : struct spoolss_PrinterMessageBox *r2 = (struct spoolss_PrinterMessageBox *)r;
2263 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2264 0 : DEBUG(5,("function spoolss_PrinterMessageBox replied async\n"));
2265 : }
2266 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2267 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_PrinterMessageBox, NDR_OUT | NDR_SET_VALUES, r2);
2268 : }
2269 0 : if (dce_call->fault_code != 0) {
2270 0 : DBG_WARNING("dcerpc_fault %s in spoolss_PrinterMessageBox\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2271 : }
2272 0 : break;
2273 : }
2274 0 : case 46: { /* spoolss_AddMonitor */
2275 0 : struct spoolss_AddMonitor *r2 = (struct spoolss_AddMonitor *)r;
2276 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2277 0 : DEBUG(5,("function spoolss_AddMonitor replied async\n"));
2278 : }
2279 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2280 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddMonitor, NDR_OUT | NDR_SET_VALUES, r2);
2281 : }
2282 0 : if (dce_call->fault_code != 0) {
2283 0 : DBG_WARNING("dcerpc_fault %s in spoolss_AddMonitor\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2284 : }
2285 0 : break;
2286 : }
2287 0 : case 47: { /* spoolss_DeleteMonitor */
2288 0 : struct spoolss_DeleteMonitor *r2 = (struct spoolss_DeleteMonitor *)r;
2289 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2290 0 : DEBUG(5,("function spoolss_DeleteMonitor replied async\n"));
2291 : }
2292 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2293 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeleteMonitor, NDR_OUT | NDR_SET_VALUES, r2);
2294 : }
2295 0 : if (dce_call->fault_code != 0) {
2296 0 : DBG_WARNING("dcerpc_fault %s in spoolss_DeleteMonitor\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2297 : }
2298 0 : break;
2299 : }
2300 0 : case 48: { /* spoolss_DeletePrintProcessor */
2301 0 : struct spoolss_DeletePrintProcessor *r2 = (struct spoolss_DeletePrintProcessor *)r;
2302 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2303 0 : DEBUG(5,("function spoolss_DeletePrintProcessor replied async\n"));
2304 : }
2305 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2306 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrintProcessor, NDR_OUT | NDR_SET_VALUES, r2);
2307 : }
2308 0 : if (dce_call->fault_code != 0) {
2309 0 : DBG_WARNING("dcerpc_fault %s in spoolss_DeletePrintProcessor\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2310 : }
2311 0 : break;
2312 : }
2313 0 : case 49: { /* spoolss_AddPrintProvidor */
2314 0 : struct spoolss_AddPrintProvidor *r2 = (struct spoolss_AddPrintProvidor *)r;
2315 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2316 0 : DEBUG(5,("function spoolss_AddPrintProvidor replied async\n"));
2317 : }
2318 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2319 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPrintProvidor, NDR_OUT | NDR_SET_VALUES, r2);
2320 : }
2321 0 : if (dce_call->fault_code != 0) {
2322 0 : DBG_WARNING("dcerpc_fault %s in spoolss_AddPrintProvidor\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2323 : }
2324 0 : break;
2325 : }
2326 0 : case 50: { /* spoolss_DeletePrintProvidor */
2327 0 : struct spoolss_DeletePrintProvidor *r2 = (struct spoolss_DeletePrintProvidor *)r;
2328 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2329 0 : DEBUG(5,("function spoolss_DeletePrintProvidor replied async\n"));
2330 : }
2331 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2332 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrintProvidor, NDR_OUT | NDR_SET_VALUES, r2);
2333 : }
2334 0 : if (dce_call->fault_code != 0) {
2335 0 : DBG_WARNING("dcerpc_fault %s in spoolss_DeletePrintProvidor\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2336 : }
2337 0 : break;
2338 : }
2339 44 : case 51: { /* spoolss_EnumPrintProcessorDataTypes */
2340 44 : struct spoolss_EnumPrintProcessorDataTypes *r2 = (struct spoolss_EnumPrintProcessorDataTypes *)r;
2341 44 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2342 0 : DEBUG(5,("function spoolss_EnumPrintProcessorDataTypes replied async\n"));
2343 : }
2344 44 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2345 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumPrintProcessorDataTypes, NDR_OUT | NDR_SET_VALUES, r2);
2346 : }
2347 44 : if (dce_call->fault_code != 0) {
2348 0 : DBG_WARNING("dcerpc_fault %s in spoolss_EnumPrintProcessorDataTypes\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2349 : }
2350 44 : break;
2351 : }
2352 0 : case 52: { /* spoolss_ResetPrinter */
2353 0 : struct spoolss_ResetPrinter *r2 = (struct spoolss_ResetPrinter *)r;
2354 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2355 0 : DEBUG(5,("function spoolss_ResetPrinter replied async\n"));
2356 : }
2357 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2358 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_ResetPrinter, NDR_OUT | NDR_SET_VALUES, r2);
2359 : }
2360 0 : if (dce_call->fault_code != 0) {
2361 0 : DBG_WARNING("dcerpc_fault %s in spoolss_ResetPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2362 : }
2363 0 : break;
2364 : }
2365 4 : case 53: { /* spoolss_GetPrinterDriver2 */
2366 4 : struct spoolss_GetPrinterDriver2 *r2 = (struct spoolss_GetPrinterDriver2 *)r;
2367 4 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2368 0 : DEBUG(5,("function spoolss_GetPrinterDriver2 replied async\n"));
2369 : }
2370 4 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2371 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetPrinterDriver2, NDR_OUT | NDR_SET_VALUES, r2);
2372 : }
2373 4 : if (dce_call->fault_code != 0) {
2374 0 : DBG_WARNING("dcerpc_fault %s in spoolss_GetPrinterDriver2\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2375 : }
2376 4 : break;
2377 : }
2378 0 : case 54: { /* spoolss_FindFirstPrinterChangeNotification */
2379 0 : struct spoolss_FindFirstPrinterChangeNotification *r2 = (struct spoolss_FindFirstPrinterChangeNotification *)r;
2380 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2381 0 : DEBUG(5,("function spoolss_FindFirstPrinterChangeNotification replied async\n"));
2382 : }
2383 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2384 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_FindFirstPrinterChangeNotification, NDR_OUT | NDR_SET_VALUES, r2);
2385 : }
2386 0 : if (dce_call->fault_code != 0) {
2387 0 : DBG_WARNING("dcerpc_fault %s in spoolss_FindFirstPrinterChangeNotification\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2388 : }
2389 0 : break;
2390 : }
2391 0 : case 55: { /* spoolss_FindNextPrinterChangeNotification */
2392 0 : struct spoolss_FindNextPrinterChangeNotification *r2 = (struct spoolss_FindNextPrinterChangeNotification *)r;
2393 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2394 0 : DEBUG(5,("function spoolss_FindNextPrinterChangeNotification replied async\n"));
2395 : }
2396 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2397 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_FindNextPrinterChangeNotification, NDR_OUT | NDR_SET_VALUES, r2);
2398 : }
2399 0 : if (dce_call->fault_code != 0) {
2400 0 : DBG_WARNING("dcerpc_fault %s in spoolss_FindNextPrinterChangeNotification\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2401 : }
2402 0 : break;
2403 : }
2404 0 : case 56: { /* spoolss_FindClosePrinterNotify */
2405 0 : struct spoolss_FindClosePrinterNotify *r2 = (struct spoolss_FindClosePrinterNotify *)r;
2406 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2407 0 : DEBUG(5,("function spoolss_FindClosePrinterNotify replied async\n"));
2408 : }
2409 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2410 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_FindClosePrinterNotify, NDR_OUT | NDR_SET_VALUES, r2);
2411 : }
2412 0 : if (dce_call->fault_code != 0) {
2413 0 : DBG_WARNING("dcerpc_fault %s in spoolss_FindClosePrinterNotify\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2414 : }
2415 0 : break;
2416 : }
2417 0 : case 57: { /* spoolss_RouterFindFirstPrinterChangeNotificationOld */
2418 0 : struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r2 = (struct spoolss_RouterFindFirstPrinterChangeNotificationOld *)r;
2419 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2420 0 : DEBUG(5,("function spoolss_RouterFindFirstPrinterChangeNotificationOld replied async\n"));
2421 : }
2422 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2423 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_RouterFindFirstPrinterChangeNotificationOld, NDR_OUT | NDR_SET_VALUES, r2);
2424 : }
2425 0 : if (dce_call->fault_code != 0) {
2426 0 : DBG_WARNING("dcerpc_fault %s in spoolss_RouterFindFirstPrinterChangeNotificationOld\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2427 : }
2428 0 : break;
2429 : }
2430 0 : case 58: { /* spoolss_ReplyOpenPrinter */
2431 0 : struct spoolss_ReplyOpenPrinter *r2 = (struct spoolss_ReplyOpenPrinter *)r;
2432 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2433 0 : DEBUG(5,("function spoolss_ReplyOpenPrinter replied async\n"));
2434 : }
2435 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2436 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_ReplyOpenPrinter, NDR_OUT | NDR_SET_VALUES, r2);
2437 : }
2438 0 : if (dce_call->fault_code != 0) {
2439 0 : DBG_WARNING("dcerpc_fault %s in spoolss_ReplyOpenPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2440 : }
2441 0 : break;
2442 : }
2443 0 : case 59: { /* spoolss_RouterReplyPrinter */
2444 0 : struct spoolss_RouterReplyPrinter *r2 = (struct spoolss_RouterReplyPrinter *)r;
2445 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2446 0 : DEBUG(5,("function spoolss_RouterReplyPrinter replied async\n"));
2447 : }
2448 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2449 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_RouterReplyPrinter, NDR_OUT | NDR_SET_VALUES, r2);
2450 : }
2451 0 : if (dce_call->fault_code != 0) {
2452 0 : DBG_WARNING("dcerpc_fault %s in spoolss_RouterReplyPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2453 : }
2454 0 : break;
2455 : }
2456 0 : case 60: { /* spoolss_ReplyClosePrinter */
2457 0 : struct spoolss_ReplyClosePrinter *r2 = (struct spoolss_ReplyClosePrinter *)r;
2458 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2459 0 : DEBUG(5,("function spoolss_ReplyClosePrinter replied async\n"));
2460 : }
2461 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2462 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_ReplyClosePrinter, NDR_OUT | NDR_SET_VALUES, r2);
2463 : }
2464 0 : if (dce_call->fault_code != 0) {
2465 0 : DBG_WARNING("dcerpc_fault %s in spoolss_ReplyClosePrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2466 : }
2467 0 : break;
2468 : }
2469 0 : case 61: { /* spoolss_AddPortEx */
2470 0 : struct spoolss_AddPortEx *r2 = (struct spoolss_AddPortEx *)r;
2471 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2472 0 : DEBUG(5,("function spoolss_AddPortEx replied async\n"));
2473 : }
2474 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2475 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPortEx, NDR_OUT | NDR_SET_VALUES, r2);
2476 : }
2477 0 : if (dce_call->fault_code != 0) {
2478 0 : DBG_WARNING("dcerpc_fault %s in spoolss_AddPortEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2479 : }
2480 0 : break;
2481 : }
2482 0 : case 62: { /* spoolss_RouterFindFirstPrinterChangeNotification */
2483 0 : struct spoolss_RouterFindFirstPrinterChangeNotification *r2 = (struct spoolss_RouterFindFirstPrinterChangeNotification *)r;
2484 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2485 0 : DEBUG(5,("function spoolss_RouterFindFirstPrinterChangeNotification replied async\n"));
2486 : }
2487 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2488 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_RouterFindFirstPrinterChangeNotification, NDR_OUT | NDR_SET_VALUES, r2);
2489 : }
2490 0 : if (dce_call->fault_code != 0) {
2491 0 : DBG_WARNING("dcerpc_fault %s in spoolss_RouterFindFirstPrinterChangeNotification\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2492 : }
2493 0 : break;
2494 : }
2495 0 : case 63: { /* spoolss_SpoolerInit */
2496 0 : struct spoolss_SpoolerInit *r2 = (struct spoolss_SpoolerInit *)r;
2497 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2498 0 : DEBUG(5,("function spoolss_SpoolerInit replied async\n"));
2499 : }
2500 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2501 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_SpoolerInit, NDR_OUT | NDR_SET_VALUES, r2);
2502 : }
2503 0 : if (dce_call->fault_code != 0) {
2504 0 : DBG_WARNING("dcerpc_fault %s in spoolss_SpoolerInit\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2505 : }
2506 0 : break;
2507 : }
2508 0 : case 64: { /* spoolss_ResetPrinterEx */
2509 0 : struct spoolss_ResetPrinterEx *r2 = (struct spoolss_ResetPrinterEx *)r;
2510 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2511 0 : DEBUG(5,("function spoolss_ResetPrinterEx replied async\n"));
2512 : }
2513 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2514 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_ResetPrinterEx, NDR_OUT | NDR_SET_VALUES, r2);
2515 : }
2516 0 : if (dce_call->fault_code != 0) {
2517 0 : DBG_WARNING("dcerpc_fault %s in spoolss_ResetPrinterEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2518 : }
2519 0 : break;
2520 : }
2521 2 : case 65: { /* spoolss_RemoteFindFirstPrinterChangeNotifyEx */
2522 2 : struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r2 = (struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *)r;
2523 2 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2524 0 : DEBUG(5,("function spoolss_RemoteFindFirstPrinterChangeNotifyEx replied async\n"));
2525 : }
2526 2 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2527 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_RemoteFindFirstPrinterChangeNotifyEx, NDR_OUT | NDR_SET_VALUES, r2);
2528 : }
2529 2 : if (dce_call->fault_code != 0) {
2530 0 : DBG_WARNING("dcerpc_fault %s in spoolss_RemoteFindFirstPrinterChangeNotifyEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2531 : }
2532 2 : break;
2533 : }
2534 0 : case 66: { /* spoolss_RouterReplyPrinterEx */
2535 0 : struct spoolss_RouterReplyPrinterEx *r2 = (struct spoolss_RouterReplyPrinterEx *)r;
2536 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2537 0 : DEBUG(5,("function spoolss_RouterReplyPrinterEx replied async\n"));
2538 : }
2539 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2540 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_RouterReplyPrinterEx, NDR_OUT | NDR_SET_VALUES, r2);
2541 : }
2542 0 : if (dce_call->fault_code != 0) {
2543 0 : DBG_WARNING("dcerpc_fault %s in spoolss_RouterReplyPrinterEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2544 : }
2545 0 : break;
2546 : }
2547 4 : case 67: { /* spoolss_RouterRefreshPrinterChangeNotify */
2548 4 : struct spoolss_RouterRefreshPrinterChangeNotify *r2 = (struct spoolss_RouterRefreshPrinterChangeNotify *)r;
2549 4 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2550 0 : DEBUG(5,("function spoolss_RouterRefreshPrinterChangeNotify replied async\n"));
2551 : }
2552 4 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2553 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_RouterRefreshPrinterChangeNotify, NDR_OUT | NDR_SET_VALUES, r2);
2554 : }
2555 4 : if (dce_call->fault_code != 0) {
2556 0 : DBG_WARNING("dcerpc_fault %s in spoolss_RouterRefreshPrinterChangeNotify\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2557 : }
2558 4 : break;
2559 : }
2560 0 : case 68: { /* spoolss_44 */
2561 0 : struct spoolss_44 *r2 = (struct spoolss_44 *)r;
2562 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2563 0 : DEBUG(5,("function spoolss_44 replied async\n"));
2564 : }
2565 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2566 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_44, NDR_OUT | NDR_SET_VALUES, r2);
2567 : }
2568 0 : if (dce_call->fault_code != 0) {
2569 0 : DBG_WARNING("dcerpc_fault %s in spoolss_44\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2570 : }
2571 0 : break;
2572 : }
2573 794 : case 69: { /* spoolss_OpenPrinterEx */
2574 794 : struct spoolss_OpenPrinterEx *r2 = (struct spoolss_OpenPrinterEx *)r;
2575 794 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2576 0 : DEBUG(5,("function spoolss_OpenPrinterEx replied async\n"));
2577 : }
2578 794 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2579 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_OpenPrinterEx, NDR_OUT | NDR_SET_VALUES, r2);
2580 : }
2581 794 : if (dce_call->fault_code != 0) {
2582 0 : DBG_WARNING("dcerpc_fault %s in spoolss_OpenPrinterEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2583 : }
2584 794 : break;
2585 : }
2586 24 : case 70: { /* spoolss_AddPrinterEx */
2587 24 : struct spoolss_AddPrinterEx *r2 = (struct spoolss_AddPrinterEx *)r;
2588 24 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2589 0 : DEBUG(5,("function spoolss_AddPrinterEx replied async\n"));
2590 : }
2591 24 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2592 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPrinterEx, NDR_OUT | NDR_SET_VALUES, r2);
2593 : }
2594 24 : if (dce_call->fault_code != 0) {
2595 0 : DBG_WARNING("dcerpc_fault %s in spoolss_AddPrinterEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2596 : }
2597 24 : break;
2598 : }
2599 0 : case 71: { /* spoolss_SetPort */
2600 0 : struct spoolss_SetPort *r2 = (struct spoolss_SetPort *)r;
2601 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2602 0 : DEBUG(5,("function spoolss_SetPort replied async\n"));
2603 : }
2604 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2605 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_SetPort, NDR_OUT | NDR_SET_VALUES, r2);
2606 : }
2607 0 : if (dce_call->fault_code != 0) {
2608 0 : DBG_WARNING("dcerpc_fault %s in spoolss_SetPort\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2609 : }
2610 0 : break;
2611 : }
2612 152 : case 72: { /* spoolss_EnumPrinterData */
2613 152 : struct spoolss_EnumPrinterData *r2 = (struct spoolss_EnumPrinterData *)r;
2614 152 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2615 0 : DEBUG(5,("function spoolss_EnumPrinterData replied async\n"));
2616 : }
2617 152 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2618 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumPrinterData, NDR_OUT | NDR_SET_VALUES, r2);
2619 : }
2620 152 : if (dce_call->fault_code != 0) {
2621 0 : DBG_WARNING("dcerpc_fault %s in spoolss_EnumPrinterData\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2622 : }
2623 152 : break;
2624 : }
2625 168 : case 73: { /* spoolss_DeletePrinterData */
2626 168 : struct spoolss_DeletePrinterData *r2 = (struct spoolss_DeletePrinterData *)r;
2627 168 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2628 0 : DEBUG(5,("function spoolss_DeletePrinterData replied async\n"));
2629 : }
2630 168 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2631 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrinterData, NDR_OUT | NDR_SET_VALUES, r2);
2632 : }
2633 168 : if (dce_call->fault_code != 0) {
2634 0 : DBG_WARNING("dcerpc_fault %s in spoolss_DeletePrinterData\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2635 : }
2636 168 : break;
2637 : }
2638 0 : case 74: { /* spoolss_4a */
2639 0 : struct spoolss_4a *r2 = (struct spoolss_4a *)r;
2640 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2641 0 : DEBUG(5,("function spoolss_4a replied async\n"));
2642 : }
2643 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2644 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_4a, NDR_OUT | NDR_SET_VALUES, r2);
2645 : }
2646 0 : if (dce_call->fault_code != 0) {
2647 0 : DBG_WARNING("dcerpc_fault %s in spoolss_4a\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2648 : }
2649 0 : break;
2650 : }
2651 0 : case 75: { /* spoolss_4b */
2652 0 : struct spoolss_4b *r2 = (struct spoolss_4b *)r;
2653 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2654 0 : DEBUG(5,("function spoolss_4b replied async\n"));
2655 : }
2656 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2657 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_4b, NDR_OUT | NDR_SET_VALUES, r2);
2658 : }
2659 0 : if (dce_call->fault_code != 0) {
2660 0 : DBG_WARNING("dcerpc_fault %s in spoolss_4b\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2661 : }
2662 0 : break;
2663 : }
2664 0 : case 76: { /* spoolss_4c */
2665 0 : struct spoolss_4c *r2 = (struct spoolss_4c *)r;
2666 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2667 0 : DEBUG(5,("function spoolss_4c replied async\n"));
2668 : }
2669 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2670 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_4c, NDR_OUT | NDR_SET_VALUES, r2);
2671 : }
2672 0 : if (dce_call->fault_code != 0) {
2673 0 : DBG_WARNING("dcerpc_fault %s in spoolss_4c\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2674 : }
2675 0 : break;
2676 : }
2677 1200 : case 77: { /* spoolss_SetPrinterDataEx */
2678 1200 : struct spoolss_SetPrinterDataEx *r2 = (struct spoolss_SetPrinterDataEx *)r;
2679 1200 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2680 0 : DEBUG(5,("function spoolss_SetPrinterDataEx replied async\n"));
2681 : }
2682 1200 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2683 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_SetPrinterDataEx, NDR_OUT | NDR_SET_VALUES, r2);
2684 : }
2685 1200 : if (dce_call->fault_code != 0) {
2686 0 : DBG_WARNING("dcerpc_fault %s in spoolss_SetPrinterDataEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2687 : }
2688 1200 : break;
2689 : }
2690 2700 : case 78: { /* spoolss_GetPrinterDataEx */
2691 2700 : struct spoolss_GetPrinterDataEx *r2 = (struct spoolss_GetPrinterDataEx *)r;
2692 2700 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2693 0 : DEBUG(5,("function spoolss_GetPrinterDataEx replied async\n"));
2694 : }
2695 2700 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2696 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetPrinterDataEx, NDR_OUT | NDR_SET_VALUES, r2);
2697 : }
2698 2700 : if (dce_call->fault_code != 0) {
2699 0 : DBG_WARNING("dcerpc_fault %s in spoolss_GetPrinterDataEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2700 : }
2701 2700 : break;
2702 : }
2703 2596 : case 79: { /* spoolss_EnumPrinterDataEx */
2704 2596 : struct spoolss_EnumPrinterDataEx *r2 = (struct spoolss_EnumPrinterDataEx *)r;
2705 2596 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2706 0 : DEBUG(5,("function spoolss_EnumPrinterDataEx replied async\n"));
2707 : }
2708 2596 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2709 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumPrinterDataEx, NDR_OUT | NDR_SET_VALUES, r2);
2710 : }
2711 2596 : if (dce_call->fault_code != 0) {
2712 0 : DBG_WARNING("dcerpc_fault %s in spoolss_EnumPrinterDataEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2713 : }
2714 2596 : break;
2715 : }
2716 3384 : case 80: { /* spoolss_EnumPrinterKey */
2717 3384 : struct spoolss_EnumPrinterKey *r2 = (struct spoolss_EnumPrinterKey *)r;
2718 3384 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2719 0 : DEBUG(5,("function spoolss_EnumPrinterKey replied async\n"));
2720 : }
2721 3384 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2722 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumPrinterKey, NDR_OUT | NDR_SET_VALUES, r2);
2723 : }
2724 3384 : if (dce_call->fault_code != 0) {
2725 0 : DBG_WARNING("dcerpc_fault %s in spoolss_EnumPrinterKey\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2726 : }
2727 3384 : break;
2728 : }
2729 1200 : case 81: { /* spoolss_DeletePrinterDataEx */
2730 1200 : struct spoolss_DeletePrinterDataEx *r2 = (struct spoolss_DeletePrinterDataEx *)r;
2731 1200 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2732 0 : DEBUG(5,("function spoolss_DeletePrinterDataEx replied async\n"));
2733 : }
2734 1200 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2735 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrinterDataEx, NDR_OUT | NDR_SET_VALUES, r2);
2736 : }
2737 1200 : if (dce_call->fault_code != 0) {
2738 0 : DBG_WARNING("dcerpc_fault %s in spoolss_DeletePrinterDataEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2739 : }
2740 1200 : break;
2741 : }
2742 216 : case 82: { /* spoolss_DeletePrinterKey */
2743 216 : struct spoolss_DeletePrinterKey *r2 = (struct spoolss_DeletePrinterKey *)r;
2744 216 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2745 0 : DEBUG(5,("function spoolss_DeletePrinterKey replied async\n"));
2746 : }
2747 216 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2748 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrinterKey, NDR_OUT | NDR_SET_VALUES, r2);
2749 : }
2750 216 : if (dce_call->fault_code != 0) {
2751 0 : DBG_WARNING("dcerpc_fault %s in spoolss_DeletePrinterKey\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2752 : }
2753 216 : break;
2754 : }
2755 0 : case 83: { /* spoolss_53 */
2756 0 : struct spoolss_53 *r2 = (struct spoolss_53 *)r;
2757 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2758 0 : DEBUG(5,("function spoolss_53 replied async\n"));
2759 : }
2760 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2761 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_53, NDR_OUT | NDR_SET_VALUES, r2);
2762 : }
2763 0 : if (dce_call->fault_code != 0) {
2764 0 : DBG_WARNING("dcerpc_fault %s in spoolss_53\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2765 : }
2766 0 : break;
2767 : }
2768 0 : case 84: { /* spoolss_DeletePrinterDriverEx */
2769 0 : struct spoolss_DeletePrinterDriverEx *r2 = (struct spoolss_DeletePrinterDriverEx *)r;
2770 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2771 0 : DEBUG(5,("function spoolss_DeletePrinterDriverEx replied async\n"));
2772 : }
2773 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2774 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePrinterDriverEx, NDR_OUT | NDR_SET_VALUES, r2);
2775 : }
2776 0 : if (dce_call->fault_code != 0) {
2777 0 : DBG_WARNING("dcerpc_fault %s in spoolss_DeletePrinterDriverEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2778 : }
2779 0 : break;
2780 : }
2781 0 : case 85: { /* spoolss_AddPerMachineConnection */
2782 0 : struct spoolss_AddPerMachineConnection *r2 = (struct spoolss_AddPerMachineConnection *)r;
2783 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2784 0 : DEBUG(5,("function spoolss_AddPerMachineConnection replied async\n"));
2785 : }
2786 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2787 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPerMachineConnection, NDR_OUT | NDR_SET_VALUES, r2);
2788 : }
2789 0 : if (dce_call->fault_code != 0) {
2790 0 : DBG_WARNING("dcerpc_fault %s in spoolss_AddPerMachineConnection\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2791 : }
2792 0 : break;
2793 : }
2794 0 : case 86: { /* spoolss_DeletePerMachineConnection */
2795 0 : struct spoolss_DeletePerMachineConnection *r2 = (struct spoolss_DeletePerMachineConnection *)r;
2796 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2797 0 : DEBUG(5,("function spoolss_DeletePerMachineConnection replied async\n"));
2798 : }
2799 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2800 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeletePerMachineConnection, NDR_OUT | NDR_SET_VALUES, r2);
2801 : }
2802 0 : if (dce_call->fault_code != 0) {
2803 0 : DBG_WARNING("dcerpc_fault %s in spoolss_DeletePerMachineConnection\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2804 : }
2805 0 : break;
2806 : }
2807 0 : case 87: { /* spoolss_EnumPerMachineConnections */
2808 0 : struct spoolss_EnumPerMachineConnections *r2 = (struct spoolss_EnumPerMachineConnections *)r;
2809 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2810 0 : DEBUG(5,("function spoolss_EnumPerMachineConnections replied async\n"));
2811 : }
2812 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2813 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumPerMachineConnections, NDR_OUT | NDR_SET_VALUES, r2);
2814 : }
2815 0 : if (dce_call->fault_code != 0) {
2816 0 : DBG_WARNING("dcerpc_fault %s in spoolss_EnumPerMachineConnections\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2817 : }
2818 0 : break;
2819 : }
2820 0 : case 88: { /* spoolss_XcvData */
2821 0 : struct spoolss_XcvData *r2 = (struct spoolss_XcvData *)r;
2822 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2823 0 : DEBUG(5,("function spoolss_XcvData replied async\n"));
2824 : }
2825 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2826 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_XcvData, NDR_OUT | NDR_SET_VALUES, r2);
2827 : }
2828 0 : if (dce_call->fault_code != 0) {
2829 0 : DBG_WARNING("dcerpc_fault %s in spoolss_XcvData\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2830 : }
2831 0 : break;
2832 : }
2833 0 : case 89: { /* spoolss_AddPrinterDriverEx */
2834 0 : struct spoolss_AddPrinterDriverEx *r2 = (struct spoolss_AddPrinterDriverEx *)r;
2835 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2836 0 : DEBUG(5,("function spoolss_AddPrinterDriverEx replied async\n"));
2837 : }
2838 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2839 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_AddPrinterDriverEx, NDR_OUT | NDR_SET_VALUES, r2);
2840 : }
2841 0 : if (dce_call->fault_code != 0) {
2842 0 : DBG_WARNING("dcerpc_fault %s in spoolss_AddPrinterDriverEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2843 : }
2844 0 : break;
2845 : }
2846 0 : case 90: { /* spoolss_5a */
2847 0 : struct spoolss_5a *r2 = (struct spoolss_5a *)r;
2848 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2849 0 : DEBUG(5,("function spoolss_5a replied async\n"));
2850 : }
2851 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2852 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_5a, NDR_OUT | NDR_SET_VALUES, r2);
2853 : }
2854 0 : if (dce_call->fault_code != 0) {
2855 0 : DBG_WARNING("dcerpc_fault %s in spoolss_5a\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2856 : }
2857 0 : break;
2858 : }
2859 0 : case 91: { /* spoolss_5b */
2860 0 : struct spoolss_5b *r2 = (struct spoolss_5b *)r;
2861 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2862 0 : DEBUG(5,("function spoolss_5b replied async\n"));
2863 : }
2864 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2865 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_5b, NDR_OUT | NDR_SET_VALUES, r2);
2866 : }
2867 0 : if (dce_call->fault_code != 0) {
2868 0 : DBG_WARNING("dcerpc_fault %s in spoolss_5b\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2869 : }
2870 0 : break;
2871 : }
2872 0 : case 92: { /* spoolss_5c */
2873 0 : struct spoolss_5c *r2 = (struct spoolss_5c *)r;
2874 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2875 0 : DEBUG(5,("function spoolss_5c replied async\n"));
2876 : }
2877 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2878 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_5c, NDR_OUT | NDR_SET_VALUES, r2);
2879 : }
2880 0 : if (dce_call->fault_code != 0) {
2881 0 : DBG_WARNING("dcerpc_fault %s in spoolss_5c\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2882 : }
2883 0 : break;
2884 : }
2885 0 : case 93: { /* spoolss_5d */
2886 0 : struct spoolss_5d *r2 = (struct spoolss_5d *)r;
2887 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2888 0 : DEBUG(5,("function spoolss_5d replied async\n"));
2889 : }
2890 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2891 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_5d, NDR_OUT | NDR_SET_VALUES, r2);
2892 : }
2893 0 : if (dce_call->fault_code != 0) {
2894 0 : DBG_WARNING("dcerpc_fault %s in spoolss_5d\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2895 : }
2896 0 : break;
2897 : }
2898 0 : case 94: { /* spoolss_5e */
2899 0 : struct spoolss_5e *r2 = (struct spoolss_5e *)r;
2900 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2901 0 : DEBUG(5,("function spoolss_5e replied async\n"));
2902 : }
2903 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2904 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_5e, NDR_OUT | NDR_SET_VALUES, r2);
2905 : }
2906 0 : if (dce_call->fault_code != 0) {
2907 0 : DBG_WARNING("dcerpc_fault %s in spoolss_5e\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2908 : }
2909 0 : break;
2910 : }
2911 0 : case 95: { /* spoolss_5f */
2912 0 : struct spoolss_5f *r2 = (struct spoolss_5f *)r;
2913 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2914 0 : DEBUG(5,("function spoolss_5f replied async\n"));
2915 : }
2916 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2917 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_5f, NDR_OUT | NDR_SET_VALUES, r2);
2918 : }
2919 0 : if (dce_call->fault_code != 0) {
2920 0 : DBG_WARNING("dcerpc_fault %s in spoolss_5f\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2921 : }
2922 0 : break;
2923 : }
2924 0 : case 96: { /* spoolss_60 */
2925 0 : struct spoolss_60 *r2 = (struct spoolss_60 *)r;
2926 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2927 0 : DEBUG(5,("function spoolss_60 replied async\n"));
2928 : }
2929 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2930 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_60, NDR_OUT | NDR_SET_VALUES, r2);
2931 : }
2932 0 : if (dce_call->fault_code != 0) {
2933 0 : DBG_WARNING("dcerpc_fault %s in spoolss_60\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2934 : }
2935 0 : break;
2936 : }
2937 0 : case 97: { /* spoolss_SendRecvBidiData */
2938 0 : struct spoolss_SendRecvBidiData *r2 = (struct spoolss_SendRecvBidiData *)r;
2939 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2940 0 : DEBUG(5,("function spoolss_SendRecvBidiData replied async\n"));
2941 : }
2942 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2943 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_SendRecvBidiData, NDR_OUT | NDR_SET_VALUES, r2);
2944 : }
2945 0 : if (dce_call->fault_code != 0) {
2946 0 : DBG_WARNING("dcerpc_fault %s in spoolss_SendRecvBidiData\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2947 : }
2948 0 : break;
2949 : }
2950 0 : case 98: { /* spoolss_62 */
2951 0 : struct spoolss_62 *r2 = (struct spoolss_62 *)r;
2952 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2953 0 : DEBUG(5,("function spoolss_62 replied async\n"));
2954 : }
2955 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2956 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_62, NDR_OUT | NDR_SET_VALUES, r2);
2957 : }
2958 0 : if (dce_call->fault_code != 0) {
2959 0 : DBG_WARNING("dcerpc_fault %s in spoolss_62\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2960 : }
2961 0 : break;
2962 : }
2963 0 : case 99: { /* spoolss_63 */
2964 0 : struct spoolss_63 *r2 = (struct spoolss_63 *)r;
2965 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2966 0 : DEBUG(5,("function spoolss_63 replied async\n"));
2967 : }
2968 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2969 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_63, NDR_OUT | NDR_SET_VALUES, r2);
2970 : }
2971 0 : if (dce_call->fault_code != 0) {
2972 0 : DBG_WARNING("dcerpc_fault %s in spoolss_63\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2973 : }
2974 0 : break;
2975 : }
2976 0 : case 100: { /* spoolss_64 */
2977 0 : struct spoolss_64 *r2 = (struct spoolss_64 *)r;
2978 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2979 0 : DEBUG(5,("function spoolss_64 replied async\n"));
2980 : }
2981 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2982 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_64, NDR_OUT | NDR_SET_VALUES, r2);
2983 : }
2984 0 : if (dce_call->fault_code != 0) {
2985 0 : DBG_WARNING("dcerpc_fault %s in spoolss_64\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2986 : }
2987 0 : break;
2988 : }
2989 0 : case 101: { /* spoolss_65 */
2990 0 : struct spoolss_65 *r2 = (struct spoolss_65 *)r;
2991 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2992 0 : DEBUG(5,("function spoolss_65 replied async\n"));
2993 : }
2994 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2995 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_65, NDR_OUT | NDR_SET_VALUES, r2);
2996 : }
2997 0 : if (dce_call->fault_code != 0) {
2998 0 : DBG_WARNING("dcerpc_fault %s in spoolss_65\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2999 : }
3000 0 : break;
3001 : }
3002 0 : case 102: { /* spoolss_GetCorePrinterDrivers */
3003 0 : struct spoolss_GetCorePrinterDrivers *r2 = (struct spoolss_GetCorePrinterDrivers *)r;
3004 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
3005 0 : DEBUG(5,("function spoolss_GetCorePrinterDrivers replied async\n"));
3006 : }
3007 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
3008 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetCorePrinterDrivers, NDR_OUT | NDR_SET_VALUES, r2);
3009 : }
3010 0 : if (dce_call->fault_code != 0) {
3011 0 : DBG_WARNING("dcerpc_fault %s in spoolss_GetCorePrinterDrivers\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
3012 : }
3013 0 : break;
3014 : }
3015 0 : case 103: { /* spoolss_67 */
3016 0 : struct spoolss_67 *r2 = (struct spoolss_67 *)r;
3017 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
3018 0 : DEBUG(5,("function spoolss_67 replied async\n"));
3019 : }
3020 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
3021 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_67, NDR_OUT | NDR_SET_VALUES, r2);
3022 : }
3023 0 : if (dce_call->fault_code != 0) {
3024 0 : DBG_WARNING("dcerpc_fault %s in spoolss_67\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
3025 : }
3026 0 : break;
3027 : }
3028 0 : case 104: { /* spoolss_GetPrinterDriverPackagePath */
3029 0 : struct spoolss_GetPrinterDriverPackagePath *r2 = (struct spoolss_GetPrinterDriverPackagePath *)r;
3030 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
3031 0 : DEBUG(5,("function spoolss_GetPrinterDriverPackagePath replied async\n"));
3032 : }
3033 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
3034 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetPrinterDriverPackagePath, NDR_OUT | NDR_SET_VALUES, r2);
3035 : }
3036 0 : if (dce_call->fault_code != 0) {
3037 0 : DBG_WARNING("dcerpc_fault %s in spoolss_GetPrinterDriverPackagePath\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
3038 : }
3039 0 : break;
3040 : }
3041 0 : case 105: { /* spoolss_69 */
3042 0 : struct spoolss_69 *r2 = (struct spoolss_69 *)r;
3043 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
3044 0 : DEBUG(5,("function spoolss_69 replied async\n"));
3045 : }
3046 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
3047 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_69, NDR_OUT | NDR_SET_VALUES, r2);
3048 : }
3049 0 : if (dce_call->fault_code != 0) {
3050 0 : DBG_WARNING("dcerpc_fault %s in spoolss_69\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
3051 : }
3052 0 : break;
3053 : }
3054 0 : case 106: { /* spoolss_6a */
3055 0 : struct spoolss_6a *r2 = (struct spoolss_6a *)r;
3056 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
3057 0 : DEBUG(5,("function spoolss_6a replied async\n"));
3058 : }
3059 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
3060 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_6a, NDR_OUT | NDR_SET_VALUES, r2);
3061 : }
3062 0 : if (dce_call->fault_code != 0) {
3063 0 : DBG_WARNING("dcerpc_fault %s in spoolss_6a\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
3064 : }
3065 0 : break;
3066 : }
3067 0 : case 107: { /* spoolss_6b */
3068 0 : struct spoolss_6b *r2 = (struct spoolss_6b *)r;
3069 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
3070 0 : DEBUG(5,("function spoolss_6b replied async\n"));
3071 : }
3072 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
3073 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_6b, NDR_OUT | NDR_SET_VALUES, r2);
3074 : }
3075 0 : if (dce_call->fault_code != 0) {
3076 0 : DBG_WARNING("dcerpc_fault %s in spoolss_6b\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
3077 : }
3078 0 : break;
3079 : }
3080 0 : case 108: { /* spoolss_6c */
3081 0 : struct spoolss_6c *r2 = (struct spoolss_6c *)r;
3082 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
3083 0 : DEBUG(5,("function spoolss_6c replied async\n"));
3084 : }
3085 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
3086 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_6c, NDR_OUT | NDR_SET_VALUES, r2);
3087 : }
3088 0 : if (dce_call->fault_code != 0) {
3089 0 : DBG_WARNING("dcerpc_fault %s in spoolss_6c\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
3090 : }
3091 0 : break;
3092 : }
3093 0 : case 109: { /* spoolss_6d */
3094 0 : struct spoolss_6d *r2 = (struct spoolss_6d *)r;
3095 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
3096 0 : DEBUG(5,("function spoolss_6d replied async\n"));
3097 : }
3098 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
3099 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_6d, NDR_OUT | NDR_SET_VALUES, r2);
3100 : }
3101 0 : if (dce_call->fault_code != 0) {
3102 0 : DBG_WARNING("dcerpc_fault %s in spoolss_6d\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
3103 : }
3104 0 : break;
3105 : }
3106 0 : case 110: { /* spoolss_GetJobNamedPropertyValue */
3107 0 : struct spoolss_GetJobNamedPropertyValue *r2 = (struct spoolss_GetJobNamedPropertyValue *)r;
3108 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
3109 0 : DEBUG(5,("function spoolss_GetJobNamedPropertyValue replied async\n"));
3110 : }
3111 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
3112 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_GetJobNamedPropertyValue, NDR_OUT | NDR_SET_VALUES, r2);
3113 : }
3114 0 : if (dce_call->fault_code != 0) {
3115 0 : DBG_WARNING("dcerpc_fault %s in spoolss_GetJobNamedPropertyValue\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
3116 : }
3117 0 : break;
3118 : }
3119 0 : case 111: { /* spoolss_SetJobNamedProperty */
3120 0 : struct spoolss_SetJobNamedProperty *r2 = (struct spoolss_SetJobNamedProperty *)r;
3121 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
3122 0 : DEBUG(5,("function spoolss_SetJobNamedProperty replied async\n"));
3123 : }
3124 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
3125 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_SetJobNamedProperty, NDR_OUT | NDR_SET_VALUES, r2);
3126 : }
3127 0 : if (dce_call->fault_code != 0) {
3128 0 : DBG_WARNING("dcerpc_fault %s in spoolss_SetJobNamedProperty\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
3129 : }
3130 0 : break;
3131 : }
3132 0 : case 112: { /* spoolss_DeleteJobNamedProperty */
3133 0 : struct spoolss_DeleteJobNamedProperty *r2 = (struct spoolss_DeleteJobNamedProperty *)r;
3134 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
3135 0 : DEBUG(5,("function spoolss_DeleteJobNamedProperty replied async\n"));
3136 : }
3137 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
3138 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_DeleteJobNamedProperty, NDR_OUT | NDR_SET_VALUES, r2);
3139 : }
3140 0 : if (dce_call->fault_code != 0) {
3141 0 : DBG_WARNING("dcerpc_fault %s in spoolss_DeleteJobNamedProperty\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
3142 : }
3143 0 : break;
3144 : }
3145 0 : case 113: { /* spoolss_EnumJobNamedProperties */
3146 0 : struct spoolss_EnumJobNamedProperties *r2 = (struct spoolss_EnumJobNamedProperties *)r;
3147 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
3148 0 : DEBUG(5,("function spoolss_EnumJobNamedProperties replied async\n"));
3149 : }
3150 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
3151 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_EnumJobNamedProperties, NDR_OUT | NDR_SET_VALUES, r2);
3152 : }
3153 0 : if (dce_call->fault_code != 0) {
3154 0 : DBG_WARNING("dcerpc_fault %s in spoolss_EnumJobNamedProperties\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
3155 : }
3156 0 : break;
3157 : }
3158 0 : case 114: { /* spoolss_72 */
3159 0 : struct spoolss_72 *r2 = (struct spoolss_72 *)r;
3160 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
3161 0 : DEBUG(5,("function spoolss_72 replied async\n"));
3162 : }
3163 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
3164 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_72, NDR_OUT | NDR_SET_VALUES, r2);
3165 : }
3166 0 : if (dce_call->fault_code != 0) {
3167 0 : DBG_WARNING("dcerpc_fault %s in spoolss_72\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
3168 : }
3169 0 : break;
3170 : }
3171 0 : case 115: { /* spoolss_73 */
3172 0 : struct spoolss_73 *r2 = (struct spoolss_73 *)r;
3173 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
3174 0 : DEBUG(5,("function spoolss_73 replied async\n"));
3175 : }
3176 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
3177 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_73, NDR_OUT | NDR_SET_VALUES, r2);
3178 : }
3179 0 : if (dce_call->fault_code != 0) {
3180 0 : DBG_WARNING("dcerpc_fault %s in spoolss_73\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
3181 : }
3182 0 : break;
3183 : }
3184 0 : case 116: { /* spoolss_LogJobInfoForBranchOffice */
3185 0 : struct spoolss_LogJobInfoForBranchOffice *r2 = (struct spoolss_LogJobInfoForBranchOffice *)r;
3186 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
3187 0 : DEBUG(5,("function spoolss_LogJobInfoForBranchOffice replied async\n"));
3188 : }
3189 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
3190 0 : NDR_PRINT_FUNCTION_DEBUG(spoolss_LogJobInfoForBranchOffice, NDR_OUT | NDR_SET_VALUES, r2);
3191 : }
3192 0 : if (dce_call->fault_code != 0) {
3193 0 : DBG_WARNING("dcerpc_fault %s in spoolss_LogJobInfoForBranchOffice\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
3194 : }
3195 0 : break;
3196 : }
3197 0 : default:
3198 0 : dce_call->fault_code = DCERPC_FAULT_OP_RNG_ERROR;
3199 0 : break;
3200 : }
3201 :
3202 35236 : if (dce_call->fault_code != 0) {
3203 0 : return NT_STATUS_NET_WRITE_FAULT;
3204 : }
3205 :
3206 35236 : return NT_STATUS_OK;
3207 : }
3208 :
3209 35236 : NTSTATUS spoolss__op_ndr_push(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ndr_push *push, const void *r)
3210 : {
3211 0 : enum ndr_err_code ndr_err;
3212 35236 : uint16_t opnum = dce_call->pkt.u.request.opnum;
3213 :
3214 35236 : ndr_err = ndr_table_spoolss.calls[opnum].ndr_push(push, NDR_OUT, r);
3215 35236 : if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3216 0 : dce_call->fault_code = DCERPC_FAULT_NDR;
3217 0 : return NT_STATUS_NET_WRITE_FAULT;
3218 : }
3219 :
3220 35236 : return NT_STATUS_OK;
3221 : }
3222 :
3223 0 : NTSTATUS spoolss__op_local(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r)
3224 : {
3225 0 : return spoolss__op_dispatch_internal(dce_call, mem_ctx, r, S3COMPAT_RPC_DISPATCH_INTERNAL);
3226 : }
3227 :
3228 : static const struct dcesrv_interface dcesrv_spoolss_interface = {
3229 : .name = "spoolss",
3230 : .syntax_id = {{0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xab}},1.0},
3231 : .bind = spoolss__op_bind,
3232 : .unbind = spoolss__op_unbind,
3233 : .ndr_pull = spoolss__op_ndr_pull,
3234 : .dispatch = spoolss__op_dispatch,
3235 : .reply = spoolss__op_reply,
3236 : .ndr_push = spoolss__op_ndr_push,
3237 : .local = spoolss__op_local,
3238 : #ifdef DCESRV_INTERFACE_SPOOLSS_FLAGS
3239 : .flags = DCESRV_INTERFACE_SPOOLSS_FLAGS
3240 : #else
3241 : .flags = 0
3242 : #endif
3243 : };
3244 :
3245 28 : static NTSTATUS spoolss__op_init_server(struct dcesrv_context *dce_ctx, const struct dcesrv_endpoint_server *ep_server)
3246 : {
3247 0 : uint32_t i;
3248 0 : NTSTATUS ret;
3249 :
3250 : #ifdef DCESRV_INTERFACE_SPOOLSS_NCACN_NP_SECONDARY_ENDPOINT
3251 : const char *ncacn_np_secondary_endpoint = DCESRV_INTERFACE_SPOOLSS_NCACN_NP_SECONDARY_ENDPOINT;
3252 : #else
3253 28 : const char *ncacn_np_secondary_endpoint = NULL;
3254 : #endif
3255 :
3256 84 : for (i=0;i<ndr_table_spoolss.endpoints->count;i++) {
3257 56 : const char *name = ndr_table_spoolss.endpoints->names[i];
3258 :
3259 56 : ret = dcesrv_interface_register(dce_ctx, name, ncacn_np_secondary_endpoint, &dcesrv_spoolss_interface, NULL);
3260 56 : if (!NT_STATUS_IS_OK(ret)) {
3261 0 : DBG_ERR("Failed to register endpoint '%s'\n",name);
3262 0 : return ret;
3263 : }
3264 : }
3265 :
3266 28 : return NT_STATUS_OK;
3267 : }
3268 :
3269 28 : static NTSTATUS spoolss__op_shutdown_server(struct dcesrv_context *dce_ctx, const struct dcesrv_endpoint_server *ep_server)
3270 : {
3271 28 : return NT_STATUS_OK;
3272 : }
3273 :
3274 0 : static bool spoolss__op_interface_by_uuid(struct dcesrv_interface *iface, const struct GUID *uuid, uint32_t if_version)
3275 : {
3276 0 : if (dcesrv_spoolss_interface.syntax_id.if_version == if_version && GUID_equal(&dcesrv_spoolss_interface.syntax_id.uuid, uuid)) {
3277 0 : memcpy(iface,&dcesrv_spoolss_interface, sizeof(*iface));
3278 0 : return true;
3279 : }
3280 :
3281 0 : return false;
3282 : }
3283 :
3284 0 : static bool spoolss__op_interface_by_name(struct dcesrv_interface *iface, const char *name)
3285 : {
3286 0 : if (strcmp(dcesrv_spoolss_interface.name, name)==0) {
3287 0 : memcpy(iface, &dcesrv_spoolss_interface, sizeof(*iface));
3288 0 : return true;
3289 : }
3290 :
3291 0 : return false;
3292 : }
3293 :
3294 : static const struct dcesrv_endpoint_server spoolss_ep_server = {
3295 : /* fill in our name */
3296 : .name = "spoolss",
3297 :
3298 : /* Initialization flag */
3299 : .initialized = false,
3300 :
3301 : /* fill in all the operations */
3302 : #ifdef DCESRV_INTERFACE_SPOOLSS_INIT_SERVER
3303 : .init_server = DCESRV_INTERFACE_SPOOLSS_INIT_SERVER,
3304 : #else
3305 : .init_server = spoolss__op_init_server,
3306 : #endif
3307 : #ifdef DCESRV_INTERFACE_SPOOLSS_SHUTDOWN_SERVER
3308 : .shutdown_server = DCESRV_INTERFACE_SPOOLSS_SHUTDOWN_SERVER,
3309 : #else
3310 : .shutdown_server = spoolss__op_shutdown_server,
3311 : #endif
3312 : .interface_by_uuid = spoolss__op_interface_by_uuid,
3313 : .interface_by_name = spoolss__op_interface_by_name
3314 : };
3315 :
3316 28 : const struct dcesrv_endpoint_server *spoolss_get_ep_server(void)
3317 : {
3318 28 : return &spoolss_ep_server;
3319 : }
|