2 * Unix SMB/CIFS implementation.
3 * client auto-generated by pidl. DO NOT MODIFY!
7 #include "../librpc/gen_ndr/cli_spoolss.h"
9 NTSTATUS rpccli_spoolss_EnumPrinters(struct rpc_pipe_client *cli,
11 uint32_t flags /* [in] */,
12 const char *server /* [in] [unique,charset(UTF16)] */,
13 uint32_t level /* [in] */,
14 DATA_BLOB *buffer /* [in] [unique] */,
15 uint32_t offered /* [in] */,
16 union spoolss_PrinterInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
17 uint32_t *needed /* [out] [ref] */,
18 uint32_t count /* [out] */,
21 struct spoolss_EnumPrinters r;
29 r.in.offered = offered;
31 if (DEBUGLEVEL >= 10) {
32 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinters, &r);
35 status = cli->dispatch(cli,
38 NDR_SPOOLSS_ENUMPRINTERS,
41 if (!NT_STATUS_IS_OK(status)) {
45 if (DEBUGLEVEL >= 10) {
46 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinters, &r);
49 if (NT_STATUS_IS_ERR(status)) {
53 /* Return variables */
54 if (info && r.out.info) {
55 memcpy(info, r.out.info, count * sizeof(*info));
57 *needed = *r.out.needed;
58 return NT_STATUS_NOT_SUPPORTED;
62 *werror = r.out.result;
65 return werror_to_ntstatus(r.out.result);
68 NTSTATUS rpccli_spoolss_OpenPrinter(struct rpc_pipe_client *cli,
70 const char *printername /* [in] [unique,charset(UTF16)] */,
71 const char *datatype /* [in] [unique,charset(UTF16)] */,
72 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
73 uint32_t access_mask /* [in] */,
74 struct policy_handle *handle /* [out] [ref] */,
77 struct spoolss_OpenPrinter r;
81 r.in.printername = printername;
82 r.in.datatype = datatype;
83 r.in.devmode_ctr = devmode_ctr;
84 r.in.access_mask = access_mask;
86 if (DEBUGLEVEL >= 10) {
87 NDR_PRINT_IN_DEBUG(spoolss_OpenPrinter, &r);
90 status = cli->dispatch(cli,
93 NDR_SPOOLSS_OPENPRINTER,
96 if (!NT_STATUS_IS_OK(status)) {
100 if (DEBUGLEVEL >= 10) {
101 NDR_PRINT_OUT_DEBUG(spoolss_OpenPrinter, &r);
104 if (NT_STATUS_IS_ERR(status)) {
108 /* Return variables */
109 *handle = *r.out.handle;
113 *werror = r.out.result;
116 return werror_to_ntstatus(r.out.result);
119 NTSTATUS rpccli_spoolss_SetJob(struct rpc_pipe_client *cli,
121 struct policy_handle *handle /* [in] [ref] */,
122 uint32_t job_id /* [in] */,
123 struct spoolss_JobInfoContainer *ctr /* [in] [unique] */,
124 enum spoolss_JobControl command /* [in] */,
127 struct spoolss_SetJob r;
131 r.in.handle = handle;
132 r.in.job_id = job_id;
134 r.in.command = command;
136 if (DEBUGLEVEL >= 10) {
137 NDR_PRINT_IN_DEBUG(spoolss_SetJob, &r);
140 status = cli->dispatch(cli,
146 if (!NT_STATUS_IS_OK(status)) {
150 if (DEBUGLEVEL >= 10) {
151 NDR_PRINT_OUT_DEBUG(spoolss_SetJob, &r);
154 if (NT_STATUS_IS_ERR(status)) {
158 /* Return variables */
162 *werror = r.out.result;
165 return werror_to_ntstatus(r.out.result);
168 NTSTATUS rpccli_spoolss_GetJob(struct rpc_pipe_client *cli,
170 struct policy_handle *handle /* [in] [ref] */,
171 uint32_t job_id /* [in] */,
172 uint32_t level /* [in] */,
173 DATA_BLOB *buffer /* [in] [unique] */,
174 uint32_t offered /* [in] */,
175 union spoolss_JobInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
176 uint32_t *needed /* [out] [ref] */,
179 struct spoolss_GetJob r;
183 r.in.handle = handle;
184 r.in.job_id = job_id;
186 r.in.buffer = buffer;
187 r.in.offered = offered;
189 if (DEBUGLEVEL >= 10) {
190 NDR_PRINT_IN_DEBUG(spoolss_GetJob, &r);
193 status = cli->dispatch(cli,
199 if (!NT_STATUS_IS_OK(status)) {
203 if (DEBUGLEVEL >= 10) {
204 NDR_PRINT_OUT_DEBUG(spoolss_GetJob, &r);
207 if (NT_STATUS_IS_ERR(status)) {
211 /* Return variables */
212 if (info && r.out.info) {
215 *needed = *r.out.needed;
219 *werror = r.out.result;
222 return werror_to_ntstatus(r.out.result);
225 NTSTATUS rpccli_spoolss_EnumJobs(struct rpc_pipe_client *cli,
227 struct policy_handle *handle /* [in] [ref] */,
228 uint32_t firstjob /* [in] */,
229 uint32_t numjobs /* [in] */,
230 uint32_t level /* [in] */,
231 DATA_BLOB *buffer /* [in] [unique] */,
232 uint32_t offered /* [in] */,
233 union spoolss_JobInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
234 uint32_t *needed /* [out] [ref] */,
235 uint32_t count /* [out] */,
238 struct spoolss_EnumJobs r;
242 r.in.handle = handle;
243 r.in.firstjob = firstjob;
244 r.in.numjobs = numjobs;
246 r.in.buffer = buffer;
247 r.in.offered = offered;
249 if (DEBUGLEVEL >= 10) {
250 NDR_PRINT_IN_DEBUG(spoolss_EnumJobs, &r);
253 status = cli->dispatch(cli,
256 NDR_SPOOLSS_ENUMJOBS,
259 if (!NT_STATUS_IS_OK(status)) {
263 if (DEBUGLEVEL >= 10) {
264 NDR_PRINT_OUT_DEBUG(spoolss_EnumJobs, &r);
267 if (NT_STATUS_IS_ERR(status)) {
271 /* Return variables */
272 if (info && r.out.info) {
273 memcpy(info, r.out.info, count * sizeof(*info));
275 *needed = *r.out.needed;
276 return NT_STATUS_NOT_SUPPORTED;
280 *werror = r.out.result;
283 return werror_to_ntstatus(r.out.result);
286 NTSTATUS rpccli_spoolss_AddPrinter(struct rpc_pipe_client *cli,
290 struct spoolss_AddPrinter r;
295 if (DEBUGLEVEL >= 10) {
296 NDR_PRINT_IN_DEBUG(spoolss_AddPrinter, &r);
299 status = cli->dispatch(cli,
302 NDR_SPOOLSS_ADDPRINTER,
305 if (!NT_STATUS_IS_OK(status)) {
309 if (DEBUGLEVEL >= 10) {
310 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinter, &r);
313 if (NT_STATUS_IS_ERR(status)) {
317 /* Return variables */
321 *werror = r.out.result;
324 return werror_to_ntstatus(r.out.result);
327 NTSTATUS rpccli_spoolss_DeletePrinter(struct rpc_pipe_client *cli,
329 struct policy_handle *handle /* [in] [ref] */,
332 struct spoolss_DeletePrinter r;
336 r.in.handle = handle;
338 if (DEBUGLEVEL >= 10) {
339 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinter, &r);
342 status = cli->dispatch(cli,
345 NDR_SPOOLSS_DELETEPRINTER,
348 if (!NT_STATUS_IS_OK(status)) {
352 if (DEBUGLEVEL >= 10) {
353 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinter, &r);
356 if (NT_STATUS_IS_ERR(status)) {
360 /* Return variables */
364 *werror = r.out.result;
367 return werror_to_ntstatus(r.out.result);
370 NTSTATUS rpccli_spoolss_SetPrinter(struct rpc_pipe_client *cli,
372 struct policy_handle *handle /* [in] [ref] */,
373 uint32_t level /* [in] */,
374 union spoolss_SetPrinterInfo info /* [in] [switch_is(level)] */,
375 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
376 struct sec_desc_buf secdesc_ctr /* [in] */,
377 enum spoolss_PrinterControl command /* [in] */,
380 struct spoolss_SetPrinter r;
384 r.in.handle = handle;
387 r.in.devmode_ctr = devmode_ctr;
388 r.in.secdesc_ctr = secdesc_ctr;
389 r.in.command = command;
391 if (DEBUGLEVEL >= 10) {
392 NDR_PRINT_IN_DEBUG(spoolss_SetPrinter, &r);
395 status = cli->dispatch(cli,
398 NDR_SPOOLSS_SETPRINTER,
401 if (!NT_STATUS_IS_OK(status)) {
405 if (DEBUGLEVEL >= 10) {
406 NDR_PRINT_OUT_DEBUG(spoolss_SetPrinter, &r);
409 if (NT_STATUS_IS_ERR(status)) {
413 /* Return variables */
417 *werror = r.out.result;
420 return werror_to_ntstatus(r.out.result);
423 NTSTATUS rpccli_spoolss_GetPrinter(struct rpc_pipe_client *cli,
425 struct policy_handle *handle /* [in] [ref] */,
426 uint32_t level /* [in] */,
427 DATA_BLOB *buffer /* [in] [unique] */,
428 uint32_t offered /* [in] */,
429 union spoolss_PrinterInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
430 uint32_t *needed /* [out] [ref] */,
433 struct spoolss_GetPrinter r;
437 r.in.handle = handle;
439 r.in.buffer = buffer;
440 r.in.offered = offered;
442 if (DEBUGLEVEL >= 10) {
443 NDR_PRINT_IN_DEBUG(spoolss_GetPrinter, &r);
446 status = cli->dispatch(cli,
449 NDR_SPOOLSS_GETPRINTER,
452 if (!NT_STATUS_IS_OK(status)) {
456 if (DEBUGLEVEL >= 10) {
457 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinter, &r);
460 if (NT_STATUS_IS_ERR(status)) {
464 /* Return variables */
465 if (info && r.out.info) {
468 *needed = *r.out.needed;
472 *werror = r.out.result;
475 return werror_to_ntstatus(r.out.result);
478 NTSTATUS rpccli_spoolss_AddPrinterDriver(struct rpc_pipe_client *cli,
482 struct spoolss_AddPrinterDriver r;
487 if (DEBUGLEVEL >= 10) {
488 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterDriver, &r);
491 status = cli->dispatch(cli,
494 NDR_SPOOLSS_ADDPRINTERDRIVER,
497 if (!NT_STATUS_IS_OK(status)) {
501 if (DEBUGLEVEL >= 10) {
502 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterDriver, &r);
505 if (NT_STATUS_IS_ERR(status)) {
509 /* Return variables */
513 *werror = r.out.result;
516 return werror_to_ntstatus(r.out.result);
519 NTSTATUS rpccli_spoolss_EnumPrinterDrivers(struct rpc_pipe_client *cli,
521 const char *server /* [in] [unique,charset(UTF16)] */,
522 const char *environment /* [in] [unique,charset(UTF16)] */,
523 uint32_t level /* [in] */,
524 DATA_BLOB *buffer /* [in] [unique] */,
525 uint32_t offered /* [in] */,
526 union spoolss_DriverInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
527 uint32_t *needed /* [out] [ref] */,
528 uint32_t count /* [out] */,
531 struct spoolss_EnumPrinterDrivers r;
535 r.in.server = server;
536 r.in.environment = environment;
538 r.in.buffer = buffer;
539 r.in.offered = offered;
541 if (DEBUGLEVEL >= 10) {
542 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterDrivers, &r);
545 status = cli->dispatch(cli,
548 NDR_SPOOLSS_ENUMPRINTERDRIVERS,
551 if (!NT_STATUS_IS_OK(status)) {
555 if (DEBUGLEVEL >= 10) {
556 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterDrivers, &r);
559 if (NT_STATUS_IS_ERR(status)) {
563 /* Return variables */
564 if (info && r.out.info) {
565 memcpy(info, r.out.info, count * sizeof(*info));
567 *needed = *r.out.needed;
568 return NT_STATUS_NOT_SUPPORTED;
572 *werror = r.out.result;
575 return werror_to_ntstatus(r.out.result);
578 NTSTATUS rpccli_spoolss_GetPrinterDriver(struct rpc_pipe_client *cli,
582 struct spoolss_GetPrinterDriver r;
587 if (DEBUGLEVEL >= 10) {
588 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriver, &r);
591 status = cli->dispatch(cli,
594 NDR_SPOOLSS_GETPRINTERDRIVER,
597 if (!NT_STATUS_IS_OK(status)) {
601 if (DEBUGLEVEL >= 10) {
602 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriver, &r);
605 if (NT_STATUS_IS_ERR(status)) {
609 /* Return variables */
613 *werror = r.out.result;
616 return werror_to_ntstatus(r.out.result);
619 NTSTATUS rpccli_spoolss_GetPrinterDriverDirectory(struct rpc_pipe_client *cli,
621 const char *server /* [in] [unique,charset(UTF16)] */,
622 const char *environment /* [in] [unique,charset(UTF16)] */,
623 uint32_t level /* [in] */,
624 DATA_BLOB *buffer /* [in] [unique] */,
625 uint32_t offered /* [in] */,
626 union spoolss_DriverDirectoryInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
627 uint32_t *needed /* [out] [ref] */,
630 struct spoolss_GetPrinterDriverDirectory r;
634 r.in.server = server;
635 r.in.environment = environment;
637 r.in.buffer = buffer;
638 r.in.offered = offered;
640 if (DEBUGLEVEL >= 10) {
641 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriverDirectory, &r);
644 status = cli->dispatch(cli,
647 NDR_SPOOLSS_GETPRINTERDRIVERDIRECTORY,
650 if (!NT_STATUS_IS_OK(status)) {
654 if (DEBUGLEVEL >= 10) {
655 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriverDirectory, &r);
658 if (NT_STATUS_IS_ERR(status)) {
662 /* Return variables */
663 if (info && r.out.info) {
666 *needed = *r.out.needed;
670 *werror = r.out.result;
673 return werror_to_ntstatus(r.out.result);
676 NTSTATUS rpccli_spoolss_DeletePrinterDriver(struct rpc_pipe_client *cli,
678 const char *server /* [in] [unique,charset(UTF16)] */,
679 const char *architecture /* [in] [charset(UTF16)] */,
680 const char *driver /* [in] [charset(UTF16)] */,
683 struct spoolss_DeletePrinterDriver r;
687 r.in.server = server;
688 r.in.architecture = architecture;
689 r.in.driver = driver;
691 if (DEBUGLEVEL >= 10) {
692 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDriver, &r);
695 status = cli->dispatch(cli,
698 NDR_SPOOLSS_DELETEPRINTERDRIVER,
701 if (!NT_STATUS_IS_OK(status)) {
705 if (DEBUGLEVEL >= 10) {
706 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterDriver, &r);
709 if (NT_STATUS_IS_ERR(status)) {
713 /* Return variables */
717 *werror = r.out.result;
720 return werror_to_ntstatus(r.out.result);
723 NTSTATUS rpccli_spoolss_AddPrintProcessor(struct rpc_pipe_client *cli,
725 const char *server /* [in] [unique,charset(UTF16)] */,
726 const char *architecture /* [in] [charset(UTF16)] */,
727 const char *path_name /* [in] [charset(UTF16)] */,
728 const char *print_processor_name /* [in] [charset(UTF16)] */,
731 struct spoolss_AddPrintProcessor r;
735 r.in.server = server;
736 r.in.architecture = architecture;
737 r.in.path_name = path_name;
738 r.in.print_processor_name = print_processor_name;
740 if (DEBUGLEVEL >= 10) {
741 NDR_PRINT_IN_DEBUG(spoolss_AddPrintProcessor, &r);
744 status = cli->dispatch(cli,
747 NDR_SPOOLSS_ADDPRINTPROCESSOR,
750 if (!NT_STATUS_IS_OK(status)) {
754 if (DEBUGLEVEL >= 10) {
755 NDR_PRINT_OUT_DEBUG(spoolss_AddPrintProcessor, &r);
758 if (NT_STATUS_IS_ERR(status)) {
762 /* Return variables */
766 *werror = r.out.result;
769 return werror_to_ntstatus(r.out.result);
772 NTSTATUS rpccli_spoolss_EnumPrintProcessors(struct rpc_pipe_client *cli,
774 const char *servername /* [in] [unique,charset(UTF16)] */,
775 const char *environment /* [in] [unique,charset(UTF16)] */,
776 uint32_t level /* [in] */,
777 DATA_BLOB *buffer /* [in] [unique] */,
778 uint32_t offered /* [in] */,
779 union spoolss_PrintProcessorInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
780 uint32_t *needed /* [out] [ref] */,
781 uint32_t count /* [out] */,
784 struct spoolss_EnumPrintProcessors r;
788 r.in.servername = servername;
789 r.in.environment = environment;
791 r.in.buffer = buffer;
792 r.in.offered = offered;
794 if (DEBUGLEVEL >= 10) {
795 NDR_PRINT_IN_DEBUG(spoolss_EnumPrintProcessors, &r);
798 status = cli->dispatch(cli,
801 NDR_SPOOLSS_ENUMPRINTPROCESSORS,
804 if (!NT_STATUS_IS_OK(status)) {
808 if (DEBUGLEVEL >= 10) {
809 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrintProcessors, &r);
812 if (NT_STATUS_IS_ERR(status)) {
816 /* Return variables */
817 if (info && r.out.info) {
818 memcpy(info, r.out.info, count * sizeof(*info));
820 *needed = *r.out.needed;
821 return NT_STATUS_NOT_SUPPORTED;
825 *werror = r.out.result;
828 return werror_to_ntstatus(r.out.result);
831 NTSTATUS rpccli_spoolss_GetPrintProcessorDirectory(struct rpc_pipe_client *cli,
835 struct spoolss_GetPrintProcessorDirectory r;
840 if (DEBUGLEVEL >= 10) {
841 NDR_PRINT_IN_DEBUG(spoolss_GetPrintProcessorDirectory, &r);
844 status = cli->dispatch(cli,
847 NDR_SPOOLSS_GETPRINTPROCESSORDIRECTORY,
850 if (!NT_STATUS_IS_OK(status)) {
854 if (DEBUGLEVEL >= 10) {
855 NDR_PRINT_OUT_DEBUG(spoolss_GetPrintProcessorDirectory, &r);
858 if (NT_STATUS_IS_ERR(status)) {
862 /* Return variables */
866 *werror = r.out.result;
869 return werror_to_ntstatus(r.out.result);
872 NTSTATUS rpccli_spoolss_StartDocPrinter(struct rpc_pipe_client *cli,
874 struct policy_handle *handle /* [in] [ref] */,
875 uint32_t level /* [in] */,
876 union spoolss_DocumentInfo info /* [in] [switch_is(level)] */,
877 uint32_t *job_id /* [out] [ref] */,
880 struct spoolss_StartDocPrinter r;
884 r.in.handle = handle;
888 if (DEBUGLEVEL >= 10) {
889 NDR_PRINT_IN_DEBUG(spoolss_StartDocPrinter, &r);
892 status = cli->dispatch(cli,
895 NDR_SPOOLSS_STARTDOCPRINTER,
898 if (!NT_STATUS_IS_OK(status)) {
902 if (DEBUGLEVEL >= 10) {
903 NDR_PRINT_OUT_DEBUG(spoolss_StartDocPrinter, &r);
906 if (NT_STATUS_IS_ERR(status)) {
910 /* Return variables */
911 *job_id = *r.out.job_id;
915 *werror = r.out.result;
918 return werror_to_ntstatus(r.out.result);
921 NTSTATUS rpccli_spoolss_StartPagePrinter(struct rpc_pipe_client *cli,
923 struct policy_handle *handle /* [in] [ref] */,
926 struct spoolss_StartPagePrinter r;
930 r.in.handle = handle;
932 if (DEBUGLEVEL >= 10) {
933 NDR_PRINT_IN_DEBUG(spoolss_StartPagePrinter, &r);
936 status = cli->dispatch(cli,
939 NDR_SPOOLSS_STARTPAGEPRINTER,
942 if (!NT_STATUS_IS_OK(status)) {
946 if (DEBUGLEVEL >= 10) {
947 NDR_PRINT_OUT_DEBUG(spoolss_StartPagePrinter, &r);
950 if (NT_STATUS_IS_ERR(status)) {
954 /* Return variables */
958 *werror = r.out.result;
961 return werror_to_ntstatus(r.out.result);
964 NTSTATUS rpccli_spoolss_WritePrinter(struct rpc_pipe_client *cli,
966 struct policy_handle *handle /* [in] [ref] */,
967 DATA_BLOB data /* [in] */,
968 uint32_t _data_size /* [in] [value(r->in.data.length)] */,
969 uint32_t *num_written /* [out] [ref] */,
972 struct spoolss_WritePrinter r;
976 r.in.handle = handle;
978 r.in._data_size = _data_size;
980 if (DEBUGLEVEL >= 10) {
981 NDR_PRINT_IN_DEBUG(spoolss_WritePrinter, &r);
984 status = cli->dispatch(cli,
987 NDR_SPOOLSS_WRITEPRINTER,
990 if (!NT_STATUS_IS_OK(status)) {
994 if (DEBUGLEVEL >= 10) {
995 NDR_PRINT_OUT_DEBUG(spoolss_WritePrinter, &r);
998 if (NT_STATUS_IS_ERR(status)) {
1002 /* Return variables */
1003 *num_written = *r.out.num_written;
1007 *werror = r.out.result;
1010 return werror_to_ntstatus(r.out.result);
1013 NTSTATUS rpccli_spoolss_EndPagePrinter(struct rpc_pipe_client *cli,
1014 TALLOC_CTX *mem_ctx,
1015 struct policy_handle *handle /* [in] [ref] */,
1018 struct spoolss_EndPagePrinter r;
1022 r.in.handle = handle;
1024 if (DEBUGLEVEL >= 10) {
1025 NDR_PRINT_IN_DEBUG(spoolss_EndPagePrinter, &r);
1028 status = cli->dispatch(cli,
1031 NDR_SPOOLSS_ENDPAGEPRINTER,
1034 if (!NT_STATUS_IS_OK(status)) {
1038 if (DEBUGLEVEL >= 10) {
1039 NDR_PRINT_OUT_DEBUG(spoolss_EndPagePrinter, &r);
1042 if (NT_STATUS_IS_ERR(status)) {
1046 /* Return variables */
1050 *werror = r.out.result;
1053 return werror_to_ntstatus(r.out.result);
1056 NTSTATUS rpccli_spoolss_AbortPrinter(struct rpc_pipe_client *cli,
1057 TALLOC_CTX *mem_ctx,
1058 struct policy_handle *handle /* [in] [ref] */,
1061 struct spoolss_AbortPrinter r;
1065 r.in.handle = handle;
1067 if (DEBUGLEVEL >= 10) {
1068 NDR_PRINT_IN_DEBUG(spoolss_AbortPrinter, &r);
1071 status = cli->dispatch(cli,
1074 NDR_SPOOLSS_ABORTPRINTER,
1077 if (!NT_STATUS_IS_OK(status)) {
1081 if (DEBUGLEVEL >= 10) {
1082 NDR_PRINT_OUT_DEBUG(spoolss_AbortPrinter, &r);
1085 if (NT_STATUS_IS_ERR(status)) {
1089 /* Return variables */
1093 *werror = r.out.result;
1096 return werror_to_ntstatus(r.out.result);
1099 NTSTATUS rpccli_spoolss_ReadPrinter(struct rpc_pipe_client *cli,
1100 TALLOC_CTX *mem_ctx,
1101 struct policy_handle *handle /* [in] [ref] */,
1102 uint8_t *data /* [out] [ref,size_is(data_size)] */,
1103 uint32_t data_size /* [in] */,
1104 uint32_t *_data_size /* [out] [ref] */,
1107 struct spoolss_ReadPrinter r;
1111 r.in.handle = handle;
1112 r.in.data_size = data_size;
1114 if (DEBUGLEVEL >= 10) {
1115 NDR_PRINT_IN_DEBUG(spoolss_ReadPrinter, &r);
1118 status = cli->dispatch(cli,
1121 NDR_SPOOLSS_READPRINTER,
1124 if (!NT_STATUS_IS_OK(status)) {
1128 if (DEBUGLEVEL >= 10) {
1129 NDR_PRINT_OUT_DEBUG(spoolss_ReadPrinter, &r);
1132 if (NT_STATUS_IS_ERR(status)) {
1136 /* Return variables */
1137 memcpy(data, r.out.data, r.in.data_size * sizeof(*data));
1138 *_data_size = *r.out._data_size;
1142 *werror = r.out.result;
1145 return werror_to_ntstatus(r.out.result);
1148 NTSTATUS rpccli_spoolss_EndDocPrinter(struct rpc_pipe_client *cli,
1149 TALLOC_CTX *mem_ctx,
1150 struct policy_handle *handle /* [in] [ref] */,
1153 struct spoolss_EndDocPrinter r;
1157 r.in.handle = handle;
1159 if (DEBUGLEVEL >= 10) {
1160 NDR_PRINT_IN_DEBUG(spoolss_EndDocPrinter, &r);
1163 status = cli->dispatch(cli,
1166 NDR_SPOOLSS_ENDDOCPRINTER,
1169 if (!NT_STATUS_IS_OK(status)) {
1173 if (DEBUGLEVEL >= 10) {
1174 NDR_PRINT_OUT_DEBUG(spoolss_EndDocPrinter, &r);
1177 if (NT_STATUS_IS_ERR(status)) {
1181 /* Return variables */
1185 *werror = r.out.result;
1188 return werror_to_ntstatus(r.out.result);
1191 NTSTATUS rpccli_spoolss_AddJob(struct rpc_pipe_client *cli,
1192 TALLOC_CTX *mem_ctx,
1195 struct spoolss_AddJob r;
1200 if (DEBUGLEVEL >= 10) {
1201 NDR_PRINT_IN_DEBUG(spoolss_AddJob, &r);
1204 status = cli->dispatch(cli,
1210 if (!NT_STATUS_IS_OK(status)) {
1214 if (DEBUGLEVEL >= 10) {
1215 NDR_PRINT_OUT_DEBUG(spoolss_AddJob, &r);
1218 if (NT_STATUS_IS_ERR(status)) {
1222 /* Return variables */
1226 *werror = r.out.result;
1229 return werror_to_ntstatus(r.out.result);
1232 NTSTATUS rpccli_spoolss_ScheduleJob(struct rpc_pipe_client *cli,
1233 TALLOC_CTX *mem_ctx,
1236 struct spoolss_ScheduleJob r;
1241 if (DEBUGLEVEL >= 10) {
1242 NDR_PRINT_IN_DEBUG(spoolss_ScheduleJob, &r);
1245 status = cli->dispatch(cli,
1248 NDR_SPOOLSS_SCHEDULEJOB,
1251 if (!NT_STATUS_IS_OK(status)) {
1255 if (DEBUGLEVEL >= 10) {
1256 NDR_PRINT_OUT_DEBUG(spoolss_ScheduleJob, &r);
1259 if (NT_STATUS_IS_ERR(status)) {
1263 /* Return variables */
1267 *werror = r.out.result;
1270 return werror_to_ntstatus(r.out.result);
1273 NTSTATUS rpccli_spoolss_GetPrinterData(struct rpc_pipe_client *cli,
1274 TALLOC_CTX *mem_ctx,
1275 struct policy_handle *handle /* [in] [ref] */,
1276 const char *value_name /* [in] [charset(UTF16)] */,
1277 uint32_t offered /* [in] */,
1278 enum spoolss_PrinterDataType *type /* [out] [ref] */,
1279 union spoolss_PrinterData data /* [out] [subcontext_size(offered),subcontext(4),switch_is(*type)] */,
1280 uint32_t *needed /* [out] [ref] */,
1283 struct spoolss_GetPrinterData r;
1287 r.in.handle = handle;
1288 r.in.value_name = value_name;
1289 r.in.offered = offered;
1291 if (DEBUGLEVEL >= 10) {
1292 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterData, &r);
1295 status = cli->dispatch(cli,
1298 NDR_SPOOLSS_GETPRINTERDATA,
1301 if (!NT_STATUS_IS_OK(status)) {
1305 if (DEBUGLEVEL >= 10) {
1306 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterData, &r);
1309 if (NT_STATUS_IS_ERR(status)) {
1313 /* Return variables */
1314 *type = *r.out.type;
1315 return NT_STATUS_NOT_SUPPORTED;
1316 *needed = *r.out.needed;
1320 *werror = r.out.result;
1323 return werror_to_ntstatus(r.out.result);
1326 NTSTATUS rpccli_spoolss_SetPrinterData(struct rpc_pipe_client *cli,
1327 TALLOC_CTX *mem_ctx,
1328 struct policy_handle *handle /* [in] [ref] */,
1329 const char *value_name /* [in] [charset(UTF16)] */,
1330 enum spoolss_PrinterDataType type /* [in] */,
1331 union spoolss_PrinterData data /* [in] [subcontext(4),switch_is(type)] */,
1332 uint32_t _offered /* [in] [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */,
1335 struct spoolss_SetPrinterData r;
1339 r.in.handle = handle;
1340 r.in.value_name = value_name;
1343 r.in._offered = _offered;
1345 if (DEBUGLEVEL >= 10) {
1346 NDR_PRINT_IN_DEBUG(spoolss_SetPrinterData, &r);
1349 status = cli->dispatch(cli,
1352 NDR_SPOOLSS_SETPRINTERDATA,
1355 if (!NT_STATUS_IS_OK(status)) {
1359 if (DEBUGLEVEL >= 10) {
1360 NDR_PRINT_OUT_DEBUG(spoolss_SetPrinterData, &r);
1363 if (NT_STATUS_IS_ERR(status)) {
1367 /* Return variables */
1371 *werror = r.out.result;
1374 return werror_to_ntstatus(r.out.result);
1377 NTSTATUS rpccli_spoolss_WaitForPrinterChange(struct rpc_pipe_client *cli,
1378 TALLOC_CTX *mem_ctx,
1381 struct spoolss_WaitForPrinterChange r;
1386 if (DEBUGLEVEL >= 10) {
1387 NDR_PRINT_IN_DEBUG(spoolss_WaitForPrinterChange, &r);
1390 status = cli->dispatch(cli,
1393 NDR_SPOOLSS_WAITFORPRINTERCHANGE,
1396 if (!NT_STATUS_IS_OK(status)) {
1400 if (DEBUGLEVEL >= 10) {
1401 NDR_PRINT_OUT_DEBUG(spoolss_WaitForPrinterChange, &r);
1404 if (NT_STATUS_IS_ERR(status)) {
1408 /* Return variables */
1412 *werror = r.out.result;
1415 return werror_to_ntstatus(r.out.result);
1418 NTSTATUS rpccli_spoolss_ClosePrinter(struct rpc_pipe_client *cli,
1419 TALLOC_CTX *mem_ctx,
1420 struct policy_handle *handle /* [in,out] [ref] */,
1423 struct spoolss_ClosePrinter r;
1427 r.in.handle = handle;
1429 if (DEBUGLEVEL >= 10) {
1430 NDR_PRINT_IN_DEBUG(spoolss_ClosePrinter, &r);
1433 status = cli->dispatch(cli,
1436 NDR_SPOOLSS_CLOSEPRINTER,
1439 if (!NT_STATUS_IS_OK(status)) {
1443 if (DEBUGLEVEL >= 10) {
1444 NDR_PRINT_OUT_DEBUG(spoolss_ClosePrinter, &r);
1447 if (NT_STATUS_IS_ERR(status)) {
1451 /* Return variables */
1452 *handle = *r.out.handle;
1456 *werror = r.out.result;
1459 return werror_to_ntstatus(r.out.result);
1462 NTSTATUS rpccli_spoolss_AddForm(struct rpc_pipe_client *cli,
1463 TALLOC_CTX *mem_ctx,
1464 struct policy_handle *handle /* [in] [ref] */,
1465 uint32_t level /* [in] */,
1466 union spoolss_AddFormInfo info /* [in] [switch_is(level)] */,
1469 struct spoolss_AddForm r;
1473 r.in.handle = handle;
1477 if (DEBUGLEVEL >= 10) {
1478 NDR_PRINT_IN_DEBUG(spoolss_AddForm, &r);
1481 status = cli->dispatch(cli,
1484 NDR_SPOOLSS_ADDFORM,
1487 if (!NT_STATUS_IS_OK(status)) {
1491 if (DEBUGLEVEL >= 10) {
1492 NDR_PRINT_OUT_DEBUG(spoolss_AddForm, &r);
1495 if (NT_STATUS_IS_ERR(status)) {
1499 /* Return variables */
1503 *werror = r.out.result;
1506 return werror_to_ntstatus(r.out.result);
1509 NTSTATUS rpccli_spoolss_DeleteForm(struct rpc_pipe_client *cli,
1510 TALLOC_CTX *mem_ctx,
1511 struct policy_handle *handle /* [in] [ref] */,
1512 const char *form_name /* [in] [charset(UTF16)] */,
1515 struct spoolss_DeleteForm r;
1519 r.in.handle = handle;
1520 r.in.form_name = form_name;
1522 if (DEBUGLEVEL >= 10) {
1523 NDR_PRINT_IN_DEBUG(spoolss_DeleteForm, &r);
1526 status = cli->dispatch(cli,
1529 NDR_SPOOLSS_DELETEFORM,
1532 if (!NT_STATUS_IS_OK(status)) {
1536 if (DEBUGLEVEL >= 10) {
1537 NDR_PRINT_OUT_DEBUG(spoolss_DeleteForm, &r);
1540 if (NT_STATUS_IS_ERR(status)) {
1544 /* Return variables */
1548 *werror = r.out.result;
1551 return werror_to_ntstatus(r.out.result);
1554 NTSTATUS rpccli_spoolss_GetForm(struct rpc_pipe_client *cli,
1555 TALLOC_CTX *mem_ctx,
1556 struct policy_handle *handle /* [in] [ref] */,
1557 const char *form_name /* [in] [charset(UTF16)] */,
1558 uint32_t level /* [in] */,
1559 DATA_BLOB *buffer /* [in] [unique] */,
1560 uint32_t offered /* [in] */,
1561 union spoolss_FormInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
1562 uint32_t *needed /* [out] [ref] */,
1565 struct spoolss_GetForm r;
1569 r.in.handle = handle;
1570 r.in.form_name = form_name;
1572 r.in.buffer = buffer;
1573 r.in.offered = offered;
1575 if (DEBUGLEVEL >= 10) {
1576 NDR_PRINT_IN_DEBUG(spoolss_GetForm, &r);
1579 status = cli->dispatch(cli,
1582 NDR_SPOOLSS_GETFORM,
1585 if (!NT_STATUS_IS_OK(status)) {
1589 if (DEBUGLEVEL >= 10) {
1590 NDR_PRINT_OUT_DEBUG(spoolss_GetForm, &r);
1593 if (NT_STATUS_IS_ERR(status)) {
1597 /* Return variables */
1598 if (info && r.out.info) {
1599 *info = *r.out.info;
1601 *needed = *r.out.needed;
1605 *werror = r.out.result;
1608 return werror_to_ntstatus(r.out.result);
1611 NTSTATUS rpccli_spoolss_SetForm(struct rpc_pipe_client *cli,
1612 TALLOC_CTX *mem_ctx,
1613 struct policy_handle *handle /* [in] [ref] */,
1614 const char *form_name /* [in] [charset(UTF16)] */,
1615 uint32_t level /* [in] */,
1616 union spoolss_AddFormInfo info /* [in] [switch_is(level)] */,
1619 struct spoolss_SetForm r;
1623 r.in.handle = handle;
1624 r.in.form_name = form_name;
1628 if (DEBUGLEVEL >= 10) {
1629 NDR_PRINT_IN_DEBUG(spoolss_SetForm, &r);
1632 status = cli->dispatch(cli,
1635 NDR_SPOOLSS_SETFORM,
1638 if (!NT_STATUS_IS_OK(status)) {
1642 if (DEBUGLEVEL >= 10) {
1643 NDR_PRINT_OUT_DEBUG(spoolss_SetForm, &r);
1646 if (NT_STATUS_IS_ERR(status)) {
1650 /* Return variables */
1654 *werror = r.out.result;
1657 return werror_to_ntstatus(r.out.result);
1660 NTSTATUS rpccli_spoolss_EnumForms(struct rpc_pipe_client *cli,
1661 TALLOC_CTX *mem_ctx,
1662 struct policy_handle *handle /* [in] [ref] */,
1663 uint32_t level /* [in] */,
1664 DATA_BLOB *buffer /* [in] [unique] */,
1665 uint32_t offered /* [in] */,
1666 union spoolss_FormInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
1667 uint32_t *needed /* [out] [ref] */,
1668 uint32_t count /* [out] */,
1671 struct spoolss_EnumForms r;
1675 r.in.handle = handle;
1677 r.in.buffer = buffer;
1678 r.in.offered = offered;
1680 if (DEBUGLEVEL >= 10) {
1681 NDR_PRINT_IN_DEBUG(spoolss_EnumForms, &r);
1684 status = cli->dispatch(cli,
1687 NDR_SPOOLSS_ENUMFORMS,
1690 if (!NT_STATUS_IS_OK(status)) {
1694 if (DEBUGLEVEL >= 10) {
1695 NDR_PRINT_OUT_DEBUG(spoolss_EnumForms, &r);
1698 if (NT_STATUS_IS_ERR(status)) {
1702 /* Return variables */
1703 if (info && r.out.info) {
1704 memcpy(info, r.out.info, count * sizeof(*info));
1706 *needed = *r.out.needed;
1707 return NT_STATUS_NOT_SUPPORTED;
1711 *werror = r.out.result;
1714 return werror_to_ntstatus(r.out.result);
1717 NTSTATUS rpccli_spoolss_EnumPorts(struct rpc_pipe_client *cli,
1718 TALLOC_CTX *mem_ctx,
1719 const char *servername /* [in] [unique,charset(UTF16)] */,
1720 uint32_t level /* [in] */,
1721 DATA_BLOB *buffer /* [in] [unique] */,
1722 uint32_t offered /* [in] */,
1723 union spoolss_PortInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
1724 uint32_t *needed /* [out] [ref] */,
1725 uint32_t count /* [out] */,
1728 struct spoolss_EnumPorts r;
1732 r.in.servername = servername;
1734 r.in.buffer = buffer;
1735 r.in.offered = offered;
1737 if (DEBUGLEVEL >= 10) {
1738 NDR_PRINT_IN_DEBUG(spoolss_EnumPorts, &r);
1741 status = cli->dispatch(cli,
1744 NDR_SPOOLSS_ENUMPORTS,
1747 if (!NT_STATUS_IS_OK(status)) {
1751 if (DEBUGLEVEL >= 10) {
1752 NDR_PRINT_OUT_DEBUG(spoolss_EnumPorts, &r);
1755 if (NT_STATUS_IS_ERR(status)) {
1759 /* Return variables */
1760 if (info && r.out.info) {
1761 memcpy(info, r.out.info, count * sizeof(*info));
1763 *needed = *r.out.needed;
1764 return NT_STATUS_NOT_SUPPORTED;
1768 *werror = r.out.result;
1771 return werror_to_ntstatus(r.out.result);
1774 NTSTATUS rpccli_spoolss_EnumMonitors(struct rpc_pipe_client *cli,
1775 TALLOC_CTX *mem_ctx,
1776 const char *servername /* [in] [unique,charset(UTF16)] */,
1777 uint32_t level /* [in] */,
1778 DATA_BLOB *buffer /* [in] [unique] */,
1779 uint32_t offered /* [in] */,
1780 union spoolss_MonitorInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
1781 uint32_t *needed /* [out] [ref] */,
1782 uint32_t count /* [out] */,
1785 struct spoolss_EnumMonitors r;
1789 r.in.servername = servername;
1791 r.in.buffer = buffer;
1792 r.in.offered = offered;
1794 if (DEBUGLEVEL >= 10) {
1795 NDR_PRINT_IN_DEBUG(spoolss_EnumMonitors, &r);
1798 status = cli->dispatch(cli,
1801 NDR_SPOOLSS_ENUMMONITORS,
1804 if (!NT_STATUS_IS_OK(status)) {
1808 if (DEBUGLEVEL >= 10) {
1809 NDR_PRINT_OUT_DEBUG(spoolss_EnumMonitors, &r);
1812 if (NT_STATUS_IS_ERR(status)) {
1816 /* Return variables */
1817 if (info && r.out.info) {
1818 memcpy(info, r.out.info, count * sizeof(*info));
1820 *needed = *r.out.needed;
1821 return NT_STATUS_NOT_SUPPORTED;
1825 *werror = r.out.result;
1828 return werror_to_ntstatus(r.out.result);
1831 NTSTATUS rpccli_spoolss_AddPort(struct rpc_pipe_client *cli,
1832 TALLOC_CTX *mem_ctx,
1833 const char *server_name /* [in] [unique,charset(UTF16)] */,
1834 uint32_t unknown /* [in] */,
1835 const char *monitor_name /* [in] [charset(UTF16)] */,
1838 struct spoolss_AddPort r;
1842 r.in.server_name = server_name;
1843 r.in.unknown = unknown;
1844 r.in.monitor_name = monitor_name;
1846 if (DEBUGLEVEL >= 10) {
1847 NDR_PRINT_IN_DEBUG(spoolss_AddPort, &r);
1850 status = cli->dispatch(cli,
1853 NDR_SPOOLSS_ADDPORT,
1856 if (!NT_STATUS_IS_OK(status)) {
1860 if (DEBUGLEVEL >= 10) {
1861 NDR_PRINT_OUT_DEBUG(spoolss_AddPort, &r);
1864 if (NT_STATUS_IS_ERR(status)) {
1868 /* Return variables */
1872 *werror = r.out.result;
1875 return werror_to_ntstatus(r.out.result);
1878 NTSTATUS rpccli_spoolss_ConfigurePort(struct rpc_pipe_client *cli,
1879 TALLOC_CTX *mem_ctx,
1882 struct spoolss_ConfigurePort r;
1887 if (DEBUGLEVEL >= 10) {
1888 NDR_PRINT_IN_DEBUG(spoolss_ConfigurePort, &r);
1891 status = cli->dispatch(cli,
1894 NDR_SPOOLSS_CONFIGUREPORT,
1897 if (!NT_STATUS_IS_OK(status)) {
1901 if (DEBUGLEVEL >= 10) {
1902 NDR_PRINT_OUT_DEBUG(spoolss_ConfigurePort, &r);
1905 if (NT_STATUS_IS_ERR(status)) {
1909 /* Return variables */
1913 *werror = r.out.result;
1916 return werror_to_ntstatus(r.out.result);
1919 NTSTATUS rpccli_spoolss_DeletePort(struct rpc_pipe_client *cli,
1920 TALLOC_CTX *mem_ctx,
1923 struct spoolss_DeletePort r;
1928 if (DEBUGLEVEL >= 10) {
1929 NDR_PRINT_IN_DEBUG(spoolss_DeletePort, &r);
1932 status = cli->dispatch(cli,
1935 NDR_SPOOLSS_DELETEPORT,
1938 if (!NT_STATUS_IS_OK(status)) {
1942 if (DEBUGLEVEL >= 10) {
1943 NDR_PRINT_OUT_DEBUG(spoolss_DeletePort, &r);
1946 if (NT_STATUS_IS_ERR(status)) {
1950 /* Return variables */
1954 *werror = r.out.result;
1957 return werror_to_ntstatus(r.out.result);
1960 NTSTATUS rpccli_spoolss_CreatePrinterIC(struct rpc_pipe_client *cli,
1961 TALLOC_CTX *mem_ctx,
1964 struct spoolss_CreatePrinterIC r;
1969 if (DEBUGLEVEL >= 10) {
1970 NDR_PRINT_IN_DEBUG(spoolss_CreatePrinterIC, &r);
1973 status = cli->dispatch(cli,
1976 NDR_SPOOLSS_CREATEPRINTERIC,
1979 if (!NT_STATUS_IS_OK(status)) {
1983 if (DEBUGLEVEL >= 10) {
1984 NDR_PRINT_OUT_DEBUG(spoolss_CreatePrinterIC, &r);
1987 if (NT_STATUS_IS_ERR(status)) {
1991 /* Return variables */
1995 *werror = r.out.result;
1998 return werror_to_ntstatus(r.out.result);
2001 NTSTATUS rpccli_spoolss_PlayGDIScriptOnPrinterIC(struct rpc_pipe_client *cli,
2002 TALLOC_CTX *mem_ctx,
2005 struct spoolss_PlayGDIScriptOnPrinterIC r;
2010 if (DEBUGLEVEL >= 10) {
2011 NDR_PRINT_IN_DEBUG(spoolss_PlayGDIScriptOnPrinterIC, &r);
2014 status = cli->dispatch(cli,
2017 NDR_SPOOLSS_PLAYGDISCRIPTONPRINTERIC,
2020 if (!NT_STATUS_IS_OK(status)) {
2024 if (DEBUGLEVEL >= 10) {
2025 NDR_PRINT_OUT_DEBUG(spoolss_PlayGDIScriptOnPrinterIC, &r);
2028 if (NT_STATUS_IS_ERR(status)) {
2032 /* Return variables */
2036 *werror = r.out.result;
2039 return werror_to_ntstatus(r.out.result);
2042 NTSTATUS rpccli_spoolss_DeletePrinterIC(struct rpc_pipe_client *cli,
2043 TALLOC_CTX *mem_ctx,
2046 struct spoolss_DeletePrinterIC r;
2051 if (DEBUGLEVEL >= 10) {
2052 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterIC, &r);
2055 status = cli->dispatch(cli,
2058 NDR_SPOOLSS_DELETEPRINTERIC,
2061 if (!NT_STATUS_IS_OK(status)) {
2065 if (DEBUGLEVEL >= 10) {
2066 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterIC, &r);
2069 if (NT_STATUS_IS_ERR(status)) {
2073 /* Return variables */
2077 *werror = r.out.result;
2080 return werror_to_ntstatus(r.out.result);
2083 NTSTATUS rpccli_spoolss_AddPrinterConnection(struct rpc_pipe_client *cli,
2084 TALLOC_CTX *mem_ctx,
2087 struct spoolss_AddPrinterConnection r;
2092 if (DEBUGLEVEL >= 10) {
2093 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterConnection, &r);
2096 status = cli->dispatch(cli,
2099 NDR_SPOOLSS_ADDPRINTERCONNECTION,
2102 if (!NT_STATUS_IS_OK(status)) {
2106 if (DEBUGLEVEL >= 10) {
2107 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterConnection, &r);
2110 if (NT_STATUS_IS_ERR(status)) {
2114 /* Return variables */
2118 *werror = r.out.result;
2121 return werror_to_ntstatus(r.out.result);
2124 NTSTATUS rpccli_spoolss_DeletePrinterConnection(struct rpc_pipe_client *cli,
2125 TALLOC_CTX *mem_ctx,
2128 struct spoolss_DeletePrinterConnection r;
2133 if (DEBUGLEVEL >= 10) {
2134 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterConnection, &r);
2137 status = cli->dispatch(cli,
2140 NDR_SPOOLSS_DELETEPRINTERCONNECTION,
2143 if (!NT_STATUS_IS_OK(status)) {
2147 if (DEBUGLEVEL >= 10) {
2148 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterConnection, &r);
2151 if (NT_STATUS_IS_ERR(status)) {
2155 /* Return variables */
2159 *werror = r.out.result;
2162 return werror_to_ntstatus(r.out.result);
2165 NTSTATUS rpccli_spoolss_PrinterMessageBox(struct rpc_pipe_client *cli,
2166 TALLOC_CTX *mem_ctx,
2169 struct spoolss_PrinterMessageBox r;
2174 if (DEBUGLEVEL >= 10) {
2175 NDR_PRINT_IN_DEBUG(spoolss_PrinterMessageBox, &r);
2178 status = cli->dispatch(cli,
2181 NDR_SPOOLSS_PRINTERMESSAGEBOX,
2184 if (!NT_STATUS_IS_OK(status)) {
2188 if (DEBUGLEVEL >= 10) {
2189 NDR_PRINT_OUT_DEBUG(spoolss_PrinterMessageBox, &r);
2192 if (NT_STATUS_IS_ERR(status)) {
2196 /* Return variables */
2200 *werror = r.out.result;
2203 return werror_to_ntstatus(r.out.result);
2206 NTSTATUS rpccli_spoolss_AddMonitor(struct rpc_pipe_client *cli,
2207 TALLOC_CTX *mem_ctx,
2210 struct spoolss_AddMonitor r;
2215 if (DEBUGLEVEL >= 10) {
2216 NDR_PRINT_IN_DEBUG(spoolss_AddMonitor, &r);
2219 status = cli->dispatch(cli,
2222 NDR_SPOOLSS_ADDMONITOR,
2225 if (!NT_STATUS_IS_OK(status)) {
2229 if (DEBUGLEVEL >= 10) {
2230 NDR_PRINT_OUT_DEBUG(spoolss_AddMonitor, &r);
2233 if (NT_STATUS_IS_ERR(status)) {
2237 /* Return variables */
2241 *werror = r.out.result;
2244 return werror_to_ntstatus(r.out.result);
2247 NTSTATUS rpccli_spoolss_DeleteMonitor(struct rpc_pipe_client *cli,
2248 TALLOC_CTX *mem_ctx,
2251 struct spoolss_DeleteMonitor r;
2256 if (DEBUGLEVEL >= 10) {
2257 NDR_PRINT_IN_DEBUG(spoolss_DeleteMonitor, &r);
2260 status = cli->dispatch(cli,
2263 NDR_SPOOLSS_DELETEMONITOR,
2266 if (!NT_STATUS_IS_OK(status)) {
2270 if (DEBUGLEVEL >= 10) {
2271 NDR_PRINT_OUT_DEBUG(spoolss_DeleteMonitor, &r);
2274 if (NT_STATUS_IS_ERR(status)) {
2278 /* Return variables */
2282 *werror = r.out.result;
2285 return werror_to_ntstatus(r.out.result);
2288 NTSTATUS rpccli_spoolss_DeletePrintProcessor(struct rpc_pipe_client *cli,
2289 TALLOC_CTX *mem_ctx,
2292 struct spoolss_DeletePrintProcessor r;
2297 if (DEBUGLEVEL >= 10) {
2298 NDR_PRINT_IN_DEBUG(spoolss_DeletePrintProcessor, &r);
2301 status = cli->dispatch(cli,
2304 NDR_SPOOLSS_DELETEPRINTPROCESSOR,
2307 if (!NT_STATUS_IS_OK(status)) {
2311 if (DEBUGLEVEL >= 10) {
2312 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrintProcessor, &r);
2315 if (NT_STATUS_IS_ERR(status)) {
2319 /* Return variables */
2323 *werror = r.out.result;
2326 return werror_to_ntstatus(r.out.result);
2329 NTSTATUS rpccli_spoolss_AddPrintProvidor(struct rpc_pipe_client *cli,
2330 TALLOC_CTX *mem_ctx,
2333 struct spoolss_AddPrintProvidor r;
2338 if (DEBUGLEVEL >= 10) {
2339 NDR_PRINT_IN_DEBUG(spoolss_AddPrintProvidor, &r);
2342 status = cli->dispatch(cli,
2345 NDR_SPOOLSS_ADDPRINTPROVIDOR,
2348 if (!NT_STATUS_IS_OK(status)) {
2352 if (DEBUGLEVEL >= 10) {
2353 NDR_PRINT_OUT_DEBUG(spoolss_AddPrintProvidor, &r);
2356 if (NT_STATUS_IS_ERR(status)) {
2360 /* Return variables */
2364 *werror = r.out.result;
2367 return werror_to_ntstatus(r.out.result);
2370 NTSTATUS rpccli_spoolss_DeletePrintProvidor(struct rpc_pipe_client *cli,
2371 TALLOC_CTX *mem_ctx,
2374 struct spoolss_DeletePrintProvidor r;
2379 if (DEBUGLEVEL >= 10) {
2380 NDR_PRINT_IN_DEBUG(spoolss_DeletePrintProvidor, &r);
2383 status = cli->dispatch(cli,
2386 NDR_SPOOLSS_DELETEPRINTPROVIDOR,
2389 if (!NT_STATUS_IS_OK(status)) {
2393 if (DEBUGLEVEL >= 10) {
2394 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrintProvidor, &r);
2397 if (NT_STATUS_IS_ERR(status)) {
2401 /* Return variables */
2405 *werror = r.out.result;
2408 return werror_to_ntstatus(r.out.result);
2411 NTSTATUS rpccli_spoolss_EnumPrintProcDataTypes(struct rpc_pipe_client *cli,
2412 TALLOC_CTX *mem_ctx,
2415 struct spoolss_EnumPrintProcDataTypes r;
2420 if (DEBUGLEVEL >= 10) {
2421 NDR_PRINT_IN_DEBUG(spoolss_EnumPrintProcDataTypes, &r);
2424 status = cli->dispatch(cli,
2427 NDR_SPOOLSS_ENUMPRINTPROCDATATYPES,
2430 if (!NT_STATUS_IS_OK(status)) {
2434 if (DEBUGLEVEL >= 10) {
2435 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrintProcDataTypes, &r);
2438 if (NT_STATUS_IS_ERR(status)) {
2442 /* Return variables */
2446 *werror = r.out.result;
2449 return werror_to_ntstatus(r.out.result);
2452 NTSTATUS rpccli_spoolss_ResetPrinter(struct rpc_pipe_client *cli,
2453 TALLOC_CTX *mem_ctx,
2456 struct spoolss_ResetPrinter r;
2461 if (DEBUGLEVEL >= 10) {
2462 NDR_PRINT_IN_DEBUG(spoolss_ResetPrinter, &r);
2465 status = cli->dispatch(cli,
2468 NDR_SPOOLSS_RESETPRINTER,
2471 if (!NT_STATUS_IS_OK(status)) {
2475 if (DEBUGLEVEL >= 10) {
2476 NDR_PRINT_OUT_DEBUG(spoolss_ResetPrinter, &r);
2479 if (NT_STATUS_IS_ERR(status)) {
2483 /* Return variables */
2487 *werror = r.out.result;
2490 return werror_to_ntstatus(r.out.result);
2493 NTSTATUS rpccli_spoolss_GetPrinterDriver2(struct rpc_pipe_client *cli,
2494 TALLOC_CTX *mem_ctx,
2495 struct policy_handle *handle /* [in] [ref] */,
2496 const char *architecture /* [in] [unique,charset(UTF16)] */,
2497 uint32_t level /* [in] */,
2498 DATA_BLOB *buffer /* [in] [unique] */,
2499 uint32_t offered /* [in] */,
2500 uint32_t client_major_version /* [in] */,
2501 uint32_t client_minor_version /* [in] */,
2502 DATA_BLOB *info /* [out] [unique] */,
2503 uint32_t *needed /* [out] [ref] */,
2504 uint32_t *server_major_version /* [out] [ref] */,
2505 uint32_t *server_minor_version /* [out] [ref] */,
2508 struct spoolss_GetPrinterDriver2 r;
2512 r.in.handle = handle;
2513 r.in.architecture = architecture;
2515 r.in.buffer = buffer;
2516 r.in.offered = offered;
2517 r.in.client_major_version = client_major_version;
2518 r.in.client_minor_version = client_minor_version;
2520 if (DEBUGLEVEL >= 10) {
2521 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriver2, &r);
2524 status = cli->dispatch(cli,
2527 NDR_SPOOLSS_GETPRINTERDRIVER2,
2530 if (!NT_STATUS_IS_OK(status)) {
2534 if (DEBUGLEVEL >= 10) {
2535 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriver2, &r);
2538 if (NT_STATUS_IS_ERR(status)) {
2542 /* Return variables */
2543 if (info && r.out.info) {
2544 *info = *r.out.info;
2546 *needed = *r.out.needed;
2547 *server_major_version = *r.out.server_major_version;
2548 *server_minor_version = *r.out.server_minor_version;
2552 *werror = r.out.result;
2555 return werror_to_ntstatus(r.out.result);
2558 NTSTATUS rpccli_spoolss_FindFirstPrinterChangeNotification(struct rpc_pipe_client *cli,
2559 TALLOC_CTX *mem_ctx,
2562 struct spoolss_FindFirstPrinterChangeNotification r;
2567 if (DEBUGLEVEL >= 10) {
2568 NDR_PRINT_IN_DEBUG(spoolss_FindFirstPrinterChangeNotification, &r);
2571 status = cli->dispatch(cli,
2574 NDR_SPOOLSS_FINDFIRSTPRINTERCHANGENOTIFICATION,
2577 if (!NT_STATUS_IS_OK(status)) {
2581 if (DEBUGLEVEL >= 10) {
2582 NDR_PRINT_OUT_DEBUG(spoolss_FindFirstPrinterChangeNotification, &r);
2585 if (NT_STATUS_IS_ERR(status)) {
2589 /* Return variables */
2593 *werror = r.out.result;
2596 return werror_to_ntstatus(r.out.result);
2599 NTSTATUS rpccli_spoolss_FindNextPrinterChangeNotification(struct rpc_pipe_client *cli,
2600 TALLOC_CTX *mem_ctx,
2603 struct spoolss_FindNextPrinterChangeNotification r;
2608 if (DEBUGLEVEL >= 10) {
2609 NDR_PRINT_IN_DEBUG(spoolss_FindNextPrinterChangeNotification, &r);
2612 status = cli->dispatch(cli,
2615 NDR_SPOOLSS_FINDNEXTPRINTERCHANGENOTIFICATION,
2618 if (!NT_STATUS_IS_OK(status)) {
2622 if (DEBUGLEVEL >= 10) {
2623 NDR_PRINT_OUT_DEBUG(spoolss_FindNextPrinterChangeNotification, &r);
2626 if (NT_STATUS_IS_ERR(status)) {
2630 /* Return variables */
2634 *werror = r.out.result;
2637 return werror_to_ntstatus(r.out.result);
2640 NTSTATUS rpccli_spoolss_FindClosePrinterNotify(struct rpc_pipe_client *cli,
2641 TALLOC_CTX *mem_ctx,
2642 struct policy_handle *handle /* [in] [ref] */,
2645 struct spoolss_FindClosePrinterNotify r;
2649 r.in.handle = handle;
2651 if (DEBUGLEVEL >= 10) {
2652 NDR_PRINT_IN_DEBUG(spoolss_FindClosePrinterNotify, &r);
2655 status = cli->dispatch(cli,
2658 NDR_SPOOLSS_FINDCLOSEPRINTERNOTIFY,
2661 if (!NT_STATUS_IS_OK(status)) {
2665 if (DEBUGLEVEL >= 10) {
2666 NDR_PRINT_OUT_DEBUG(spoolss_FindClosePrinterNotify, &r);
2669 if (NT_STATUS_IS_ERR(status)) {
2673 /* Return variables */
2677 *werror = r.out.result;
2680 return werror_to_ntstatus(r.out.result);
2683 NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct rpc_pipe_client *cli,
2684 TALLOC_CTX *mem_ctx,
2687 struct spoolss_RouterFindFirstPrinterChangeNotificationOld r;
2692 if (DEBUGLEVEL >= 10) {
2693 NDR_PRINT_IN_DEBUG(spoolss_RouterFindFirstPrinterChangeNotificationOld, &r);
2696 status = cli->dispatch(cli,
2699 NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATIONOLD,
2702 if (!NT_STATUS_IS_OK(status)) {
2706 if (DEBUGLEVEL >= 10) {
2707 NDR_PRINT_OUT_DEBUG(spoolss_RouterFindFirstPrinterChangeNotificationOld, &r);
2710 if (NT_STATUS_IS_ERR(status)) {
2714 /* Return variables */
2718 *werror = r.out.result;
2721 return werror_to_ntstatus(r.out.result);
2724 NTSTATUS rpccli_spoolss_ReplyOpenPrinter(struct rpc_pipe_client *cli,
2725 TALLOC_CTX *mem_ctx,
2726 const char *server_name /* [in] [charset(UTF16)] */,
2727 uint32_t printer_local /* [in] */,
2728 enum winreg_Type type /* [in] */,
2729 uint32_t unknown1 /* [in] */,
2730 uint32_t unknown2 /* [in] */,
2731 struct policy_handle *handle /* [out] [ref] */,
2734 struct spoolss_ReplyOpenPrinter r;
2738 r.in.server_name = server_name;
2739 r.in.printer_local = printer_local;
2741 r.in.unknown1 = unknown1;
2742 r.in.unknown2 = unknown2;
2744 if (DEBUGLEVEL >= 10) {
2745 NDR_PRINT_IN_DEBUG(spoolss_ReplyOpenPrinter, &r);
2748 status = cli->dispatch(cli,
2751 NDR_SPOOLSS_REPLYOPENPRINTER,
2754 if (!NT_STATUS_IS_OK(status)) {
2758 if (DEBUGLEVEL >= 10) {
2759 NDR_PRINT_OUT_DEBUG(spoolss_ReplyOpenPrinter, &r);
2762 if (NT_STATUS_IS_ERR(status)) {
2766 /* Return variables */
2767 *handle = *r.out.handle;
2771 *werror = r.out.result;
2774 return werror_to_ntstatus(r.out.result);
2777 NTSTATUS rpccli_spoolss_RouterReplyPrinter(struct rpc_pipe_client *cli,
2778 TALLOC_CTX *mem_ctx,
2779 struct policy_handle *handle /* [in] [ref] */,
2780 uint32_t flags /* [in] */,
2781 uint32_t bufsize /* [in] [range(0,512)] */,
2782 uint8_t *buffer /* [in] [unique,size_is(bufsize)] */,
2785 struct spoolss_RouterReplyPrinter r;
2789 r.in.handle = handle;
2791 r.in.bufsize = bufsize;
2792 r.in.buffer = buffer;
2794 if (DEBUGLEVEL >= 10) {
2795 NDR_PRINT_IN_DEBUG(spoolss_RouterReplyPrinter, &r);
2798 status = cli->dispatch(cli,
2801 NDR_SPOOLSS_ROUTERREPLYPRINTER,
2804 if (!NT_STATUS_IS_OK(status)) {
2808 if (DEBUGLEVEL >= 10) {
2809 NDR_PRINT_OUT_DEBUG(spoolss_RouterReplyPrinter, &r);
2812 if (NT_STATUS_IS_ERR(status)) {
2816 /* Return variables */
2820 *werror = r.out.result;
2823 return werror_to_ntstatus(r.out.result);
2826 NTSTATUS rpccli_spoolss_ReplyClosePrinter(struct rpc_pipe_client *cli,
2827 TALLOC_CTX *mem_ctx,
2828 struct policy_handle *handle /* [in,out] [ref] */,
2831 struct spoolss_ReplyClosePrinter r;
2835 r.in.handle = handle;
2837 if (DEBUGLEVEL >= 10) {
2838 NDR_PRINT_IN_DEBUG(spoolss_ReplyClosePrinter, &r);
2841 status = cli->dispatch(cli,
2844 NDR_SPOOLSS_REPLYCLOSEPRINTER,
2847 if (!NT_STATUS_IS_OK(status)) {
2851 if (DEBUGLEVEL >= 10) {
2852 NDR_PRINT_OUT_DEBUG(spoolss_ReplyClosePrinter, &r);
2855 if (NT_STATUS_IS_ERR(status)) {
2859 /* Return variables */
2860 *handle = *r.out.handle;
2864 *werror = r.out.result;
2867 return werror_to_ntstatus(r.out.result);
2870 NTSTATUS rpccli_spoolss_AddPortEx(struct rpc_pipe_client *cli,
2871 TALLOC_CTX *mem_ctx,
2874 struct spoolss_AddPortEx r;
2879 if (DEBUGLEVEL >= 10) {
2880 NDR_PRINT_IN_DEBUG(spoolss_AddPortEx, &r);
2883 status = cli->dispatch(cli,
2886 NDR_SPOOLSS_ADDPORTEX,
2889 if (!NT_STATUS_IS_OK(status)) {
2893 if (DEBUGLEVEL >= 10) {
2894 NDR_PRINT_OUT_DEBUG(spoolss_AddPortEx, &r);
2897 if (NT_STATUS_IS_ERR(status)) {
2901 /* Return variables */
2905 *werror = r.out.result;
2908 return werror_to_ntstatus(r.out.result);
2911 NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotification(struct rpc_pipe_client *cli,
2912 TALLOC_CTX *mem_ctx,
2915 struct spoolss_RouterFindFirstPrinterChangeNotification r;
2920 if (DEBUGLEVEL >= 10) {
2921 NDR_PRINT_IN_DEBUG(spoolss_RouterFindFirstPrinterChangeNotification, &r);
2924 status = cli->dispatch(cli,
2927 NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATION,
2930 if (!NT_STATUS_IS_OK(status)) {
2934 if (DEBUGLEVEL >= 10) {
2935 NDR_PRINT_OUT_DEBUG(spoolss_RouterFindFirstPrinterChangeNotification, &r);
2938 if (NT_STATUS_IS_ERR(status)) {
2942 /* Return variables */
2946 *werror = r.out.result;
2949 return werror_to_ntstatus(r.out.result);
2952 NTSTATUS rpccli_spoolss_SpoolerInit(struct rpc_pipe_client *cli,
2953 TALLOC_CTX *mem_ctx,
2956 struct spoolss_SpoolerInit r;
2961 if (DEBUGLEVEL >= 10) {
2962 NDR_PRINT_IN_DEBUG(spoolss_SpoolerInit, &r);
2965 status = cli->dispatch(cli,
2968 NDR_SPOOLSS_SPOOLERINIT,
2971 if (!NT_STATUS_IS_OK(status)) {
2975 if (DEBUGLEVEL >= 10) {
2976 NDR_PRINT_OUT_DEBUG(spoolss_SpoolerInit, &r);
2979 if (NT_STATUS_IS_ERR(status)) {
2983 /* Return variables */
2987 *werror = r.out.result;
2990 return werror_to_ntstatus(r.out.result);
2993 NTSTATUS rpccli_spoolss_ResetPrinterEx(struct rpc_pipe_client *cli,
2994 TALLOC_CTX *mem_ctx,
2997 struct spoolss_ResetPrinterEx r;
3002 if (DEBUGLEVEL >= 10) {
3003 NDR_PRINT_IN_DEBUG(spoolss_ResetPrinterEx, &r);
3006 status = cli->dispatch(cli,
3009 NDR_SPOOLSS_RESETPRINTEREX,
3012 if (!NT_STATUS_IS_OK(status)) {
3016 if (DEBUGLEVEL >= 10) {
3017 NDR_PRINT_OUT_DEBUG(spoolss_ResetPrinterEx, &r);
3020 if (NT_STATUS_IS_ERR(status)) {
3024 /* Return variables */
3028 *werror = r.out.result;
3031 return werror_to_ntstatus(r.out.result);
3034 NTSTATUS rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct rpc_pipe_client *cli,
3035 TALLOC_CTX *mem_ctx,
3036 struct policy_handle *handle /* [in] [ref] */,
3037 uint32_t flags /* [in] */,
3038 uint32_t options /* [in] */,
3039 const char *str /* [in] [unique,charset(UTF16)] */,
3040 uint32_t printer_local /* [in] */,
3041 struct spoolss_NotifyOptionsContainer *t1 /* [in] [unique] */,
3044 struct spoolss_RemoteFindFirstPrinterChangeNotifyEx r;
3048 r.in.handle = handle;
3050 r.in.options = options;
3052 r.in.printer_local = printer_local;
3055 if (DEBUGLEVEL >= 10) {
3056 NDR_PRINT_IN_DEBUG(spoolss_RemoteFindFirstPrinterChangeNotifyEx, &r);
3059 status = cli->dispatch(cli,
3062 NDR_SPOOLSS_REMOTEFINDFIRSTPRINTERCHANGENOTIFYEX,
3065 if (!NT_STATUS_IS_OK(status)) {
3069 if (DEBUGLEVEL >= 10) {
3070 NDR_PRINT_OUT_DEBUG(spoolss_RemoteFindFirstPrinterChangeNotifyEx, &r);
3073 if (NT_STATUS_IS_ERR(status)) {
3077 /* Return variables */
3081 *werror = r.out.result;
3084 return werror_to_ntstatus(r.out.result);
3087 NTSTATUS rpccli_spoolss_RouterRefreshPrinterChangeNotification(struct rpc_pipe_client *cli,
3088 TALLOC_CTX *mem_ctx,
3091 struct spoolss_RouterRefreshPrinterChangeNotification r;
3096 if (DEBUGLEVEL >= 10) {
3097 NDR_PRINT_IN_DEBUG(spoolss_RouterRefreshPrinterChangeNotification, &r);
3100 status = cli->dispatch(cli,
3103 NDR_SPOOLSS_ROUTERREFRESHPRINTERCHANGENOTIFICATION,
3106 if (!NT_STATUS_IS_OK(status)) {
3110 if (DEBUGLEVEL >= 10) {
3111 NDR_PRINT_OUT_DEBUG(spoolss_RouterRefreshPrinterChangeNotification, &r);
3114 if (NT_STATUS_IS_ERR(status)) {
3118 /* Return variables */
3122 *werror = r.out.result;
3125 return werror_to_ntstatus(r.out.result);
3128 NTSTATUS rpccli_spoolss_RemoteFindNextPrinterChangeNotifyEx(struct rpc_pipe_client *cli,
3129 TALLOC_CTX *mem_ctx,
3130 struct policy_handle *handle /* [in] [ref] */,
3131 uint32_t change_low /* [in] */,
3132 struct spoolss_NotifyOptionsContainer *container /* [in] [unique] */,
3133 struct spoolss_NotifyInfo **info /* [out] [ref] */,
3136 struct spoolss_RemoteFindNextPrinterChangeNotifyEx r;
3140 r.in.handle = handle;
3141 r.in.change_low = change_low;
3142 r.in.container = container;
3144 if (DEBUGLEVEL >= 10) {
3145 NDR_PRINT_IN_DEBUG(spoolss_RemoteFindNextPrinterChangeNotifyEx, &r);
3148 status = cli->dispatch(cli,
3151 NDR_SPOOLSS_REMOTEFINDNEXTPRINTERCHANGENOTIFYEX,
3154 if (!NT_STATUS_IS_OK(status)) {
3158 if (DEBUGLEVEL >= 10) {
3159 NDR_PRINT_OUT_DEBUG(spoolss_RemoteFindNextPrinterChangeNotifyEx, &r);
3162 if (NT_STATUS_IS_ERR(status)) {
3166 /* Return variables */
3167 *info = *r.out.info;
3171 *werror = r.out.result;
3174 return werror_to_ntstatus(r.out.result);
3177 NTSTATUS rpccli_spoolss_44(struct rpc_pipe_client *cli,
3178 TALLOC_CTX *mem_ctx,
3181 struct spoolss_44 r;
3186 if (DEBUGLEVEL >= 10) {
3187 NDR_PRINT_IN_DEBUG(spoolss_44, &r);
3190 status = cli->dispatch(cli,
3196 if (!NT_STATUS_IS_OK(status)) {
3200 if (DEBUGLEVEL >= 10) {
3201 NDR_PRINT_OUT_DEBUG(spoolss_44, &r);
3204 if (NT_STATUS_IS_ERR(status)) {
3208 /* Return variables */
3212 *werror = r.out.result;
3215 return werror_to_ntstatus(r.out.result);
3218 NTSTATUS rpccli_spoolss_OpenPrinterEx(struct rpc_pipe_client *cli,
3219 TALLOC_CTX *mem_ctx,
3220 const char *printername /* [in] [unique,charset(UTF16)] */,
3221 const char *datatype /* [in] [unique,charset(UTF16)] */,
3222 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
3223 uint32_t access_mask /* [in] */,
3224 uint32_t level /* [in] */,
3225 union spoolss_UserLevel userlevel /* [in] [switch_is(level)] */,
3226 struct policy_handle *handle /* [out] [ref] */,
3229 struct spoolss_OpenPrinterEx r;
3233 r.in.printername = printername;
3234 r.in.datatype = datatype;
3235 r.in.devmode_ctr = devmode_ctr;
3236 r.in.access_mask = access_mask;
3238 r.in.userlevel = userlevel;
3240 if (DEBUGLEVEL >= 10) {
3241 NDR_PRINT_IN_DEBUG(spoolss_OpenPrinterEx, &r);
3244 status = cli->dispatch(cli,
3247 NDR_SPOOLSS_OPENPRINTEREX,
3250 if (!NT_STATUS_IS_OK(status)) {
3254 if (DEBUGLEVEL >= 10) {
3255 NDR_PRINT_OUT_DEBUG(spoolss_OpenPrinterEx, &r);
3258 if (NT_STATUS_IS_ERR(status)) {
3262 /* Return variables */
3263 *handle = *r.out.handle;
3267 *werror = r.out.result;
3270 return werror_to_ntstatus(r.out.result);
3273 NTSTATUS rpccli_spoolss_AddPrinterEx(struct rpc_pipe_client *cli,
3274 TALLOC_CTX *mem_ctx,
3275 const char *server /* [in] [unique,charset(UTF16)] */,
3276 uint32_t level /* [in] */,
3277 union spoolss_PrinterInfo *info /* [in] [unique,switch_is(level)] */,
3278 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
3279 struct security_descriptor *secdesc /* [in] [unique] */,
3280 uint32_t ulevel /* [in] */,
3281 union spoolss_UserLevel userlevel /* [in] [switch_is(ulevel)] */,
3284 struct spoolss_AddPrinterEx r;
3288 r.in.server = server;
3291 r.in.devmode_ctr = devmode_ctr;
3292 r.in.secdesc = secdesc;
3293 r.in.ulevel = ulevel;
3294 r.in.userlevel = userlevel;
3296 if (DEBUGLEVEL >= 10) {
3297 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterEx, &r);
3300 status = cli->dispatch(cli,
3303 NDR_SPOOLSS_ADDPRINTEREX,
3306 if (!NT_STATUS_IS_OK(status)) {
3310 if (DEBUGLEVEL >= 10) {
3311 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterEx, &r);
3314 if (NT_STATUS_IS_ERR(status)) {
3318 /* Return variables */
3322 *werror = r.out.result;
3325 return werror_to_ntstatus(r.out.result);
3328 NTSTATUS rpccli_spoolss_47(struct rpc_pipe_client *cli,
3329 TALLOC_CTX *mem_ctx,
3332 struct spoolss_47 r;
3337 if (DEBUGLEVEL >= 10) {
3338 NDR_PRINT_IN_DEBUG(spoolss_47, &r);
3341 status = cli->dispatch(cli,
3347 if (!NT_STATUS_IS_OK(status)) {
3351 if (DEBUGLEVEL >= 10) {
3352 NDR_PRINT_OUT_DEBUG(spoolss_47, &r);
3355 if (NT_STATUS_IS_ERR(status)) {
3359 /* Return variables */
3363 *werror = r.out.result;
3366 return werror_to_ntstatus(r.out.result);
3369 NTSTATUS rpccli_spoolss_EnumPrinterData(struct rpc_pipe_client *cli,
3370 TALLOC_CTX *mem_ctx,
3371 struct policy_handle *handle /* [in] [ref] */,
3372 uint32_t enum_index /* [in] */,
3373 const char *value_name /* [out] [charset(UTF16),size_is(value_offered/2)] */,
3374 uint32_t value_offered /* [in] */,
3375 uint32_t *value_needed /* [out] [ref] */,
3376 uint32_t *printerdata_type /* [out] [ref] */,
3377 DATA_BLOB *buffer /* [out] [ref] */,
3378 uint32_t data_offered /* [in] */,
3379 uint32_t *data_needed /* [out] [ref] */,
3382 struct spoolss_EnumPrinterData r;
3386 r.in.handle = handle;
3387 r.in.enum_index = enum_index;
3388 r.in.value_offered = value_offered;
3389 r.in.data_offered = data_offered;
3391 if (DEBUGLEVEL >= 10) {
3392 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterData, &r);
3395 status = cli->dispatch(cli,
3398 NDR_SPOOLSS_ENUMPRINTERDATA,
3401 if (!NT_STATUS_IS_OK(status)) {
3405 if (DEBUGLEVEL >= 10) {
3406 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterData, &r);
3409 if (NT_STATUS_IS_ERR(status)) {
3413 /* Return variables */
3414 memcpy(CONST_DISCARD(char *, value_name), r.out.value_name, r.in.value_offered / 2 * sizeof(*value_name));
3415 *value_needed = *r.out.value_needed;
3416 *printerdata_type = *r.out.printerdata_type;
3417 *buffer = *r.out.buffer;
3418 *data_needed = *r.out.data_needed;
3422 *werror = r.out.result;
3425 return werror_to_ntstatus(r.out.result);
3428 NTSTATUS rpccli_spoolss_DeletePrinterData(struct rpc_pipe_client *cli,
3429 TALLOC_CTX *mem_ctx,
3430 struct policy_handle *handle /* [in] [ref] */,
3431 const char *value_name /* [in] [charset(UTF16)] */,
3434 struct spoolss_DeletePrinterData r;
3438 r.in.handle = handle;
3439 r.in.value_name = value_name;
3441 if (DEBUGLEVEL >= 10) {
3442 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterData, &r);
3445 status = cli->dispatch(cli,
3448 NDR_SPOOLSS_DELETEPRINTERDATA,
3451 if (!NT_STATUS_IS_OK(status)) {
3455 if (DEBUGLEVEL >= 10) {
3456 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterData, &r);
3459 if (NT_STATUS_IS_ERR(status)) {
3463 /* Return variables */
3467 *werror = r.out.result;
3470 return werror_to_ntstatus(r.out.result);
3473 NTSTATUS rpccli_spoolss_4a(struct rpc_pipe_client *cli,
3474 TALLOC_CTX *mem_ctx,
3477 struct spoolss_4a r;
3482 if (DEBUGLEVEL >= 10) {
3483 NDR_PRINT_IN_DEBUG(spoolss_4a, &r);
3486 status = cli->dispatch(cli,
3492 if (!NT_STATUS_IS_OK(status)) {
3496 if (DEBUGLEVEL >= 10) {
3497 NDR_PRINT_OUT_DEBUG(spoolss_4a, &r);
3500 if (NT_STATUS_IS_ERR(status)) {
3504 /* Return variables */
3508 *werror = r.out.result;
3511 return werror_to_ntstatus(r.out.result);
3514 NTSTATUS rpccli_spoolss_4b(struct rpc_pipe_client *cli,
3515 TALLOC_CTX *mem_ctx,
3518 struct spoolss_4b r;
3523 if (DEBUGLEVEL >= 10) {
3524 NDR_PRINT_IN_DEBUG(spoolss_4b, &r);
3527 status = cli->dispatch(cli,
3533 if (!NT_STATUS_IS_OK(status)) {
3537 if (DEBUGLEVEL >= 10) {
3538 NDR_PRINT_OUT_DEBUG(spoolss_4b, &r);
3541 if (NT_STATUS_IS_ERR(status)) {
3545 /* Return variables */
3549 *werror = r.out.result;
3552 return werror_to_ntstatus(r.out.result);
3555 NTSTATUS rpccli_spoolss_4c(struct rpc_pipe_client *cli,
3556 TALLOC_CTX *mem_ctx,
3559 struct spoolss_4c r;
3564 if (DEBUGLEVEL >= 10) {
3565 NDR_PRINT_IN_DEBUG(spoolss_4c, &r);
3568 status = cli->dispatch(cli,
3574 if (!NT_STATUS_IS_OK(status)) {
3578 if (DEBUGLEVEL >= 10) {
3579 NDR_PRINT_OUT_DEBUG(spoolss_4c, &r);
3582 if (NT_STATUS_IS_ERR(status)) {
3586 /* Return variables */
3590 *werror = r.out.result;
3593 return werror_to_ntstatus(r.out.result);
3596 NTSTATUS rpccli_spoolss_SetPrinterDataEx(struct rpc_pipe_client *cli,
3597 TALLOC_CTX *mem_ctx,
3598 struct policy_handle *handle /* [in] [ref] */,
3599 const char *key_name /* [in] [charset(UTF16)] */,
3600 const char *value_name /* [in] [charset(UTF16)] */,
3601 uint32_t type /* [in] */,
3602 DATA_BLOB buffer /* [in] */,
3603 uint32_t offered /* [in] */,
3606 struct spoolss_SetPrinterDataEx r;
3610 r.in.handle = handle;
3611 r.in.key_name = key_name;
3612 r.in.value_name = value_name;
3614 r.in.buffer = buffer;
3615 r.in.offered = offered;
3617 if (DEBUGLEVEL >= 10) {
3618 NDR_PRINT_IN_DEBUG(spoolss_SetPrinterDataEx, &r);
3621 status = cli->dispatch(cli,
3624 NDR_SPOOLSS_SETPRINTERDATAEX,
3627 if (!NT_STATUS_IS_OK(status)) {
3631 if (DEBUGLEVEL >= 10) {
3632 NDR_PRINT_OUT_DEBUG(spoolss_SetPrinterDataEx, &r);
3635 if (NT_STATUS_IS_ERR(status)) {
3639 /* Return variables */
3643 *werror = r.out.result;
3646 return werror_to_ntstatus(r.out.result);
3649 NTSTATUS rpccli_spoolss_GetPrinterDataEx(struct rpc_pipe_client *cli,
3650 TALLOC_CTX *mem_ctx,
3651 struct policy_handle *handle /* [in] [ref] */,
3652 const char *key_name /* [in] [charset(UTF16)] */,
3653 const char *value_name /* [in] [charset(UTF16)] */,
3654 uint32_t *type /* [out] [ref] */,
3655 uint8_t *buffer /* [out] [ref,size_is(offered)] */,
3656 uint32_t offered /* [in] */,
3657 uint32_t *needed /* [out] [ref] */,
3660 struct spoolss_GetPrinterDataEx r;
3664 r.in.handle = handle;
3665 r.in.key_name = key_name;
3666 r.in.value_name = value_name;
3667 r.in.offered = offered;
3669 if (DEBUGLEVEL >= 10) {
3670 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDataEx, &r);
3673 status = cli->dispatch(cli,
3676 NDR_SPOOLSS_GETPRINTERDATAEX,
3679 if (!NT_STATUS_IS_OK(status)) {
3683 if (DEBUGLEVEL >= 10) {
3684 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDataEx, &r);
3687 if (NT_STATUS_IS_ERR(status)) {
3691 /* Return variables */
3692 *type = *r.out.type;
3693 memcpy(buffer, r.out.buffer, r.in.offered * sizeof(*buffer));
3694 *needed = *r.out.needed;
3698 *werror = r.out.result;
3701 return werror_to_ntstatus(r.out.result);
3704 NTSTATUS rpccli_spoolss_EnumPrinterDataEx(struct rpc_pipe_client *cli,
3705 TALLOC_CTX *mem_ctx,
3706 struct policy_handle *handle /* [in] [ref] */,
3707 const char *key_name /* [in] [charset(UTF16)] */,
3708 uint8_t *buffer /* [out] [ref,size_is(offered)] */,
3709 uint32_t offered /* [in] */,
3710 uint32_t *needed /* [out] [ref] */,
3711 uint32_t *count /* [out] [ref] */,
3714 struct spoolss_EnumPrinterDataEx r;
3718 r.in.handle = handle;
3719 r.in.key_name = key_name;
3720 r.in.offered = offered;
3722 if (DEBUGLEVEL >= 10) {
3723 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterDataEx, &r);
3726 status = cli->dispatch(cli,
3729 NDR_SPOOLSS_ENUMPRINTERDATAEX,
3732 if (!NT_STATUS_IS_OK(status)) {
3736 if (DEBUGLEVEL >= 10) {
3737 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterDataEx, &r);
3740 if (NT_STATUS_IS_ERR(status)) {
3744 /* Return variables */
3745 memcpy(buffer, r.out.buffer, r.in.offered * sizeof(*buffer));
3746 *needed = *r.out.needed;
3747 *count = *r.out.count;
3751 *werror = r.out.result;
3754 return werror_to_ntstatus(r.out.result);
3757 NTSTATUS rpccli_spoolss_EnumPrinterKey(struct rpc_pipe_client *cli,
3758 TALLOC_CTX *mem_ctx,
3759 struct policy_handle *handle /* [in] [ref] */,
3760 const char *key_name /* [in] [charset(UTF16)] */,
3761 uint16_t *key_buffer /* [out] [ref,size_is(key_buffer_size/2)] */,
3762 uint32_t key_buffer_size /* [in] */,
3763 uint32_t *needed /* [out] [ref] */,
3766 struct spoolss_EnumPrinterKey r;
3770 r.in.handle = handle;
3771 r.in.key_name = key_name;
3772 r.in.key_buffer_size = key_buffer_size;
3774 if (DEBUGLEVEL >= 10) {
3775 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterKey, &r);
3778 status = cli->dispatch(cli,
3781 NDR_SPOOLSS_ENUMPRINTERKEY,
3784 if (!NT_STATUS_IS_OK(status)) {
3788 if (DEBUGLEVEL >= 10) {
3789 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterKey, &r);
3792 if (NT_STATUS_IS_ERR(status)) {
3796 /* Return variables */
3797 memcpy(key_buffer, r.out.key_buffer, r.in.key_buffer_size / 2 * sizeof(*key_buffer));
3798 *needed = *r.out.needed;
3802 *werror = r.out.result;
3805 return werror_to_ntstatus(r.out.result);
3808 NTSTATUS rpccli_spoolss_DeletePrinterDataEx(struct rpc_pipe_client *cli,
3809 TALLOC_CTX *mem_ctx,
3810 struct policy_handle *handle /* [in] [ref] */,
3811 const char *key_name /* [in] [charset(UTF16)] */,
3812 const char *value_name /* [in] [charset(UTF16)] */,
3815 struct spoolss_DeletePrinterDataEx r;
3819 r.in.handle = handle;
3820 r.in.key_name = key_name;
3821 r.in.value_name = value_name;
3823 if (DEBUGLEVEL >= 10) {
3824 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDataEx, &r);
3827 status = cli->dispatch(cli,
3830 NDR_SPOOLSS_DELETEPRINTERDATAEX,
3833 if (!NT_STATUS_IS_OK(status)) {
3837 if (DEBUGLEVEL >= 10) {
3838 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterDataEx, &r);
3841 if (NT_STATUS_IS_ERR(status)) {
3845 /* Return variables */
3849 *werror = r.out.result;
3852 return werror_to_ntstatus(r.out.result);
3855 NTSTATUS rpccli_spoolss_DeletePrinterKey(struct rpc_pipe_client *cli,
3856 TALLOC_CTX *mem_ctx,
3857 struct policy_handle *handle /* [in] [ref] */,
3858 const char *key_name /* [in] [charset(UTF16)] */,
3861 struct spoolss_DeletePrinterKey r;
3865 r.in.handle = handle;
3866 r.in.key_name = key_name;
3868 if (DEBUGLEVEL >= 10) {
3869 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterKey, &r);
3872 status = cli->dispatch(cli,
3875 NDR_SPOOLSS_DELETEPRINTERKEY,
3878 if (!NT_STATUS_IS_OK(status)) {
3882 if (DEBUGLEVEL >= 10) {
3883 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterKey, &r);
3886 if (NT_STATUS_IS_ERR(status)) {
3890 /* Return variables */
3894 *werror = r.out.result;
3897 return werror_to_ntstatus(r.out.result);
3900 NTSTATUS rpccli_spoolss_53(struct rpc_pipe_client *cli,
3901 TALLOC_CTX *mem_ctx,
3904 struct spoolss_53 r;
3909 if (DEBUGLEVEL >= 10) {
3910 NDR_PRINT_IN_DEBUG(spoolss_53, &r);
3913 status = cli->dispatch(cli,
3919 if (!NT_STATUS_IS_OK(status)) {
3923 if (DEBUGLEVEL >= 10) {
3924 NDR_PRINT_OUT_DEBUG(spoolss_53, &r);
3927 if (NT_STATUS_IS_ERR(status)) {
3931 /* Return variables */
3935 *werror = r.out.result;
3938 return werror_to_ntstatus(r.out.result);
3941 NTSTATUS rpccli_spoolss_DeletePrinterDriverEx(struct rpc_pipe_client *cli,
3942 TALLOC_CTX *mem_ctx,
3943 const char *server /* [in] [unique,charset(UTF16)] */,
3944 const char *architecture /* [in] [charset(UTF16)] */,
3945 const char *driver /* [in] [charset(UTF16)] */,
3946 uint32_t delete_flags /* [in] */,
3947 uint32_t version /* [in] */,
3950 struct spoolss_DeletePrinterDriverEx r;
3954 r.in.server = server;
3955 r.in.architecture = architecture;
3956 r.in.driver = driver;
3957 r.in.delete_flags = delete_flags;
3958 r.in.version = version;
3960 if (DEBUGLEVEL >= 10) {
3961 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDriverEx, &r);
3964 status = cli->dispatch(cli,
3967 NDR_SPOOLSS_DELETEPRINTERDRIVEREX,
3970 if (!NT_STATUS_IS_OK(status)) {
3974 if (DEBUGLEVEL >= 10) {
3975 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterDriverEx, &r);
3978 if (NT_STATUS_IS_ERR(status)) {
3982 /* Return variables */
3986 *werror = r.out.result;
3989 return werror_to_ntstatus(r.out.result);
3992 NTSTATUS rpccli_spoolss_55(struct rpc_pipe_client *cli,
3993 TALLOC_CTX *mem_ctx,
3996 struct spoolss_55 r;
4001 if (DEBUGLEVEL >= 10) {
4002 NDR_PRINT_IN_DEBUG(spoolss_55, &r);
4005 status = cli->dispatch(cli,
4011 if (!NT_STATUS_IS_OK(status)) {
4015 if (DEBUGLEVEL >= 10) {
4016 NDR_PRINT_OUT_DEBUG(spoolss_55, &r);
4019 if (NT_STATUS_IS_ERR(status)) {
4023 /* Return variables */
4027 *werror = r.out.result;
4030 return werror_to_ntstatus(r.out.result);
4033 NTSTATUS rpccli_spoolss_56(struct rpc_pipe_client *cli,
4034 TALLOC_CTX *mem_ctx,
4037 struct spoolss_56 r;
4042 if (DEBUGLEVEL >= 10) {
4043 NDR_PRINT_IN_DEBUG(spoolss_56, &r);
4046 status = cli->dispatch(cli,
4052 if (!NT_STATUS_IS_OK(status)) {
4056 if (DEBUGLEVEL >= 10) {
4057 NDR_PRINT_OUT_DEBUG(spoolss_56, &r);
4060 if (NT_STATUS_IS_ERR(status)) {
4064 /* Return variables */
4068 *werror = r.out.result;
4071 return werror_to_ntstatus(r.out.result);
4074 NTSTATUS rpccli_spoolss_57(struct rpc_pipe_client *cli,
4075 TALLOC_CTX *mem_ctx,
4078 struct spoolss_57 r;
4083 if (DEBUGLEVEL >= 10) {
4084 NDR_PRINT_IN_DEBUG(spoolss_57, &r);
4087 status = cli->dispatch(cli,
4093 if (!NT_STATUS_IS_OK(status)) {
4097 if (DEBUGLEVEL >= 10) {
4098 NDR_PRINT_OUT_DEBUG(spoolss_57, &r);
4101 if (NT_STATUS_IS_ERR(status)) {
4105 /* Return variables */
4109 *werror = r.out.result;
4112 return werror_to_ntstatus(r.out.result);
4115 NTSTATUS rpccli_spoolss_XcvData(struct rpc_pipe_client *cli,
4116 TALLOC_CTX *mem_ctx,
4117 struct policy_handle *handle /* [in] [ref] */,
4118 const char *function_name /* [in] [charset(UTF16)] */,
4119 DATA_BLOB in_data /* [in] */,
4120 uint32_t _in_data_length /* [in] [value(r->in.in_data.length)] */,
4121 uint8_t *out_data /* [out] [ref,size_is(out_data_size)] */,
4122 uint32_t out_data_size /* [in] */,
4123 uint32_t *needed /* [out] [ref] */,
4124 uint32_t *status_code /* [in,out] [ref] */,
4127 struct spoolss_XcvData r;
4131 r.in.handle = handle;
4132 r.in.function_name = function_name;
4133 r.in.in_data = in_data;
4134 r.in._in_data_length = _in_data_length;
4135 r.in.out_data_size = out_data_size;
4136 r.in.status_code = status_code;
4138 if (DEBUGLEVEL >= 10) {
4139 NDR_PRINT_IN_DEBUG(spoolss_XcvData, &r);
4142 status = cli->dispatch(cli,
4145 NDR_SPOOLSS_XCVDATA,
4148 if (!NT_STATUS_IS_OK(status)) {
4152 if (DEBUGLEVEL >= 10) {
4153 NDR_PRINT_OUT_DEBUG(spoolss_XcvData, &r);
4156 if (NT_STATUS_IS_ERR(status)) {
4160 /* Return variables */
4161 memcpy(out_data, r.out.out_data, r.in.out_data_size * sizeof(*out_data));
4162 *needed = *r.out.needed;
4163 *status_code = *r.out.status_code;
4167 *werror = r.out.result;
4170 return werror_to_ntstatus(r.out.result);
4173 NTSTATUS rpccli_spoolss_AddPrinterDriverEx(struct rpc_pipe_client *cli,
4174 TALLOC_CTX *mem_ctx,
4177 struct spoolss_AddPrinterDriverEx r;
4182 if (DEBUGLEVEL >= 10) {
4183 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterDriverEx, &r);
4186 status = cli->dispatch(cli,
4189 NDR_SPOOLSS_ADDPRINTERDRIVEREX,
4192 if (!NT_STATUS_IS_OK(status)) {
4196 if (DEBUGLEVEL >= 10) {
4197 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterDriverEx, &r);
4200 if (NT_STATUS_IS_ERR(status)) {
4204 /* Return variables */
4208 *werror = r.out.result;
4211 return werror_to_ntstatus(r.out.result);
4214 NTSTATUS rpccli_spoolss_5a(struct rpc_pipe_client *cli,
4215 TALLOC_CTX *mem_ctx,
4218 struct spoolss_5a r;
4223 if (DEBUGLEVEL >= 10) {
4224 NDR_PRINT_IN_DEBUG(spoolss_5a, &r);
4227 status = cli->dispatch(cli,
4233 if (!NT_STATUS_IS_OK(status)) {
4237 if (DEBUGLEVEL >= 10) {
4238 NDR_PRINT_OUT_DEBUG(spoolss_5a, &r);
4241 if (NT_STATUS_IS_ERR(status)) {
4245 /* Return variables */
4249 *werror = r.out.result;
4252 return werror_to_ntstatus(r.out.result);
4255 NTSTATUS rpccli_spoolss_5b(struct rpc_pipe_client *cli,
4256 TALLOC_CTX *mem_ctx,
4259 struct spoolss_5b r;
4264 if (DEBUGLEVEL >= 10) {
4265 NDR_PRINT_IN_DEBUG(spoolss_5b, &r);
4268 status = cli->dispatch(cli,
4274 if (!NT_STATUS_IS_OK(status)) {
4278 if (DEBUGLEVEL >= 10) {
4279 NDR_PRINT_OUT_DEBUG(spoolss_5b, &r);
4282 if (NT_STATUS_IS_ERR(status)) {
4286 /* Return variables */
4290 *werror = r.out.result;
4293 return werror_to_ntstatus(r.out.result);
4296 NTSTATUS rpccli_spoolss_5c(struct rpc_pipe_client *cli,
4297 TALLOC_CTX *mem_ctx,
4300 struct spoolss_5c r;
4305 if (DEBUGLEVEL >= 10) {
4306 NDR_PRINT_IN_DEBUG(spoolss_5c, &r);
4309 status = cli->dispatch(cli,
4315 if (!NT_STATUS_IS_OK(status)) {
4319 if (DEBUGLEVEL >= 10) {
4320 NDR_PRINT_OUT_DEBUG(spoolss_5c, &r);
4323 if (NT_STATUS_IS_ERR(status)) {
4327 /* Return variables */
4331 *werror = r.out.result;
4334 return werror_to_ntstatus(r.out.result);
4337 NTSTATUS rpccli_spoolss_5d(struct rpc_pipe_client *cli,
4338 TALLOC_CTX *mem_ctx,
4341 struct spoolss_5d r;
4346 if (DEBUGLEVEL >= 10) {
4347 NDR_PRINT_IN_DEBUG(spoolss_5d, &r);
4350 status = cli->dispatch(cli,
4356 if (!NT_STATUS_IS_OK(status)) {
4360 if (DEBUGLEVEL >= 10) {
4361 NDR_PRINT_OUT_DEBUG(spoolss_5d, &r);
4364 if (NT_STATUS_IS_ERR(status)) {
4368 /* Return variables */
4372 *werror = r.out.result;
4375 return werror_to_ntstatus(r.out.result);
4378 NTSTATUS rpccli_spoolss_5e(struct rpc_pipe_client *cli,
4379 TALLOC_CTX *mem_ctx,
4382 struct spoolss_5e r;
4387 if (DEBUGLEVEL >= 10) {
4388 NDR_PRINT_IN_DEBUG(spoolss_5e, &r);
4391 status = cli->dispatch(cli,
4397 if (!NT_STATUS_IS_OK(status)) {
4401 if (DEBUGLEVEL >= 10) {
4402 NDR_PRINT_OUT_DEBUG(spoolss_5e, &r);
4405 if (NT_STATUS_IS_ERR(status)) {
4409 /* Return variables */
4413 *werror = r.out.result;
4416 return werror_to_ntstatus(r.out.result);
4419 NTSTATUS rpccli_spoolss_5f(struct rpc_pipe_client *cli,
4420 TALLOC_CTX *mem_ctx,
4423 struct spoolss_5f r;
4428 if (DEBUGLEVEL >= 10) {
4429 NDR_PRINT_IN_DEBUG(spoolss_5f, &r);
4432 status = cli->dispatch(cli,
4438 if (!NT_STATUS_IS_OK(status)) {
4442 if (DEBUGLEVEL >= 10) {
4443 NDR_PRINT_OUT_DEBUG(spoolss_5f, &r);
4446 if (NT_STATUS_IS_ERR(status)) {
4450 /* Return variables */
4454 *werror = r.out.result;
4457 return werror_to_ntstatus(r.out.result);