1 #include "../librpc/gen_ndr/ndr_spoolss.h"
2 #ifndef __CLI_SPOOLSS__
3 #define __CLI_SPOOLSS__
4 NTSTATUS rpccli_spoolss_EnumPrinters(struct rpc_pipe_client *cli,
6 uint32_t flags /* [in] */,
7 const char *server /* [in] [unique,charset(UTF16)] */,
8 uint32_t level /* [in] */,
9 DATA_BLOB *buffer /* [in] [unique] */,
10 uint32_t offered /* [in] */,
11 union spoolss_PrinterInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
12 uint32_t needed /* [out] */,
13 uint32_t count /* [out] */,
15 NTSTATUS rpccli_spoolss_OpenPrinter(struct rpc_pipe_client *cli,
17 const char *printername /* [in] [unique,charset(UTF16)] */,
18 const char *datatype /* [in] [unique,charset(UTF16)] */,
19 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
20 uint32_t access_mask /* [in] */,
21 struct policy_handle *handle /* [out] [ref] */,
23 NTSTATUS rpccli_spoolss_SetJob(struct rpc_pipe_client *cli,
25 struct policy_handle *handle /* [in] [ref] */,
26 uint32_t job_id /* [in] */,
27 struct spoolss_JobInfoContainer *ctr /* [in] [unique] */,
28 enum spoolss_JobControl command /* [in] */,
30 NTSTATUS rpccli_spoolss_GetJob(struct rpc_pipe_client *cli,
32 struct policy_handle *handle /* [in] [ref] */,
33 uint32_t job_id /* [in] */,
34 uint32_t level /* [in] */,
35 DATA_BLOB *buffer /* [in] [unique] */,
36 uint32_t offered /* [in] */,
37 union spoolss_JobInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
38 uint32_t needed /* [out] */,
40 NTSTATUS rpccli_spoolss_EnumJobs(struct rpc_pipe_client *cli,
42 struct policy_handle *handle /* [in] [ref] */,
43 uint32_t firstjob /* [in] */,
44 uint32_t numjobs /* [in] */,
45 uint32_t level /* [in] */,
46 DATA_BLOB *buffer /* [in] [unique] */,
47 uint32_t offered /* [in] */,
48 union spoolss_JobInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
49 uint32_t needed /* [out] */,
50 uint32_t count /* [out] */,
52 NTSTATUS rpccli_spoolss_AddPrinter(struct rpc_pipe_client *cli,
55 NTSTATUS rpccli_spoolss_DeletePrinter(struct rpc_pipe_client *cli,
57 struct policy_handle *handle /* [in] [ref] */,
59 NTSTATUS rpccli_spoolss_SetPrinter(struct rpc_pipe_client *cli,
61 struct policy_handle *handle /* [in] [ref] */,
62 uint32_t level /* [in] */,
63 union spoolss_SetPrinterInfo info /* [in] [switch_is(level)] */,
64 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
65 struct sec_desc_buf secdesc_ctr /* [in] */,
66 enum spoolss_PrinterControl command /* [in] */,
68 NTSTATUS rpccli_spoolss_GetPrinter(struct rpc_pipe_client *cli,
70 struct policy_handle *handle /* [in] [ref] */,
71 uint32_t level /* [in] */,
72 DATA_BLOB *buffer /* [in] [unique] */,
73 uint32_t offered /* [in] */,
74 union spoolss_PrinterInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
75 uint32_t needed /* [out] */,
77 NTSTATUS rpccli_spoolss_AddPrinterDriver(struct rpc_pipe_client *cli,
80 NTSTATUS rpccli_spoolss_EnumPrinterDrivers(struct rpc_pipe_client *cli,
82 const char *server /* [in] [unique,charset(UTF16)] */,
83 const char *environment /* [in] [unique,charset(UTF16)] */,
84 uint32_t level /* [in] */,
85 DATA_BLOB *buffer /* [in] [unique] */,
86 uint32_t offered /* [in] */,
87 union spoolss_DriverInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
88 uint32_t needed /* [out] */,
89 uint32_t count /* [out] */,
91 NTSTATUS rpccli_spoolss_GetPrinterDriver(struct rpc_pipe_client *cli,
94 NTSTATUS rpccli_spoolss_GetPrinterDriverDirectory(struct rpc_pipe_client *cli,
96 const char *server /* [in] [unique,charset(UTF16)] */,
97 const char *environment /* [in] [unique,charset(UTF16)] */,
98 uint32_t level /* [in] */,
99 DATA_BLOB *buffer /* [in] [unique] */,
100 uint32_t offered /* [in] */,
101 union spoolss_DriverDirectoryInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
102 uint32_t needed /* [out] */,
104 NTSTATUS rpccli_spoolss_DeletePrinterDriver(struct rpc_pipe_client *cli,
106 struct policy_handle *handle /* [in] [ref] */,
107 const char *server /* [in] [unique,charset(UTF16)] */,
108 const char *architecture /* [in] [charset(UTF16)] */,
109 const char *driver /* [in] [charset(UTF16)] */,
111 NTSTATUS rpccli_spoolss_AddPrintProcessor(struct rpc_pipe_client *cli,
114 NTSTATUS rpccli_spoolss_EnumPrintProcessors(struct rpc_pipe_client *cli,
116 const char *servername /* [in] [unique,charset(UTF16)] */,
117 const char *environment /* [in] [unique,charset(UTF16)] */,
118 uint32_t level /* [in] */,
119 DATA_BLOB *buffer /* [in] [unique] */,
120 uint32_t offered /* [in] */,
121 union spoolss_PrintProcessorInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
122 uint32_t needed /* [out] */,
123 uint32_t count /* [out] */,
125 NTSTATUS rpccli_spoolss_GetPrintProcessorDirectory(struct rpc_pipe_client *cli,
128 NTSTATUS rpccli_spoolss_StartDocPrinter(struct rpc_pipe_client *cli,
130 struct policy_handle *handle /* [in] [ref] */,
131 uint32_t level /* [in] */,
132 union spoolss_DocumentInfo info /* [in] [switch_is(level)] */,
133 uint32_t job_id /* [out] */,
135 NTSTATUS rpccli_spoolss_StartPagePrinter(struct rpc_pipe_client *cli,
137 struct policy_handle *handle /* [in] [ref] */,
139 NTSTATUS rpccli_spoolss_WritePrinter(struct rpc_pipe_client *cli,
141 struct policy_handle *handle /* [in] [ref] */,
142 DATA_BLOB data /* [in] */,
143 uint32_t _data_size /* [in] [value(r->in.data.length)] */,
144 uint32_t num_written /* [out] */,
146 NTSTATUS rpccli_spoolss_EndPagePrinter(struct rpc_pipe_client *cli,
148 struct policy_handle *handle /* [in] [ref] */,
150 NTSTATUS rpccli_spoolss_AbortPrinter(struct rpc_pipe_client *cli,
152 struct policy_handle *handle /* [in] [ref] */,
154 NTSTATUS rpccli_spoolss_ReadPrinter(struct rpc_pipe_client *cli,
156 struct policy_handle *handle /* [in] [ref] */,
157 uint32_t data_size /* [in] */,
158 DATA_BLOB data /* [out] */,
159 uint32_t _data_size /* [out] [value(r->out.data.length)] */,
161 NTSTATUS rpccli_spoolss_EndDocPrinter(struct rpc_pipe_client *cli,
163 struct policy_handle *handle /* [in] [ref] */,
165 NTSTATUS rpccli_spoolss_AddJob(struct rpc_pipe_client *cli,
168 NTSTATUS rpccli_spoolss_ScheduleJob(struct rpc_pipe_client *cli,
171 NTSTATUS rpccli_spoolss_GetPrinterData(struct rpc_pipe_client *cli,
173 struct policy_handle *handle /* [in] [ref] */,
174 const char *value_name /* [in] [charset(UTF16)] */,
175 uint32_t offered /* [in] */,
176 enum spoolss_PrinterDataType type /* [out] */,
177 union spoolss_PrinterData data /* [out] [subcontext_size(offered),subcontext(4),switch_is(type)] */,
178 uint32_t needed /* [out] */,
180 NTSTATUS rpccli_spoolss_SetPrinterData(struct rpc_pipe_client *cli,
182 struct policy_handle *handle /* [in] [ref] */,
183 const char *value_name /* [in] [charset(UTF16)] */,
184 enum spoolss_PrinterDataType type /* [in] */,
185 union spoolss_PrinterData data /* [in] [subcontext(4),switch_is(type)] */,
186 uint32_t _offered /* [in] [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */,
188 NTSTATUS rpccli_spoolss_WaitForPrinterChange(struct rpc_pipe_client *cli,
191 NTSTATUS rpccli_spoolss_ClosePrinter(struct rpc_pipe_client *cli,
193 struct policy_handle *handle /* [in,out] [ref] */,
195 NTSTATUS rpccli_spoolss_AddForm(struct rpc_pipe_client *cli,
197 struct policy_handle *handle /* [in] [ref] */,
198 uint32_t level /* [in] */,
199 union spoolss_AddFormInfo info /* [in] [switch_is(level)] */,
201 NTSTATUS rpccli_spoolss_DeleteForm(struct rpc_pipe_client *cli,
203 struct policy_handle *handle /* [in] [ref] */,
204 const char *form_name /* [in] [charset(UTF16)] */,
206 NTSTATUS rpccli_spoolss_GetForm(struct rpc_pipe_client *cli,
208 struct policy_handle *handle /* [in] [ref] */,
209 const char *form_name /* [in] [charset(UTF16)] */,
210 uint32_t level /* [in] */,
211 DATA_BLOB *buffer /* [in] [unique] */,
212 uint32_t offered /* [in] */,
213 union spoolss_FormInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
214 uint32_t needed /* [out] */,
216 NTSTATUS rpccli_spoolss_SetForm(struct rpc_pipe_client *cli,
218 struct policy_handle *handle /* [in] [ref] */,
219 const char *form_name /* [in] [charset(UTF16)] */,
220 uint32_t level /* [in] */,
221 union spoolss_AddFormInfo info /* [in] [switch_is(level)] */,
223 NTSTATUS rpccli_spoolss_EnumForms(struct rpc_pipe_client *cli,
225 struct policy_handle *handle /* [in] [ref] */,
226 uint32_t level /* [in] */,
227 DATA_BLOB *buffer /* [in] [unique] */,
228 uint32_t offered /* [in] */,
229 union spoolss_FormInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
230 uint32_t needed /* [out] */,
231 uint32_t count /* [out] */,
233 NTSTATUS rpccli_spoolss_EnumPorts(struct rpc_pipe_client *cli,
235 const char *servername /* [in] [unique,charset(UTF16)] */,
236 uint32_t level /* [in] */,
237 DATA_BLOB *buffer /* [in] [unique] */,
238 uint32_t offered /* [in] */,
239 union spoolss_PortInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
240 uint32_t needed /* [out] */,
241 uint32_t count /* [out] */,
243 NTSTATUS rpccli_spoolss_EnumMonitors(struct rpc_pipe_client *cli,
245 const char *servername /* [in] [unique,charset(UTF16)] */,
246 uint32_t level /* [in] */,
247 DATA_BLOB *buffer /* [in] [unique] */,
248 uint32_t offered /* [in] */,
249 union spoolss_MonitorInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
250 uint32_t needed /* [out] */,
251 uint32_t count /* [out] */,
253 NTSTATUS rpccli_spoolss_AddPort(struct rpc_pipe_client *cli,
255 const char *server_name /* [in] [unique,charset(UTF16)] */,
256 uint32_t unknown /* [in] */,
257 const char *monitor_name /* [in] [charset(UTF16)] */,
259 NTSTATUS rpccli_spoolss_ConfigurePort(struct rpc_pipe_client *cli,
262 NTSTATUS rpccli_spoolss_DeletePort(struct rpc_pipe_client *cli,
265 NTSTATUS rpccli_spoolss_CreatePrinterIC(struct rpc_pipe_client *cli,
268 NTSTATUS rpccli_spoolss_PlayGDIScriptOnPrinterIC(struct rpc_pipe_client *cli,
271 NTSTATUS rpccli_spoolss_DeletePrinterIC(struct rpc_pipe_client *cli,
274 NTSTATUS rpccli_spoolss_AddPrinterConnection(struct rpc_pipe_client *cli,
277 NTSTATUS rpccli_spoolss_DeletePrinterConnection(struct rpc_pipe_client *cli,
280 NTSTATUS rpccli_spoolss_PrinterMessageBox(struct rpc_pipe_client *cli,
283 NTSTATUS rpccli_spoolss_AddMonitor(struct rpc_pipe_client *cli,
286 NTSTATUS rpccli_spoolss_DeleteMonitor(struct rpc_pipe_client *cli,
289 NTSTATUS rpccli_spoolss_DeletePrintProcessor(struct rpc_pipe_client *cli,
292 NTSTATUS rpccli_spoolss_AddPrintProvidor(struct rpc_pipe_client *cli,
295 NTSTATUS rpccli_spoolss_DeletePrintProvidor(struct rpc_pipe_client *cli,
298 NTSTATUS rpccli_spoolss_EnumPrintProcDataTypes(struct rpc_pipe_client *cli,
301 NTSTATUS rpccli_spoolss_ResetPrinter(struct rpc_pipe_client *cli,
304 NTSTATUS rpccli_spoolss_GetPrinterDriver2(struct rpc_pipe_client *cli,
306 struct policy_handle *handle /* [in] [ref] */,
307 const char *architecture /* [in] [unique,charset(UTF16)] */,
308 uint32_t level /* [in] */,
309 DATA_BLOB *buffer /* [in] [unique] */,
310 uint32_t offered /* [in] */,
311 uint32_t client_major_version /* [in] */,
312 uint32_t client_minor_version /* [in] */,
313 DATA_BLOB *info /* [out] [unique] */,
314 uint32_t needed /* [out] */,
315 uint32_t server_major_version /* [out] */,
316 uint32_t server_minor_version /* [out] */,
318 NTSTATUS rpccli_spoolss_FindFirstPrinterChangeNotification(struct rpc_pipe_client *cli,
321 NTSTATUS rpccli_spoolss_FindNextPrinterChangeNotification(struct rpc_pipe_client *cli,
324 NTSTATUS rpccli_spoolss_FindClosePrinterNotify(struct rpc_pipe_client *cli,
326 struct policy_handle *handle /* [in] [ref] */,
328 NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct rpc_pipe_client *cli,
331 NTSTATUS rpccli_spoolss_ReplyOpenPrinter(struct rpc_pipe_client *cli,
333 const char *server_name /* [in] [charset(UTF16)] */,
334 uint32_t printer_local /* [in] */,
335 enum winreg_Type type /* [in] */,
336 uint32_t unknown1 /* [in] */,
337 uint32_t unknown2 /* [in] */,
338 struct policy_handle *handle /* [out] [ref] */,
340 NTSTATUS rpccli_spoolss_RouterReplyPrinter(struct rpc_pipe_client *cli,
343 NTSTATUS rpccli_spoolss_ReplyClosePrinter(struct rpc_pipe_client *cli,
345 struct policy_handle *handle /* [in,out] [ref] */,
347 NTSTATUS rpccli_spoolss_AddPortEx(struct rpc_pipe_client *cli,
350 NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotification(struct rpc_pipe_client *cli,
353 NTSTATUS rpccli_spoolss_SpoolerInit(struct rpc_pipe_client *cli,
356 NTSTATUS rpccli_spoolss_ResetPrinterEx(struct rpc_pipe_client *cli,
359 NTSTATUS rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct rpc_pipe_client *cli,
361 struct policy_handle *handle /* [in] [ref] */,
362 uint32_t flags /* [in] */,
363 uint32_t options /* [in] */,
364 const char *str /* [in] [unique,charset(UTF16)] */,
365 uint32_t printer_local /* [in] */,
366 struct spoolss_NotifyOptionsContainer *t1 /* [in] [unique] */,
368 NTSTATUS rpccli_spoolss_RouterRefreshPrinterChangeNotification(struct rpc_pipe_client *cli,
371 NTSTATUS rpccli_spoolss_RemoteFindNextPrinterChangeNotifyEx(struct rpc_pipe_client *cli,
373 struct policy_handle *handle /* [in] [ref] */,
374 uint32_t change_low /* [in] */,
375 struct spoolss_NotifyOptionsContainer *container /* [in] [unique] */,
376 struct spoolss_NotifyInfo **info /* [out] [ref] */,
378 NTSTATUS rpccli_spoolss_44(struct rpc_pipe_client *cli,
381 NTSTATUS rpccli_spoolss_OpenPrinterEx(struct rpc_pipe_client *cli,
383 const char *printername /* [in] [unique,charset(UTF16)] */,
384 const char *datatype /* [in] [unique,charset(UTF16)] */,
385 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
386 uint32_t access_mask /* [in] */,
387 uint32_t level /* [in] */,
388 union spoolss_UserLevel userlevel /* [in] [switch_is(level)] */,
389 struct policy_handle *handle /* [out] [ref] */,
391 NTSTATUS rpccli_spoolss_AddPrinterEx(struct rpc_pipe_client *cli,
393 const char *server /* [in] [unique,charset(UTF16)] */,
394 uint32_t level /* [in] */,
395 union spoolss_PrinterInfo *info /* [in] [unique,switch_is(level)] */,
396 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
397 struct security_descriptor *secdesc /* [in] [unique] */,
398 uint32_t ulevel /* [in] */,
399 union spoolss_UserLevel userlevel /* [in] [switch_is(ulevel)] */,
401 NTSTATUS rpccli_spoolss_47(struct rpc_pipe_client *cli,
404 NTSTATUS rpccli_spoolss_EnumPrinterData(struct rpc_pipe_client *cli,
406 struct policy_handle *handle /* [in] [ref] */,
407 uint32_t enum_index /* [in] */,
408 const char *value_name /* [out] [ref,charset(UTF16),size_is(value_offered/2)] */,
409 uint32_t value_offered /* [in] */,
410 uint32_t *value_needed /* [out] [ref] */,
411 uint32_t *printerdata_type /* [out] [ref] */,
412 DATA_BLOB *buffer /* [out] [ref] */,
413 uint32_t data_offered /* [in] */,
414 uint32_t *data_needed /* [out] [ref] */,
416 NTSTATUS rpccli_spoolss_DeletePrinterData(struct rpc_pipe_client *cli,
418 struct policy_handle *handle /* [in] [ref] */,
419 const char *value_name /* [in] [charset(UTF16)] */,
421 NTSTATUS rpccli_spoolss_4a(struct rpc_pipe_client *cli,
424 NTSTATUS rpccli_spoolss_4b(struct rpc_pipe_client *cli,
427 NTSTATUS rpccli_spoolss_4c(struct rpc_pipe_client *cli,
430 NTSTATUS rpccli_spoolss_SetPrinterDataEx(struct rpc_pipe_client *cli,
432 struct policy_handle *handle /* [in] [ref] */,
433 const char *key_name /* [in] [charset(UTF16)] */,
434 const char *value_name /* [in] [charset(UTF16)] */,
435 uint32_t type /* [in] */,
436 DATA_BLOB buffer /* [in] */,
437 uint32_t offered /* [in] */,
439 NTSTATUS rpccli_spoolss_GetPrinterDataEx(struct rpc_pipe_client *cli,
441 struct policy_handle *handle /* [in] [ref] */,
442 const char *key_name /* [in] [charset(UTF16)] */,
443 const char *value_name /* [in] [charset(UTF16)] */,
444 uint32_t offered /* [in] */,
445 uint32_t type /* [out] */,
446 DATA_BLOB buffer /* [out] */,
447 uint32_t needed /* [out] */,
449 NTSTATUS rpccli_spoolss_EnumPrinterDataEx(struct rpc_pipe_client *cli,
451 struct policy_handle *handle /* [in] [ref] */,
452 const char *key_name /* [in] [charset(UTF16)] */,
453 uint32_t offered /* [in] */,
454 DATA_BLOB buffer /* [out] */,
455 uint32_t needed /* [out] */,
456 uint32_t count /* [out] */,
458 NTSTATUS rpccli_spoolss_EnumPrinterKey(struct rpc_pipe_client *cli,
460 struct policy_handle *handle /* [in] [ref] */,
461 const char *key_name /* [in] [charset(UTF16)] */,
462 uint32_t key_buffer_size /* [out] */,
463 uint16_t *key_buffer /* [out] */,
464 uint32_t needed /* [in,out] */,
466 NTSTATUS rpccli_spoolss_DeletePrinterDataEx(struct rpc_pipe_client *cli,
468 struct policy_handle *handle /* [in] [ref] */,
469 const char *key_name /* [in] [charset(UTF16)] */,
470 const char *value_name /* [in] [charset(UTF16)] */,
472 NTSTATUS rpccli_spoolss_DeletePrinterKey(struct rpc_pipe_client *cli,
475 NTSTATUS rpccli_spoolss_53(struct rpc_pipe_client *cli,
478 NTSTATUS rpccli_spoolss_DeletePrinterDriverEx(struct rpc_pipe_client *cli,
481 NTSTATUS rpccli_spoolss_55(struct rpc_pipe_client *cli,
484 NTSTATUS rpccli_spoolss_56(struct rpc_pipe_client *cli,
487 NTSTATUS rpccli_spoolss_57(struct rpc_pipe_client *cli,
490 NTSTATUS rpccli_spoolss_XcvData(struct rpc_pipe_client *cli,
492 struct policy_handle *handle /* [in] [ref] */,
493 const char *function_name /* [in] [charset(UTF16)] */,
494 DATA_BLOB in_data /* [in] */,
495 uint32_t _in_data_length /* [in] [value(r->in.in_data.length)] */,
496 uint32_t offered /* [in] */,
497 uint32_t unknown1 /* [in] */,
498 DATA_BLOB out_data /* [out] */,
499 uint32_t needed /* [out] */,
500 uint32_t unknown2 /* [out] */,
502 NTSTATUS rpccli_spoolss_AddPrinterDriverEx(struct rpc_pipe_client *cli,
505 NTSTATUS rpccli_spoolss_5a(struct rpc_pipe_client *cli,
508 NTSTATUS rpccli_spoolss_5b(struct rpc_pipe_client *cli,
511 NTSTATUS rpccli_spoolss_5c(struct rpc_pipe_client *cli,
514 NTSTATUS rpccli_spoolss_5d(struct rpc_pipe_client *cli,
517 NTSTATUS rpccli_spoolss_5e(struct rpc_pipe_client *cli,
520 NTSTATUS rpccli_spoolss_5f(struct rpc_pipe_client *cli,
523 #endif /* __CLI_SPOOLSS__ */