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 struct spoolss_SetPrinterInfoCtr *info_ctr /* [in] [ref] */,
374 struct spoolss_DevmodeContainer *devmode_ctr /* [in] [ref] */,
375 struct sec_desc_buf *secdesc_ctr /* [in] [ref] */,
376 enum spoolss_PrinterControl command /* [in] */,
379 struct spoolss_SetPrinter r;
383 r.in.handle = handle;
384 r.in.info_ctr = info_ctr;
385 r.in.devmode_ctr = devmode_ctr;
386 r.in.secdesc_ctr = secdesc_ctr;
387 r.in.command = command;
389 if (DEBUGLEVEL >= 10) {
390 NDR_PRINT_IN_DEBUG(spoolss_SetPrinter, &r);
393 status = cli->dispatch(cli,
396 NDR_SPOOLSS_SETPRINTER,
399 if (!NT_STATUS_IS_OK(status)) {
403 if (DEBUGLEVEL >= 10) {
404 NDR_PRINT_OUT_DEBUG(spoolss_SetPrinter, &r);
407 if (NT_STATUS_IS_ERR(status)) {
411 /* Return variables */
415 *werror = r.out.result;
418 return werror_to_ntstatus(r.out.result);
421 NTSTATUS rpccli_spoolss_GetPrinter(struct rpc_pipe_client *cli,
423 struct policy_handle *handle /* [in] [ref] */,
424 uint32_t level /* [in] */,
425 DATA_BLOB *buffer /* [in] [unique] */,
426 uint32_t offered /* [in] */,
427 union spoolss_PrinterInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
428 uint32_t *needed /* [out] [ref] */,
431 struct spoolss_GetPrinter r;
435 r.in.handle = handle;
437 r.in.buffer = buffer;
438 r.in.offered = offered;
440 if (DEBUGLEVEL >= 10) {
441 NDR_PRINT_IN_DEBUG(spoolss_GetPrinter, &r);
444 status = cli->dispatch(cli,
447 NDR_SPOOLSS_GETPRINTER,
450 if (!NT_STATUS_IS_OK(status)) {
454 if (DEBUGLEVEL >= 10) {
455 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinter, &r);
458 if (NT_STATUS_IS_ERR(status)) {
462 /* Return variables */
463 if (info && r.out.info) {
466 *needed = *r.out.needed;
470 *werror = r.out.result;
473 return werror_to_ntstatus(r.out.result);
476 NTSTATUS rpccli_spoolss_AddPrinterDriver(struct rpc_pipe_client *cli,
478 const char *servername /* [in] [ref,charset(UTF16)] */,
479 uint32_t level /* [in] */,
480 union spoolss_AddDriverInfo info /* [in] [switch_is(level)] */,
483 struct spoolss_AddPrinterDriver r;
487 r.in.servername = servername;
491 if (DEBUGLEVEL >= 10) {
492 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterDriver, &r);
495 status = cli->dispatch(cli,
498 NDR_SPOOLSS_ADDPRINTERDRIVER,
501 if (!NT_STATUS_IS_OK(status)) {
505 if (DEBUGLEVEL >= 10) {
506 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterDriver, &r);
509 if (NT_STATUS_IS_ERR(status)) {
513 /* Return variables */
517 *werror = r.out.result;
520 return werror_to_ntstatus(r.out.result);
523 NTSTATUS rpccli_spoolss_EnumPrinterDrivers(struct rpc_pipe_client *cli,
525 const char *server /* [in] [unique,charset(UTF16)] */,
526 const char *environment /* [in] [unique,charset(UTF16)] */,
527 uint32_t level /* [in] */,
528 DATA_BLOB *buffer /* [in] [unique] */,
529 uint32_t offered /* [in] */,
530 union spoolss_DriverInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
531 uint32_t *needed /* [out] [ref] */,
532 uint32_t count /* [out] */,
535 struct spoolss_EnumPrinterDrivers r;
539 r.in.server = server;
540 r.in.environment = environment;
542 r.in.buffer = buffer;
543 r.in.offered = offered;
545 if (DEBUGLEVEL >= 10) {
546 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterDrivers, &r);
549 status = cli->dispatch(cli,
552 NDR_SPOOLSS_ENUMPRINTERDRIVERS,
555 if (!NT_STATUS_IS_OK(status)) {
559 if (DEBUGLEVEL >= 10) {
560 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterDrivers, &r);
563 if (NT_STATUS_IS_ERR(status)) {
567 /* Return variables */
568 if (info && r.out.info) {
569 memcpy(info, r.out.info, count * sizeof(*info));
571 *needed = *r.out.needed;
572 return NT_STATUS_NOT_SUPPORTED;
576 *werror = r.out.result;
579 return werror_to_ntstatus(r.out.result);
582 NTSTATUS rpccli_spoolss_GetPrinterDriver(struct rpc_pipe_client *cli,
586 struct spoolss_GetPrinterDriver r;
591 if (DEBUGLEVEL >= 10) {
592 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriver, &r);
595 status = cli->dispatch(cli,
598 NDR_SPOOLSS_GETPRINTERDRIVER,
601 if (!NT_STATUS_IS_OK(status)) {
605 if (DEBUGLEVEL >= 10) {
606 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriver, &r);
609 if (NT_STATUS_IS_ERR(status)) {
613 /* Return variables */
617 *werror = r.out.result;
620 return werror_to_ntstatus(r.out.result);
623 NTSTATUS rpccli_spoolss_GetPrinterDriverDirectory(struct rpc_pipe_client *cli,
625 const char *server /* [in] [unique,charset(UTF16)] */,
626 const char *environment /* [in] [unique,charset(UTF16)] */,
627 uint32_t level /* [in] */,
628 DATA_BLOB *buffer /* [in] [unique] */,
629 uint32_t offered /* [in] */,
630 union spoolss_DriverDirectoryInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
631 uint32_t *needed /* [out] [ref] */,
634 struct spoolss_GetPrinterDriverDirectory r;
638 r.in.server = server;
639 r.in.environment = environment;
641 r.in.buffer = buffer;
642 r.in.offered = offered;
644 if (DEBUGLEVEL >= 10) {
645 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriverDirectory, &r);
648 status = cli->dispatch(cli,
651 NDR_SPOOLSS_GETPRINTERDRIVERDIRECTORY,
654 if (!NT_STATUS_IS_OK(status)) {
658 if (DEBUGLEVEL >= 10) {
659 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriverDirectory, &r);
662 if (NT_STATUS_IS_ERR(status)) {
666 /* Return variables */
667 if (info && r.out.info) {
670 *needed = *r.out.needed;
674 *werror = r.out.result;
677 return werror_to_ntstatus(r.out.result);
680 NTSTATUS rpccli_spoolss_DeletePrinterDriver(struct rpc_pipe_client *cli,
682 const char *server /* [in] [unique,charset(UTF16)] */,
683 const char *architecture /* [in] [charset(UTF16)] */,
684 const char *driver /* [in] [charset(UTF16)] */,
687 struct spoolss_DeletePrinterDriver r;
691 r.in.server = server;
692 r.in.architecture = architecture;
693 r.in.driver = driver;
695 if (DEBUGLEVEL >= 10) {
696 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDriver, &r);
699 status = cli->dispatch(cli,
702 NDR_SPOOLSS_DELETEPRINTERDRIVER,
705 if (!NT_STATUS_IS_OK(status)) {
709 if (DEBUGLEVEL >= 10) {
710 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterDriver, &r);
713 if (NT_STATUS_IS_ERR(status)) {
717 /* Return variables */
721 *werror = r.out.result;
724 return werror_to_ntstatus(r.out.result);
727 NTSTATUS rpccli_spoolss_AddPrintProcessor(struct rpc_pipe_client *cli,
729 const char *server /* [in] [unique,charset(UTF16)] */,
730 const char *architecture /* [in] [charset(UTF16)] */,
731 const char *path_name /* [in] [charset(UTF16)] */,
732 const char *print_processor_name /* [in] [charset(UTF16)] */,
735 struct spoolss_AddPrintProcessor r;
739 r.in.server = server;
740 r.in.architecture = architecture;
741 r.in.path_name = path_name;
742 r.in.print_processor_name = print_processor_name;
744 if (DEBUGLEVEL >= 10) {
745 NDR_PRINT_IN_DEBUG(spoolss_AddPrintProcessor, &r);
748 status = cli->dispatch(cli,
751 NDR_SPOOLSS_ADDPRINTPROCESSOR,
754 if (!NT_STATUS_IS_OK(status)) {
758 if (DEBUGLEVEL >= 10) {
759 NDR_PRINT_OUT_DEBUG(spoolss_AddPrintProcessor, &r);
762 if (NT_STATUS_IS_ERR(status)) {
766 /* Return variables */
770 *werror = r.out.result;
773 return werror_to_ntstatus(r.out.result);
776 NTSTATUS rpccli_spoolss_EnumPrintProcessors(struct rpc_pipe_client *cli,
778 const char *servername /* [in] [unique,charset(UTF16)] */,
779 const char *environment /* [in] [unique,charset(UTF16)] */,
780 uint32_t level /* [in] */,
781 DATA_BLOB *buffer /* [in] [unique] */,
782 uint32_t offered /* [in] */,
783 union spoolss_PrintProcessorInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
784 uint32_t *needed /* [out] [ref] */,
785 uint32_t count /* [out] */,
788 struct spoolss_EnumPrintProcessors r;
792 r.in.servername = servername;
793 r.in.environment = environment;
795 r.in.buffer = buffer;
796 r.in.offered = offered;
798 if (DEBUGLEVEL >= 10) {
799 NDR_PRINT_IN_DEBUG(spoolss_EnumPrintProcessors, &r);
802 status = cli->dispatch(cli,
805 NDR_SPOOLSS_ENUMPRINTPROCESSORS,
808 if (!NT_STATUS_IS_OK(status)) {
812 if (DEBUGLEVEL >= 10) {
813 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrintProcessors, &r);
816 if (NT_STATUS_IS_ERR(status)) {
820 /* Return variables */
821 if (info && r.out.info) {
822 memcpy(info, r.out.info, count * sizeof(*info));
824 *needed = *r.out.needed;
825 return NT_STATUS_NOT_SUPPORTED;
829 *werror = r.out.result;
832 return werror_to_ntstatus(r.out.result);
835 NTSTATUS rpccli_spoolss_GetPrintProcessorDirectory(struct rpc_pipe_client *cli,
839 struct spoolss_GetPrintProcessorDirectory r;
844 if (DEBUGLEVEL >= 10) {
845 NDR_PRINT_IN_DEBUG(spoolss_GetPrintProcessorDirectory, &r);
848 status = cli->dispatch(cli,
851 NDR_SPOOLSS_GETPRINTPROCESSORDIRECTORY,
854 if (!NT_STATUS_IS_OK(status)) {
858 if (DEBUGLEVEL >= 10) {
859 NDR_PRINT_OUT_DEBUG(spoolss_GetPrintProcessorDirectory, &r);
862 if (NT_STATUS_IS_ERR(status)) {
866 /* Return variables */
870 *werror = r.out.result;
873 return werror_to_ntstatus(r.out.result);
876 NTSTATUS rpccli_spoolss_StartDocPrinter(struct rpc_pipe_client *cli,
878 struct policy_handle *handle /* [in] [ref] */,
879 uint32_t level /* [in] */,
880 union spoolss_DocumentInfo info /* [in] [switch_is(level)] */,
881 uint32_t *job_id /* [out] [ref] */,
884 struct spoolss_StartDocPrinter r;
888 r.in.handle = handle;
892 if (DEBUGLEVEL >= 10) {
893 NDR_PRINT_IN_DEBUG(spoolss_StartDocPrinter, &r);
896 status = cli->dispatch(cli,
899 NDR_SPOOLSS_STARTDOCPRINTER,
902 if (!NT_STATUS_IS_OK(status)) {
906 if (DEBUGLEVEL >= 10) {
907 NDR_PRINT_OUT_DEBUG(spoolss_StartDocPrinter, &r);
910 if (NT_STATUS_IS_ERR(status)) {
914 /* Return variables */
915 *job_id = *r.out.job_id;
919 *werror = r.out.result;
922 return werror_to_ntstatus(r.out.result);
925 NTSTATUS rpccli_spoolss_StartPagePrinter(struct rpc_pipe_client *cli,
927 struct policy_handle *handle /* [in] [ref] */,
930 struct spoolss_StartPagePrinter r;
934 r.in.handle = handle;
936 if (DEBUGLEVEL >= 10) {
937 NDR_PRINT_IN_DEBUG(spoolss_StartPagePrinter, &r);
940 status = cli->dispatch(cli,
943 NDR_SPOOLSS_STARTPAGEPRINTER,
946 if (!NT_STATUS_IS_OK(status)) {
950 if (DEBUGLEVEL >= 10) {
951 NDR_PRINT_OUT_DEBUG(spoolss_StartPagePrinter, &r);
954 if (NT_STATUS_IS_ERR(status)) {
958 /* Return variables */
962 *werror = r.out.result;
965 return werror_to_ntstatus(r.out.result);
968 NTSTATUS rpccli_spoolss_WritePrinter(struct rpc_pipe_client *cli,
970 struct policy_handle *handle /* [in] [ref] */,
971 DATA_BLOB data /* [in] */,
972 uint32_t _data_size /* [in] [value(r->in.data.length)] */,
973 uint32_t *num_written /* [out] [ref] */,
976 struct spoolss_WritePrinter r;
980 r.in.handle = handle;
982 r.in._data_size = _data_size;
984 if (DEBUGLEVEL >= 10) {
985 NDR_PRINT_IN_DEBUG(spoolss_WritePrinter, &r);
988 status = cli->dispatch(cli,
991 NDR_SPOOLSS_WRITEPRINTER,
994 if (!NT_STATUS_IS_OK(status)) {
998 if (DEBUGLEVEL >= 10) {
999 NDR_PRINT_OUT_DEBUG(spoolss_WritePrinter, &r);
1002 if (NT_STATUS_IS_ERR(status)) {
1006 /* Return variables */
1007 *num_written = *r.out.num_written;
1011 *werror = r.out.result;
1014 return werror_to_ntstatus(r.out.result);
1017 NTSTATUS rpccli_spoolss_EndPagePrinter(struct rpc_pipe_client *cli,
1018 TALLOC_CTX *mem_ctx,
1019 struct policy_handle *handle /* [in] [ref] */,
1022 struct spoolss_EndPagePrinter r;
1026 r.in.handle = handle;
1028 if (DEBUGLEVEL >= 10) {
1029 NDR_PRINT_IN_DEBUG(spoolss_EndPagePrinter, &r);
1032 status = cli->dispatch(cli,
1035 NDR_SPOOLSS_ENDPAGEPRINTER,
1038 if (!NT_STATUS_IS_OK(status)) {
1042 if (DEBUGLEVEL >= 10) {
1043 NDR_PRINT_OUT_DEBUG(spoolss_EndPagePrinter, &r);
1046 if (NT_STATUS_IS_ERR(status)) {
1050 /* Return variables */
1054 *werror = r.out.result;
1057 return werror_to_ntstatus(r.out.result);
1060 NTSTATUS rpccli_spoolss_AbortPrinter(struct rpc_pipe_client *cli,
1061 TALLOC_CTX *mem_ctx,
1062 struct policy_handle *handle /* [in] [ref] */,
1065 struct spoolss_AbortPrinter r;
1069 r.in.handle = handle;
1071 if (DEBUGLEVEL >= 10) {
1072 NDR_PRINT_IN_DEBUG(spoolss_AbortPrinter, &r);
1075 status = cli->dispatch(cli,
1078 NDR_SPOOLSS_ABORTPRINTER,
1081 if (!NT_STATUS_IS_OK(status)) {
1085 if (DEBUGLEVEL >= 10) {
1086 NDR_PRINT_OUT_DEBUG(spoolss_AbortPrinter, &r);
1089 if (NT_STATUS_IS_ERR(status)) {
1093 /* Return variables */
1097 *werror = r.out.result;
1100 return werror_to_ntstatus(r.out.result);
1103 NTSTATUS rpccli_spoolss_ReadPrinter(struct rpc_pipe_client *cli,
1104 TALLOC_CTX *mem_ctx,
1105 struct policy_handle *handle /* [in] [ref] */,
1106 uint8_t *data /* [out] [ref,size_is(data_size)] */,
1107 uint32_t data_size /* [in] */,
1108 uint32_t *_data_size /* [out] [ref] */,
1111 struct spoolss_ReadPrinter r;
1115 r.in.handle = handle;
1116 r.in.data_size = data_size;
1118 if (DEBUGLEVEL >= 10) {
1119 NDR_PRINT_IN_DEBUG(spoolss_ReadPrinter, &r);
1122 status = cli->dispatch(cli,
1125 NDR_SPOOLSS_READPRINTER,
1128 if (!NT_STATUS_IS_OK(status)) {
1132 if (DEBUGLEVEL >= 10) {
1133 NDR_PRINT_OUT_DEBUG(spoolss_ReadPrinter, &r);
1136 if (NT_STATUS_IS_ERR(status)) {
1140 /* Return variables */
1141 memcpy(data, r.out.data, r.in.data_size * sizeof(*data));
1142 *_data_size = *r.out._data_size;
1146 *werror = r.out.result;
1149 return werror_to_ntstatus(r.out.result);
1152 NTSTATUS rpccli_spoolss_EndDocPrinter(struct rpc_pipe_client *cli,
1153 TALLOC_CTX *mem_ctx,
1154 struct policy_handle *handle /* [in] [ref] */,
1157 struct spoolss_EndDocPrinter r;
1161 r.in.handle = handle;
1163 if (DEBUGLEVEL >= 10) {
1164 NDR_PRINT_IN_DEBUG(spoolss_EndDocPrinter, &r);
1167 status = cli->dispatch(cli,
1170 NDR_SPOOLSS_ENDDOCPRINTER,
1173 if (!NT_STATUS_IS_OK(status)) {
1177 if (DEBUGLEVEL >= 10) {
1178 NDR_PRINT_OUT_DEBUG(spoolss_EndDocPrinter, &r);
1181 if (NT_STATUS_IS_ERR(status)) {
1185 /* Return variables */
1189 *werror = r.out.result;
1192 return werror_to_ntstatus(r.out.result);
1195 NTSTATUS rpccli_spoolss_AddJob(struct rpc_pipe_client *cli,
1196 TALLOC_CTX *mem_ctx,
1197 struct policy_handle *handle /* [in] [ref] */,
1198 uint32_t level /* [in] */,
1199 uint8_t *buffer /* [in,out] [unique,size_is(offered)] */,
1200 uint32_t offered /* [in] */,
1201 uint32_t *needed /* [out] [ref] */,
1204 struct spoolss_AddJob r;
1208 r.in.handle = handle;
1210 r.in.buffer = buffer;
1211 r.in.offered = offered;
1213 if (DEBUGLEVEL >= 10) {
1214 NDR_PRINT_IN_DEBUG(spoolss_AddJob, &r);
1217 status = cli->dispatch(cli,
1223 if (!NT_STATUS_IS_OK(status)) {
1227 if (DEBUGLEVEL >= 10) {
1228 NDR_PRINT_OUT_DEBUG(spoolss_AddJob, &r);
1231 if (NT_STATUS_IS_ERR(status)) {
1235 /* Return variables */
1236 if (buffer && r.out.buffer) {
1237 memcpy(buffer, r.out.buffer, r.in.offered * sizeof(*buffer));
1239 *needed = *r.out.needed;
1243 *werror = r.out.result;
1246 return werror_to_ntstatus(r.out.result);
1249 NTSTATUS rpccli_spoolss_ScheduleJob(struct rpc_pipe_client *cli,
1250 TALLOC_CTX *mem_ctx,
1251 struct policy_handle *handle /* [in] [ref] */,
1252 uint32_t jobid /* [in] */,
1255 struct spoolss_ScheduleJob r;
1259 r.in.handle = handle;
1262 if (DEBUGLEVEL >= 10) {
1263 NDR_PRINT_IN_DEBUG(spoolss_ScheduleJob, &r);
1266 status = cli->dispatch(cli,
1269 NDR_SPOOLSS_SCHEDULEJOB,
1272 if (!NT_STATUS_IS_OK(status)) {
1276 if (DEBUGLEVEL >= 10) {
1277 NDR_PRINT_OUT_DEBUG(spoolss_ScheduleJob, &r);
1280 if (NT_STATUS_IS_ERR(status)) {
1284 /* Return variables */
1288 *werror = r.out.result;
1291 return werror_to_ntstatus(r.out.result);
1294 NTSTATUS rpccli_spoolss_GetPrinterData(struct rpc_pipe_client *cli,
1295 TALLOC_CTX *mem_ctx,
1296 struct policy_handle *handle /* [in] [ref] */,
1297 const char *value_name /* [in] [charset(UTF16)] */,
1298 uint32_t offered /* [in] */,
1299 enum spoolss_PrinterDataType *type /* [out] [ref] */,
1300 union spoolss_PrinterData data /* [out] [subcontext_size(offered),subcontext(4),switch_is(*type)] */,
1301 uint32_t *needed /* [out] [ref] */,
1304 struct spoolss_GetPrinterData r;
1308 r.in.handle = handle;
1309 r.in.value_name = value_name;
1310 r.in.offered = offered;
1312 if (DEBUGLEVEL >= 10) {
1313 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterData, &r);
1316 status = cli->dispatch(cli,
1319 NDR_SPOOLSS_GETPRINTERDATA,
1322 if (!NT_STATUS_IS_OK(status)) {
1326 if (DEBUGLEVEL >= 10) {
1327 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterData, &r);
1330 if (NT_STATUS_IS_ERR(status)) {
1334 /* Return variables */
1335 *type = *r.out.type;
1336 return NT_STATUS_NOT_SUPPORTED;
1337 *needed = *r.out.needed;
1341 *werror = r.out.result;
1344 return werror_to_ntstatus(r.out.result);
1347 NTSTATUS rpccli_spoolss_SetPrinterData(struct rpc_pipe_client *cli,
1348 TALLOC_CTX *mem_ctx,
1349 struct policy_handle *handle /* [in] [ref] */,
1350 const char *value_name /* [in] [charset(UTF16)] */,
1351 enum spoolss_PrinterDataType type /* [in] */,
1352 union spoolss_PrinterData data /* [in] [subcontext(4),switch_is(type)] */,
1353 uint32_t _offered /* [in] [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */,
1356 struct spoolss_SetPrinterData r;
1360 r.in.handle = handle;
1361 r.in.value_name = value_name;
1364 r.in._offered = _offered;
1366 if (DEBUGLEVEL >= 10) {
1367 NDR_PRINT_IN_DEBUG(spoolss_SetPrinterData, &r);
1370 status = cli->dispatch(cli,
1373 NDR_SPOOLSS_SETPRINTERDATA,
1376 if (!NT_STATUS_IS_OK(status)) {
1380 if (DEBUGLEVEL >= 10) {
1381 NDR_PRINT_OUT_DEBUG(spoolss_SetPrinterData, &r);
1384 if (NT_STATUS_IS_ERR(status)) {
1388 /* Return variables */
1392 *werror = r.out.result;
1395 return werror_to_ntstatus(r.out.result);
1398 NTSTATUS rpccli_spoolss_WaitForPrinterChange(struct rpc_pipe_client *cli,
1399 TALLOC_CTX *mem_ctx,
1402 struct spoolss_WaitForPrinterChange r;
1407 if (DEBUGLEVEL >= 10) {
1408 NDR_PRINT_IN_DEBUG(spoolss_WaitForPrinterChange, &r);
1411 status = cli->dispatch(cli,
1414 NDR_SPOOLSS_WAITFORPRINTERCHANGE,
1417 if (!NT_STATUS_IS_OK(status)) {
1421 if (DEBUGLEVEL >= 10) {
1422 NDR_PRINT_OUT_DEBUG(spoolss_WaitForPrinterChange, &r);
1425 if (NT_STATUS_IS_ERR(status)) {
1429 /* Return variables */
1433 *werror = r.out.result;
1436 return werror_to_ntstatus(r.out.result);
1439 NTSTATUS rpccli_spoolss_ClosePrinter(struct rpc_pipe_client *cli,
1440 TALLOC_CTX *mem_ctx,
1441 struct policy_handle *handle /* [in,out] [ref] */,
1444 struct spoolss_ClosePrinter r;
1448 r.in.handle = handle;
1450 if (DEBUGLEVEL >= 10) {
1451 NDR_PRINT_IN_DEBUG(spoolss_ClosePrinter, &r);
1454 status = cli->dispatch(cli,
1457 NDR_SPOOLSS_CLOSEPRINTER,
1460 if (!NT_STATUS_IS_OK(status)) {
1464 if (DEBUGLEVEL >= 10) {
1465 NDR_PRINT_OUT_DEBUG(spoolss_ClosePrinter, &r);
1468 if (NT_STATUS_IS_ERR(status)) {
1472 /* Return variables */
1473 *handle = *r.out.handle;
1477 *werror = r.out.result;
1480 return werror_to_ntstatus(r.out.result);
1483 NTSTATUS rpccli_spoolss_AddForm(struct rpc_pipe_client *cli,
1484 TALLOC_CTX *mem_ctx,
1485 struct policy_handle *handle /* [in] [ref] */,
1486 uint32_t level /* [in] */,
1487 union spoolss_AddFormInfo info /* [in] [switch_is(level)] */,
1490 struct spoolss_AddForm r;
1494 r.in.handle = handle;
1498 if (DEBUGLEVEL >= 10) {
1499 NDR_PRINT_IN_DEBUG(spoolss_AddForm, &r);
1502 status = cli->dispatch(cli,
1505 NDR_SPOOLSS_ADDFORM,
1508 if (!NT_STATUS_IS_OK(status)) {
1512 if (DEBUGLEVEL >= 10) {
1513 NDR_PRINT_OUT_DEBUG(spoolss_AddForm, &r);
1516 if (NT_STATUS_IS_ERR(status)) {
1520 /* Return variables */
1524 *werror = r.out.result;
1527 return werror_to_ntstatus(r.out.result);
1530 NTSTATUS rpccli_spoolss_DeleteForm(struct rpc_pipe_client *cli,
1531 TALLOC_CTX *mem_ctx,
1532 struct policy_handle *handle /* [in] [ref] */,
1533 const char *form_name /* [in] [charset(UTF16)] */,
1536 struct spoolss_DeleteForm r;
1540 r.in.handle = handle;
1541 r.in.form_name = form_name;
1543 if (DEBUGLEVEL >= 10) {
1544 NDR_PRINT_IN_DEBUG(spoolss_DeleteForm, &r);
1547 status = cli->dispatch(cli,
1550 NDR_SPOOLSS_DELETEFORM,
1553 if (!NT_STATUS_IS_OK(status)) {
1557 if (DEBUGLEVEL >= 10) {
1558 NDR_PRINT_OUT_DEBUG(spoolss_DeleteForm, &r);
1561 if (NT_STATUS_IS_ERR(status)) {
1565 /* Return variables */
1569 *werror = r.out.result;
1572 return werror_to_ntstatus(r.out.result);
1575 NTSTATUS rpccli_spoolss_GetForm(struct rpc_pipe_client *cli,
1576 TALLOC_CTX *mem_ctx,
1577 struct policy_handle *handle /* [in] [ref] */,
1578 const char *form_name /* [in] [charset(UTF16)] */,
1579 uint32_t level /* [in] */,
1580 DATA_BLOB *buffer /* [in] [unique] */,
1581 uint32_t offered /* [in] */,
1582 union spoolss_FormInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
1583 uint32_t *needed /* [out] [ref] */,
1586 struct spoolss_GetForm r;
1590 r.in.handle = handle;
1591 r.in.form_name = form_name;
1593 r.in.buffer = buffer;
1594 r.in.offered = offered;
1596 if (DEBUGLEVEL >= 10) {
1597 NDR_PRINT_IN_DEBUG(spoolss_GetForm, &r);
1600 status = cli->dispatch(cli,
1603 NDR_SPOOLSS_GETFORM,
1606 if (!NT_STATUS_IS_OK(status)) {
1610 if (DEBUGLEVEL >= 10) {
1611 NDR_PRINT_OUT_DEBUG(spoolss_GetForm, &r);
1614 if (NT_STATUS_IS_ERR(status)) {
1618 /* Return variables */
1619 if (info && r.out.info) {
1620 *info = *r.out.info;
1622 *needed = *r.out.needed;
1626 *werror = r.out.result;
1629 return werror_to_ntstatus(r.out.result);
1632 NTSTATUS rpccli_spoolss_SetForm(struct rpc_pipe_client *cli,
1633 TALLOC_CTX *mem_ctx,
1634 struct policy_handle *handle /* [in] [ref] */,
1635 const char *form_name /* [in] [charset(UTF16)] */,
1636 uint32_t level /* [in] */,
1637 union spoolss_AddFormInfo info /* [in] [switch_is(level)] */,
1640 struct spoolss_SetForm r;
1644 r.in.handle = handle;
1645 r.in.form_name = form_name;
1649 if (DEBUGLEVEL >= 10) {
1650 NDR_PRINT_IN_DEBUG(spoolss_SetForm, &r);
1653 status = cli->dispatch(cli,
1656 NDR_SPOOLSS_SETFORM,
1659 if (!NT_STATUS_IS_OK(status)) {
1663 if (DEBUGLEVEL >= 10) {
1664 NDR_PRINT_OUT_DEBUG(spoolss_SetForm, &r);
1667 if (NT_STATUS_IS_ERR(status)) {
1671 /* Return variables */
1675 *werror = r.out.result;
1678 return werror_to_ntstatus(r.out.result);
1681 NTSTATUS rpccli_spoolss_EnumForms(struct rpc_pipe_client *cli,
1682 TALLOC_CTX *mem_ctx,
1683 struct policy_handle *handle /* [in] [ref] */,
1684 uint32_t level /* [in] */,
1685 DATA_BLOB *buffer /* [in] [unique] */,
1686 uint32_t offered /* [in] */,
1687 union spoolss_FormInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
1688 uint32_t *needed /* [out] [ref] */,
1689 uint32_t count /* [out] */,
1692 struct spoolss_EnumForms r;
1696 r.in.handle = handle;
1698 r.in.buffer = buffer;
1699 r.in.offered = offered;
1701 if (DEBUGLEVEL >= 10) {
1702 NDR_PRINT_IN_DEBUG(spoolss_EnumForms, &r);
1705 status = cli->dispatch(cli,
1708 NDR_SPOOLSS_ENUMFORMS,
1711 if (!NT_STATUS_IS_OK(status)) {
1715 if (DEBUGLEVEL >= 10) {
1716 NDR_PRINT_OUT_DEBUG(spoolss_EnumForms, &r);
1719 if (NT_STATUS_IS_ERR(status)) {
1723 /* Return variables */
1724 if (info && r.out.info) {
1725 memcpy(info, r.out.info, count * sizeof(*info));
1727 *needed = *r.out.needed;
1728 return NT_STATUS_NOT_SUPPORTED;
1732 *werror = r.out.result;
1735 return werror_to_ntstatus(r.out.result);
1738 NTSTATUS rpccli_spoolss_EnumPorts(struct rpc_pipe_client *cli,
1739 TALLOC_CTX *mem_ctx,
1740 const char *servername /* [in] [unique,charset(UTF16)] */,
1741 uint32_t level /* [in] */,
1742 DATA_BLOB *buffer /* [in] [unique] */,
1743 uint32_t offered /* [in] */,
1744 union spoolss_PortInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
1745 uint32_t *needed /* [out] [ref] */,
1746 uint32_t count /* [out] */,
1749 struct spoolss_EnumPorts r;
1753 r.in.servername = servername;
1755 r.in.buffer = buffer;
1756 r.in.offered = offered;
1758 if (DEBUGLEVEL >= 10) {
1759 NDR_PRINT_IN_DEBUG(spoolss_EnumPorts, &r);
1762 status = cli->dispatch(cli,
1765 NDR_SPOOLSS_ENUMPORTS,
1768 if (!NT_STATUS_IS_OK(status)) {
1772 if (DEBUGLEVEL >= 10) {
1773 NDR_PRINT_OUT_DEBUG(spoolss_EnumPorts, &r);
1776 if (NT_STATUS_IS_ERR(status)) {
1780 /* Return variables */
1781 if (info && r.out.info) {
1782 memcpy(info, r.out.info, count * sizeof(*info));
1784 *needed = *r.out.needed;
1785 return NT_STATUS_NOT_SUPPORTED;
1789 *werror = r.out.result;
1792 return werror_to_ntstatus(r.out.result);
1795 NTSTATUS rpccli_spoolss_EnumMonitors(struct rpc_pipe_client *cli,
1796 TALLOC_CTX *mem_ctx,
1797 const char *servername /* [in] [unique,charset(UTF16)] */,
1798 uint32_t level /* [in] */,
1799 DATA_BLOB *buffer /* [in] [unique] */,
1800 uint32_t offered /* [in] */,
1801 union spoolss_MonitorInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
1802 uint32_t *needed /* [out] [ref] */,
1803 uint32_t count /* [out] */,
1806 struct spoolss_EnumMonitors r;
1810 r.in.servername = servername;
1812 r.in.buffer = buffer;
1813 r.in.offered = offered;
1815 if (DEBUGLEVEL >= 10) {
1816 NDR_PRINT_IN_DEBUG(spoolss_EnumMonitors, &r);
1819 status = cli->dispatch(cli,
1822 NDR_SPOOLSS_ENUMMONITORS,
1825 if (!NT_STATUS_IS_OK(status)) {
1829 if (DEBUGLEVEL >= 10) {
1830 NDR_PRINT_OUT_DEBUG(spoolss_EnumMonitors, &r);
1833 if (NT_STATUS_IS_ERR(status)) {
1837 /* Return variables */
1838 if (info && r.out.info) {
1839 memcpy(info, r.out.info, count * sizeof(*info));
1841 *needed = *r.out.needed;
1842 return NT_STATUS_NOT_SUPPORTED;
1846 *werror = r.out.result;
1849 return werror_to_ntstatus(r.out.result);
1852 NTSTATUS rpccli_spoolss_AddPort(struct rpc_pipe_client *cli,
1853 TALLOC_CTX *mem_ctx,
1854 const char *server_name /* [in] [unique,charset(UTF16)] */,
1855 uint32_t unknown /* [in] */,
1856 const char *monitor_name /* [in] [charset(UTF16)] */,
1859 struct spoolss_AddPort r;
1863 r.in.server_name = server_name;
1864 r.in.unknown = unknown;
1865 r.in.monitor_name = monitor_name;
1867 if (DEBUGLEVEL >= 10) {
1868 NDR_PRINT_IN_DEBUG(spoolss_AddPort, &r);
1871 status = cli->dispatch(cli,
1874 NDR_SPOOLSS_ADDPORT,
1877 if (!NT_STATUS_IS_OK(status)) {
1881 if (DEBUGLEVEL >= 10) {
1882 NDR_PRINT_OUT_DEBUG(spoolss_AddPort, &r);
1885 if (NT_STATUS_IS_ERR(status)) {
1889 /* Return variables */
1893 *werror = r.out.result;
1896 return werror_to_ntstatus(r.out.result);
1899 NTSTATUS rpccli_spoolss_ConfigurePort(struct rpc_pipe_client *cli,
1900 TALLOC_CTX *mem_ctx,
1903 struct spoolss_ConfigurePort r;
1908 if (DEBUGLEVEL >= 10) {
1909 NDR_PRINT_IN_DEBUG(spoolss_ConfigurePort, &r);
1912 status = cli->dispatch(cli,
1915 NDR_SPOOLSS_CONFIGUREPORT,
1918 if (!NT_STATUS_IS_OK(status)) {
1922 if (DEBUGLEVEL >= 10) {
1923 NDR_PRINT_OUT_DEBUG(spoolss_ConfigurePort, &r);
1926 if (NT_STATUS_IS_ERR(status)) {
1930 /* Return variables */
1934 *werror = r.out.result;
1937 return werror_to_ntstatus(r.out.result);
1940 NTSTATUS rpccli_spoolss_DeletePort(struct rpc_pipe_client *cli,
1941 TALLOC_CTX *mem_ctx,
1944 struct spoolss_DeletePort r;
1949 if (DEBUGLEVEL >= 10) {
1950 NDR_PRINT_IN_DEBUG(spoolss_DeletePort, &r);
1953 status = cli->dispatch(cli,
1956 NDR_SPOOLSS_DELETEPORT,
1959 if (!NT_STATUS_IS_OK(status)) {
1963 if (DEBUGLEVEL >= 10) {
1964 NDR_PRINT_OUT_DEBUG(spoolss_DeletePort, &r);
1967 if (NT_STATUS_IS_ERR(status)) {
1971 /* Return variables */
1975 *werror = r.out.result;
1978 return werror_to_ntstatus(r.out.result);
1981 NTSTATUS rpccli_spoolss_CreatePrinterIC(struct rpc_pipe_client *cli,
1982 TALLOC_CTX *mem_ctx,
1985 struct spoolss_CreatePrinterIC r;
1990 if (DEBUGLEVEL >= 10) {
1991 NDR_PRINT_IN_DEBUG(spoolss_CreatePrinterIC, &r);
1994 status = cli->dispatch(cli,
1997 NDR_SPOOLSS_CREATEPRINTERIC,
2000 if (!NT_STATUS_IS_OK(status)) {
2004 if (DEBUGLEVEL >= 10) {
2005 NDR_PRINT_OUT_DEBUG(spoolss_CreatePrinterIC, &r);
2008 if (NT_STATUS_IS_ERR(status)) {
2012 /* Return variables */
2016 *werror = r.out.result;
2019 return werror_to_ntstatus(r.out.result);
2022 NTSTATUS rpccli_spoolss_PlayGDIScriptOnPrinterIC(struct rpc_pipe_client *cli,
2023 TALLOC_CTX *mem_ctx,
2026 struct spoolss_PlayGDIScriptOnPrinterIC r;
2031 if (DEBUGLEVEL >= 10) {
2032 NDR_PRINT_IN_DEBUG(spoolss_PlayGDIScriptOnPrinterIC, &r);
2035 status = cli->dispatch(cli,
2038 NDR_SPOOLSS_PLAYGDISCRIPTONPRINTERIC,
2041 if (!NT_STATUS_IS_OK(status)) {
2045 if (DEBUGLEVEL >= 10) {
2046 NDR_PRINT_OUT_DEBUG(spoolss_PlayGDIScriptOnPrinterIC, &r);
2049 if (NT_STATUS_IS_ERR(status)) {
2053 /* Return variables */
2057 *werror = r.out.result;
2060 return werror_to_ntstatus(r.out.result);
2063 NTSTATUS rpccli_spoolss_DeletePrinterIC(struct rpc_pipe_client *cli,
2064 TALLOC_CTX *mem_ctx,
2067 struct spoolss_DeletePrinterIC r;
2072 if (DEBUGLEVEL >= 10) {
2073 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterIC, &r);
2076 status = cli->dispatch(cli,
2079 NDR_SPOOLSS_DELETEPRINTERIC,
2082 if (!NT_STATUS_IS_OK(status)) {
2086 if (DEBUGLEVEL >= 10) {
2087 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterIC, &r);
2090 if (NT_STATUS_IS_ERR(status)) {
2094 /* Return variables */
2098 *werror = r.out.result;
2101 return werror_to_ntstatus(r.out.result);
2104 NTSTATUS rpccli_spoolss_AddPrinterConnection(struct rpc_pipe_client *cli,
2105 TALLOC_CTX *mem_ctx,
2108 struct spoolss_AddPrinterConnection r;
2113 if (DEBUGLEVEL >= 10) {
2114 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterConnection, &r);
2117 status = cli->dispatch(cli,
2120 NDR_SPOOLSS_ADDPRINTERCONNECTION,
2123 if (!NT_STATUS_IS_OK(status)) {
2127 if (DEBUGLEVEL >= 10) {
2128 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterConnection, &r);
2131 if (NT_STATUS_IS_ERR(status)) {
2135 /* Return variables */
2139 *werror = r.out.result;
2142 return werror_to_ntstatus(r.out.result);
2145 NTSTATUS rpccli_spoolss_DeletePrinterConnection(struct rpc_pipe_client *cli,
2146 TALLOC_CTX *mem_ctx,
2149 struct spoolss_DeletePrinterConnection r;
2154 if (DEBUGLEVEL >= 10) {
2155 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterConnection, &r);
2158 status = cli->dispatch(cli,
2161 NDR_SPOOLSS_DELETEPRINTERCONNECTION,
2164 if (!NT_STATUS_IS_OK(status)) {
2168 if (DEBUGLEVEL >= 10) {
2169 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterConnection, &r);
2172 if (NT_STATUS_IS_ERR(status)) {
2176 /* Return variables */
2180 *werror = r.out.result;
2183 return werror_to_ntstatus(r.out.result);
2186 NTSTATUS rpccli_spoolss_PrinterMessageBox(struct rpc_pipe_client *cli,
2187 TALLOC_CTX *mem_ctx,
2190 struct spoolss_PrinterMessageBox r;
2195 if (DEBUGLEVEL >= 10) {
2196 NDR_PRINT_IN_DEBUG(spoolss_PrinterMessageBox, &r);
2199 status = cli->dispatch(cli,
2202 NDR_SPOOLSS_PRINTERMESSAGEBOX,
2205 if (!NT_STATUS_IS_OK(status)) {
2209 if (DEBUGLEVEL >= 10) {
2210 NDR_PRINT_OUT_DEBUG(spoolss_PrinterMessageBox, &r);
2213 if (NT_STATUS_IS_ERR(status)) {
2217 /* Return variables */
2221 *werror = r.out.result;
2224 return werror_to_ntstatus(r.out.result);
2227 NTSTATUS rpccli_spoolss_AddMonitor(struct rpc_pipe_client *cli,
2228 TALLOC_CTX *mem_ctx,
2231 struct spoolss_AddMonitor r;
2236 if (DEBUGLEVEL >= 10) {
2237 NDR_PRINT_IN_DEBUG(spoolss_AddMonitor, &r);
2240 status = cli->dispatch(cli,
2243 NDR_SPOOLSS_ADDMONITOR,
2246 if (!NT_STATUS_IS_OK(status)) {
2250 if (DEBUGLEVEL >= 10) {
2251 NDR_PRINT_OUT_DEBUG(spoolss_AddMonitor, &r);
2254 if (NT_STATUS_IS_ERR(status)) {
2258 /* Return variables */
2262 *werror = r.out.result;
2265 return werror_to_ntstatus(r.out.result);
2268 NTSTATUS rpccli_spoolss_DeleteMonitor(struct rpc_pipe_client *cli,
2269 TALLOC_CTX *mem_ctx,
2272 struct spoolss_DeleteMonitor r;
2277 if (DEBUGLEVEL >= 10) {
2278 NDR_PRINT_IN_DEBUG(spoolss_DeleteMonitor, &r);
2281 status = cli->dispatch(cli,
2284 NDR_SPOOLSS_DELETEMONITOR,
2287 if (!NT_STATUS_IS_OK(status)) {
2291 if (DEBUGLEVEL >= 10) {
2292 NDR_PRINT_OUT_DEBUG(spoolss_DeleteMonitor, &r);
2295 if (NT_STATUS_IS_ERR(status)) {
2299 /* Return variables */
2303 *werror = r.out.result;
2306 return werror_to_ntstatus(r.out.result);
2309 NTSTATUS rpccli_spoolss_DeletePrintProcessor(struct rpc_pipe_client *cli,
2310 TALLOC_CTX *mem_ctx,
2313 struct spoolss_DeletePrintProcessor r;
2318 if (DEBUGLEVEL >= 10) {
2319 NDR_PRINT_IN_DEBUG(spoolss_DeletePrintProcessor, &r);
2322 status = cli->dispatch(cli,
2325 NDR_SPOOLSS_DELETEPRINTPROCESSOR,
2328 if (!NT_STATUS_IS_OK(status)) {
2332 if (DEBUGLEVEL >= 10) {
2333 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrintProcessor, &r);
2336 if (NT_STATUS_IS_ERR(status)) {
2340 /* Return variables */
2344 *werror = r.out.result;
2347 return werror_to_ntstatus(r.out.result);
2350 NTSTATUS rpccli_spoolss_AddPrintProvidor(struct rpc_pipe_client *cli,
2351 TALLOC_CTX *mem_ctx,
2354 struct spoolss_AddPrintProvidor r;
2359 if (DEBUGLEVEL >= 10) {
2360 NDR_PRINT_IN_DEBUG(spoolss_AddPrintProvidor, &r);
2363 status = cli->dispatch(cli,
2366 NDR_SPOOLSS_ADDPRINTPROVIDOR,
2369 if (!NT_STATUS_IS_OK(status)) {
2373 if (DEBUGLEVEL >= 10) {
2374 NDR_PRINT_OUT_DEBUG(spoolss_AddPrintProvidor, &r);
2377 if (NT_STATUS_IS_ERR(status)) {
2381 /* Return variables */
2385 *werror = r.out.result;
2388 return werror_to_ntstatus(r.out.result);
2391 NTSTATUS rpccli_spoolss_DeletePrintProvidor(struct rpc_pipe_client *cli,
2392 TALLOC_CTX *mem_ctx,
2395 struct spoolss_DeletePrintProvidor r;
2400 if (DEBUGLEVEL >= 10) {
2401 NDR_PRINT_IN_DEBUG(spoolss_DeletePrintProvidor, &r);
2404 status = cli->dispatch(cli,
2407 NDR_SPOOLSS_DELETEPRINTPROVIDOR,
2410 if (!NT_STATUS_IS_OK(status)) {
2414 if (DEBUGLEVEL >= 10) {
2415 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrintProvidor, &r);
2418 if (NT_STATUS_IS_ERR(status)) {
2422 /* Return variables */
2426 *werror = r.out.result;
2429 return werror_to_ntstatus(r.out.result);
2432 NTSTATUS rpccli_spoolss_EnumPrintProcDataTypes(struct rpc_pipe_client *cli,
2433 TALLOC_CTX *mem_ctx,
2436 struct spoolss_EnumPrintProcDataTypes r;
2441 if (DEBUGLEVEL >= 10) {
2442 NDR_PRINT_IN_DEBUG(spoolss_EnumPrintProcDataTypes, &r);
2445 status = cli->dispatch(cli,
2448 NDR_SPOOLSS_ENUMPRINTPROCDATATYPES,
2451 if (!NT_STATUS_IS_OK(status)) {
2455 if (DEBUGLEVEL >= 10) {
2456 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrintProcDataTypes, &r);
2459 if (NT_STATUS_IS_ERR(status)) {
2463 /* Return variables */
2467 *werror = r.out.result;
2470 return werror_to_ntstatus(r.out.result);
2473 NTSTATUS rpccli_spoolss_ResetPrinter(struct rpc_pipe_client *cli,
2474 TALLOC_CTX *mem_ctx,
2477 struct spoolss_ResetPrinter r;
2482 if (DEBUGLEVEL >= 10) {
2483 NDR_PRINT_IN_DEBUG(spoolss_ResetPrinter, &r);
2486 status = cli->dispatch(cli,
2489 NDR_SPOOLSS_RESETPRINTER,
2492 if (!NT_STATUS_IS_OK(status)) {
2496 if (DEBUGLEVEL >= 10) {
2497 NDR_PRINT_OUT_DEBUG(spoolss_ResetPrinter, &r);
2500 if (NT_STATUS_IS_ERR(status)) {
2504 /* Return variables */
2508 *werror = r.out.result;
2511 return werror_to_ntstatus(r.out.result);
2514 NTSTATUS rpccli_spoolss_GetPrinterDriver2(struct rpc_pipe_client *cli,
2515 TALLOC_CTX *mem_ctx,
2516 struct policy_handle *handle /* [in] [ref] */,
2517 const char *architecture /* [in] [unique,charset(UTF16)] */,
2518 uint32_t level /* [in] */,
2519 DATA_BLOB *buffer /* [in] [unique] */,
2520 uint32_t offered /* [in] */,
2521 uint32_t client_major_version /* [in] */,
2522 uint32_t client_minor_version /* [in] */,
2523 DATA_BLOB *info /* [out] [unique] */,
2524 uint32_t *needed /* [out] [ref] */,
2525 uint32_t *server_major_version /* [out] [ref] */,
2526 uint32_t *server_minor_version /* [out] [ref] */,
2529 struct spoolss_GetPrinterDriver2 r;
2533 r.in.handle = handle;
2534 r.in.architecture = architecture;
2536 r.in.buffer = buffer;
2537 r.in.offered = offered;
2538 r.in.client_major_version = client_major_version;
2539 r.in.client_minor_version = client_minor_version;
2541 if (DEBUGLEVEL >= 10) {
2542 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriver2, &r);
2545 status = cli->dispatch(cli,
2548 NDR_SPOOLSS_GETPRINTERDRIVER2,
2551 if (!NT_STATUS_IS_OK(status)) {
2555 if (DEBUGLEVEL >= 10) {
2556 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriver2, &r);
2559 if (NT_STATUS_IS_ERR(status)) {
2563 /* Return variables */
2564 if (info && r.out.info) {
2565 *info = *r.out.info;
2567 *needed = *r.out.needed;
2568 *server_major_version = *r.out.server_major_version;
2569 *server_minor_version = *r.out.server_minor_version;
2573 *werror = r.out.result;
2576 return werror_to_ntstatus(r.out.result);
2579 NTSTATUS rpccli_spoolss_FindFirstPrinterChangeNotification(struct rpc_pipe_client *cli,
2580 TALLOC_CTX *mem_ctx,
2583 struct spoolss_FindFirstPrinterChangeNotification r;
2588 if (DEBUGLEVEL >= 10) {
2589 NDR_PRINT_IN_DEBUG(spoolss_FindFirstPrinterChangeNotification, &r);
2592 status = cli->dispatch(cli,
2595 NDR_SPOOLSS_FINDFIRSTPRINTERCHANGENOTIFICATION,
2598 if (!NT_STATUS_IS_OK(status)) {
2602 if (DEBUGLEVEL >= 10) {
2603 NDR_PRINT_OUT_DEBUG(spoolss_FindFirstPrinterChangeNotification, &r);
2606 if (NT_STATUS_IS_ERR(status)) {
2610 /* Return variables */
2614 *werror = r.out.result;
2617 return werror_to_ntstatus(r.out.result);
2620 NTSTATUS rpccli_spoolss_FindNextPrinterChangeNotification(struct rpc_pipe_client *cli,
2621 TALLOC_CTX *mem_ctx,
2624 struct spoolss_FindNextPrinterChangeNotification r;
2629 if (DEBUGLEVEL >= 10) {
2630 NDR_PRINT_IN_DEBUG(spoolss_FindNextPrinterChangeNotification, &r);
2633 status = cli->dispatch(cli,
2636 NDR_SPOOLSS_FINDNEXTPRINTERCHANGENOTIFICATION,
2639 if (!NT_STATUS_IS_OK(status)) {
2643 if (DEBUGLEVEL >= 10) {
2644 NDR_PRINT_OUT_DEBUG(spoolss_FindNextPrinterChangeNotification, &r);
2647 if (NT_STATUS_IS_ERR(status)) {
2651 /* Return variables */
2655 *werror = r.out.result;
2658 return werror_to_ntstatus(r.out.result);
2661 NTSTATUS rpccli_spoolss_FindClosePrinterNotify(struct rpc_pipe_client *cli,
2662 TALLOC_CTX *mem_ctx,
2663 struct policy_handle *handle /* [in] [ref] */,
2666 struct spoolss_FindClosePrinterNotify r;
2670 r.in.handle = handle;
2672 if (DEBUGLEVEL >= 10) {
2673 NDR_PRINT_IN_DEBUG(spoolss_FindClosePrinterNotify, &r);
2676 status = cli->dispatch(cli,
2679 NDR_SPOOLSS_FINDCLOSEPRINTERNOTIFY,
2682 if (!NT_STATUS_IS_OK(status)) {
2686 if (DEBUGLEVEL >= 10) {
2687 NDR_PRINT_OUT_DEBUG(spoolss_FindClosePrinterNotify, &r);
2690 if (NT_STATUS_IS_ERR(status)) {
2694 /* Return variables */
2698 *werror = r.out.result;
2701 return werror_to_ntstatus(r.out.result);
2704 NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct rpc_pipe_client *cli,
2705 TALLOC_CTX *mem_ctx,
2708 struct spoolss_RouterFindFirstPrinterChangeNotificationOld r;
2713 if (DEBUGLEVEL >= 10) {
2714 NDR_PRINT_IN_DEBUG(spoolss_RouterFindFirstPrinterChangeNotificationOld, &r);
2717 status = cli->dispatch(cli,
2720 NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATIONOLD,
2723 if (!NT_STATUS_IS_OK(status)) {
2727 if (DEBUGLEVEL >= 10) {
2728 NDR_PRINT_OUT_DEBUG(spoolss_RouterFindFirstPrinterChangeNotificationOld, &r);
2731 if (NT_STATUS_IS_ERR(status)) {
2735 /* Return variables */
2739 *werror = r.out.result;
2742 return werror_to_ntstatus(r.out.result);
2745 NTSTATUS rpccli_spoolss_ReplyOpenPrinter(struct rpc_pipe_client *cli,
2746 TALLOC_CTX *mem_ctx,
2747 const char *server_name /* [in] [charset(UTF16)] */,
2748 uint32_t printer_local /* [in] */,
2749 enum winreg_Type type /* [in] */,
2750 uint32_t bufsize /* [in] [range(0,512)] */,
2751 uint8_t *buffer /* [in] [unique,size_is(bufsize)] */,
2752 struct policy_handle *handle /* [out] [ref] */,
2755 struct spoolss_ReplyOpenPrinter r;
2759 r.in.server_name = server_name;
2760 r.in.printer_local = printer_local;
2762 r.in.bufsize = bufsize;
2763 r.in.buffer = buffer;
2765 if (DEBUGLEVEL >= 10) {
2766 NDR_PRINT_IN_DEBUG(spoolss_ReplyOpenPrinter, &r);
2769 status = cli->dispatch(cli,
2772 NDR_SPOOLSS_REPLYOPENPRINTER,
2775 if (!NT_STATUS_IS_OK(status)) {
2779 if (DEBUGLEVEL >= 10) {
2780 NDR_PRINT_OUT_DEBUG(spoolss_ReplyOpenPrinter, &r);
2783 if (NT_STATUS_IS_ERR(status)) {
2787 /* Return variables */
2788 *handle = *r.out.handle;
2792 *werror = r.out.result;
2795 return werror_to_ntstatus(r.out.result);
2798 NTSTATUS rpccli_spoolss_RouterReplyPrinter(struct rpc_pipe_client *cli,
2799 TALLOC_CTX *mem_ctx,
2800 struct policy_handle *handle /* [in] [ref] */,
2801 uint32_t flags /* [in] */,
2802 uint32_t bufsize /* [in] [range(0,512)] */,
2803 uint8_t *buffer /* [in] [unique,size_is(bufsize)] */,
2806 struct spoolss_RouterReplyPrinter r;
2810 r.in.handle = handle;
2812 r.in.bufsize = bufsize;
2813 r.in.buffer = buffer;
2815 if (DEBUGLEVEL >= 10) {
2816 NDR_PRINT_IN_DEBUG(spoolss_RouterReplyPrinter, &r);
2819 status = cli->dispatch(cli,
2822 NDR_SPOOLSS_ROUTERREPLYPRINTER,
2825 if (!NT_STATUS_IS_OK(status)) {
2829 if (DEBUGLEVEL >= 10) {
2830 NDR_PRINT_OUT_DEBUG(spoolss_RouterReplyPrinter, &r);
2833 if (NT_STATUS_IS_ERR(status)) {
2837 /* Return variables */
2841 *werror = r.out.result;
2844 return werror_to_ntstatus(r.out.result);
2847 NTSTATUS rpccli_spoolss_ReplyClosePrinter(struct rpc_pipe_client *cli,
2848 TALLOC_CTX *mem_ctx,
2849 struct policy_handle *handle /* [in,out] [ref] */,
2852 struct spoolss_ReplyClosePrinter r;
2856 r.in.handle = handle;
2858 if (DEBUGLEVEL >= 10) {
2859 NDR_PRINT_IN_DEBUG(spoolss_ReplyClosePrinter, &r);
2862 status = cli->dispatch(cli,
2865 NDR_SPOOLSS_REPLYCLOSEPRINTER,
2868 if (!NT_STATUS_IS_OK(status)) {
2872 if (DEBUGLEVEL >= 10) {
2873 NDR_PRINT_OUT_DEBUG(spoolss_ReplyClosePrinter, &r);
2876 if (NT_STATUS_IS_ERR(status)) {
2880 /* Return variables */
2881 *handle = *r.out.handle;
2885 *werror = r.out.result;
2888 return werror_to_ntstatus(r.out.result);
2891 NTSTATUS rpccli_spoolss_AddPortEx(struct rpc_pipe_client *cli,
2892 TALLOC_CTX *mem_ctx,
2895 struct spoolss_AddPortEx r;
2900 if (DEBUGLEVEL >= 10) {
2901 NDR_PRINT_IN_DEBUG(spoolss_AddPortEx, &r);
2904 status = cli->dispatch(cli,
2907 NDR_SPOOLSS_ADDPORTEX,
2910 if (!NT_STATUS_IS_OK(status)) {
2914 if (DEBUGLEVEL >= 10) {
2915 NDR_PRINT_OUT_DEBUG(spoolss_AddPortEx, &r);
2918 if (NT_STATUS_IS_ERR(status)) {
2922 /* Return variables */
2926 *werror = r.out.result;
2929 return werror_to_ntstatus(r.out.result);
2932 NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotification(struct rpc_pipe_client *cli,
2933 TALLOC_CTX *mem_ctx,
2936 struct spoolss_RouterFindFirstPrinterChangeNotification r;
2941 if (DEBUGLEVEL >= 10) {
2942 NDR_PRINT_IN_DEBUG(spoolss_RouterFindFirstPrinterChangeNotification, &r);
2945 status = cli->dispatch(cli,
2948 NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATION,
2951 if (!NT_STATUS_IS_OK(status)) {
2955 if (DEBUGLEVEL >= 10) {
2956 NDR_PRINT_OUT_DEBUG(spoolss_RouterFindFirstPrinterChangeNotification, &r);
2959 if (NT_STATUS_IS_ERR(status)) {
2963 /* Return variables */
2967 *werror = r.out.result;
2970 return werror_to_ntstatus(r.out.result);
2973 NTSTATUS rpccli_spoolss_SpoolerInit(struct rpc_pipe_client *cli,
2974 TALLOC_CTX *mem_ctx,
2977 struct spoolss_SpoolerInit r;
2982 if (DEBUGLEVEL >= 10) {
2983 NDR_PRINT_IN_DEBUG(spoolss_SpoolerInit, &r);
2986 status = cli->dispatch(cli,
2989 NDR_SPOOLSS_SPOOLERINIT,
2992 if (!NT_STATUS_IS_OK(status)) {
2996 if (DEBUGLEVEL >= 10) {
2997 NDR_PRINT_OUT_DEBUG(spoolss_SpoolerInit, &r);
3000 if (NT_STATUS_IS_ERR(status)) {
3004 /* Return variables */
3008 *werror = r.out.result;
3011 return werror_to_ntstatus(r.out.result);
3014 NTSTATUS rpccli_spoolss_ResetPrinterEx(struct rpc_pipe_client *cli,
3015 TALLOC_CTX *mem_ctx,
3018 struct spoolss_ResetPrinterEx r;
3023 if (DEBUGLEVEL >= 10) {
3024 NDR_PRINT_IN_DEBUG(spoolss_ResetPrinterEx, &r);
3027 status = cli->dispatch(cli,
3030 NDR_SPOOLSS_RESETPRINTEREX,
3033 if (!NT_STATUS_IS_OK(status)) {
3037 if (DEBUGLEVEL >= 10) {
3038 NDR_PRINT_OUT_DEBUG(spoolss_ResetPrinterEx, &r);
3041 if (NT_STATUS_IS_ERR(status)) {
3045 /* Return variables */
3049 *werror = r.out.result;
3052 return werror_to_ntstatus(r.out.result);
3055 NTSTATUS rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct rpc_pipe_client *cli,
3056 TALLOC_CTX *mem_ctx,
3057 struct policy_handle *handle /* [in] [ref] */,
3058 uint32_t flags /* [in] */,
3059 uint32_t options /* [in] */,
3060 const char *local_machine /* [in] [unique,charset(UTF16)] */,
3061 uint32_t printer_local /* [in] */,
3062 struct spoolss_NotifyOption *notify_options /* [in] [unique] */,
3065 struct spoolss_RemoteFindFirstPrinterChangeNotifyEx r;
3069 r.in.handle = handle;
3071 r.in.options = options;
3072 r.in.local_machine = local_machine;
3073 r.in.printer_local = printer_local;
3074 r.in.notify_options = notify_options;
3076 if (DEBUGLEVEL >= 10) {
3077 NDR_PRINT_IN_DEBUG(spoolss_RemoteFindFirstPrinterChangeNotifyEx, &r);
3080 status = cli->dispatch(cli,
3083 NDR_SPOOLSS_REMOTEFINDFIRSTPRINTERCHANGENOTIFYEX,
3086 if (!NT_STATUS_IS_OK(status)) {
3090 if (DEBUGLEVEL >= 10) {
3091 NDR_PRINT_OUT_DEBUG(spoolss_RemoteFindFirstPrinterChangeNotifyEx, &r);
3094 if (NT_STATUS_IS_ERR(status)) {
3098 /* Return variables */
3102 *werror = r.out.result;
3105 return werror_to_ntstatus(r.out.result);
3108 NTSTATUS rpccli_spoolss_RouterReplyPrinterEx(struct rpc_pipe_client *cli,
3109 TALLOC_CTX *mem_ctx,
3110 struct policy_handle *handle /* [in] [ref] */,
3111 uint32_t color /* [in] */,
3112 uint32_t flags /* [in] */,
3113 uint32_t *reply_result /* [out] [ref] */,
3114 uint32_t reply_type /* [in] */,
3115 union spoolss_ReplyPrinterInfo info /* [in] [switch_is(reply_type)] */,
3118 struct spoolss_RouterReplyPrinterEx r;
3122 r.in.handle = handle;
3125 r.in.reply_type = reply_type;
3128 if (DEBUGLEVEL >= 10) {
3129 NDR_PRINT_IN_DEBUG(spoolss_RouterReplyPrinterEx, &r);
3132 status = cli->dispatch(cli,
3135 NDR_SPOOLSS_ROUTERREPLYPRINTEREX,
3138 if (!NT_STATUS_IS_OK(status)) {
3142 if (DEBUGLEVEL >= 10) {
3143 NDR_PRINT_OUT_DEBUG(spoolss_RouterReplyPrinterEx, &r);
3146 if (NT_STATUS_IS_ERR(status)) {
3150 /* Return variables */
3151 *reply_result = *r.out.reply_result;
3155 *werror = r.out.result;
3158 return werror_to_ntstatus(r.out.result);
3161 NTSTATUS rpccli_spoolss_RouterRefreshPrinterChangeNotify(struct rpc_pipe_client *cli,
3162 TALLOC_CTX *mem_ctx,
3163 struct policy_handle *handle /* [in] [ref] */,
3164 uint32_t change_low /* [in] */,
3165 struct spoolss_NotifyOption *options /* [in] [unique] */,
3166 struct spoolss_NotifyInfo **info /* [out] [ref] */,
3169 struct spoolss_RouterRefreshPrinterChangeNotify r;
3173 r.in.handle = handle;
3174 r.in.change_low = change_low;
3175 r.in.options = options;
3177 if (DEBUGLEVEL >= 10) {
3178 NDR_PRINT_IN_DEBUG(spoolss_RouterRefreshPrinterChangeNotify, &r);
3181 status = cli->dispatch(cli,
3184 NDR_SPOOLSS_ROUTERREFRESHPRINTERCHANGENOTIFY,
3187 if (!NT_STATUS_IS_OK(status)) {
3191 if (DEBUGLEVEL >= 10) {
3192 NDR_PRINT_OUT_DEBUG(spoolss_RouterRefreshPrinterChangeNotify, &r);
3195 if (NT_STATUS_IS_ERR(status)) {
3199 /* Return variables */
3200 *info = *r.out.info;
3204 *werror = r.out.result;
3207 return werror_to_ntstatus(r.out.result);
3210 NTSTATUS rpccli_spoolss_44(struct rpc_pipe_client *cli,
3211 TALLOC_CTX *mem_ctx,
3214 struct spoolss_44 r;
3219 if (DEBUGLEVEL >= 10) {
3220 NDR_PRINT_IN_DEBUG(spoolss_44, &r);
3223 status = cli->dispatch(cli,
3229 if (!NT_STATUS_IS_OK(status)) {
3233 if (DEBUGLEVEL >= 10) {
3234 NDR_PRINT_OUT_DEBUG(spoolss_44, &r);
3237 if (NT_STATUS_IS_ERR(status)) {
3241 /* Return variables */
3245 *werror = r.out.result;
3248 return werror_to_ntstatus(r.out.result);
3251 NTSTATUS rpccli_spoolss_OpenPrinterEx(struct rpc_pipe_client *cli,
3252 TALLOC_CTX *mem_ctx,
3253 const char *printername /* [in] [unique,charset(UTF16)] */,
3254 const char *datatype /* [in] [unique,charset(UTF16)] */,
3255 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
3256 uint32_t access_mask /* [in] */,
3257 uint32_t level /* [in] */,
3258 union spoolss_UserLevel userlevel /* [in] [switch_is(level)] */,
3259 struct policy_handle *handle /* [out] [ref] */,
3262 struct spoolss_OpenPrinterEx r;
3266 r.in.printername = printername;
3267 r.in.datatype = datatype;
3268 r.in.devmode_ctr = devmode_ctr;
3269 r.in.access_mask = access_mask;
3271 r.in.userlevel = userlevel;
3273 if (DEBUGLEVEL >= 10) {
3274 NDR_PRINT_IN_DEBUG(spoolss_OpenPrinterEx, &r);
3277 status = cli->dispatch(cli,
3280 NDR_SPOOLSS_OPENPRINTEREX,
3283 if (!NT_STATUS_IS_OK(status)) {
3287 if (DEBUGLEVEL >= 10) {
3288 NDR_PRINT_OUT_DEBUG(spoolss_OpenPrinterEx, &r);
3291 if (NT_STATUS_IS_ERR(status)) {
3295 /* Return variables */
3296 *handle = *r.out.handle;
3300 *werror = r.out.result;
3303 return werror_to_ntstatus(r.out.result);
3306 NTSTATUS rpccli_spoolss_AddPrinterEx(struct rpc_pipe_client *cli,
3307 TALLOC_CTX *mem_ctx,
3308 const char *server /* [in] [unique,charset(UTF16)] */,
3309 struct spoolss_SetPrinterInfoCtr *info_ctr /* [in] [ref] */,
3310 struct spoolss_DevmodeContainer *devmode_ctr /* [in] [ref] */,
3311 struct sec_desc_buf *secdesc_ctr /* [in] [ref] */,
3312 struct spoolss_UserLevelCtr *userlevel_ctr /* [in] [ref] */,
3313 struct policy_handle *handle /* [out] [ref] */,
3316 struct spoolss_AddPrinterEx r;
3320 r.in.server = server;
3321 r.in.info_ctr = info_ctr;
3322 r.in.devmode_ctr = devmode_ctr;
3323 r.in.secdesc_ctr = secdesc_ctr;
3324 r.in.userlevel_ctr = userlevel_ctr;
3326 if (DEBUGLEVEL >= 10) {
3327 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterEx, &r);
3330 status = cli->dispatch(cli,
3333 NDR_SPOOLSS_ADDPRINTEREX,
3336 if (!NT_STATUS_IS_OK(status)) {
3340 if (DEBUGLEVEL >= 10) {
3341 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterEx, &r);
3344 if (NT_STATUS_IS_ERR(status)) {
3348 /* Return variables */
3349 *handle = *r.out.handle;
3353 *werror = r.out.result;
3356 return werror_to_ntstatus(r.out.result);
3359 NTSTATUS rpccli_spoolss_47(struct rpc_pipe_client *cli,
3360 TALLOC_CTX *mem_ctx,
3363 struct spoolss_47 r;
3368 if (DEBUGLEVEL >= 10) {
3369 NDR_PRINT_IN_DEBUG(spoolss_47, &r);
3372 status = cli->dispatch(cli,
3378 if (!NT_STATUS_IS_OK(status)) {
3382 if (DEBUGLEVEL >= 10) {
3383 NDR_PRINT_OUT_DEBUG(spoolss_47, &r);
3386 if (NT_STATUS_IS_ERR(status)) {
3390 /* Return variables */
3394 *werror = r.out.result;
3397 return werror_to_ntstatus(r.out.result);
3400 NTSTATUS rpccli_spoolss_EnumPrinterData(struct rpc_pipe_client *cli,
3401 TALLOC_CTX *mem_ctx,
3402 struct policy_handle *handle /* [in] [ref] */,
3403 uint32_t enum_index /* [in] */,
3404 const char *value_name /* [out] [charset(UTF16),size_is(value_offered/2)] */,
3405 uint32_t value_offered /* [in] */,
3406 uint32_t *value_needed /* [out] [ref] */,
3407 uint32_t *printerdata_type /* [out] [ref] */,
3408 DATA_BLOB *buffer /* [out] [ref] */,
3409 uint32_t data_offered /* [in] */,
3410 uint32_t *data_needed /* [out] [ref] */,
3413 struct spoolss_EnumPrinterData r;
3417 r.in.handle = handle;
3418 r.in.enum_index = enum_index;
3419 r.in.value_offered = value_offered;
3420 r.in.data_offered = data_offered;
3422 if (DEBUGLEVEL >= 10) {
3423 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterData, &r);
3426 status = cli->dispatch(cli,
3429 NDR_SPOOLSS_ENUMPRINTERDATA,
3432 if (!NT_STATUS_IS_OK(status)) {
3436 if (DEBUGLEVEL >= 10) {
3437 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterData, &r);
3440 if (NT_STATUS_IS_ERR(status)) {
3444 /* Return variables */
3445 memcpy(CONST_DISCARD(char *, value_name), r.out.value_name, r.in.value_offered / 2 * sizeof(*value_name));
3446 *value_needed = *r.out.value_needed;
3447 *printerdata_type = *r.out.printerdata_type;
3448 *buffer = *r.out.buffer;
3449 *data_needed = *r.out.data_needed;
3453 *werror = r.out.result;
3456 return werror_to_ntstatus(r.out.result);
3459 NTSTATUS rpccli_spoolss_DeletePrinterData(struct rpc_pipe_client *cli,
3460 TALLOC_CTX *mem_ctx,
3461 struct policy_handle *handle /* [in] [ref] */,
3462 const char *value_name /* [in] [charset(UTF16)] */,
3465 struct spoolss_DeletePrinterData r;
3469 r.in.handle = handle;
3470 r.in.value_name = value_name;
3472 if (DEBUGLEVEL >= 10) {
3473 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterData, &r);
3476 status = cli->dispatch(cli,
3479 NDR_SPOOLSS_DELETEPRINTERDATA,
3482 if (!NT_STATUS_IS_OK(status)) {
3486 if (DEBUGLEVEL >= 10) {
3487 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterData, &r);
3490 if (NT_STATUS_IS_ERR(status)) {
3494 /* Return variables */
3498 *werror = r.out.result;
3501 return werror_to_ntstatus(r.out.result);
3504 NTSTATUS rpccli_spoolss_4a(struct rpc_pipe_client *cli,
3505 TALLOC_CTX *mem_ctx,
3508 struct spoolss_4a r;
3513 if (DEBUGLEVEL >= 10) {
3514 NDR_PRINT_IN_DEBUG(spoolss_4a, &r);
3517 status = cli->dispatch(cli,
3523 if (!NT_STATUS_IS_OK(status)) {
3527 if (DEBUGLEVEL >= 10) {
3528 NDR_PRINT_OUT_DEBUG(spoolss_4a, &r);
3531 if (NT_STATUS_IS_ERR(status)) {
3535 /* Return variables */
3539 *werror = r.out.result;
3542 return werror_to_ntstatus(r.out.result);
3545 NTSTATUS rpccli_spoolss_4b(struct rpc_pipe_client *cli,
3546 TALLOC_CTX *mem_ctx,
3549 struct spoolss_4b r;
3554 if (DEBUGLEVEL >= 10) {
3555 NDR_PRINT_IN_DEBUG(spoolss_4b, &r);
3558 status = cli->dispatch(cli,
3564 if (!NT_STATUS_IS_OK(status)) {
3568 if (DEBUGLEVEL >= 10) {
3569 NDR_PRINT_OUT_DEBUG(spoolss_4b, &r);
3572 if (NT_STATUS_IS_ERR(status)) {
3576 /* Return variables */
3580 *werror = r.out.result;
3583 return werror_to_ntstatus(r.out.result);
3586 NTSTATUS rpccli_spoolss_4c(struct rpc_pipe_client *cli,
3587 TALLOC_CTX *mem_ctx,
3590 struct spoolss_4c r;
3595 if (DEBUGLEVEL >= 10) {
3596 NDR_PRINT_IN_DEBUG(spoolss_4c, &r);
3599 status = cli->dispatch(cli,
3605 if (!NT_STATUS_IS_OK(status)) {
3609 if (DEBUGLEVEL >= 10) {
3610 NDR_PRINT_OUT_DEBUG(spoolss_4c, &r);
3613 if (NT_STATUS_IS_ERR(status)) {
3617 /* Return variables */
3621 *werror = r.out.result;
3624 return werror_to_ntstatus(r.out.result);
3627 NTSTATUS rpccli_spoolss_SetPrinterDataEx(struct rpc_pipe_client *cli,
3628 TALLOC_CTX *mem_ctx,
3629 struct policy_handle *handle /* [in] [ref] */,
3630 const char *key_name /* [in] [charset(UTF16)] */,
3631 const char *value_name /* [in] [charset(UTF16)] */,
3632 uint32_t type /* [in] */,
3633 uint8_t *buffer /* [in] [ref,size_is(offered)] */,
3634 uint32_t offered /* [in] */,
3637 struct spoolss_SetPrinterDataEx r;
3641 r.in.handle = handle;
3642 r.in.key_name = key_name;
3643 r.in.value_name = value_name;
3645 r.in.buffer = buffer;
3646 r.in.offered = offered;
3648 if (DEBUGLEVEL >= 10) {
3649 NDR_PRINT_IN_DEBUG(spoolss_SetPrinterDataEx, &r);
3652 status = cli->dispatch(cli,
3655 NDR_SPOOLSS_SETPRINTERDATAEX,
3658 if (!NT_STATUS_IS_OK(status)) {
3662 if (DEBUGLEVEL >= 10) {
3663 NDR_PRINT_OUT_DEBUG(spoolss_SetPrinterDataEx, &r);
3666 if (NT_STATUS_IS_ERR(status)) {
3670 /* Return variables */
3674 *werror = r.out.result;
3677 return werror_to_ntstatus(r.out.result);
3680 NTSTATUS rpccli_spoolss_GetPrinterDataEx(struct rpc_pipe_client *cli,
3681 TALLOC_CTX *mem_ctx,
3682 struct policy_handle *handle /* [in] [ref] */,
3683 const char *key_name /* [in] [charset(UTF16)] */,
3684 const char *value_name /* [in] [charset(UTF16)] */,
3685 uint32_t *type /* [out] [ref] */,
3686 uint8_t *buffer /* [out] [ref,size_is(offered)] */,
3687 uint32_t offered /* [in] */,
3688 uint32_t *needed /* [out] [ref] */,
3691 struct spoolss_GetPrinterDataEx r;
3695 r.in.handle = handle;
3696 r.in.key_name = key_name;
3697 r.in.value_name = value_name;
3698 r.in.offered = offered;
3700 if (DEBUGLEVEL >= 10) {
3701 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDataEx, &r);
3704 status = cli->dispatch(cli,
3707 NDR_SPOOLSS_GETPRINTERDATAEX,
3710 if (!NT_STATUS_IS_OK(status)) {
3714 if (DEBUGLEVEL >= 10) {
3715 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDataEx, &r);
3718 if (NT_STATUS_IS_ERR(status)) {
3722 /* Return variables */
3723 *type = *r.out.type;
3724 memcpy(buffer, r.out.buffer, r.in.offered * sizeof(*buffer));
3725 *needed = *r.out.needed;
3729 *werror = r.out.result;
3732 return werror_to_ntstatus(r.out.result);
3735 NTSTATUS rpccli_spoolss_EnumPrinterDataEx(struct rpc_pipe_client *cli,
3736 TALLOC_CTX *mem_ctx,
3737 struct policy_handle *handle /* [in] [ref] */,
3738 const char *key_name /* [in] [charset(UTF16)] */,
3739 uint8_t *buffer /* [out] [ref,size_is(offered)] */,
3740 uint32_t offered /* [in] */,
3741 uint32_t *needed /* [out] [ref] */,
3742 uint32_t *count /* [out] [ref] */,
3745 struct spoolss_EnumPrinterDataEx r;
3749 r.in.handle = handle;
3750 r.in.key_name = key_name;
3751 r.in.offered = offered;
3753 if (DEBUGLEVEL >= 10) {
3754 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterDataEx, &r);
3757 status = cli->dispatch(cli,
3760 NDR_SPOOLSS_ENUMPRINTERDATAEX,
3763 if (!NT_STATUS_IS_OK(status)) {
3767 if (DEBUGLEVEL >= 10) {
3768 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterDataEx, &r);
3771 if (NT_STATUS_IS_ERR(status)) {
3775 /* Return variables */
3776 memcpy(buffer, r.out.buffer, r.in.offered * sizeof(*buffer));
3777 *needed = *r.out.needed;
3778 *count = *r.out.count;
3782 *werror = r.out.result;
3785 return werror_to_ntstatus(r.out.result);
3788 NTSTATUS rpccli_spoolss_EnumPrinterKey(struct rpc_pipe_client *cli,
3789 TALLOC_CTX *mem_ctx,
3790 struct policy_handle *handle /* [in] [ref] */,
3791 const char *key_name /* [in] [charset(UTF16)] */,
3792 uint16_t *key_buffer /* [out] [ref,size_is(key_buffer_size/2)] */,
3793 uint32_t key_buffer_size /* [in] */,
3794 uint32_t *needed /* [out] [ref] */,
3797 struct spoolss_EnumPrinterKey r;
3801 r.in.handle = handle;
3802 r.in.key_name = key_name;
3803 r.in.key_buffer_size = key_buffer_size;
3805 if (DEBUGLEVEL >= 10) {
3806 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterKey, &r);
3809 status = cli->dispatch(cli,
3812 NDR_SPOOLSS_ENUMPRINTERKEY,
3815 if (!NT_STATUS_IS_OK(status)) {
3819 if (DEBUGLEVEL >= 10) {
3820 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterKey, &r);
3823 if (NT_STATUS_IS_ERR(status)) {
3827 /* Return variables */
3828 memcpy(key_buffer, r.out.key_buffer, r.in.key_buffer_size / 2 * sizeof(*key_buffer));
3829 *needed = *r.out.needed;
3833 *werror = r.out.result;
3836 return werror_to_ntstatus(r.out.result);
3839 NTSTATUS rpccli_spoolss_DeletePrinterDataEx(struct rpc_pipe_client *cli,
3840 TALLOC_CTX *mem_ctx,
3841 struct policy_handle *handle /* [in] [ref] */,
3842 const char *key_name /* [in] [charset(UTF16)] */,
3843 const char *value_name /* [in] [charset(UTF16)] */,
3846 struct spoolss_DeletePrinterDataEx r;
3850 r.in.handle = handle;
3851 r.in.key_name = key_name;
3852 r.in.value_name = value_name;
3854 if (DEBUGLEVEL >= 10) {
3855 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDataEx, &r);
3858 status = cli->dispatch(cli,
3861 NDR_SPOOLSS_DELETEPRINTERDATAEX,
3864 if (!NT_STATUS_IS_OK(status)) {
3868 if (DEBUGLEVEL >= 10) {
3869 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterDataEx, &r);
3872 if (NT_STATUS_IS_ERR(status)) {
3876 /* Return variables */
3880 *werror = r.out.result;
3883 return werror_to_ntstatus(r.out.result);
3886 NTSTATUS rpccli_spoolss_DeletePrinterKey(struct rpc_pipe_client *cli,
3887 TALLOC_CTX *mem_ctx,
3888 struct policy_handle *handle /* [in] [ref] */,
3889 const char *key_name /* [in] [charset(UTF16)] */,
3892 struct spoolss_DeletePrinterKey r;
3896 r.in.handle = handle;
3897 r.in.key_name = key_name;
3899 if (DEBUGLEVEL >= 10) {
3900 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterKey, &r);
3903 status = cli->dispatch(cli,
3906 NDR_SPOOLSS_DELETEPRINTERKEY,
3909 if (!NT_STATUS_IS_OK(status)) {
3913 if (DEBUGLEVEL >= 10) {
3914 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterKey, &r);
3917 if (NT_STATUS_IS_ERR(status)) {
3921 /* Return variables */
3925 *werror = r.out.result;
3928 return werror_to_ntstatus(r.out.result);
3931 NTSTATUS rpccli_spoolss_53(struct rpc_pipe_client *cli,
3932 TALLOC_CTX *mem_ctx,
3935 struct spoolss_53 r;
3940 if (DEBUGLEVEL >= 10) {
3941 NDR_PRINT_IN_DEBUG(spoolss_53, &r);
3944 status = cli->dispatch(cli,
3950 if (!NT_STATUS_IS_OK(status)) {
3954 if (DEBUGLEVEL >= 10) {
3955 NDR_PRINT_OUT_DEBUG(spoolss_53, &r);
3958 if (NT_STATUS_IS_ERR(status)) {
3962 /* Return variables */
3966 *werror = r.out.result;
3969 return werror_to_ntstatus(r.out.result);
3972 NTSTATUS rpccli_spoolss_DeletePrinterDriverEx(struct rpc_pipe_client *cli,
3973 TALLOC_CTX *mem_ctx,
3974 const char *server /* [in] [unique,charset(UTF16)] */,
3975 const char *architecture /* [in] [charset(UTF16)] */,
3976 const char *driver /* [in] [charset(UTF16)] */,
3977 uint32_t delete_flags /* [in] */,
3978 uint32_t version /* [in] */,
3981 struct spoolss_DeletePrinterDriverEx r;
3985 r.in.server = server;
3986 r.in.architecture = architecture;
3987 r.in.driver = driver;
3988 r.in.delete_flags = delete_flags;
3989 r.in.version = version;
3991 if (DEBUGLEVEL >= 10) {
3992 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDriverEx, &r);
3995 status = cli->dispatch(cli,
3998 NDR_SPOOLSS_DELETEPRINTERDRIVEREX,
4001 if (!NT_STATUS_IS_OK(status)) {
4005 if (DEBUGLEVEL >= 10) {
4006 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterDriverEx, &r);
4009 if (NT_STATUS_IS_ERR(status)) {
4013 /* Return variables */
4017 *werror = r.out.result;
4020 return werror_to_ntstatus(r.out.result);
4023 NTSTATUS rpccli_spoolss_55(struct rpc_pipe_client *cli,
4024 TALLOC_CTX *mem_ctx,
4027 struct spoolss_55 r;
4032 if (DEBUGLEVEL >= 10) {
4033 NDR_PRINT_IN_DEBUG(spoolss_55, &r);
4036 status = cli->dispatch(cli,
4042 if (!NT_STATUS_IS_OK(status)) {
4046 if (DEBUGLEVEL >= 10) {
4047 NDR_PRINT_OUT_DEBUG(spoolss_55, &r);
4050 if (NT_STATUS_IS_ERR(status)) {
4054 /* Return variables */
4058 *werror = r.out.result;
4061 return werror_to_ntstatus(r.out.result);
4064 NTSTATUS rpccli_spoolss_56(struct rpc_pipe_client *cli,
4065 TALLOC_CTX *mem_ctx,
4068 struct spoolss_56 r;
4073 if (DEBUGLEVEL >= 10) {
4074 NDR_PRINT_IN_DEBUG(spoolss_56, &r);
4077 status = cli->dispatch(cli,
4083 if (!NT_STATUS_IS_OK(status)) {
4087 if (DEBUGLEVEL >= 10) {
4088 NDR_PRINT_OUT_DEBUG(spoolss_56, &r);
4091 if (NT_STATUS_IS_ERR(status)) {
4095 /* Return variables */
4099 *werror = r.out.result;
4102 return werror_to_ntstatus(r.out.result);
4105 NTSTATUS rpccli_spoolss_57(struct rpc_pipe_client *cli,
4106 TALLOC_CTX *mem_ctx,
4109 struct spoolss_57 r;
4114 if (DEBUGLEVEL >= 10) {
4115 NDR_PRINT_IN_DEBUG(spoolss_57, &r);
4118 status = cli->dispatch(cli,
4124 if (!NT_STATUS_IS_OK(status)) {
4128 if (DEBUGLEVEL >= 10) {
4129 NDR_PRINT_OUT_DEBUG(spoolss_57, &r);
4132 if (NT_STATUS_IS_ERR(status)) {
4136 /* Return variables */
4140 *werror = r.out.result;
4143 return werror_to_ntstatus(r.out.result);
4146 NTSTATUS rpccli_spoolss_XcvData(struct rpc_pipe_client *cli,
4147 TALLOC_CTX *mem_ctx,
4148 struct policy_handle *handle /* [in] [ref] */,
4149 const char *function_name /* [in] [charset(UTF16)] */,
4150 DATA_BLOB in_data /* [in] */,
4151 uint32_t _in_data_length /* [in] [value(r->in.in_data.length)] */,
4152 uint8_t *out_data /* [out] [ref,size_is(out_data_size)] */,
4153 uint32_t out_data_size /* [in] */,
4154 uint32_t *needed /* [out] [ref] */,
4155 uint32_t *status_code /* [in,out] [ref] */,
4158 struct spoolss_XcvData r;
4162 r.in.handle = handle;
4163 r.in.function_name = function_name;
4164 r.in.in_data = in_data;
4165 r.in._in_data_length = _in_data_length;
4166 r.in.out_data_size = out_data_size;
4167 r.in.status_code = status_code;
4169 if (DEBUGLEVEL >= 10) {
4170 NDR_PRINT_IN_DEBUG(spoolss_XcvData, &r);
4173 status = cli->dispatch(cli,
4176 NDR_SPOOLSS_XCVDATA,
4179 if (!NT_STATUS_IS_OK(status)) {
4183 if (DEBUGLEVEL >= 10) {
4184 NDR_PRINT_OUT_DEBUG(spoolss_XcvData, &r);
4187 if (NT_STATUS_IS_ERR(status)) {
4191 /* Return variables */
4192 memcpy(out_data, r.out.out_data, r.in.out_data_size * sizeof(*out_data));
4193 *needed = *r.out.needed;
4194 *status_code = *r.out.status_code;
4198 *werror = r.out.result;
4201 return werror_to_ntstatus(r.out.result);
4204 NTSTATUS rpccli_spoolss_AddPrinterDriverEx(struct rpc_pipe_client *cli,
4205 TALLOC_CTX *mem_ctx,
4206 const char *servername /* [in] [ref,charset(UTF16)] */,
4207 uint32_t level /* [in] */,
4208 union spoolss_AddDriverInfo info /* [in] [switch_is(level)] */,
4209 uint32_t flags /* [in] */,
4212 struct spoolss_AddPrinterDriverEx r;
4216 r.in.servername = servername;
4221 if (DEBUGLEVEL >= 10) {
4222 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterDriverEx, &r);
4225 status = cli->dispatch(cli,
4228 NDR_SPOOLSS_ADDPRINTERDRIVEREX,
4231 if (!NT_STATUS_IS_OK(status)) {
4235 if (DEBUGLEVEL >= 10) {
4236 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterDriverEx, &r);
4239 if (NT_STATUS_IS_ERR(status)) {
4243 /* Return variables */
4247 *werror = r.out.result;
4250 return werror_to_ntstatus(r.out.result);
4253 NTSTATUS rpccli_spoolss_5a(struct rpc_pipe_client *cli,
4254 TALLOC_CTX *mem_ctx,
4257 struct spoolss_5a r;
4262 if (DEBUGLEVEL >= 10) {
4263 NDR_PRINT_IN_DEBUG(spoolss_5a, &r);
4266 status = cli->dispatch(cli,
4272 if (!NT_STATUS_IS_OK(status)) {
4276 if (DEBUGLEVEL >= 10) {
4277 NDR_PRINT_OUT_DEBUG(spoolss_5a, &r);
4280 if (NT_STATUS_IS_ERR(status)) {
4284 /* Return variables */
4288 *werror = r.out.result;
4291 return werror_to_ntstatus(r.out.result);
4294 NTSTATUS rpccli_spoolss_5b(struct rpc_pipe_client *cli,
4295 TALLOC_CTX *mem_ctx,
4298 struct spoolss_5b r;
4303 if (DEBUGLEVEL >= 10) {
4304 NDR_PRINT_IN_DEBUG(spoolss_5b, &r);
4307 status = cli->dispatch(cli,
4313 if (!NT_STATUS_IS_OK(status)) {
4317 if (DEBUGLEVEL >= 10) {
4318 NDR_PRINT_OUT_DEBUG(spoolss_5b, &r);
4321 if (NT_STATUS_IS_ERR(status)) {
4325 /* Return variables */
4329 *werror = r.out.result;
4332 return werror_to_ntstatus(r.out.result);
4335 NTSTATUS rpccli_spoolss_5c(struct rpc_pipe_client *cli,
4336 TALLOC_CTX *mem_ctx,
4339 struct spoolss_5c r;
4344 if (DEBUGLEVEL >= 10) {
4345 NDR_PRINT_IN_DEBUG(spoolss_5c, &r);
4348 status = cli->dispatch(cli,
4354 if (!NT_STATUS_IS_OK(status)) {
4358 if (DEBUGLEVEL >= 10) {
4359 NDR_PRINT_OUT_DEBUG(spoolss_5c, &r);
4362 if (NT_STATUS_IS_ERR(status)) {
4366 /* Return variables */
4370 *werror = r.out.result;
4373 return werror_to_ntstatus(r.out.result);
4376 NTSTATUS rpccli_spoolss_5d(struct rpc_pipe_client *cli,
4377 TALLOC_CTX *mem_ctx,
4380 struct spoolss_5d r;
4385 if (DEBUGLEVEL >= 10) {
4386 NDR_PRINT_IN_DEBUG(spoolss_5d, &r);
4389 status = cli->dispatch(cli,
4395 if (!NT_STATUS_IS_OK(status)) {
4399 if (DEBUGLEVEL >= 10) {
4400 NDR_PRINT_OUT_DEBUG(spoolss_5d, &r);
4403 if (NT_STATUS_IS_ERR(status)) {
4407 /* Return variables */
4411 *werror = r.out.result;
4414 return werror_to_ntstatus(r.out.result);
4417 NTSTATUS rpccli_spoolss_5e(struct rpc_pipe_client *cli,
4418 TALLOC_CTX *mem_ctx,
4421 struct spoolss_5e r;
4426 if (DEBUGLEVEL >= 10) {
4427 NDR_PRINT_IN_DEBUG(spoolss_5e, &r);
4430 status = cli->dispatch(cli,
4436 if (!NT_STATUS_IS_OK(status)) {
4440 if (DEBUGLEVEL >= 10) {
4441 NDR_PRINT_OUT_DEBUG(spoolss_5e, &r);
4444 if (NT_STATUS_IS_ERR(status)) {
4448 /* Return variables */
4452 *werror = r.out.result;
4455 return werror_to_ntstatus(r.out.result);
4458 NTSTATUS rpccli_spoolss_5f(struct rpc_pipe_client *cli,
4459 TALLOC_CTX *mem_ctx,
4462 struct spoolss_5f r;
4467 if (DEBUGLEVEL >= 10) {
4468 NDR_PRINT_IN_DEBUG(spoolss_5f, &r);
4471 status = cli->dispatch(cli,
4477 if (!NT_STATUS_IS_OK(status)) {
4481 if (DEBUGLEVEL >= 10) {
4482 NDR_PRINT_OUT_DEBUG(spoolss_5f, &r);
4485 if (NT_STATUS_IS_ERR(status)) {
4489 /* Return variables */
4493 *werror = r.out.result;
4496 return werror_to_ntstatus(r.out.result);