s3-spoolss: move PRINTER_ENUM_ICONMASK to IDL.
[samba.git] / librpc / gen_ndr / cli_spoolss.h
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,
5                                      TALLOC_CTX *mem_ctx,
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] [ref] */,
13                                      uint32_t count /* [out]  */,
14                                      WERROR *werror);
15 NTSTATUS rpccli_spoolss_OpenPrinter(struct rpc_pipe_client *cli,
16                                     TALLOC_CTX *mem_ctx,
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] */,
22                                     WERROR *werror);
23 NTSTATUS rpccli_spoolss_SetJob(struct rpc_pipe_client *cli,
24                                TALLOC_CTX *mem_ctx,
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]  */,
29                                WERROR *werror);
30 NTSTATUS rpccli_spoolss_GetJob(struct rpc_pipe_client *cli,
31                                TALLOC_CTX *mem_ctx,
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] [ref] */,
39                                WERROR *werror);
40 NTSTATUS rpccli_spoolss_EnumJobs(struct rpc_pipe_client *cli,
41                                  TALLOC_CTX *mem_ctx,
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] [ref] */,
50                                  uint32_t count /* [out]  */,
51                                  WERROR *werror);
52 NTSTATUS rpccli_spoolss_AddPrinter(struct rpc_pipe_client *cli,
53                                    TALLOC_CTX *mem_ctx,
54                                    WERROR *werror);
55 NTSTATUS rpccli_spoolss_DeletePrinter(struct rpc_pipe_client *cli,
56                                       TALLOC_CTX *mem_ctx,
57                                       struct policy_handle *handle /* [in] [ref] */,
58                                       WERROR *werror);
59 NTSTATUS rpccli_spoolss_SetPrinter(struct rpc_pipe_client *cli,
60                                    TALLOC_CTX *mem_ctx,
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]  */,
67                                    WERROR *werror);
68 NTSTATUS rpccli_spoolss_GetPrinter(struct rpc_pipe_client *cli,
69                                    TALLOC_CTX *mem_ctx,
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] [ref] */,
76                                    WERROR *werror);
77 NTSTATUS rpccli_spoolss_AddPrinterDriver(struct rpc_pipe_client *cli,
78                                          TALLOC_CTX *mem_ctx,
79                                          WERROR *werror);
80 NTSTATUS rpccli_spoolss_EnumPrinterDrivers(struct rpc_pipe_client *cli,
81                                            TALLOC_CTX *mem_ctx,
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] [ref] */,
89                                            uint32_t count /* [out]  */,
90                                            WERROR *werror);
91 NTSTATUS rpccli_spoolss_GetPrinterDriver(struct rpc_pipe_client *cli,
92                                          TALLOC_CTX *mem_ctx,
93                                          WERROR *werror);
94 NTSTATUS rpccli_spoolss_GetPrinterDriverDirectory(struct rpc_pipe_client *cli,
95                                                   TALLOC_CTX *mem_ctx,
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] [ref] */,
103                                                   WERROR *werror);
104 NTSTATUS rpccli_spoolss_DeletePrinterDriver(struct rpc_pipe_client *cli,
105                                             TALLOC_CTX *mem_ctx,
106                                             const char *server /* [in] [unique,charset(UTF16)] */,
107                                             const char *architecture /* [in] [charset(UTF16)] */,
108                                             const char *driver /* [in] [charset(UTF16)] */,
109                                             WERROR *werror);
110 NTSTATUS rpccli_spoolss_AddPrintProcessor(struct rpc_pipe_client *cli,
111                                           TALLOC_CTX *mem_ctx,
112                                           WERROR *werror);
113 NTSTATUS rpccli_spoolss_EnumPrintProcessors(struct rpc_pipe_client *cli,
114                                             TALLOC_CTX *mem_ctx,
115                                             const char *servername /* [in] [unique,charset(UTF16)] */,
116                                             const char *environment /* [in] [unique,charset(UTF16)] */,
117                                             uint32_t level /* [in]  */,
118                                             DATA_BLOB *buffer /* [in] [unique] */,
119                                             uint32_t offered /* [in]  */,
120                                             union spoolss_PrintProcessorInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
121                                             uint32_t *needed /* [out] [ref] */,
122                                             uint32_t count /* [out]  */,
123                                             WERROR *werror);
124 NTSTATUS rpccli_spoolss_GetPrintProcessorDirectory(struct rpc_pipe_client *cli,
125                                                    TALLOC_CTX *mem_ctx,
126                                                    WERROR *werror);
127 NTSTATUS rpccli_spoolss_StartDocPrinter(struct rpc_pipe_client *cli,
128                                         TALLOC_CTX *mem_ctx,
129                                         struct policy_handle *handle /* [in] [ref] */,
130                                         uint32_t level /* [in]  */,
131                                         union spoolss_DocumentInfo info /* [in] [switch_is(level)] */,
132                                         uint32_t *job_id /* [out] [ref] */,
133                                         WERROR *werror);
134 NTSTATUS rpccli_spoolss_StartPagePrinter(struct rpc_pipe_client *cli,
135                                          TALLOC_CTX *mem_ctx,
136                                          struct policy_handle *handle /* [in] [ref] */,
137                                          WERROR *werror);
138 NTSTATUS rpccli_spoolss_WritePrinter(struct rpc_pipe_client *cli,
139                                      TALLOC_CTX *mem_ctx,
140                                      struct policy_handle *handle /* [in] [ref] */,
141                                      DATA_BLOB data /* [in]  */,
142                                      uint32_t _data_size /* [in] [value(r->in.data.length)] */,
143                                      uint32_t *num_written /* [out] [ref] */,
144                                      WERROR *werror);
145 NTSTATUS rpccli_spoolss_EndPagePrinter(struct rpc_pipe_client *cli,
146                                        TALLOC_CTX *mem_ctx,
147                                        struct policy_handle *handle /* [in] [ref] */,
148                                        WERROR *werror);
149 NTSTATUS rpccli_spoolss_AbortPrinter(struct rpc_pipe_client *cli,
150                                      TALLOC_CTX *mem_ctx,
151                                      struct policy_handle *handle /* [in] [ref] */,
152                                      WERROR *werror);
153 NTSTATUS rpccli_spoolss_ReadPrinter(struct rpc_pipe_client *cli,
154                                     TALLOC_CTX *mem_ctx,
155                                     struct policy_handle *handle /* [in] [ref] */,
156                                     uint8_t *data /* [out] [ref,size_is(data_size)] */,
157                                     uint32_t data_size /* [in]  */,
158                                     uint32_t *_data_size /* [out] [ref] */,
159                                     WERROR *werror);
160 NTSTATUS rpccli_spoolss_EndDocPrinter(struct rpc_pipe_client *cli,
161                                       TALLOC_CTX *mem_ctx,
162                                       struct policy_handle *handle /* [in] [ref] */,
163                                       WERROR *werror);
164 NTSTATUS rpccli_spoolss_AddJob(struct rpc_pipe_client *cli,
165                                TALLOC_CTX *mem_ctx,
166                                WERROR *werror);
167 NTSTATUS rpccli_spoolss_ScheduleJob(struct rpc_pipe_client *cli,
168                                     TALLOC_CTX *mem_ctx,
169                                     WERROR *werror);
170 NTSTATUS rpccli_spoolss_GetPrinterData(struct rpc_pipe_client *cli,
171                                        TALLOC_CTX *mem_ctx,
172                                        struct policy_handle *handle /* [in] [ref] */,
173                                        const char *value_name /* [in] [charset(UTF16)] */,
174                                        uint32_t offered /* [in]  */,
175                                        enum spoolss_PrinterDataType *type /* [out] [ref] */,
176                                        union spoolss_PrinterData data /* [out] [subcontext_size(offered),subcontext(4),switch_is(*type)] */,
177                                        uint32_t *needed /* [out] [ref] */,
178                                        WERROR *werror);
179 NTSTATUS rpccli_spoolss_SetPrinterData(struct rpc_pipe_client *cli,
180                                        TALLOC_CTX *mem_ctx,
181                                        struct policy_handle *handle /* [in] [ref] */,
182                                        const char *value_name /* [in] [charset(UTF16)] */,
183                                        enum spoolss_PrinterDataType type /* [in]  */,
184                                        union spoolss_PrinterData data /* [in] [subcontext(4),switch_is(type)] */,
185                                        uint32_t _offered /* [in] [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */,
186                                        WERROR *werror);
187 NTSTATUS rpccli_spoolss_WaitForPrinterChange(struct rpc_pipe_client *cli,
188                                              TALLOC_CTX *mem_ctx,
189                                              WERROR *werror);
190 NTSTATUS rpccli_spoolss_ClosePrinter(struct rpc_pipe_client *cli,
191                                      TALLOC_CTX *mem_ctx,
192                                      struct policy_handle *handle /* [in,out] [ref] */,
193                                      WERROR *werror);
194 NTSTATUS rpccli_spoolss_AddForm(struct rpc_pipe_client *cli,
195                                 TALLOC_CTX *mem_ctx,
196                                 struct policy_handle *handle /* [in] [ref] */,
197                                 uint32_t level /* [in]  */,
198                                 union spoolss_AddFormInfo info /* [in] [switch_is(level)] */,
199                                 WERROR *werror);
200 NTSTATUS rpccli_spoolss_DeleteForm(struct rpc_pipe_client *cli,
201                                    TALLOC_CTX *mem_ctx,
202                                    struct policy_handle *handle /* [in] [ref] */,
203                                    const char *form_name /* [in] [charset(UTF16)] */,
204                                    WERROR *werror);
205 NTSTATUS rpccli_spoolss_GetForm(struct rpc_pipe_client *cli,
206                                 TALLOC_CTX *mem_ctx,
207                                 struct policy_handle *handle /* [in] [ref] */,
208                                 const char *form_name /* [in] [charset(UTF16)] */,
209                                 uint32_t level /* [in]  */,
210                                 DATA_BLOB *buffer /* [in] [unique] */,
211                                 uint32_t offered /* [in]  */,
212                                 union spoolss_FormInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
213                                 uint32_t *needed /* [out] [ref] */,
214                                 WERROR *werror);
215 NTSTATUS rpccli_spoolss_SetForm(struct rpc_pipe_client *cli,
216                                 TALLOC_CTX *mem_ctx,
217                                 struct policy_handle *handle /* [in] [ref] */,
218                                 const char *form_name /* [in] [charset(UTF16)] */,
219                                 uint32_t level /* [in]  */,
220                                 union spoolss_AddFormInfo info /* [in] [switch_is(level)] */,
221                                 WERROR *werror);
222 NTSTATUS rpccli_spoolss_EnumForms(struct rpc_pipe_client *cli,
223                                   TALLOC_CTX *mem_ctx,
224                                   struct policy_handle *handle /* [in] [ref] */,
225                                   uint32_t level /* [in]  */,
226                                   DATA_BLOB *buffer /* [in] [unique] */,
227                                   uint32_t offered /* [in]  */,
228                                   union spoolss_FormInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
229                                   uint32_t *needed /* [out] [ref] */,
230                                   uint32_t count /* [out]  */,
231                                   WERROR *werror);
232 NTSTATUS rpccli_spoolss_EnumPorts(struct rpc_pipe_client *cli,
233                                   TALLOC_CTX *mem_ctx,
234                                   const char *servername /* [in] [unique,charset(UTF16)] */,
235                                   uint32_t level /* [in]  */,
236                                   DATA_BLOB *buffer /* [in] [unique] */,
237                                   uint32_t offered /* [in]  */,
238                                   union spoolss_PortInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
239                                   uint32_t *needed /* [out] [ref] */,
240                                   uint32_t count /* [out]  */,
241                                   WERROR *werror);
242 NTSTATUS rpccli_spoolss_EnumMonitors(struct rpc_pipe_client *cli,
243                                      TALLOC_CTX *mem_ctx,
244                                      const char *servername /* [in] [unique,charset(UTF16)] */,
245                                      uint32_t level /* [in]  */,
246                                      DATA_BLOB *buffer /* [in] [unique] */,
247                                      uint32_t offered /* [in]  */,
248                                      union spoolss_MonitorInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
249                                      uint32_t *needed /* [out] [ref] */,
250                                      uint32_t count /* [out]  */,
251                                      WERROR *werror);
252 NTSTATUS rpccli_spoolss_AddPort(struct rpc_pipe_client *cli,
253                                 TALLOC_CTX *mem_ctx,
254                                 const char *server_name /* [in] [unique,charset(UTF16)] */,
255                                 uint32_t unknown /* [in]  */,
256                                 const char *monitor_name /* [in] [charset(UTF16)] */,
257                                 WERROR *werror);
258 NTSTATUS rpccli_spoolss_ConfigurePort(struct rpc_pipe_client *cli,
259                                       TALLOC_CTX *mem_ctx,
260                                       WERROR *werror);
261 NTSTATUS rpccli_spoolss_DeletePort(struct rpc_pipe_client *cli,
262                                    TALLOC_CTX *mem_ctx,
263                                    WERROR *werror);
264 NTSTATUS rpccli_spoolss_CreatePrinterIC(struct rpc_pipe_client *cli,
265                                         TALLOC_CTX *mem_ctx,
266                                         WERROR *werror);
267 NTSTATUS rpccli_spoolss_PlayGDIScriptOnPrinterIC(struct rpc_pipe_client *cli,
268                                                  TALLOC_CTX *mem_ctx,
269                                                  WERROR *werror);
270 NTSTATUS rpccli_spoolss_DeletePrinterIC(struct rpc_pipe_client *cli,
271                                         TALLOC_CTX *mem_ctx,
272                                         WERROR *werror);
273 NTSTATUS rpccli_spoolss_AddPrinterConnection(struct rpc_pipe_client *cli,
274                                              TALLOC_CTX *mem_ctx,
275                                              WERROR *werror);
276 NTSTATUS rpccli_spoolss_DeletePrinterConnection(struct rpc_pipe_client *cli,
277                                                 TALLOC_CTX *mem_ctx,
278                                                 WERROR *werror);
279 NTSTATUS rpccli_spoolss_PrinterMessageBox(struct rpc_pipe_client *cli,
280                                           TALLOC_CTX *mem_ctx,
281                                           WERROR *werror);
282 NTSTATUS rpccli_spoolss_AddMonitor(struct rpc_pipe_client *cli,
283                                    TALLOC_CTX *mem_ctx,
284                                    WERROR *werror);
285 NTSTATUS rpccli_spoolss_DeleteMonitor(struct rpc_pipe_client *cli,
286                                       TALLOC_CTX *mem_ctx,
287                                       WERROR *werror);
288 NTSTATUS rpccli_spoolss_DeletePrintProcessor(struct rpc_pipe_client *cli,
289                                              TALLOC_CTX *mem_ctx,
290                                              WERROR *werror);
291 NTSTATUS rpccli_spoolss_AddPrintProvidor(struct rpc_pipe_client *cli,
292                                          TALLOC_CTX *mem_ctx,
293                                          WERROR *werror);
294 NTSTATUS rpccli_spoolss_DeletePrintProvidor(struct rpc_pipe_client *cli,
295                                             TALLOC_CTX *mem_ctx,
296                                             WERROR *werror);
297 NTSTATUS rpccli_spoolss_EnumPrintProcDataTypes(struct rpc_pipe_client *cli,
298                                                TALLOC_CTX *mem_ctx,
299                                                WERROR *werror);
300 NTSTATUS rpccli_spoolss_ResetPrinter(struct rpc_pipe_client *cli,
301                                      TALLOC_CTX *mem_ctx,
302                                      WERROR *werror);
303 NTSTATUS rpccli_spoolss_GetPrinterDriver2(struct rpc_pipe_client *cli,
304                                           TALLOC_CTX *mem_ctx,
305                                           struct policy_handle *handle /* [in] [ref] */,
306                                           const char *architecture /* [in] [unique,charset(UTF16)] */,
307                                           uint32_t level /* [in]  */,
308                                           DATA_BLOB *buffer /* [in] [unique] */,
309                                           uint32_t offered /* [in]  */,
310                                           uint32_t client_major_version /* [in]  */,
311                                           uint32_t client_minor_version /* [in]  */,
312                                           DATA_BLOB *info /* [out] [unique] */,
313                                           uint32_t *needed /* [out] [ref] */,
314                                           uint32_t *server_major_version /* [out] [ref] */,
315                                           uint32_t *server_minor_version /* [out] [ref] */,
316                                           WERROR *werror);
317 NTSTATUS rpccli_spoolss_FindFirstPrinterChangeNotification(struct rpc_pipe_client *cli,
318                                                            TALLOC_CTX *mem_ctx,
319                                                            WERROR *werror);
320 NTSTATUS rpccli_spoolss_FindNextPrinterChangeNotification(struct rpc_pipe_client *cli,
321                                                           TALLOC_CTX *mem_ctx,
322                                                           WERROR *werror);
323 NTSTATUS rpccli_spoolss_FindClosePrinterNotify(struct rpc_pipe_client *cli,
324                                                TALLOC_CTX *mem_ctx,
325                                                struct policy_handle *handle /* [in] [ref] */,
326                                                WERROR *werror);
327 NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct rpc_pipe_client *cli,
328                                                                     TALLOC_CTX *mem_ctx,
329                                                                     WERROR *werror);
330 NTSTATUS rpccli_spoolss_ReplyOpenPrinter(struct rpc_pipe_client *cli,
331                                          TALLOC_CTX *mem_ctx,
332                                          const char *server_name /* [in] [charset(UTF16)] */,
333                                          uint32_t printer_local /* [in]  */,
334                                          enum winreg_Type type /* [in]  */,
335                                          uint32_t unknown1 /* [in]  */,
336                                          uint32_t unknown2 /* [in]  */,
337                                          struct policy_handle *handle /* [out] [ref] */,
338                                          WERROR *werror);
339 NTSTATUS rpccli_spoolss_RouterReplyPrinter(struct rpc_pipe_client *cli,
340                                            TALLOC_CTX *mem_ctx,
341                                            WERROR *werror);
342 NTSTATUS rpccli_spoolss_ReplyClosePrinter(struct rpc_pipe_client *cli,
343                                           TALLOC_CTX *mem_ctx,
344                                           struct policy_handle *handle /* [in,out] [ref] */,
345                                           WERROR *werror);
346 NTSTATUS rpccli_spoolss_AddPortEx(struct rpc_pipe_client *cli,
347                                   TALLOC_CTX *mem_ctx,
348                                   WERROR *werror);
349 NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotification(struct rpc_pipe_client *cli,
350                                                                  TALLOC_CTX *mem_ctx,
351                                                                  WERROR *werror);
352 NTSTATUS rpccli_spoolss_SpoolerInit(struct rpc_pipe_client *cli,
353                                     TALLOC_CTX *mem_ctx,
354                                     WERROR *werror);
355 NTSTATUS rpccli_spoolss_ResetPrinterEx(struct rpc_pipe_client *cli,
356                                        TALLOC_CTX *mem_ctx,
357                                        WERROR *werror);
358 NTSTATUS rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct rpc_pipe_client *cli,
359                                                              TALLOC_CTX *mem_ctx,
360                                                              struct policy_handle *handle /* [in] [ref] */,
361                                                              uint32_t flags /* [in]  */,
362                                                              uint32_t options /* [in]  */,
363                                                              const char *str /* [in] [unique,charset(UTF16)] */,
364                                                              uint32_t printer_local /* [in]  */,
365                                                              struct spoolss_NotifyOptionsContainer *t1 /* [in] [unique] */,
366                                                              WERROR *werror);
367 NTSTATUS rpccli_spoolss_RouterRefreshPrinterChangeNotification(struct rpc_pipe_client *cli,
368                                                                TALLOC_CTX *mem_ctx,
369                                                                WERROR *werror);
370 NTSTATUS rpccli_spoolss_RemoteFindNextPrinterChangeNotifyEx(struct rpc_pipe_client *cli,
371                                                             TALLOC_CTX *mem_ctx,
372                                                             struct policy_handle *handle /* [in] [ref] */,
373                                                             uint32_t change_low /* [in]  */,
374                                                             struct spoolss_NotifyOptionsContainer *container /* [in] [unique] */,
375                                                             struct spoolss_NotifyInfo **info /* [out] [ref] */,
376                                                             WERROR *werror);
377 NTSTATUS rpccli_spoolss_44(struct rpc_pipe_client *cli,
378                            TALLOC_CTX *mem_ctx,
379                            WERROR *werror);
380 NTSTATUS rpccli_spoolss_OpenPrinterEx(struct rpc_pipe_client *cli,
381                                       TALLOC_CTX *mem_ctx,
382                                       const char *printername /* [in] [unique,charset(UTF16)] */,
383                                       const char *datatype /* [in] [unique,charset(UTF16)] */,
384                                       struct spoolss_DevmodeContainer devmode_ctr /* [in]  */,
385                                       uint32_t access_mask /* [in]  */,
386                                       uint32_t level /* [in]  */,
387                                       union spoolss_UserLevel userlevel /* [in] [switch_is(level)] */,
388                                       struct policy_handle *handle /* [out] [ref] */,
389                                       WERROR *werror);
390 NTSTATUS rpccli_spoolss_AddPrinterEx(struct rpc_pipe_client *cli,
391                                      TALLOC_CTX *mem_ctx,
392                                      const char *server /* [in] [unique,charset(UTF16)] */,
393                                      uint32_t level /* [in]  */,
394                                      union spoolss_PrinterInfo *info /* [in] [unique,switch_is(level)] */,
395                                      struct spoolss_DevmodeContainer devmode_ctr /* [in]  */,
396                                      struct security_descriptor *secdesc /* [in] [unique] */,
397                                      uint32_t ulevel /* [in]  */,
398                                      union spoolss_UserLevel userlevel /* [in] [switch_is(ulevel)] */,
399                                      WERROR *werror);
400 NTSTATUS rpccli_spoolss_47(struct rpc_pipe_client *cli,
401                            TALLOC_CTX *mem_ctx,
402                            WERROR *werror);
403 NTSTATUS rpccli_spoolss_EnumPrinterData(struct rpc_pipe_client *cli,
404                                         TALLOC_CTX *mem_ctx,
405                                         struct policy_handle *handle /* [in] [ref] */,
406                                         uint32_t enum_index /* [in]  */,
407                                         const char *value_name /* [out] [ref,charset(UTF16),size_is(value_offered/2)] */,
408                                         uint32_t value_offered /* [in]  */,
409                                         uint32_t *value_needed /* [out] [ref] */,
410                                         uint32_t *printerdata_type /* [out] [ref] */,
411                                         DATA_BLOB *buffer /* [out] [ref] */,
412                                         uint32_t data_offered /* [in]  */,
413                                         uint32_t *data_needed /* [out] [ref] */,
414                                         WERROR *werror);
415 NTSTATUS rpccli_spoolss_DeletePrinterData(struct rpc_pipe_client *cli,
416                                           TALLOC_CTX *mem_ctx,
417                                           struct policy_handle *handle /* [in] [ref] */,
418                                           const char *value_name /* [in] [charset(UTF16)] */,
419                                           WERROR *werror);
420 NTSTATUS rpccli_spoolss_4a(struct rpc_pipe_client *cli,
421                            TALLOC_CTX *mem_ctx,
422                            WERROR *werror);
423 NTSTATUS rpccli_spoolss_4b(struct rpc_pipe_client *cli,
424                            TALLOC_CTX *mem_ctx,
425                            WERROR *werror);
426 NTSTATUS rpccli_spoolss_4c(struct rpc_pipe_client *cli,
427                            TALLOC_CTX *mem_ctx,
428                            WERROR *werror);
429 NTSTATUS rpccli_spoolss_SetPrinterDataEx(struct rpc_pipe_client *cli,
430                                          TALLOC_CTX *mem_ctx,
431                                          struct policy_handle *handle /* [in] [ref] */,
432                                          const char *key_name /* [in] [charset(UTF16)] */,
433                                          const char *value_name /* [in] [charset(UTF16)] */,
434                                          uint32_t type /* [in]  */,
435                                          DATA_BLOB buffer /* [in]  */,
436                                          uint32_t offered /* [in]  */,
437                                          WERROR *werror);
438 NTSTATUS rpccli_spoolss_GetPrinterDataEx(struct rpc_pipe_client *cli,
439                                          TALLOC_CTX *mem_ctx,
440                                          struct policy_handle *handle /* [in] [ref] */,
441                                          const char *key_name /* [in] [charset(UTF16)] */,
442                                          const char *value_name /* [in] [charset(UTF16)] */,
443                                          uint32_t *type /* [out] [ref] */,
444                                          uint8_t *buffer /* [out] [ref,size_is(offered)] */,
445                                          uint32_t offered /* [in]  */,
446                                          uint32_t *needed /* [out] [ref] */,
447                                          WERROR *werror);
448 NTSTATUS rpccli_spoolss_EnumPrinterDataEx(struct rpc_pipe_client *cli,
449                                           TALLOC_CTX *mem_ctx,
450                                           struct policy_handle *handle /* [in] [ref] */,
451                                           const char *key_name /* [in] [charset(UTF16)] */,
452                                           uint8_t *buffer /* [out] [ref,size_is(offered)] */,
453                                           uint32_t offered /* [in]  */,
454                                           uint32_t *needed /* [out] [ref] */,
455                                           uint32_t *count /* [out] [ref] */,
456                                           WERROR *werror);
457 NTSTATUS rpccli_spoolss_EnumPrinterKey(struct rpc_pipe_client *cli,
458                                        TALLOC_CTX *mem_ctx,
459                                        struct policy_handle *handle /* [in] [ref] */,
460                                        const char *key_name /* [in] [charset(UTF16)] */,
461                                        uint16_t *key_buffer /* [out] [ref,size_is(key_buffer_size/2)] */,
462                                        uint32_t key_buffer_size /* [in]  */,
463                                        uint32_t *needed /* [out] [ref] */,
464                                        WERROR *werror);
465 NTSTATUS rpccli_spoolss_DeletePrinterDataEx(struct rpc_pipe_client *cli,
466                                             TALLOC_CTX *mem_ctx,
467                                             struct policy_handle *handle /* [in] [ref] */,
468                                             const char *key_name /* [in] [charset(UTF16)] */,
469                                             const char *value_name /* [in] [charset(UTF16)] */,
470                                             WERROR *werror);
471 NTSTATUS rpccli_spoolss_DeletePrinterKey(struct rpc_pipe_client *cli,
472                                          TALLOC_CTX *mem_ctx,
473                                          struct policy_handle *handle /* [in] [ref] */,
474                                          const char *key_name /* [in] [charset(UTF16)] */,
475                                          WERROR *werror);
476 NTSTATUS rpccli_spoolss_53(struct rpc_pipe_client *cli,
477                            TALLOC_CTX *mem_ctx,
478                            WERROR *werror);
479 NTSTATUS rpccli_spoolss_DeletePrinterDriverEx(struct rpc_pipe_client *cli,
480                                               TALLOC_CTX *mem_ctx,
481                                               const char *server /* [in] [unique,charset(UTF16)] */,
482                                               const char *architecture /* [in] [charset(UTF16)] */,
483                                               const char *driver /* [in] [charset(UTF16)] */,
484                                               uint32_t delete_flags /* [in]  */,
485                                               uint32_t version /* [in]  */,
486                                               WERROR *werror);
487 NTSTATUS rpccli_spoolss_55(struct rpc_pipe_client *cli,
488                            TALLOC_CTX *mem_ctx,
489                            WERROR *werror);
490 NTSTATUS rpccli_spoolss_56(struct rpc_pipe_client *cli,
491                            TALLOC_CTX *mem_ctx,
492                            WERROR *werror);
493 NTSTATUS rpccli_spoolss_57(struct rpc_pipe_client *cli,
494                            TALLOC_CTX *mem_ctx,
495                            WERROR *werror);
496 NTSTATUS rpccli_spoolss_XcvData(struct rpc_pipe_client *cli,
497                                 TALLOC_CTX *mem_ctx,
498                                 struct policy_handle *handle /* [in] [ref] */,
499                                 const char *function_name /* [in] [charset(UTF16)] */,
500                                 DATA_BLOB in_data /* [in]  */,
501                                 uint32_t _in_data_length /* [in] [value(r->in.in_data.length)] */,
502                                 uint8_t *out_data /* [out] [ref,size_is(out_data_size)] */,
503                                 uint32_t out_data_size /* [in]  */,
504                                 uint32_t *needed /* [out] [ref] */,
505                                 uint32_t *status_code /* [in,out] [ref] */,
506                                 WERROR *werror);
507 NTSTATUS rpccli_spoolss_AddPrinterDriverEx(struct rpc_pipe_client *cli,
508                                            TALLOC_CTX *mem_ctx,
509                                            WERROR *werror);
510 NTSTATUS rpccli_spoolss_5a(struct rpc_pipe_client *cli,
511                            TALLOC_CTX *mem_ctx,
512                            WERROR *werror);
513 NTSTATUS rpccli_spoolss_5b(struct rpc_pipe_client *cli,
514                            TALLOC_CTX *mem_ctx,
515                            WERROR *werror);
516 NTSTATUS rpccli_spoolss_5c(struct rpc_pipe_client *cli,
517                            TALLOC_CTX *mem_ctx,
518                            WERROR *werror);
519 NTSTATUS rpccli_spoolss_5d(struct rpc_pipe_client *cli,
520                            TALLOC_CTX *mem_ctx,
521                            WERROR *werror);
522 NTSTATUS rpccli_spoolss_5e(struct rpc_pipe_client *cli,
523                            TALLOC_CTX *mem_ctx,
524                            WERROR *werror);
525 NTSTATUS rpccli_spoolss_5f(struct rpc_pipe_client *cli,
526                            TALLOC_CTX *mem_ctx,
527                            WERROR *werror);
528 #endif /* __CLI_SPOOLSS__ */