2 * Unix SMB/CIFS implementation.
3 * server auto-generated by pidl. DO NOT MODIFY!
8 #include "librpc/rpc/dcesrv_core.h"
9 #include "librpc/gen_ndr/ndr_spoolss.h"
10 #include "librpc/gen_ndr/ndr_winspool.h"
11 #include "librpc/gen_ndr/ndr_winspool_scompat.h"
12 #include "librpc/gen_ndr/ndr_spoolss_scompat.h"
13 #include "rpc_server/rpc_config.h"
14 #include "rpc_server/rpc_server.h"
16 static bool forward_opnum_to_spoolss(uint16_t opnum) {
18 case 58: /* winspool_SyncRegisterForRemoteNotifications */
19 case 59: /* winspool_SyncUnRegisterForRemoteNotifications */
20 case 60: /* winspool_SyncRefreshRemoteNotifications */
21 case 61: /* winspool_AsyncGetRemoteNotifications */
22 case 62: /* winspool_AsyncInstallPrinterDriverFromPackage */
23 case 63: /* winspool_AsyncUploadPrinterDriverPackage */
24 case 65: /* winspool_AsyncCorePrinterDriverInstalled */
25 case 67: /* winspool_AsyncDeletePrinterDriverPackage */
33 /* iremotewinspool - dcerpc server boilerplate generated by pidl */
34 static NTSTATUS iremotewinspool__op_bind(struct dcesrv_connection_context *context, const struct dcesrv_interface *iface)
36 #ifdef DCESRV_INTERFACE_IREMOTEWINSPOOL_BIND
37 return DCESRV_INTERFACE_IREMOTEWINSPOOL_BIND(context,iface);
43 static void iremotewinspool__op_unbind(struct dcesrv_connection_context *context, const struct dcesrv_interface *iface)
45 #ifdef DCESRV_INTERFACE_IREMOTEWINSPOOL_UNBIND
46 DCESRV_INTERFACE_IREMOTEWINSPOOL_UNBIND(context, iface);
52 NTSTATUS iremotewinspool__op_ndr_pull(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ndr_pull *pull, void **r)
54 enum ndr_err_code ndr_err;
55 uint16_t opnum = dce_call->pkt.u.request.opnum;
57 dce_call->fault_code = 0;
59 if (forward_opnum_to_spoolss(opnum)) {
60 return spoolss__op_ndr_pull(dce_call, mem_ctx, pull, r);
63 if (opnum >= ndr_table_iremotewinspool.num_calls) {
64 dce_call->fault_code = DCERPC_FAULT_OP_RNG_ERROR;
65 return NT_STATUS_NET_WRITE_FAULT;
68 *r = talloc_named(mem_ctx, ndr_table_iremotewinspool.calls[opnum].struct_size, "struct %s", ndr_table_iremotewinspool.calls[opnum].name);
69 NT_STATUS_HAVE_NO_MEMORY(*r);
71 /* unravel the NDR for the packet */
72 ndr_err = ndr_table_iremotewinspool.calls[opnum].ndr_pull(pull, NDR_IN, *r);
73 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
74 dce_call->fault_code = DCERPC_FAULT_NDR;
75 return NT_STATUS_NET_WRITE_FAULT;
81 static NTSTATUS iremotewinspool__op_dispatch_internal(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r, bool rpcint_call)
83 uint16_t opnum = dce_call->pkt.u.request.opnum;
84 struct pipes_struct *p = NULL;
85 NTSTATUS status = NT_STATUS_OK;
86 bool impersonated = false;
88 if (forward_opnum_to_spoolss(opnum)) {
89 return spoolss__op_dispatch(dce_call, mem_ctx, r);
92 /* Retrieve pipes struct */
93 p = dcesrv_get_pipes_struct(dce_call->conn);
94 p->dce_call = dce_call;
96 p->auth.auth_type = dce_call->auth_state->auth_type;
97 p->auth.auth_level = dce_call->auth_state->auth_level;
98 p->auth.auth_context_id = dce_call->auth_state->auth_context_id;
99 /* Reset pipes struct fault state */
104 impersonated = become_authenticated_pipe_user(
105 dce_call->auth_state->session_info);
107 dce_call->fault_code = DCERPC_FAULT_ACCESS_DENIED;
108 status = NT_STATUS_NET_WRITE_FAULT;
114 case 0: { /* winspool_AsyncOpenPrinter */
115 struct winspool_AsyncOpenPrinter *r2 = (struct winspool_AsyncOpenPrinter *)r;
116 if (DEBUGLEVEL >= 10) {
117 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncOpenPrinter, NDR_IN, r2);
119 NDR_ZERO_STRUCT(r2->out);
120 r2->out.pHandle = talloc_zero(r2, struct policy_handle);
121 if (r2->out.pHandle == NULL) {
122 status = NT_STATUS_NO_MEMORY;
123 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
127 r2->out.result = _winspool_AsyncOpenPrinter(p, r2);
130 case 1: { /* winspool_AsyncAddPrinter */
131 struct winspool_AsyncAddPrinter *r2 = (struct winspool_AsyncAddPrinter *)r;
132 if (DEBUGLEVEL >= 10) {
133 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncAddPrinter, NDR_IN, r2);
135 NDR_ZERO_STRUCT(r2->out);
136 r2->out.pHandle = talloc_zero(r2, struct policy_handle);
137 if (r2->out.pHandle == NULL) {
138 status = NT_STATUS_NO_MEMORY;
139 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
143 r2->out.result = _winspool_AsyncAddPrinter(p, r2);
146 case 2: { /* winspool_AsyncSetJob */
147 struct winspool_AsyncSetJob *r2 = (struct winspool_AsyncSetJob *)r;
148 if (DEBUGLEVEL >= 10) {
149 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncSetJob, NDR_IN, r2);
151 r2->out.result = _winspool_AsyncSetJob(p, r2);
154 case 3: { /* winspool_AsyncGetJob */
155 struct winspool_AsyncGetJob *r2 = (struct winspool_AsyncGetJob *)r;
156 if (DEBUGLEVEL >= 10) {
157 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetJob, NDR_IN, r2);
159 NDR_ZERO_STRUCT(r2->out);
160 r2->out.pJob = r2->in.pJob;
161 r2->out.pcbNeeded = talloc_zero(r2, uint32_t);
162 if (r2->out.pcbNeeded == NULL) {
163 status = NT_STATUS_NO_MEMORY;
164 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
168 r2->out.result = _winspool_AsyncGetJob(p, r2);
171 case 4: { /* winspool_AsyncEnumJobs */
172 struct winspool_AsyncEnumJobs *r2 = (struct winspool_AsyncEnumJobs *)r;
173 if (DEBUGLEVEL >= 10) {
174 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumJobs, NDR_IN, r2);
176 NDR_ZERO_STRUCT(r2->out);
177 r2->out.pJob = r2->in.pJob;
178 r2->out.pcbNeeded = talloc_zero(r2, uint32_t);
179 if (r2->out.pcbNeeded == NULL) {
180 status = NT_STATUS_NO_MEMORY;
181 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
185 r2->out.pcReturned = talloc_zero(r2, uint32_t);
186 if (r2->out.pcReturned == NULL) {
187 status = NT_STATUS_NO_MEMORY;
188 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
192 r2->out.result = _winspool_AsyncEnumJobs(p, r2);
195 case 5: { /* winspool_AsyncAddJob */
196 struct winspool_AsyncAddJob *r2 = (struct winspool_AsyncAddJob *)r;
197 if (DEBUGLEVEL >= 10) {
198 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncAddJob, NDR_IN, r2);
200 NDR_ZERO_STRUCT(r2->out);
201 r2->out.pAddJob = r2->in.pAddJob;
202 r2->out.pcbNeeded = talloc_zero(r2, uint32_t);
203 if (r2->out.pcbNeeded == NULL) {
204 status = NT_STATUS_NO_MEMORY;
205 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
209 r2->out.result = _winspool_AsyncAddJob(p, r2);
212 case 6: { /* winspool_AsyncScheduleJob */
213 struct winspool_AsyncScheduleJob *r2 = (struct winspool_AsyncScheduleJob *)r;
214 if (DEBUGLEVEL >= 10) {
215 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncScheduleJob, NDR_IN, r2);
217 r2->out.result = _winspool_AsyncScheduleJob(p, r2);
220 case 7: { /* winspool_AsyncDeletePrinter */
221 struct winspool_AsyncDeletePrinter *r2 = (struct winspool_AsyncDeletePrinter *)r;
222 if (DEBUGLEVEL >= 10) {
223 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePrinter, NDR_IN, r2);
225 r2->out.result = _winspool_AsyncDeletePrinter(p, r2);
228 case 8: { /* winspool_AsyncSetPrinter */
229 struct winspool_AsyncSetPrinter *r2 = (struct winspool_AsyncSetPrinter *)r;
230 if (DEBUGLEVEL >= 10) {
231 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncSetPrinter, NDR_IN, r2);
233 r2->out.result = _winspool_AsyncSetPrinter(p, r2);
236 case 9: { /* winspool_AsyncGetPrinter */
237 struct winspool_AsyncGetPrinter *r2 = (struct winspool_AsyncGetPrinter *)r;
238 if (DEBUGLEVEL >= 10) {
239 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetPrinter, NDR_IN, r2);
241 NDR_ZERO_STRUCT(r2->out);
242 r2->out.pPrinter = r2->in.pPrinter;
243 r2->out.pcbNeeded = talloc_zero(r2, uint32_t);
244 if (r2->out.pcbNeeded == NULL) {
245 status = NT_STATUS_NO_MEMORY;
246 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
250 r2->out.result = _winspool_AsyncGetPrinter(p, r2);
253 case 10: { /* winspool_AsyncStartDocPrinter */
254 struct winspool_AsyncStartDocPrinter *r2 = (struct winspool_AsyncStartDocPrinter *)r;
255 if (DEBUGLEVEL >= 10) {
256 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncStartDocPrinter, NDR_IN, r2);
258 NDR_ZERO_STRUCT(r2->out);
259 r2->out.pJobId = talloc_zero(r2, uint32_t);
260 if (r2->out.pJobId == NULL) {
261 status = NT_STATUS_NO_MEMORY;
262 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
266 r2->out.result = _winspool_AsyncStartDocPrinter(p, r2);
269 case 11: { /* winspool_AsyncStartPagePrinter */
270 struct winspool_AsyncStartPagePrinter *r2 = (struct winspool_AsyncStartPagePrinter *)r;
271 if (DEBUGLEVEL >= 10) {
272 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncStartPagePrinter, NDR_IN, r2);
274 r2->out.result = _winspool_AsyncStartPagePrinter(p, r2);
277 case 12: { /* winspool_AsyncWritePrinter */
278 struct winspool_AsyncWritePrinter *r2 = (struct winspool_AsyncWritePrinter *)r;
279 if (DEBUGLEVEL >= 10) {
280 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncWritePrinter, NDR_IN, r2);
282 NDR_ZERO_STRUCT(r2->out);
283 r2->out.pcWritten = talloc_zero(r2, uint32_t);
284 if (r2->out.pcWritten == NULL) {
285 status = NT_STATUS_NO_MEMORY;
286 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
290 r2->out.result = _winspool_AsyncWritePrinter(p, r2);
293 case 13: { /* winspool_AsyncEndPagePrinter */
294 struct winspool_AsyncEndPagePrinter *r2 = (struct winspool_AsyncEndPagePrinter *)r;
295 if (DEBUGLEVEL >= 10) {
296 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEndPagePrinter, NDR_IN, r2);
298 r2->out.result = _winspool_AsyncEndPagePrinter(p, r2);
301 case 14: { /* winspool_AsyncEndDocPrinter */
302 struct winspool_AsyncEndDocPrinter *r2 = (struct winspool_AsyncEndDocPrinter *)r;
303 if (DEBUGLEVEL >= 10) {
304 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEndDocPrinter, NDR_IN, r2);
306 r2->out.result = _winspool_AsyncEndDocPrinter(p, r2);
309 case 15: { /* winspool_AsyncAbortPrinter */
310 struct winspool_AsyncAbortPrinter *r2 = (struct winspool_AsyncAbortPrinter *)r;
311 if (DEBUGLEVEL >= 10) {
312 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncAbortPrinter, NDR_IN, r2);
314 r2->out.result = _winspool_AsyncAbortPrinter(p, r2);
317 case 16: { /* winspool_AsyncGetPrinterData */
318 struct winspool_AsyncGetPrinterData *r2 = (struct winspool_AsyncGetPrinterData *)r;
319 if (DEBUGLEVEL >= 10) {
320 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetPrinterData, NDR_IN, r2);
322 NDR_ZERO_STRUCT(r2->out);
323 r2->out.pType = talloc_zero(r2, uint32_t);
324 if (r2->out.pType == NULL) {
325 status = NT_STATUS_NO_MEMORY;
326 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
330 r2->out.pData = talloc_zero_array(r2, uint8_t, r2->in.nSize);
331 if (r2->out.pData == NULL) {
332 status = NT_STATUS_NO_MEMORY;
333 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
337 r2->out.pcbNeeded = talloc_zero(r2, uint32_t);
338 if (r2->out.pcbNeeded == NULL) {
339 status = NT_STATUS_NO_MEMORY;
340 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
344 r2->out.result = _winspool_AsyncGetPrinterData(p, r2);
347 case 17: { /* winspool_AsyncGetPrinterDataEx */
348 struct winspool_AsyncGetPrinterDataEx *r2 = (struct winspool_AsyncGetPrinterDataEx *)r;
349 if (DEBUGLEVEL >= 10) {
350 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetPrinterDataEx, NDR_IN, r2);
352 NDR_ZERO_STRUCT(r2->out);
353 r2->out.pType = talloc_zero(r2, uint32_t);
354 if (r2->out.pType == NULL) {
355 status = NT_STATUS_NO_MEMORY;
356 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
360 r2->out.pData = talloc_zero_array(r2, uint8_t, r2->in.nSize);
361 if (r2->out.pData == NULL) {
362 status = NT_STATUS_NO_MEMORY;
363 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
367 r2->out.pcbNeeded = talloc_zero(r2, uint32_t);
368 if (r2->out.pcbNeeded == NULL) {
369 status = NT_STATUS_NO_MEMORY;
370 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
374 r2->out.result = _winspool_AsyncGetPrinterDataEx(p, r2);
377 case 18: { /* winspool_AsyncSetPrinterData */
378 struct winspool_AsyncSetPrinterData *r2 = (struct winspool_AsyncSetPrinterData *)r;
379 if (DEBUGLEVEL >= 10) {
380 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncSetPrinterData, NDR_IN, r2);
382 r2->out.result = _winspool_AsyncSetPrinterData(p, r2);
385 case 19: { /* winspool_AsyncSetPrinterDataEx */
386 struct winspool_AsyncSetPrinterDataEx *r2 = (struct winspool_AsyncSetPrinterDataEx *)r;
387 if (DEBUGLEVEL >= 10) {
388 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncSetPrinterDataEx, NDR_IN, r2);
390 r2->out.result = _winspool_AsyncSetPrinterDataEx(p, r2);
393 case 20: { /* winspool_AsyncClosePrinter */
394 struct winspool_AsyncClosePrinter *r2 = (struct winspool_AsyncClosePrinter *)r;
395 if (DEBUGLEVEL >= 10) {
396 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncClosePrinter, NDR_IN, r2);
398 NDR_ZERO_STRUCT(r2->out);
399 r2->out.phPrinter = r2->in.phPrinter;
400 r2->out.result = _winspool_AsyncClosePrinter(p, r2);
403 case 21: { /* winspool_AsyncAddForm */
404 struct winspool_AsyncAddForm *r2 = (struct winspool_AsyncAddForm *)r;
405 if (DEBUGLEVEL >= 10) {
406 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncAddForm, NDR_IN, r2);
408 r2->out.result = _winspool_AsyncAddForm(p, r2);
411 case 22: { /* winspool_AsyncDeleteForm */
412 struct winspool_AsyncDeleteForm *r2 = (struct winspool_AsyncDeleteForm *)r;
413 if (DEBUGLEVEL >= 10) {
414 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeleteForm, NDR_IN, r2);
416 r2->out.result = _winspool_AsyncDeleteForm(p, r2);
419 case 23: { /* winspool_AsyncGetForm */
420 struct winspool_AsyncGetForm *r2 = (struct winspool_AsyncGetForm *)r;
421 if (DEBUGLEVEL >= 10) {
422 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetForm, NDR_IN, r2);
424 NDR_ZERO_STRUCT(r2->out);
425 r2->out.pForm = r2->in.pForm;
426 r2->out.pcbNeeded = talloc_zero(r2, uint32_t);
427 if (r2->out.pcbNeeded == NULL) {
428 status = NT_STATUS_NO_MEMORY;
429 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
433 r2->out.result = _winspool_AsyncGetForm(p, r2);
436 case 24: { /* winspool_AsyncSetForm */
437 struct winspool_AsyncSetForm *r2 = (struct winspool_AsyncSetForm *)r;
438 if (DEBUGLEVEL >= 10) {
439 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncSetForm, NDR_IN, r2);
441 r2->out.result = _winspool_AsyncSetForm(p, r2);
444 case 25: { /* winspool_AsyncEnumForms */
445 struct winspool_AsyncEnumForms *r2 = (struct winspool_AsyncEnumForms *)r;
446 if (DEBUGLEVEL >= 10) {
447 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumForms, NDR_IN, r2);
449 NDR_ZERO_STRUCT(r2->out);
450 r2->out.pForm = r2->in.pForm;
451 r2->out.pcbNeeded = talloc_zero(r2, uint32_t);
452 if (r2->out.pcbNeeded == NULL) {
453 status = NT_STATUS_NO_MEMORY;
454 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
458 r2->out.pcReturned = talloc_zero(r2, uint32_t);
459 if (r2->out.pcReturned == NULL) {
460 status = NT_STATUS_NO_MEMORY;
461 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
465 r2->out.result = _winspool_AsyncEnumForms(p, r2);
468 case 26: { /* winspool_AsyncGetPrinterDriver */
469 struct winspool_AsyncGetPrinterDriver *r2 = (struct winspool_AsyncGetPrinterDriver *)r;
470 if (DEBUGLEVEL >= 10) {
471 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetPrinterDriver, NDR_IN, r2);
473 NDR_ZERO_STRUCT(r2->out);
474 r2->out.pDriver = r2->in.pDriver;
475 r2->out.pcbNeeded = talloc_zero(r2, uint32_t);
476 if (r2->out.pcbNeeded == NULL) {
477 status = NT_STATUS_NO_MEMORY;
478 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
482 r2->out.pdwServerMaxVersion = talloc_zero(r2, uint32_t);
483 if (r2->out.pdwServerMaxVersion == NULL) {
484 status = NT_STATUS_NO_MEMORY;
485 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
489 r2->out.pdwServerMinVersion = talloc_zero(r2, uint32_t);
490 if (r2->out.pdwServerMinVersion == NULL) {
491 status = NT_STATUS_NO_MEMORY;
492 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
496 r2->out.result = _winspool_AsyncGetPrinterDriver(p, r2);
499 case 27: { /* winspool_AsyncEnumPrinterData */
500 struct winspool_AsyncEnumPrinterData *r2 = (struct winspool_AsyncEnumPrinterData *)r;
501 if (DEBUGLEVEL >= 10) {
502 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumPrinterData, NDR_IN, r2);
504 NDR_ZERO_STRUCT(r2->out);
505 r2->out.pValueName = talloc_zero_array(r2, uint16_t, r2->in.cbValueName / 2);
506 if (r2->out.pValueName == NULL) {
507 status = NT_STATUS_NO_MEMORY;
508 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
512 r2->out.pcbValueName = talloc_zero(r2, uint32_t);
513 if (r2->out.pcbValueName == NULL) {
514 status = NT_STATUS_NO_MEMORY;
515 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
519 r2->out.pType = talloc_zero(r2, uint32_t);
520 if (r2->out.pType == NULL) {
521 status = NT_STATUS_NO_MEMORY;
522 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
526 r2->out.pData = talloc_zero_array(r2, uint8_t, r2->in.cbData);
527 if (r2->out.pData == NULL) {
528 status = NT_STATUS_NO_MEMORY;
529 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
533 r2->out.pcbData = talloc_zero(r2, uint32_t);
534 if (r2->out.pcbData == NULL) {
535 status = NT_STATUS_NO_MEMORY;
536 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
540 r2->out.result = _winspool_AsyncEnumPrinterData(p, r2);
543 case 28: { /* winspool_AsyncEnumPrinterDataEx */
544 struct winspool_AsyncEnumPrinterDataEx *r2 = (struct winspool_AsyncEnumPrinterDataEx *)r;
545 if (DEBUGLEVEL >= 10) {
546 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumPrinterDataEx, NDR_IN, r2);
548 NDR_ZERO_STRUCT(r2->out);
549 r2->out.pEnumValues = talloc_zero_array(r2, uint8_t, r2->in.cbEnumValues);
550 if (r2->out.pEnumValues == NULL) {
551 status = NT_STATUS_NO_MEMORY;
552 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
556 r2->out.pcbEnumValues = talloc_zero(r2, uint32_t);
557 if (r2->out.pcbEnumValues == NULL) {
558 status = NT_STATUS_NO_MEMORY;
559 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
563 r2->out.pnEnumValues = talloc_zero(r2, uint32_t);
564 if (r2->out.pnEnumValues == NULL) {
565 status = NT_STATUS_NO_MEMORY;
566 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
570 r2->out.result = _winspool_AsyncEnumPrinterDataEx(p, r2);
573 case 29: { /* winspool_AsyncEnumPrinterKey */
574 struct winspool_AsyncEnumPrinterKey *r2 = (struct winspool_AsyncEnumPrinterKey *)r;
575 if (DEBUGLEVEL >= 10) {
576 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumPrinterKey, NDR_IN, r2);
578 NDR_ZERO_STRUCT(r2->out);
579 r2->out.pSubkey = talloc_zero_array(r2, uint16_t, r2->in.cbSubkey / 2);
580 if (r2->out.pSubkey == NULL) {
581 status = NT_STATUS_NO_MEMORY;
582 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
586 r2->out.pcbSubkey = talloc_zero(r2, uint32_t);
587 if (r2->out.pcbSubkey == NULL) {
588 status = NT_STATUS_NO_MEMORY;
589 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
593 r2->out.result = _winspool_AsyncEnumPrinterKey(p, r2);
596 case 30: { /* winspool_AsyncDeletePrinterData */
597 struct winspool_AsyncDeletePrinterData *r2 = (struct winspool_AsyncDeletePrinterData *)r;
598 if (DEBUGLEVEL >= 10) {
599 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePrinterData, NDR_IN, r2);
601 r2->out.result = _winspool_AsyncDeletePrinterData(p, r2);
604 case 31: { /* winspool_AsyncDeletePrinterDataEx */
605 struct winspool_AsyncDeletePrinterDataEx *r2 = (struct winspool_AsyncDeletePrinterDataEx *)r;
606 if (DEBUGLEVEL >= 10) {
607 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePrinterDataEx, NDR_IN, r2);
609 r2->out.result = _winspool_AsyncDeletePrinterDataEx(p, r2);
612 case 32: { /* winspool_AsyncDeletePrinterKey */
613 struct winspool_AsyncDeletePrinterKey *r2 = (struct winspool_AsyncDeletePrinterKey *)r;
614 if (DEBUGLEVEL >= 10) {
615 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePrinterKey, NDR_IN, r2);
617 r2->out.result = _winspool_AsyncDeletePrinterKey(p, r2);
620 case 33: { /* winspool_AsyncXcvData */
621 struct winspool_AsyncXcvData *r2 = (struct winspool_AsyncXcvData *)r;
622 if (DEBUGLEVEL >= 10) {
623 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncXcvData, NDR_IN, r2);
625 NDR_ZERO_STRUCT(r2->out);
626 r2->out.pdwStatus = r2->in.pdwStatus;
627 r2->out.pOutputData = talloc_zero_array(r2, uint8_t, r2->in.cbOutputData);
628 if (r2->out.pOutputData == NULL) {
629 status = NT_STATUS_NO_MEMORY;
630 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
634 r2->out.pcbOutputNeeded = talloc_zero(r2, uint32_t);
635 if (r2->out.pcbOutputNeeded == NULL) {
636 status = NT_STATUS_NO_MEMORY;
637 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
641 r2->out.result = _winspool_AsyncXcvData(p, r2);
644 case 34: { /* winspool_AsyncSendRecvBidiData */
645 struct winspool_AsyncSendRecvBidiData *r2 = (struct winspool_AsyncSendRecvBidiData *)r;
646 if (DEBUGLEVEL >= 10) {
647 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncSendRecvBidiData, NDR_IN, r2);
649 NDR_ZERO_STRUCT(r2->out);
650 r2->out.ppRespData = talloc_zero(r2, struct RPC_BIDI_RESPONSE_CONTAINER *);
651 if (r2->out.ppRespData == NULL) {
652 status = NT_STATUS_NO_MEMORY;
653 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
657 r2->out.result = _winspool_AsyncSendRecvBidiData(p, r2);
660 case 35: { /* winspool_AsyncCreatePrinterIC */
661 struct winspool_AsyncCreatePrinterIC *r2 = (struct winspool_AsyncCreatePrinterIC *)r;
662 if (DEBUGLEVEL >= 10) {
663 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncCreatePrinterIC, NDR_IN, r2);
665 NDR_ZERO_STRUCT(r2->out);
666 r2->out.pHandle = talloc_zero(r2, struct policy_handle);
667 if (r2->out.pHandle == NULL) {
668 status = NT_STATUS_NO_MEMORY;
669 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
673 r2->out.result = _winspool_AsyncCreatePrinterIC(p, r2);
676 case 36: { /* winspool_AsyncPlayGdiScriptOnPrinterIC */
677 struct winspool_AsyncPlayGdiScriptOnPrinterIC *r2 = (struct winspool_AsyncPlayGdiScriptOnPrinterIC *)r;
678 if (DEBUGLEVEL >= 10) {
679 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncPlayGdiScriptOnPrinterIC, NDR_IN, r2);
681 NDR_ZERO_STRUCT(r2->out);
682 r2->out.pOut = talloc_zero_array(r2, uint8_t, r2->in.cOut);
683 if (r2->out.pOut == NULL) {
684 status = NT_STATUS_NO_MEMORY;
685 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
689 r2->out.result = _winspool_AsyncPlayGdiScriptOnPrinterIC(p, r2);
692 case 37: { /* winspool_AsyncDeletePrinterIC */
693 struct winspool_AsyncDeletePrinterIC *r2 = (struct winspool_AsyncDeletePrinterIC *)r;
694 if (DEBUGLEVEL >= 10) {
695 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePrinterIC, NDR_IN, r2);
697 NDR_ZERO_STRUCT(r2->out);
698 r2->out.phPrinterIC = r2->in.phPrinterIC;
699 r2->out.result = _winspool_AsyncDeletePrinterIC(p, r2);
702 case 38: { /* winspool_AsyncEnumPrinters */
703 struct winspool_AsyncEnumPrinters *r2 = (struct winspool_AsyncEnumPrinters *)r;
704 if (DEBUGLEVEL >= 10) {
705 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumPrinters, NDR_IN, r2);
707 NDR_ZERO_STRUCT(r2->out);
708 r2->out.pPrinterEnum = r2->in.pPrinterEnum;
709 r2->out.pcbNeeded = talloc_zero(r2, uint32_t);
710 if (r2->out.pcbNeeded == NULL) {
711 status = NT_STATUS_NO_MEMORY;
712 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
716 r2->out.pcReturned = talloc_zero(r2, uint32_t);
717 if (r2->out.pcReturned == NULL) {
718 status = NT_STATUS_NO_MEMORY;
719 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
723 r2->out.result = _winspool_AsyncEnumPrinters(p, r2);
726 case 39: { /* winspool_AsyncAddPrinterDriver */
727 struct winspool_AsyncAddPrinterDriver *r2 = (struct winspool_AsyncAddPrinterDriver *)r;
728 if (DEBUGLEVEL >= 10) {
729 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncAddPrinterDriver, NDR_IN, r2);
731 r2->out.result = _winspool_AsyncAddPrinterDriver(p, r2);
734 case 40: { /* winspool_AsyncEnumPrinterDrivers */
735 struct winspool_AsyncEnumPrinterDrivers *r2 = (struct winspool_AsyncEnumPrinterDrivers *)r;
736 if (DEBUGLEVEL >= 10) {
737 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumPrinterDrivers, NDR_IN, r2);
739 NDR_ZERO_STRUCT(r2->out);
740 r2->out.pDrivers = r2->in.pDrivers;
741 r2->out.pcbNeeded = talloc_zero(r2, uint32_t);
742 if (r2->out.pcbNeeded == NULL) {
743 status = NT_STATUS_NO_MEMORY;
744 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
748 r2->out.pcReturned = talloc_zero(r2, uint32_t);
749 if (r2->out.pcReturned == NULL) {
750 status = NT_STATUS_NO_MEMORY;
751 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
755 r2->out.result = _winspool_AsyncEnumPrinterDrivers(p, r2);
758 case 41: { /* winspool_AsyncGetPrinterDriverDirectory */
759 struct winspool_AsyncGetPrinterDriverDirectory *r2 = (struct winspool_AsyncGetPrinterDriverDirectory *)r;
760 if (DEBUGLEVEL >= 10) {
761 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetPrinterDriverDirectory, NDR_IN, r2);
763 NDR_ZERO_STRUCT(r2->out);
764 r2->out.pDriverDirectory = r2->in.pDriverDirectory;
765 r2->out.pcbNeeded = talloc_zero(r2, uint32_t);
766 if (r2->out.pcbNeeded == NULL) {
767 status = NT_STATUS_NO_MEMORY;
768 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
772 r2->out.result = _winspool_AsyncGetPrinterDriverDirectory(p, r2);
775 case 42: { /* winspool_AsyncDeletePrinterDriver */
776 struct winspool_AsyncDeletePrinterDriver *r2 = (struct winspool_AsyncDeletePrinterDriver *)r;
777 if (DEBUGLEVEL >= 10) {
778 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePrinterDriver, NDR_IN, r2);
780 r2->out.result = _winspool_AsyncDeletePrinterDriver(p, r2);
783 case 43: { /* winspool_AsyncDeletePrinterDriverEx */
784 struct winspool_AsyncDeletePrinterDriverEx *r2 = (struct winspool_AsyncDeletePrinterDriverEx *)r;
785 if (DEBUGLEVEL >= 10) {
786 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePrinterDriverEx, NDR_IN, r2);
788 r2->out.result = _winspool_AsyncDeletePrinterDriverEx(p, r2);
791 case 44: { /* winspool_AsyncAddPrintProcessor */
792 struct winspool_AsyncAddPrintProcessor *r2 = (struct winspool_AsyncAddPrintProcessor *)r;
793 if (DEBUGLEVEL >= 10) {
794 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncAddPrintProcessor, NDR_IN, r2);
796 r2->out.result = _winspool_AsyncAddPrintProcessor(p, r2);
799 case 45: { /* winspool_AsyncEnumPrintProcessors */
800 struct winspool_AsyncEnumPrintProcessors *r2 = (struct winspool_AsyncEnumPrintProcessors *)r;
801 if (DEBUGLEVEL >= 10) {
802 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumPrintProcessors, NDR_IN, r2);
804 NDR_ZERO_STRUCT(r2->out);
805 r2->out.pPrintProcessorInfo = r2->in.pPrintProcessorInfo;
806 r2->out.pcbNeeded = talloc_zero(r2, uint32_t);
807 if (r2->out.pcbNeeded == NULL) {
808 status = NT_STATUS_NO_MEMORY;
809 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
813 r2->out.pcReturned = talloc_zero(r2, uint32_t);
814 if (r2->out.pcReturned == NULL) {
815 status = NT_STATUS_NO_MEMORY;
816 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
820 r2->out.result = _winspool_AsyncEnumPrintProcessors(p, r2);
823 case 46: { /* winspool_AsyncGetPrintProcessorDirectory */
824 struct winspool_AsyncGetPrintProcessorDirectory *r2 = (struct winspool_AsyncGetPrintProcessorDirectory *)r;
825 if (DEBUGLEVEL >= 10) {
826 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetPrintProcessorDirectory, NDR_IN, r2);
828 NDR_ZERO_STRUCT(r2->out);
829 r2->out.pPrintProcessorDirectory = r2->in.pPrintProcessorDirectory;
830 r2->out.pcbNeeded = talloc_zero(r2, uint32_t);
831 if (r2->out.pcbNeeded == NULL) {
832 status = NT_STATUS_NO_MEMORY;
833 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
837 r2->out.result = _winspool_AsyncGetPrintProcessorDirectory(p, r2);
840 case 47: { /* winspool_AsyncEnumPorts */
841 struct winspool_AsyncEnumPorts *r2 = (struct winspool_AsyncEnumPorts *)r;
842 if (DEBUGLEVEL >= 10) {
843 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumPorts, NDR_IN, r2);
845 NDR_ZERO_STRUCT(r2->out);
846 r2->out.pPort = r2->in.pPort;
847 r2->out.pcbNeeded = talloc_zero(r2, uint32_t);
848 if (r2->out.pcbNeeded == NULL) {
849 status = NT_STATUS_NO_MEMORY;
850 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
854 r2->out.pcReturned = talloc_zero(r2, uint32_t);
855 if (r2->out.pcReturned == NULL) {
856 status = NT_STATUS_NO_MEMORY;
857 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
861 r2->out.result = _winspool_AsyncEnumPorts(p, r2);
864 case 48: { /* winspool_AsyncEnumMonitors */
865 struct winspool_AsyncEnumMonitors *r2 = (struct winspool_AsyncEnumMonitors *)r;
866 if (DEBUGLEVEL >= 10) {
867 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumMonitors, NDR_IN, r2);
869 NDR_ZERO_STRUCT(r2->out);
870 r2->out.pMonitor = r2->in.pMonitor;
871 r2->out.pcbNeeded = talloc_zero(r2, uint32_t);
872 if (r2->out.pcbNeeded == NULL) {
873 status = NT_STATUS_NO_MEMORY;
874 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
878 r2->out.pcReturned = talloc_zero(r2, uint32_t);
879 if (r2->out.pcReturned == NULL) {
880 status = NT_STATUS_NO_MEMORY;
881 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
885 r2->out.result = _winspool_AsyncEnumMonitors(p, r2);
888 case 49: { /* winspool_AsyncAddPort */
889 struct winspool_AsyncAddPort *r2 = (struct winspool_AsyncAddPort *)r;
890 if (DEBUGLEVEL >= 10) {
891 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncAddPort, NDR_IN, r2);
893 r2->out.result = _winspool_AsyncAddPort(p, r2);
896 case 50: { /* winspool_AsyncSetPort */
897 struct winspool_AsyncSetPort *r2 = (struct winspool_AsyncSetPort *)r;
898 if (DEBUGLEVEL >= 10) {
899 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncSetPort, NDR_IN, r2);
901 r2->out.result = _winspool_AsyncSetPort(p, r2);
904 case 51: { /* winspool_AsyncAddMonitor */
905 struct winspool_AsyncAddMonitor *r2 = (struct winspool_AsyncAddMonitor *)r;
906 if (DEBUGLEVEL >= 10) {
907 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncAddMonitor, NDR_IN, r2);
909 r2->out.result = _winspool_AsyncAddMonitor(p, r2);
912 case 52: { /* winspool_AsyncDeleteMonitor */
913 struct winspool_AsyncDeleteMonitor *r2 = (struct winspool_AsyncDeleteMonitor *)r;
914 if (DEBUGLEVEL >= 10) {
915 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeleteMonitor, NDR_IN, r2);
917 r2->out.result = _winspool_AsyncDeleteMonitor(p, r2);
920 case 53: { /* winspool_AsyncDeletePrintProcessor */
921 struct winspool_AsyncDeletePrintProcessor *r2 = (struct winspool_AsyncDeletePrintProcessor *)r;
922 if (DEBUGLEVEL >= 10) {
923 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePrintProcessor, NDR_IN, r2);
925 r2->out.result = _winspool_AsyncDeletePrintProcessor(p, r2);
928 case 54: { /* winspool_AsyncEnumPrintProcessorDatatypes */
929 struct winspool_AsyncEnumPrintProcessorDatatypes *r2 = (struct winspool_AsyncEnumPrintProcessorDatatypes *)r;
930 if (DEBUGLEVEL >= 10) {
931 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumPrintProcessorDatatypes, NDR_IN, r2);
933 NDR_ZERO_STRUCT(r2->out);
934 r2->out.pDatatypes = r2->in.pDatatypes;
935 r2->out.pcbNeeded = talloc_zero(r2, uint32_t);
936 if (r2->out.pcbNeeded == NULL) {
937 status = NT_STATUS_NO_MEMORY;
938 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
942 r2->out.pcReturned = talloc_zero(r2, uint32_t);
943 if (r2->out.pcReturned == NULL) {
944 status = NT_STATUS_NO_MEMORY;
945 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
949 r2->out.result = _winspool_AsyncEnumPrintProcessorDatatypes(p, r2);
952 case 55: { /* winspool_AsyncAddPerMachineConnection */
953 struct winspool_AsyncAddPerMachineConnection *r2 = (struct winspool_AsyncAddPerMachineConnection *)r;
954 if (DEBUGLEVEL >= 10) {
955 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncAddPerMachineConnection, NDR_IN, r2);
957 r2->out.result = _winspool_AsyncAddPerMachineConnection(p, r2);
960 case 56: { /* winspool_AsyncDeletePerMachineConnection */
961 struct winspool_AsyncDeletePerMachineConnection *r2 = (struct winspool_AsyncDeletePerMachineConnection *)r;
962 if (DEBUGLEVEL >= 10) {
963 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePerMachineConnection, NDR_IN, r2);
965 r2->out.result = _winspool_AsyncDeletePerMachineConnection(p, r2);
968 case 57: { /* winspool_AsyncEnumPerMachineConnections */
969 struct winspool_AsyncEnumPerMachineConnections *r2 = (struct winspool_AsyncEnumPerMachineConnections *)r;
970 if (DEBUGLEVEL >= 10) {
971 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumPerMachineConnections, NDR_IN, r2);
973 NDR_ZERO_STRUCT(r2->out);
974 r2->out.pPrinterEnum = r2->in.pPrinterEnum;
975 r2->out.pcbNeeded = talloc_zero(r2, uint32_t);
976 if (r2->out.pcbNeeded == NULL) {
977 status = NT_STATUS_NO_MEMORY;
978 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
982 r2->out.pcReturned = talloc_zero(r2, uint32_t);
983 if (r2->out.pcReturned == NULL) {
984 status = NT_STATUS_NO_MEMORY;
985 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
989 r2->out.result = _winspool_AsyncEnumPerMachineConnections(p, r2);
992 case 58: { /* winspool_SyncRegisterForRemoteNotifications */
993 struct winspool_SyncRegisterForRemoteNotifications *r2 = (struct winspool_SyncRegisterForRemoteNotifications *)r;
994 if (DEBUGLEVEL >= 10) {
995 NDR_PRINT_FUNCTION_DEBUG(winspool_SyncRegisterForRemoteNotifications, NDR_IN, r2);
997 NDR_ZERO_STRUCT(r2->out);
998 r2->out.phRpcHandle = talloc_zero(r2, struct policy_handle);
999 if (r2->out.phRpcHandle == NULL) {
1000 status = NT_STATUS_NO_MEMORY;
1001 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1005 r2->out.result = _winspool_SyncRegisterForRemoteNotifications(p, r2);
1008 case 59: { /* winspool_SyncUnRegisterForRemoteNotifications */
1009 struct winspool_SyncUnRegisterForRemoteNotifications *r2 = (struct winspool_SyncUnRegisterForRemoteNotifications *)r;
1010 if (DEBUGLEVEL >= 10) {
1011 NDR_PRINT_FUNCTION_DEBUG(winspool_SyncUnRegisterForRemoteNotifications, NDR_IN, r2);
1013 NDR_ZERO_STRUCT(r2->out);
1014 r2->out.phRpcHandle = r2->in.phRpcHandle;
1015 r2->out.result = _winspool_SyncUnRegisterForRemoteNotifications(p, r2);
1018 case 60: { /* winspool_SyncRefreshRemoteNotifications */
1019 struct winspool_SyncRefreshRemoteNotifications *r2 = (struct winspool_SyncRefreshRemoteNotifications *)r;
1020 if (DEBUGLEVEL >= 10) {
1021 NDR_PRINT_FUNCTION_DEBUG(winspool_SyncRefreshRemoteNotifications, NDR_IN, r2);
1023 NDR_ZERO_STRUCT(r2->out);
1024 r2->out.ppNotifyData = talloc_zero(r2, struct winspool_PrintPropertiesCollection *);
1025 if (r2->out.ppNotifyData == NULL) {
1026 status = NT_STATUS_NO_MEMORY;
1027 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1031 r2->out.result = _winspool_SyncRefreshRemoteNotifications(p, r2);
1034 case 61: { /* winspool_AsyncGetRemoteNotifications */
1035 struct winspool_AsyncGetRemoteNotifications *r2 = (struct winspool_AsyncGetRemoteNotifications *)r;
1036 if (DEBUGLEVEL >= 10) {
1037 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetRemoteNotifications, NDR_IN, r2);
1039 NDR_ZERO_STRUCT(r2->out);
1040 r2->out.ppNotifyData = talloc_zero(r2, struct winspool_PrintPropertiesCollection *);
1041 if (r2->out.ppNotifyData == NULL) {
1042 status = NT_STATUS_NO_MEMORY;
1043 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1047 r2->out.result = _winspool_AsyncGetRemoteNotifications(p, r2);
1050 case 62: { /* winspool_AsyncInstallPrinterDriverFromPackage */
1051 struct winspool_AsyncInstallPrinterDriverFromPackage *r2 = (struct winspool_AsyncInstallPrinterDriverFromPackage *)r;
1052 if (DEBUGLEVEL >= 10) {
1053 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncInstallPrinterDriverFromPackage, NDR_IN, r2);
1055 r2->out.result = _winspool_AsyncInstallPrinterDriverFromPackage(p, r2);
1058 case 63: { /* winspool_AsyncUploadPrinterDriverPackage */
1059 struct winspool_AsyncUploadPrinterDriverPackage *r2 = (struct winspool_AsyncUploadPrinterDriverPackage *)r;
1060 if (DEBUGLEVEL >= 10) {
1061 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncUploadPrinterDriverPackage, NDR_IN, r2);
1063 NDR_ZERO_STRUCT(r2->out);
1064 r2->out.pszDestInfPath = r2->in.pszDestInfPath;
1065 r2->out.pcchDestInfPath = r2->in.pcchDestInfPath;
1066 r2->out.result = _winspool_AsyncUploadPrinterDriverPackage(p, r2);
1069 case 64: { /* winspool_AsyncGetCorePrinterDrivers */
1070 struct winspool_AsyncGetCorePrinterDrivers *r2 = (struct winspool_AsyncGetCorePrinterDrivers *)r;
1071 if (DEBUGLEVEL >= 10) {
1072 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetCorePrinterDrivers, NDR_IN, r2);
1074 NDR_ZERO_STRUCT(r2->out);
1075 r2->out.pCorePrinterDrivers = talloc_zero_array(r2, struct spoolss_CorePrinterDriver, r2->in.cCorePrinterDrivers);
1076 if (r2->out.pCorePrinterDrivers == NULL) {
1077 status = NT_STATUS_NO_MEMORY;
1078 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1082 r2->out.result = _winspool_AsyncGetCorePrinterDrivers(p, r2);
1085 case 65: { /* winspool_AsyncCorePrinterDriverInstalled */
1086 struct winspool_AsyncCorePrinterDriverInstalled *r2 = (struct winspool_AsyncCorePrinterDriverInstalled *)r;
1087 if (DEBUGLEVEL >= 10) {
1088 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncCorePrinterDriverInstalled, NDR_IN, r2);
1090 NDR_ZERO_STRUCT(r2->out);
1091 r2->out.pbDriverInstalled = talloc_zero(r2, int32_t);
1092 if (r2->out.pbDriverInstalled == NULL) {
1093 status = NT_STATUS_NO_MEMORY;
1094 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1098 r2->out.result = _winspool_AsyncCorePrinterDriverInstalled(p, r2);
1101 case 66: { /* winspool_AsyncGetPrinterDriverPackagePath */
1102 struct winspool_AsyncGetPrinterDriverPackagePath *r2 = (struct winspool_AsyncGetPrinterDriverPackagePath *)r;
1103 if (DEBUGLEVEL >= 10) {
1104 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetPrinterDriverPackagePath, NDR_IN, r2);
1106 NDR_ZERO_STRUCT(r2->out);
1107 r2->out.pszDriverPackageCab = r2->in.pszDriverPackageCab;
1108 r2->out.pcchRequiredSize = talloc_zero(r2, uint32_t);
1109 if (r2->out.pcchRequiredSize == NULL) {
1110 status = NT_STATUS_NO_MEMORY;
1111 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1115 r2->out.result = _winspool_AsyncGetPrinterDriverPackagePath(p, r2);
1118 case 67: { /* winspool_AsyncDeletePrinterDriverPackage */
1119 struct winspool_AsyncDeletePrinterDriverPackage *r2 = (struct winspool_AsyncDeletePrinterDriverPackage *)r;
1120 if (DEBUGLEVEL >= 10) {
1121 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePrinterDriverPackage, NDR_IN, r2);
1123 r2->out.result = _winspool_AsyncDeletePrinterDriverPackage(p, r2);
1126 case 68: { /* winspool_AsyncReadPrinter */
1127 struct winspool_AsyncReadPrinter *r2 = (struct winspool_AsyncReadPrinter *)r;
1128 if (DEBUGLEVEL >= 10) {
1129 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncReadPrinter, NDR_IN, r2);
1131 NDR_ZERO_STRUCT(r2->out);
1132 r2->out.pBuf = talloc_zero_array(r2, uint8_t, r2->in.cbBuf);
1133 if (r2->out.pBuf == NULL) {
1134 status = NT_STATUS_NO_MEMORY;
1135 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1139 r2->out.pcNoBytesRead = talloc_zero(r2, uint32_t);
1140 if (r2->out.pcNoBytesRead == NULL) {
1141 status = NT_STATUS_NO_MEMORY;
1142 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1146 r2->out.result = _winspool_AsyncReadPrinter(p, r2);
1149 case 69: { /* winspool_AsyncResetPrinter */
1150 struct winspool_AsyncResetPrinter *r2 = (struct winspool_AsyncResetPrinter *)r;
1151 if (DEBUGLEVEL >= 10) {
1152 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncResetPrinter, NDR_IN, r2);
1154 r2->out.result = _winspool_AsyncResetPrinter(p, r2);
1157 case 70: { /* winspool_AsyncGetJobNamedPropertyValue */
1158 struct winspool_AsyncGetJobNamedPropertyValue *r2 = (struct winspool_AsyncGetJobNamedPropertyValue *)r;
1159 if (DEBUGLEVEL >= 10) {
1160 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetJobNamedPropertyValue, NDR_IN, r2);
1162 NDR_ZERO_STRUCT(r2->out);
1163 r2->out.pValue = talloc_zero(r2, struct spoolss_PrintPropertyValue);
1164 if (r2->out.pValue == NULL) {
1165 status = NT_STATUS_NO_MEMORY;
1166 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1170 r2->out.result = _winspool_AsyncGetJobNamedPropertyValue(p, r2);
1173 case 71: { /* winspool_AsyncSetJobNamedProperty */
1174 struct winspool_AsyncSetJobNamedProperty *r2 = (struct winspool_AsyncSetJobNamedProperty *)r;
1175 if (DEBUGLEVEL >= 10) {
1176 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncSetJobNamedProperty, NDR_IN, r2);
1178 r2->out.result = _winspool_AsyncSetJobNamedProperty(p, r2);
1181 case 72: { /* winspool_AsyncDeleteJobNamedProperty */
1182 struct winspool_AsyncDeleteJobNamedProperty *r2 = (struct winspool_AsyncDeleteJobNamedProperty *)r;
1183 if (DEBUGLEVEL >= 10) {
1184 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeleteJobNamedProperty, NDR_IN, r2);
1186 r2->out.result = _winspool_AsyncDeleteJobNamedProperty(p, r2);
1189 case 73: { /* winspool_AsyncEnumJobNamedProperties */
1190 struct winspool_AsyncEnumJobNamedProperties *r2 = (struct winspool_AsyncEnumJobNamedProperties *)r;
1191 if (DEBUGLEVEL >= 10) {
1192 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumJobNamedProperties, NDR_IN, r2);
1194 NDR_ZERO_STRUCT(r2->out);
1195 r2->out.pcProperties = talloc_zero(r2, uint32_t);
1196 if (r2->out.pcProperties == NULL) {
1197 status = NT_STATUS_NO_MEMORY;
1198 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1202 r2->out.ppProperties = talloc_zero(r2, struct spoolss_PrintNamedProperty *);
1203 if (r2->out.ppProperties == NULL) {
1204 status = NT_STATUS_NO_MEMORY;
1205 p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1209 r2->out.result = _winspool_AsyncEnumJobNamedProperties(p, r2);
1212 case 74: { /* winspool_AsyncLogJobInfoForBranchOffice */
1213 struct winspool_AsyncLogJobInfoForBranchOffice *r2 = (struct winspool_AsyncLogJobInfoForBranchOffice *)r;
1214 if (DEBUGLEVEL >= 10) {
1215 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncLogJobInfoForBranchOffice, NDR_IN, r2);
1217 r2->out.result = _winspool_AsyncLogJobInfoForBranchOffice(p, r2);
1221 dce_call->fault_code = DCERPC_FAULT_OP_RNG_ERROR;
1228 unbecome_authenticated_pipe_user();
1233 p->auth.auth_type = 0;
1234 p->auth.auth_level = 0;
1235 p->auth.auth_context_id = 0;
1236 /* Check pipes struct fault state */
1237 if (p->fault_state != 0) {
1238 dce_call->fault_code = p->fault_state;
1240 if (dce_call->fault_code != 0) {
1241 status = NT_STATUS_NET_WRITE_FAULT;
1247 NTSTATUS iremotewinspool__op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r)
1249 return iremotewinspool__op_dispatch_internal(dce_call, mem_ctx, r, false);
1252 NTSTATUS iremotewinspool__op_reply(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r)
1254 uint16_t opnum = dce_call->pkt.u.request.opnum;
1256 if (forward_opnum_to_spoolss(opnum)) {
1257 return spoolss__op_reply(dce_call, mem_ctx, r);
1261 case 0: { /* winspool_AsyncOpenPrinter */
1262 struct winspool_AsyncOpenPrinter *r2 = (struct winspool_AsyncOpenPrinter *)r;
1263 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1264 DEBUG(5,("function winspool_AsyncOpenPrinter replied async\n"));
1266 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1267 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncOpenPrinter, NDR_OUT | NDR_SET_VALUES, r2);
1269 if (dce_call->fault_code != 0) {
1270 DBG_WARNING("dcerpc_fault %s in winspool_AsyncOpenPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1274 case 1: { /* winspool_AsyncAddPrinter */
1275 struct winspool_AsyncAddPrinter *r2 = (struct winspool_AsyncAddPrinter *)r;
1276 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1277 DEBUG(5,("function winspool_AsyncAddPrinter replied async\n"));
1279 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1280 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncAddPrinter, NDR_OUT | NDR_SET_VALUES, r2);
1282 if (dce_call->fault_code != 0) {
1283 DBG_WARNING("dcerpc_fault %s in winspool_AsyncAddPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1287 case 2: { /* winspool_AsyncSetJob */
1288 struct winspool_AsyncSetJob *r2 = (struct winspool_AsyncSetJob *)r;
1289 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1290 DEBUG(5,("function winspool_AsyncSetJob replied async\n"));
1292 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1293 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncSetJob, NDR_OUT | NDR_SET_VALUES, r2);
1295 if (dce_call->fault_code != 0) {
1296 DBG_WARNING("dcerpc_fault %s in winspool_AsyncSetJob\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1300 case 3: { /* winspool_AsyncGetJob */
1301 struct winspool_AsyncGetJob *r2 = (struct winspool_AsyncGetJob *)r;
1302 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1303 DEBUG(5,("function winspool_AsyncGetJob replied async\n"));
1305 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1306 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetJob, NDR_OUT | NDR_SET_VALUES, r2);
1308 if (dce_call->fault_code != 0) {
1309 DBG_WARNING("dcerpc_fault %s in winspool_AsyncGetJob\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1313 case 4: { /* winspool_AsyncEnumJobs */
1314 struct winspool_AsyncEnumJobs *r2 = (struct winspool_AsyncEnumJobs *)r;
1315 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1316 DEBUG(5,("function winspool_AsyncEnumJobs replied async\n"));
1318 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1319 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumJobs, NDR_OUT | NDR_SET_VALUES, r2);
1321 if (dce_call->fault_code != 0) {
1322 DBG_WARNING("dcerpc_fault %s in winspool_AsyncEnumJobs\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1326 case 5: { /* winspool_AsyncAddJob */
1327 struct winspool_AsyncAddJob *r2 = (struct winspool_AsyncAddJob *)r;
1328 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1329 DEBUG(5,("function winspool_AsyncAddJob replied async\n"));
1331 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1332 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncAddJob, NDR_OUT | NDR_SET_VALUES, r2);
1334 if (dce_call->fault_code != 0) {
1335 DBG_WARNING("dcerpc_fault %s in winspool_AsyncAddJob\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1339 case 6: { /* winspool_AsyncScheduleJob */
1340 struct winspool_AsyncScheduleJob *r2 = (struct winspool_AsyncScheduleJob *)r;
1341 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1342 DEBUG(5,("function winspool_AsyncScheduleJob replied async\n"));
1344 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1345 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncScheduleJob, NDR_OUT | NDR_SET_VALUES, r2);
1347 if (dce_call->fault_code != 0) {
1348 DBG_WARNING("dcerpc_fault %s in winspool_AsyncScheduleJob\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1352 case 7: { /* winspool_AsyncDeletePrinter */
1353 struct winspool_AsyncDeletePrinter *r2 = (struct winspool_AsyncDeletePrinter *)r;
1354 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1355 DEBUG(5,("function winspool_AsyncDeletePrinter replied async\n"));
1357 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1358 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePrinter, NDR_OUT | NDR_SET_VALUES, r2);
1360 if (dce_call->fault_code != 0) {
1361 DBG_WARNING("dcerpc_fault %s in winspool_AsyncDeletePrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1365 case 8: { /* winspool_AsyncSetPrinter */
1366 struct winspool_AsyncSetPrinter *r2 = (struct winspool_AsyncSetPrinter *)r;
1367 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1368 DEBUG(5,("function winspool_AsyncSetPrinter replied async\n"));
1370 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1371 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncSetPrinter, NDR_OUT | NDR_SET_VALUES, r2);
1373 if (dce_call->fault_code != 0) {
1374 DBG_WARNING("dcerpc_fault %s in winspool_AsyncSetPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1378 case 9: { /* winspool_AsyncGetPrinter */
1379 struct winspool_AsyncGetPrinter *r2 = (struct winspool_AsyncGetPrinter *)r;
1380 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1381 DEBUG(5,("function winspool_AsyncGetPrinter replied async\n"));
1383 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1384 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetPrinter, NDR_OUT | NDR_SET_VALUES, r2);
1386 if (dce_call->fault_code != 0) {
1387 DBG_WARNING("dcerpc_fault %s in winspool_AsyncGetPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1391 case 10: { /* winspool_AsyncStartDocPrinter */
1392 struct winspool_AsyncStartDocPrinter *r2 = (struct winspool_AsyncStartDocPrinter *)r;
1393 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1394 DEBUG(5,("function winspool_AsyncStartDocPrinter replied async\n"));
1396 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1397 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncStartDocPrinter, NDR_OUT | NDR_SET_VALUES, r2);
1399 if (dce_call->fault_code != 0) {
1400 DBG_WARNING("dcerpc_fault %s in winspool_AsyncStartDocPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1404 case 11: { /* winspool_AsyncStartPagePrinter */
1405 struct winspool_AsyncStartPagePrinter *r2 = (struct winspool_AsyncStartPagePrinter *)r;
1406 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1407 DEBUG(5,("function winspool_AsyncStartPagePrinter replied async\n"));
1409 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1410 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncStartPagePrinter, NDR_OUT | NDR_SET_VALUES, r2);
1412 if (dce_call->fault_code != 0) {
1413 DBG_WARNING("dcerpc_fault %s in winspool_AsyncStartPagePrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1417 case 12: { /* winspool_AsyncWritePrinter */
1418 struct winspool_AsyncWritePrinter *r2 = (struct winspool_AsyncWritePrinter *)r;
1419 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1420 DEBUG(5,("function winspool_AsyncWritePrinter replied async\n"));
1422 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1423 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncWritePrinter, NDR_OUT | NDR_SET_VALUES, r2);
1425 if (dce_call->fault_code != 0) {
1426 DBG_WARNING("dcerpc_fault %s in winspool_AsyncWritePrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1430 case 13: { /* winspool_AsyncEndPagePrinter */
1431 struct winspool_AsyncEndPagePrinter *r2 = (struct winspool_AsyncEndPagePrinter *)r;
1432 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1433 DEBUG(5,("function winspool_AsyncEndPagePrinter replied async\n"));
1435 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1436 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEndPagePrinter, NDR_OUT | NDR_SET_VALUES, r2);
1438 if (dce_call->fault_code != 0) {
1439 DBG_WARNING("dcerpc_fault %s in winspool_AsyncEndPagePrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1443 case 14: { /* winspool_AsyncEndDocPrinter */
1444 struct winspool_AsyncEndDocPrinter *r2 = (struct winspool_AsyncEndDocPrinter *)r;
1445 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1446 DEBUG(5,("function winspool_AsyncEndDocPrinter replied async\n"));
1448 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1449 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEndDocPrinter, NDR_OUT | NDR_SET_VALUES, r2);
1451 if (dce_call->fault_code != 0) {
1452 DBG_WARNING("dcerpc_fault %s in winspool_AsyncEndDocPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1456 case 15: { /* winspool_AsyncAbortPrinter */
1457 struct winspool_AsyncAbortPrinter *r2 = (struct winspool_AsyncAbortPrinter *)r;
1458 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1459 DEBUG(5,("function winspool_AsyncAbortPrinter replied async\n"));
1461 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1462 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncAbortPrinter, NDR_OUT | NDR_SET_VALUES, r2);
1464 if (dce_call->fault_code != 0) {
1465 DBG_WARNING("dcerpc_fault %s in winspool_AsyncAbortPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1469 case 16: { /* winspool_AsyncGetPrinterData */
1470 struct winspool_AsyncGetPrinterData *r2 = (struct winspool_AsyncGetPrinterData *)r;
1471 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1472 DEBUG(5,("function winspool_AsyncGetPrinterData replied async\n"));
1474 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1475 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetPrinterData, NDR_OUT | NDR_SET_VALUES, r2);
1477 if (dce_call->fault_code != 0) {
1478 DBG_WARNING("dcerpc_fault %s in winspool_AsyncGetPrinterData\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1482 case 17: { /* winspool_AsyncGetPrinterDataEx */
1483 struct winspool_AsyncGetPrinterDataEx *r2 = (struct winspool_AsyncGetPrinterDataEx *)r;
1484 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1485 DEBUG(5,("function winspool_AsyncGetPrinterDataEx replied async\n"));
1487 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1488 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetPrinterDataEx, NDR_OUT | NDR_SET_VALUES, r2);
1490 if (dce_call->fault_code != 0) {
1491 DBG_WARNING("dcerpc_fault %s in winspool_AsyncGetPrinterDataEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1495 case 18: { /* winspool_AsyncSetPrinterData */
1496 struct winspool_AsyncSetPrinterData *r2 = (struct winspool_AsyncSetPrinterData *)r;
1497 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1498 DEBUG(5,("function winspool_AsyncSetPrinterData replied async\n"));
1500 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1501 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncSetPrinterData, NDR_OUT | NDR_SET_VALUES, r2);
1503 if (dce_call->fault_code != 0) {
1504 DBG_WARNING("dcerpc_fault %s in winspool_AsyncSetPrinterData\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1508 case 19: { /* winspool_AsyncSetPrinterDataEx */
1509 struct winspool_AsyncSetPrinterDataEx *r2 = (struct winspool_AsyncSetPrinterDataEx *)r;
1510 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1511 DEBUG(5,("function winspool_AsyncSetPrinterDataEx replied async\n"));
1513 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1514 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncSetPrinterDataEx, NDR_OUT | NDR_SET_VALUES, r2);
1516 if (dce_call->fault_code != 0) {
1517 DBG_WARNING("dcerpc_fault %s in winspool_AsyncSetPrinterDataEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1521 case 20: { /* winspool_AsyncClosePrinter */
1522 struct winspool_AsyncClosePrinter *r2 = (struct winspool_AsyncClosePrinter *)r;
1523 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1524 DEBUG(5,("function winspool_AsyncClosePrinter replied async\n"));
1526 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1527 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncClosePrinter, NDR_OUT | NDR_SET_VALUES, r2);
1529 if (dce_call->fault_code != 0) {
1530 DBG_WARNING("dcerpc_fault %s in winspool_AsyncClosePrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1534 case 21: { /* winspool_AsyncAddForm */
1535 struct winspool_AsyncAddForm *r2 = (struct winspool_AsyncAddForm *)r;
1536 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1537 DEBUG(5,("function winspool_AsyncAddForm replied async\n"));
1539 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1540 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncAddForm, NDR_OUT | NDR_SET_VALUES, r2);
1542 if (dce_call->fault_code != 0) {
1543 DBG_WARNING("dcerpc_fault %s in winspool_AsyncAddForm\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1547 case 22: { /* winspool_AsyncDeleteForm */
1548 struct winspool_AsyncDeleteForm *r2 = (struct winspool_AsyncDeleteForm *)r;
1549 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1550 DEBUG(5,("function winspool_AsyncDeleteForm replied async\n"));
1552 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1553 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeleteForm, NDR_OUT | NDR_SET_VALUES, r2);
1555 if (dce_call->fault_code != 0) {
1556 DBG_WARNING("dcerpc_fault %s in winspool_AsyncDeleteForm\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1560 case 23: { /* winspool_AsyncGetForm */
1561 struct winspool_AsyncGetForm *r2 = (struct winspool_AsyncGetForm *)r;
1562 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1563 DEBUG(5,("function winspool_AsyncGetForm replied async\n"));
1565 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1566 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetForm, NDR_OUT | NDR_SET_VALUES, r2);
1568 if (dce_call->fault_code != 0) {
1569 DBG_WARNING("dcerpc_fault %s in winspool_AsyncGetForm\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1573 case 24: { /* winspool_AsyncSetForm */
1574 struct winspool_AsyncSetForm *r2 = (struct winspool_AsyncSetForm *)r;
1575 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1576 DEBUG(5,("function winspool_AsyncSetForm replied async\n"));
1578 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1579 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncSetForm, NDR_OUT | NDR_SET_VALUES, r2);
1581 if (dce_call->fault_code != 0) {
1582 DBG_WARNING("dcerpc_fault %s in winspool_AsyncSetForm\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1586 case 25: { /* winspool_AsyncEnumForms */
1587 struct winspool_AsyncEnumForms *r2 = (struct winspool_AsyncEnumForms *)r;
1588 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1589 DEBUG(5,("function winspool_AsyncEnumForms replied async\n"));
1591 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1592 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumForms, NDR_OUT | NDR_SET_VALUES, r2);
1594 if (dce_call->fault_code != 0) {
1595 DBG_WARNING("dcerpc_fault %s in winspool_AsyncEnumForms\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1599 case 26: { /* winspool_AsyncGetPrinterDriver */
1600 struct winspool_AsyncGetPrinterDriver *r2 = (struct winspool_AsyncGetPrinterDriver *)r;
1601 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1602 DEBUG(5,("function winspool_AsyncGetPrinterDriver replied async\n"));
1604 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1605 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetPrinterDriver, NDR_OUT | NDR_SET_VALUES, r2);
1607 if (dce_call->fault_code != 0) {
1608 DBG_WARNING("dcerpc_fault %s in winspool_AsyncGetPrinterDriver\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1612 case 27: { /* winspool_AsyncEnumPrinterData */
1613 struct winspool_AsyncEnumPrinterData *r2 = (struct winspool_AsyncEnumPrinterData *)r;
1614 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1615 DEBUG(5,("function winspool_AsyncEnumPrinterData replied async\n"));
1617 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1618 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumPrinterData, NDR_OUT | NDR_SET_VALUES, r2);
1620 if (dce_call->fault_code != 0) {
1621 DBG_WARNING("dcerpc_fault %s in winspool_AsyncEnumPrinterData\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1625 case 28: { /* winspool_AsyncEnumPrinterDataEx */
1626 struct winspool_AsyncEnumPrinterDataEx *r2 = (struct winspool_AsyncEnumPrinterDataEx *)r;
1627 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1628 DEBUG(5,("function winspool_AsyncEnumPrinterDataEx replied async\n"));
1630 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1631 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumPrinterDataEx, NDR_OUT | NDR_SET_VALUES, r2);
1633 if (dce_call->fault_code != 0) {
1634 DBG_WARNING("dcerpc_fault %s in winspool_AsyncEnumPrinterDataEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1638 case 29: { /* winspool_AsyncEnumPrinterKey */
1639 struct winspool_AsyncEnumPrinterKey *r2 = (struct winspool_AsyncEnumPrinterKey *)r;
1640 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1641 DEBUG(5,("function winspool_AsyncEnumPrinterKey replied async\n"));
1643 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1644 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumPrinterKey, NDR_OUT | NDR_SET_VALUES, r2);
1646 if (dce_call->fault_code != 0) {
1647 DBG_WARNING("dcerpc_fault %s in winspool_AsyncEnumPrinterKey\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1651 case 30: { /* winspool_AsyncDeletePrinterData */
1652 struct winspool_AsyncDeletePrinterData *r2 = (struct winspool_AsyncDeletePrinterData *)r;
1653 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1654 DEBUG(5,("function winspool_AsyncDeletePrinterData replied async\n"));
1656 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1657 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePrinterData, NDR_OUT | NDR_SET_VALUES, r2);
1659 if (dce_call->fault_code != 0) {
1660 DBG_WARNING("dcerpc_fault %s in winspool_AsyncDeletePrinterData\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1664 case 31: { /* winspool_AsyncDeletePrinterDataEx */
1665 struct winspool_AsyncDeletePrinterDataEx *r2 = (struct winspool_AsyncDeletePrinterDataEx *)r;
1666 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1667 DEBUG(5,("function winspool_AsyncDeletePrinterDataEx replied async\n"));
1669 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1670 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePrinterDataEx, NDR_OUT | NDR_SET_VALUES, r2);
1672 if (dce_call->fault_code != 0) {
1673 DBG_WARNING("dcerpc_fault %s in winspool_AsyncDeletePrinterDataEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1677 case 32: { /* winspool_AsyncDeletePrinterKey */
1678 struct winspool_AsyncDeletePrinterKey *r2 = (struct winspool_AsyncDeletePrinterKey *)r;
1679 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1680 DEBUG(5,("function winspool_AsyncDeletePrinterKey replied async\n"));
1682 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1683 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePrinterKey, NDR_OUT | NDR_SET_VALUES, r2);
1685 if (dce_call->fault_code != 0) {
1686 DBG_WARNING("dcerpc_fault %s in winspool_AsyncDeletePrinterKey\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1690 case 33: { /* winspool_AsyncXcvData */
1691 struct winspool_AsyncXcvData *r2 = (struct winspool_AsyncXcvData *)r;
1692 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1693 DEBUG(5,("function winspool_AsyncXcvData replied async\n"));
1695 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1696 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncXcvData, NDR_OUT | NDR_SET_VALUES, r2);
1698 if (dce_call->fault_code != 0) {
1699 DBG_WARNING("dcerpc_fault %s in winspool_AsyncXcvData\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1703 case 34: { /* winspool_AsyncSendRecvBidiData */
1704 struct winspool_AsyncSendRecvBidiData *r2 = (struct winspool_AsyncSendRecvBidiData *)r;
1705 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1706 DEBUG(5,("function winspool_AsyncSendRecvBidiData replied async\n"));
1708 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1709 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncSendRecvBidiData, NDR_OUT | NDR_SET_VALUES, r2);
1711 if (dce_call->fault_code != 0) {
1712 DBG_WARNING("dcerpc_fault %s in winspool_AsyncSendRecvBidiData\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1716 case 35: { /* winspool_AsyncCreatePrinterIC */
1717 struct winspool_AsyncCreatePrinterIC *r2 = (struct winspool_AsyncCreatePrinterIC *)r;
1718 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1719 DEBUG(5,("function winspool_AsyncCreatePrinterIC replied async\n"));
1721 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1722 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncCreatePrinterIC, NDR_OUT | NDR_SET_VALUES, r2);
1724 if (dce_call->fault_code != 0) {
1725 DBG_WARNING("dcerpc_fault %s in winspool_AsyncCreatePrinterIC\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1729 case 36: { /* winspool_AsyncPlayGdiScriptOnPrinterIC */
1730 struct winspool_AsyncPlayGdiScriptOnPrinterIC *r2 = (struct winspool_AsyncPlayGdiScriptOnPrinterIC *)r;
1731 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1732 DEBUG(5,("function winspool_AsyncPlayGdiScriptOnPrinterIC replied async\n"));
1734 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1735 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncPlayGdiScriptOnPrinterIC, NDR_OUT | NDR_SET_VALUES, r2);
1737 if (dce_call->fault_code != 0) {
1738 DBG_WARNING("dcerpc_fault %s in winspool_AsyncPlayGdiScriptOnPrinterIC\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1742 case 37: { /* winspool_AsyncDeletePrinterIC */
1743 struct winspool_AsyncDeletePrinterIC *r2 = (struct winspool_AsyncDeletePrinterIC *)r;
1744 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1745 DEBUG(5,("function winspool_AsyncDeletePrinterIC replied async\n"));
1747 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1748 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePrinterIC, NDR_OUT | NDR_SET_VALUES, r2);
1750 if (dce_call->fault_code != 0) {
1751 DBG_WARNING("dcerpc_fault %s in winspool_AsyncDeletePrinterIC\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1755 case 38: { /* winspool_AsyncEnumPrinters */
1756 struct winspool_AsyncEnumPrinters *r2 = (struct winspool_AsyncEnumPrinters *)r;
1757 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1758 DEBUG(5,("function winspool_AsyncEnumPrinters replied async\n"));
1760 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1761 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumPrinters, NDR_OUT | NDR_SET_VALUES, r2);
1763 if (dce_call->fault_code != 0) {
1764 DBG_WARNING("dcerpc_fault %s in winspool_AsyncEnumPrinters\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1768 case 39: { /* winspool_AsyncAddPrinterDriver */
1769 struct winspool_AsyncAddPrinterDriver *r2 = (struct winspool_AsyncAddPrinterDriver *)r;
1770 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1771 DEBUG(5,("function winspool_AsyncAddPrinterDriver replied async\n"));
1773 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1774 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncAddPrinterDriver, NDR_OUT | NDR_SET_VALUES, r2);
1776 if (dce_call->fault_code != 0) {
1777 DBG_WARNING("dcerpc_fault %s in winspool_AsyncAddPrinterDriver\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1781 case 40: { /* winspool_AsyncEnumPrinterDrivers */
1782 struct winspool_AsyncEnumPrinterDrivers *r2 = (struct winspool_AsyncEnumPrinterDrivers *)r;
1783 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1784 DEBUG(5,("function winspool_AsyncEnumPrinterDrivers replied async\n"));
1786 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1787 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumPrinterDrivers, NDR_OUT | NDR_SET_VALUES, r2);
1789 if (dce_call->fault_code != 0) {
1790 DBG_WARNING("dcerpc_fault %s in winspool_AsyncEnumPrinterDrivers\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1794 case 41: { /* winspool_AsyncGetPrinterDriverDirectory */
1795 struct winspool_AsyncGetPrinterDriverDirectory *r2 = (struct winspool_AsyncGetPrinterDriverDirectory *)r;
1796 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1797 DEBUG(5,("function winspool_AsyncGetPrinterDriverDirectory replied async\n"));
1799 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1800 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetPrinterDriverDirectory, NDR_OUT | NDR_SET_VALUES, r2);
1802 if (dce_call->fault_code != 0) {
1803 DBG_WARNING("dcerpc_fault %s in winspool_AsyncGetPrinterDriverDirectory\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1807 case 42: { /* winspool_AsyncDeletePrinterDriver */
1808 struct winspool_AsyncDeletePrinterDriver *r2 = (struct winspool_AsyncDeletePrinterDriver *)r;
1809 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1810 DEBUG(5,("function winspool_AsyncDeletePrinterDriver replied async\n"));
1812 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1813 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePrinterDriver, NDR_OUT | NDR_SET_VALUES, r2);
1815 if (dce_call->fault_code != 0) {
1816 DBG_WARNING("dcerpc_fault %s in winspool_AsyncDeletePrinterDriver\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1820 case 43: { /* winspool_AsyncDeletePrinterDriverEx */
1821 struct winspool_AsyncDeletePrinterDriverEx *r2 = (struct winspool_AsyncDeletePrinterDriverEx *)r;
1822 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1823 DEBUG(5,("function winspool_AsyncDeletePrinterDriverEx replied async\n"));
1825 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1826 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePrinterDriverEx, NDR_OUT | NDR_SET_VALUES, r2);
1828 if (dce_call->fault_code != 0) {
1829 DBG_WARNING("dcerpc_fault %s in winspool_AsyncDeletePrinterDriverEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1833 case 44: { /* winspool_AsyncAddPrintProcessor */
1834 struct winspool_AsyncAddPrintProcessor *r2 = (struct winspool_AsyncAddPrintProcessor *)r;
1835 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1836 DEBUG(5,("function winspool_AsyncAddPrintProcessor replied async\n"));
1838 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1839 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncAddPrintProcessor, NDR_OUT | NDR_SET_VALUES, r2);
1841 if (dce_call->fault_code != 0) {
1842 DBG_WARNING("dcerpc_fault %s in winspool_AsyncAddPrintProcessor\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1846 case 45: { /* winspool_AsyncEnumPrintProcessors */
1847 struct winspool_AsyncEnumPrintProcessors *r2 = (struct winspool_AsyncEnumPrintProcessors *)r;
1848 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1849 DEBUG(5,("function winspool_AsyncEnumPrintProcessors replied async\n"));
1851 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1852 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumPrintProcessors, NDR_OUT | NDR_SET_VALUES, r2);
1854 if (dce_call->fault_code != 0) {
1855 DBG_WARNING("dcerpc_fault %s in winspool_AsyncEnumPrintProcessors\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1859 case 46: { /* winspool_AsyncGetPrintProcessorDirectory */
1860 struct winspool_AsyncGetPrintProcessorDirectory *r2 = (struct winspool_AsyncGetPrintProcessorDirectory *)r;
1861 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1862 DEBUG(5,("function winspool_AsyncGetPrintProcessorDirectory replied async\n"));
1864 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1865 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetPrintProcessorDirectory, NDR_OUT | NDR_SET_VALUES, r2);
1867 if (dce_call->fault_code != 0) {
1868 DBG_WARNING("dcerpc_fault %s in winspool_AsyncGetPrintProcessorDirectory\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1872 case 47: { /* winspool_AsyncEnumPorts */
1873 struct winspool_AsyncEnumPorts *r2 = (struct winspool_AsyncEnumPorts *)r;
1874 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1875 DEBUG(5,("function winspool_AsyncEnumPorts replied async\n"));
1877 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1878 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumPorts, NDR_OUT | NDR_SET_VALUES, r2);
1880 if (dce_call->fault_code != 0) {
1881 DBG_WARNING("dcerpc_fault %s in winspool_AsyncEnumPorts\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1885 case 48: { /* winspool_AsyncEnumMonitors */
1886 struct winspool_AsyncEnumMonitors *r2 = (struct winspool_AsyncEnumMonitors *)r;
1887 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1888 DEBUG(5,("function winspool_AsyncEnumMonitors replied async\n"));
1890 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1891 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumMonitors, NDR_OUT | NDR_SET_VALUES, r2);
1893 if (dce_call->fault_code != 0) {
1894 DBG_WARNING("dcerpc_fault %s in winspool_AsyncEnumMonitors\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1898 case 49: { /* winspool_AsyncAddPort */
1899 struct winspool_AsyncAddPort *r2 = (struct winspool_AsyncAddPort *)r;
1900 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1901 DEBUG(5,("function winspool_AsyncAddPort replied async\n"));
1903 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1904 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncAddPort, NDR_OUT | NDR_SET_VALUES, r2);
1906 if (dce_call->fault_code != 0) {
1907 DBG_WARNING("dcerpc_fault %s in winspool_AsyncAddPort\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1911 case 50: { /* winspool_AsyncSetPort */
1912 struct winspool_AsyncSetPort *r2 = (struct winspool_AsyncSetPort *)r;
1913 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1914 DEBUG(5,("function winspool_AsyncSetPort replied async\n"));
1916 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1917 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncSetPort, NDR_OUT | NDR_SET_VALUES, r2);
1919 if (dce_call->fault_code != 0) {
1920 DBG_WARNING("dcerpc_fault %s in winspool_AsyncSetPort\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1924 case 51: { /* winspool_AsyncAddMonitor */
1925 struct winspool_AsyncAddMonitor *r2 = (struct winspool_AsyncAddMonitor *)r;
1926 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1927 DEBUG(5,("function winspool_AsyncAddMonitor replied async\n"));
1929 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1930 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncAddMonitor, NDR_OUT | NDR_SET_VALUES, r2);
1932 if (dce_call->fault_code != 0) {
1933 DBG_WARNING("dcerpc_fault %s in winspool_AsyncAddMonitor\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1937 case 52: { /* winspool_AsyncDeleteMonitor */
1938 struct winspool_AsyncDeleteMonitor *r2 = (struct winspool_AsyncDeleteMonitor *)r;
1939 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1940 DEBUG(5,("function winspool_AsyncDeleteMonitor replied async\n"));
1942 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1943 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeleteMonitor, NDR_OUT | NDR_SET_VALUES, r2);
1945 if (dce_call->fault_code != 0) {
1946 DBG_WARNING("dcerpc_fault %s in winspool_AsyncDeleteMonitor\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1950 case 53: { /* winspool_AsyncDeletePrintProcessor */
1951 struct winspool_AsyncDeletePrintProcessor *r2 = (struct winspool_AsyncDeletePrintProcessor *)r;
1952 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1953 DEBUG(5,("function winspool_AsyncDeletePrintProcessor replied async\n"));
1955 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1956 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePrintProcessor, NDR_OUT | NDR_SET_VALUES, r2);
1958 if (dce_call->fault_code != 0) {
1959 DBG_WARNING("dcerpc_fault %s in winspool_AsyncDeletePrintProcessor\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1963 case 54: { /* winspool_AsyncEnumPrintProcessorDatatypes */
1964 struct winspool_AsyncEnumPrintProcessorDatatypes *r2 = (struct winspool_AsyncEnumPrintProcessorDatatypes *)r;
1965 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1966 DEBUG(5,("function winspool_AsyncEnumPrintProcessorDatatypes replied async\n"));
1968 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1969 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumPrintProcessorDatatypes, NDR_OUT | NDR_SET_VALUES, r2);
1971 if (dce_call->fault_code != 0) {
1972 DBG_WARNING("dcerpc_fault %s in winspool_AsyncEnumPrintProcessorDatatypes\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1976 case 55: { /* winspool_AsyncAddPerMachineConnection */
1977 struct winspool_AsyncAddPerMachineConnection *r2 = (struct winspool_AsyncAddPerMachineConnection *)r;
1978 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1979 DEBUG(5,("function winspool_AsyncAddPerMachineConnection replied async\n"));
1981 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1982 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncAddPerMachineConnection, NDR_OUT | NDR_SET_VALUES, r2);
1984 if (dce_call->fault_code != 0) {
1985 DBG_WARNING("dcerpc_fault %s in winspool_AsyncAddPerMachineConnection\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1989 case 56: { /* winspool_AsyncDeletePerMachineConnection */
1990 struct winspool_AsyncDeletePerMachineConnection *r2 = (struct winspool_AsyncDeletePerMachineConnection *)r;
1991 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1992 DEBUG(5,("function winspool_AsyncDeletePerMachineConnection replied async\n"));
1994 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1995 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePerMachineConnection, NDR_OUT | NDR_SET_VALUES, r2);
1997 if (dce_call->fault_code != 0) {
1998 DBG_WARNING("dcerpc_fault %s in winspool_AsyncDeletePerMachineConnection\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2002 case 57: { /* winspool_AsyncEnumPerMachineConnections */
2003 struct winspool_AsyncEnumPerMachineConnections *r2 = (struct winspool_AsyncEnumPerMachineConnections *)r;
2004 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2005 DEBUG(5,("function winspool_AsyncEnumPerMachineConnections replied async\n"));
2007 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2008 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumPerMachineConnections, NDR_OUT | NDR_SET_VALUES, r2);
2010 if (dce_call->fault_code != 0) {
2011 DBG_WARNING("dcerpc_fault %s in winspool_AsyncEnumPerMachineConnections\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2015 case 58: { /* winspool_SyncRegisterForRemoteNotifications */
2016 struct winspool_SyncRegisterForRemoteNotifications *r2 = (struct winspool_SyncRegisterForRemoteNotifications *)r;
2017 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2018 DEBUG(5,("function winspool_SyncRegisterForRemoteNotifications replied async\n"));
2020 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2021 NDR_PRINT_FUNCTION_DEBUG(winspool_SyncRegisterForRemoteNotifications, NDR_OUT | NDR_SET_VALUES, r2);
2023 if (dce_call->fault_code != 0) {
2024 DBG_WARNING("dcerpc_fault %s in winspool_SyncRegisterForRemoteNotifications\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2028 case 59: { /* winspool_SyncUnRegisterForRemoteNotifications */
2029 struct winspool_SyncUnRegisterForRemoteNotifications *r2 = (struct winspool_SyncUnRegisterForRemoteNotifications *)r;
2030 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2031 DEBUG(5,("function winspool_SyncUnRegisterForRemoteNotifications replied async\n"));
2033 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2034 NDR_PRINT_FUNCTION_DEBUG(winspool_SyncUnRegisterForRemoteNotifications, NDR_OUT | NDR_SET_VALUES, r2);
2036 if (dce_call->fault_code != 0) {
2037 DBG_WARNING("dcerpc_fault %s in winspool_SyncUnRegisterForRemoteNotifications\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2041 case 60: { /* winspool_SyncRefreshRemoteNotifications */
2042 struct winspool_SyncRefreshRemoteNotifications *r2 = (struct winspool_SyncRefreshRemoteNotifications *)r;
2043 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2044 DEBUG(5,("function winspool_SyncRefreshRemoteNotifications replied async\n"));
2046 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2047 NDR_PRINT_FUNCTION_DEBUG(winspool_SyncRefreshRemoteNotifications, NDR_OUT | NDR_SET_VALUES, r2);
2049 if (dce_call->fault_code != 0) {
2050 DBG_WARNING("dcerpc_fault %s in winspool_SyncRefreshRemoteNotifications\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2054 case 61: { /* winspool_AsyncGetRemoteNotifications */
2055 struct winspool_AsyncGetRemoteNotifications *r2 = (struct winspool_AsyncGetRemoteNotifications *)r;
2056 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2057 DEBUG(5,("function winspool_AsyncGetRemoteNotifications replied async\n"));
2059 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2060 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetRemoteNotifications, NDR_OUT | NDR_SET_VALUES, r2);
2062 if (dce_call->fault_code != 0) {
2063 DBG_WARNING("dcerpc_fault %s in winspool_AsyncGetRemoteNotifications\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2067 case 62: { /* winspool_AsyncInstallPrinterDriverFromPackage */
2068 struct winspool_AsyncInstallPrinterDriverFromPackage *r2 = (struct winspool_AsyncInstallPrinterDriverFromPackage *)r;
2069 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2070 DEBUG(5,("function winspool_AsyncInstallPrinterDriverFromPackage replied async\n"));
2072 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2073 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncInstallPrinterDriverFromPackage, NDR_OUT | NDR_SET_VALUES, r2);
2075 if (dce_call->fault_code != 0) {
2076 DBG_WARNING("dcerpc_fault %s in winspool_AsyncInstallPrinterDriverFromPackage\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2080 case 63: { /* winspool_AsyncUploadPrinterDriverPackage */
2081 struct winspool_AsyncUploadPrinterDriverPackage *r2 = (struct winspool_AsyncUploadPrinterDriverPackage *)r;
2082 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2083 DEBUG(5,("function winspool_AsyncUploadPrinterDriverPackage replied async\n"));
2085 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2086 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncUploadPrinterDriverPackage, NDR_OUT | NDR_SET_VALUES, r2);
2088 if (dce_call->fault_code != 0) {
2089 DBG_WARNING("dcerpc_fault %s in winspool_AsyncUploadPrinterDriverPackage\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2093 case 64: { /* winspool_AsyncGetCorePrinterDrivers */
2094 struct winspool_AsyncGetCorePrinterDrivers *r2 = (struct winspool_AsyncGetCorePrinterDrivers *)r;
2095 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2096 DEBUG(5,("function winspool_AsyncGetCorePrinterDrivers replied async\n"));
2098 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2099 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetCorePrinterDrivers, NDR_OUT | NDR_SET_VALUES, r2);
2101 if (dce_call->fault_code != 0) {
2102 DBG_WARNING("dcerpc_fault %s in winspool_AsyncGetCorePrinterDrivers\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2106 case 65: { /* winspool_AsyncCorePrinterDriverInstalled */
2107 struct winspool_AsyncCorePrinterDriverInstalled *r2 = (struct winspool_AsyncCorePrinterDriverInstalled *)r;
2108 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2109 DEBUG(5,("function winspool_AsyncCorePrinterDriverInstalled replied async\n"));
2111 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2112 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncCorePrinterDriverInstalled, NDR_OUT | NDR_SET_VALUES, r2);
2114 if (dce_call->fault_code != 0) {
2115 DBG_WARNING("dcerpc_fault %s in winspool_AsyncCorePrinterDriverInstalled\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2119 case 66: { /* winspool_AsyncGetPrinterDriverPackagePath */
2120 struct winspool_AsyncGetPrinterDriverPackagePath *r2 = (struct winspool_AsyncGetPrinterDriverPackagePath *)r;
2121 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2122 DEBUG(5,("function winspool_AsyncGetPrinterDriverPackagePath replied async\n"));
2124 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2125 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetPrinterDriverPackagePath, NDR_OUT | NDR_SET_VALUES, r2);
2127 if (dce_call->fault_code != 0) {
2128 DBG_WARNING("dcerpc_fault %s in winspool_AsyncGetPrinterDriverPackagePath\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2132 case 67: { /* winspool_AsyncDeletePrinterDriverPackage */
2133 struct winspool_AsyncDeletePrinterDriverPackage *r2 = (struct winspool_AsyncDeletePrinterDriverPackage *)r;
2134 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2135 DEBUG(5,("function winspool_AsyncDeletePrinterDriverPackage replied async\n"));
2137 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2138 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeletePrinterDriverPackage, NDR_OUT | NDR_SET_VALUES, r2);
2140 if (dce_call->fault_code != 0) {
2141 DBG_WARNING("dcerpc_fault %s in winspool_AsyncDeletePrinterDriverPackage\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2145 case 68: { /* winspool_AsyncReadPrinter */
2146 struct winspool_AsyncReadPrinter *r2 = (struct winspool_AsyncReadPrinter *)r;
2147 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2148 DEBUG(5,("function winspool_AsyncReadPrinter replied async\n"));
2150 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2151 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncReadPrinter, NDR_OUT | NDR_SET_VALUES, r2);
2153 if (dce_call->fault_code != 0) {
2154 DBG_WARNING("dcerpc_fault %s in winspool_AsyncReadPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2158 case 69: { /* winspool_AsyncResetPrinter */
2159 struct winspool_AsyncResetPrinter *r2 = (struct winspool_AsyncResetPrinter *)r;
2160 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2161 DEBUG(5,("function winspool_AsyncResetPrinter replied async\n"));
2163 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2164 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncResetPrinter, NDR_OUT | NDR_SET_VALUES, r2);
2166 if (dce_call->fault_code != 0) {
2167 DBG_WARNING("dcerpc_fault %s in winspool_AsyncResetPrinter\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2171 case 70: { /* winspool_AsyncGetJobNamedPropertyValue */
2172 struct winspool_AsyncGetJobNamedPropertyValue *r2 = (struct winspool_AsyncGetJobNamedPropertyValue *)r;
2173 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2174 DEBUG(5,("function winspool_AsyncGetJobNamedPropertyValue replied async\n"));
2176 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2177 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncGetJobNamedPropertyValue, NDR_OUT | NDR_SET_VALUES, r2);
2179 if (dce_call->fault_code != 0) {
2180 DBG_WARNING("dcerpc_fault %s in winspool_AsyncGetJobNamedPropertyValue\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2184 case 71: { /* winspool_AsyncSetJobNamedProperty */
2185 struct winspool_AsyncSetJobNamedProperty *r2 = (struct winspool_AsyncSetJobNamedProperty *)r;
2186 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2187 DEBUG(5,("function winspool_AsyncSetJobNamedProperty replied async\n"));
2189 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2190 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncSetJobNamedProperty, NDR_OUT | NDR_SET_VALUES, r2);
2192 if (dce_call->fault_code != 0) {
2193 DBG_WARNING("dcerpc_fault %s in winspool_AsyncSetJobNamedProperty\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2197 case 72: { /* winspool_AsyncDeleteJobNamedProperty */
2198 struct winspool_AsyncDeleteJobNamedProperty *r2 = (struct winspool_AsyncDeleteJobNamedProperty *)r;
2199 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2200 DEBUG(5,("function winspool_AsyncDeleteJobNamedProperty replied async\n"));
2202 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2203 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncDeleteJobNamedProperty, NDR_OUT | NDR_SET_VALUES, r2);
2205 if (dce_call->fault_code != 0) {
2206 DBG_WARNING("dcerpc_fault %s in winspool_AsyncDeleteJobNamedProperty\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2210 case 73: { /* winspool_AsyncEnumJobNamedProperties */
2211 struct winspool_AsyncEnumJobNamedProperties *r2 = (struct winspool_AsyncEnumJobNamedProperties *)r;
2212 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2213 DEBUG(5,("function winspool_AsyncEnumJobNamedProperties replied async\n"));
2215 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2216 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncEnumJobNamedProperties, NDR_OUT | NDR_SET_VALUES, r2);
2218 if (dce_call->fault_code != 0) {
2219 DBG_WARNING("dcerpc_fault %s in winspool_AsyncEnumJobNamedProperties\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2223 case 74: { /* winspool_AsyncLogJobInfoForBranchOffice */
2224 struct winspool_AsyncLogJobInfoForBranchOffice *r2 = (struct winspool_AsyncLogJobInfoForBranchOffice *)r;
2225 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2226 DEBUG(5,("function winspool_AsyncLogJobInfoForBranchOffice replied async\n"));
2228 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2229 NDR_PRINT_FUNCTION_DEBUG(winspool_AsyncLogJobInfoForBranchOffice, NDR_OUT | NDR_SET_VALUES, r2);
2231 if (dce_call->fault_code != 0) {
2232 DBG_WARNING("dcerpc_fault %s in winspool_AsyncLogJobInfoForBranchOffice\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2237 dce_call->fault_code = DCERPC_FAULT_OP_RNG_ERROR;
2241 if (dce_call->fault_code != 0) {
2242 return NT_STATUS_NET_WRITE_FAULT;
2245 return NT_STATUS_OK;
2248 NTSTATUS iremotewinspool__op_ndr_push(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ndr_push *push, const void *r)
2250 enum ndr_err_code ndr_err;
2251 uint16_t opnum = dce_call->pkt.u.request.opnum;
2253 if (forward_opnum_to_spoolss(opnum)) {
2254 return spoolss__op_ndr_push(dce_call, mem_ctx, push, r);
2257 ndr_err = ndr_table_iremotewinspool.calls[opnum].ndr_push(push, NDR_OUT, r);
2258 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2259 dce_call->fault_code = DCERPC_FAULT_NDR;
2260 return NT_STATUS_NET_WRITE_FAULT;
2263 return NT_STATUS_OK;
2266 NTSTATUS iremotewinspool__op_local(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r)
2268 return iremotewinspool__op_dispatch_internal(dce_call, mem_ctx, r, true);
2271 static const struct dcesrv_interface dcesrv_iremotewinspool_interface = {
2272 .name = "iremotewinspool",
2273 .syntax_id = {{0x76f03f96,0xcdfd,0x44fc,{0xa2,0x2c},{0x64,0x95,0x0a,0x00,0x12,0x09}},1.0},
2274 .bind = iremotewinspool__op_bind,
2275 .unbind = iremotewinspool__op_unbind,
2276 .ndr_pull = iremotewinspool__op_ndr_pull,
2277 .dispatch = iremotewinspool__op_dispatch,
2278 .reply = iremotewinspool__op_reply,
2279 .ndr_push = iremotewinspool__op_ndr_push,
2280 .local = iremotewinspool__op_local,
2281 #ifdef DCESRV_INTERFACE_IREMOTEWINSPOOL_FLAGS
2282 .flags = DCESRV_INTERFACE_IREMOTEWINSPOOL_FLAGS
2288 static NTSTATUS iremotewinspool__op_init_server(struct dcesrv_context *dce_ctx, const struct dcesrv_endpoint_server *ep_server)
2293 #ifdef DCESRV_INTERFACE_IREMOTEWINSPOOL_NCACN_NP_SECONDARY_ENDPOINT
2294 const char *ncacn_np_secondary_endpoint = DCESRV_INTERFACE_IREMOTEWINSPOOL_NCACN_NP_SECONDARY_ENDPOINT;
2296 const char *ncacn_np_secondary_endpoint = NULL;
2299 for (i=0;i<ndr_table_iremotewinspool.endpoints->count;i++) {
2300 const char *name = ndr_table_iremotewinspool.endpoints->names[i];
2302 ret = dcesrv_interface_register(dce_ctx, name, ncacn_np_secondary_endpoint, &dcesrv_iremotewinspool_interface, NULL);
2303 if (!NT_STATUS_IS_OK(ret)) {
2304 DBG_ERR("Failed to register endpoint '%s'\n",name);
2309 return NT_STATUS_OK;
2312 static NTSTATUS iremotewinspool__op_shutdown_server(struct dcesrv_context *dce_ctx, const struct dcesrv_endpoint_server *ep_server)
2314 return NT_STATUS_OK;
2317 static bool iremotewinspool__op_interface_by_uuid(struct dcesrv_interface *iface, const struct GUID *uuid, uint32_t if_version)
2319 if (dcesrv_iremotewinspool_interface.syntax_id.if_version == if_version && GUID_equal(&dcesrv_iremotewinspool_interface.syntax_id.uuid, uuid)) {
2320 memcpy(iface,&dcesrv_iremotewinspool_interface, sizeof(*iface));
2327 static bool iremotewinspool__op_interface_by_name(struct dcesrv_interface *iface, const char *name)
2329 if (strcmp(dcesrv_iremotewinspool_interface.name, name)==0) {
2330 memcpy(iface, &dcesrv_iremotewinspool_interface, sizeof(*iface));
2337 static const struct dcesrv_endpoint_server iremotewinspool_ep_server = {
2338 /* fill in our name */
2339 .name = "iremotewinspool",
2341 /* Initialization flag */
2342 .initialized = false,
2344 /* fill in all the operations */
2345 #ifdef DCESRV_INTERFACE_IREMOTEWINSPOOL_INIT_SERVER
2346 .init_server = DCESRV_INTERFACE_IREMOTEWINSPOOL_INIT_SERVER,
2348 .init_server = iremotewinspool__op_init_server,
2350 #ifdef DCESRV_INTERFACE_IREMOTEWINSPOOL_SHUTDOWN_SERVER
2351 .shutdown_server = DCESRV_INTERFACE_IREMOTEWINSPOOL_SHUTDOWN_SERVER,
2353 .shutdown_server = iremotewinspool__op_shutdown_server,
2355 .interface_by_uuid = iremotewinspool__op_interface_by_uuid,
2356 .interface_by_name = iremotewinspool__op_interface_by_name
2359 const struct dcesrv_endpoint_server *iremotewinspool_get_ep_server(void)
2361 return &iremotewinspool_ep_server;