r3302: The security descriptors in spoolss_PrinterInfo2 and spoolss_PrinterInfo3
[jelmer/samba4-debian.git] / source / librpc / idl / spoolss.idl
1 #include "idl_types.h"
2
3 /*
4   spoolss interface definitions
5 */
6
7 [ uuid("12345678-1234-abcd-ef00-0123456789ab"),
8   version(1.0),
9   endpoint("ncacn_np:[\\pipe\\spoolss]"),
10   pointer_default(unique),
11   helpstring("Spooler SubSystem")
12 ] interface spoolss
13 {
14         typedef struct {
15                 uint16 year;
16                 uint16 month;
17                 uint16 day_of_week;
18                 uint16 day;
19                 uint16 hour;
20                 uint16 minute;
21                 uint16 second;
22                 uint16 millisecond;
23         } spoolss_Time;
24
25         typedef struct {
26                 [relative] nstring *printername;
27                 [relative] nstring *servername;
28                 uint32 cjobs;
29                 uint32 total_jobs;
30                 uint32 total_bytes;
31                 spoolss_Time time;              
32                 uint32 global_counter;
33                 uint32 total_pages;
34                 uint32 version;
35                 uint32 unknown10;
36                 uint32 unknown11;
37                 uint32 unknown12;
38                 uint32 session_counter;
39                 uint32 unknown14;
40                 uint32 printer_errors;
41                 uint32 unknown16;
42                 uint32 unknown17;
43                 uint32 unknown18;
44                 uint32 unknown19;
45                 uint32 change_id;
46                 uint32 unknown21;
47                 uint32 status;
48                 uint32 unknown23;
49                 uint32 c_setprinter;
50                 uint16 unknown25;
51                 uint16 unknown26;
52                 uint32 unknown27;
53                 uint32 unknown28;
54                 uint32 unknown29;
55         } spoolss_PrinterInfo0;
56
57         typedef struct {
58                 uint16 devicename[32];
59                 uint16 specversion;
60                 uint16 driverversion;
61                 uint16 size;
62                 uint16 driverextra;
63                 uint32 fields;
64                 uint16 orientation;
65                 uint16 papersize;
66                 uint16 paperlength;
67                 uint16 paperwidth;
68                 uint16 scale;
69                 uint16 copies;
70                 uint16 defaultsource;
71                 uint16 printquality;
72                 uint16 color;
73                 uint16 duplex;
74                 uint16 yresolution;
75                 uint16 ttoption;
76                 uint16 collate;
77                 uint16 formname[32];
78                 uint16 logpixels;
79                 uint32 bitsperpel;
80                 uint32 pelswidth;
81                 uint32 pelsheight;
82                 uint32 displayflags;
83                 uint32 displayfrequency;
84                 uint32 icmmethod;
85                 uint32 icmintent;
86                 uint32 mediatype;
87                 uint32 dithertype;
88                 uint32 reserved1;
89                 uint32 reserved2;
90                 uint32 panningwidth;
91                 uint32 panningheight;
92                 uint8  private[driverextra];
93         } spoolss_DeviceMode;
94
95         typedef [public] struct {
96                 uint32 flags;
97                 [relative] nstring *name;
98                 [relative] nstring *description;
99                 [relative] nstring *comment;
100         } spoolss_PrinterInfo1;
101
102         typedef struct {
103                 uint32 flags;
104                 [relative] nstring *name;
105                 uint32 width;
106                 uint32 length;
107                 uint32 left;
108                 uint32 top;
109                 uint32 right;
110                 uint32 bottom;
111         } spoolss_FormInfo1;
112
113         typedef [public] struct {
114                 [relative] nstring *servername;
115                 [relative] nstring *printername;
116                 [relative] nstring *sharename;
117                 [relative] nstring *portname;
118                 [relative] nstring *drivername;
119                 [relative] nstring *comment;
120                 [relative] nstring *location;
121                 [relative] spoolss_DeviceMode *devmode;
122                 [relative] nstring *sepfile;
123                 [relative] nstring *printprocessor;
124                 [relative] nstring *datatype;
125                 [relative] nstring *parameters;
126                 [relative,subcontext(0)] security_descriptor *secdesc;
127                 uint32 attributes;
128                 uint32 priority;
129                 uint32 defaultpriority;
130                 uint32 starttime;
131                 uint32 untiltime;
132                 uint32 status;
133                 uint32 cjobs;
134                 uint32 averageppm;
135         } spoolss_PrinterInfo2;
136
137         typedef struct {
138                 uint32 flags;
139                 [subcontext(0)] security_descriptor secdesc;
140         } spoolss_PrinterInfo3;
141
142         typedef struct {
143                 [relative] nstring *printername;
144                 [relative] nstring *servername;
145                 uint32 attributes;
146         } spoolss_PrinterInfo4;
147
148         typedef [public] struct {
149                 [relative] nstring *printername;
150                 [relative] nstring *portname;
151                 uint32 attributes;
152                 uint32 device_not_selected_timeout;
153                 uint32 transmission_retry_timeout;
154         } spoolss_PrinterInfo5;
155
156         typedef struct {
157                 uint32 unknown;
158         } spoolss_PrinterInfo6;
159
160         typedef struct {
161                 [relative] nstring *guid; /* text form of printer guid */
162                 uint32 action;
163         } spoolss_PrinterInfo7;
164
165         typedef [nodiscriminant,public] union {
166                 [case(0)] spoolss_PrinterInfo0 info0;
167                 [case(1)] spoolss_PrinterInfo1 info1;
168                 [case(2)] spoolss_PrinterInfo2 info2;
169                 [case(3)] spoolss_PrinterInfo3 info3;
170                 [case(4)] spoolss_PrinterInfo4 info4;
171                 [case(5)] spoolss_PrinterInfo5 info5;
172                 [case(6)] spoolss_PrinterInfo6 info6;
173                 [case(7)] spoolss_PrinterInfo7 info7;
174         } spoolss_PrinterInfo;
175
176         const int PRINTER_ENUM_DEFAULT     = 0x00000001;
177         const int PRINTER_ENUM_LOCAL       = 0x00000002;
178         const int PRINTER_ENUM_CONNECTIONS = 0x00000004;
179         const int PRINTER_ENUM_FAVORITE    = 0x00000004;
180         const int PRINTER_ENUM_NAME        = 0x00000008;
181         const int PRINTER_ENUM_REMOTE      = 0x00000010;
182         const int PRINTER_ENUM_SHARED      = 0x00000020;
183         const int PRINTER_ENUM_NETWORK     = 0x00000040;
184
185         /******************/
186         /* Function: 0x00 */
187         WERROR spoolss_EnumPrinters(
188                 [in]         uint32 flags,
189                 [in]         unistr *server,
190                 [in]         uint32 level,
191                 [in,out]     DATA_BLOB *buffer,
192                 [in,out,ref] uint32 *buf_size,
193                 [out]        uint32 count
194         );
195
196         /******************/
197         /* Function: 0x01 */
198         WERROR spoolss_OpenPrinter(
199                 [in]        unistr *server,
200                 [in]        unistr *printer,
201                 [in]        DATA_BLOB *buffer,
202                 [in]        uint32 access_mask,
203                 [out,ref]   policy_handle *handle
204         );
205
206         /******************/
207         /* Function: 0x02 */
208         WERROR spoolss_SetJob(
209                 [in,ref] policy_handle *handle,
210                 [in] uint32 job_id,
211                 [in] uint32 level,
212                 [in] uint32 command
213         );
214
215         /******************/
216         /* Function: 0x03 */
217         WERROR spoolss_GetJob(
218                 [in,ref] policy_handle *handle,
219                 [in] uint32 job_id,
220                 [in] uint32 level,
221                 [in] DATA_BLOB *buffer,
222                 [out,subcontext(4),switch_is(level)] spoolss_JobInfo *info,
223                 [in,out,ref] uint32 *buf_size
224         );
225
226         typedef struct {
227                 uint32 job_id;
228                 [relative] nstring printer_name;
229                 [relative] nstring server_name;
230                 [relative] nstring user_name;
231                 [relative] nstring document_name;
232                 [relative] nstring data_type;
233                 [relative] nstring text_status;
234                 uint32 status;
235                 uint32 priority;
236                 uint32 position;
237                 uint32 total_pages;
238                 uint32 pages_printed;
239                 spoolss_Time time;
240         } spoolss_JobInfo1;
241
242         typedef [nodiscriminant,public] union {
243                 [case(1)] spoolss_JobInfo1 info1;
244         } spoolss_JobInfo;
245
246         /******************/
247         /* Function: 0x04 */
248         WERROR spoolss_EnumJobs(
249                 [in,ref] policy_handle *handle,
250                 [in]     uint32 firstjob,
251                 [in]     uint32 numjobs,
252                 [in]     uint32 level,
253                 [in,out]     DATA_BLOB *buffer,
254                 [in,out,ref] uint32 *buf_size,
255                 [out]    uint32 count
256         );
257
258         /******************/
259         /* Function: 0x05 */
260         WERROR spoolss_AddPrinter(
261                 /* This function is not implemented in Samba 3 as no
262                    clients have been observed using it. */
263         );
264
265         /******************/
266         /* Function: 0x06 */
267         WERROR spoolss_DeletePrinter(
268         );
269
270         /******************/
271         /* Function: 0x07 */
272         WERROR spoolss_SetPrinter(
273         );
274
275         /******************/
276         /* Function: 0x08 */
277         WERROR spoolss_GetPrinter(
278                 [in,ref]     policy_handle *handle,
279                 [in]         uint32 level,
280                 [in]         DATA_BLOB *buffer,
281                 [out,subcontext(4),switch_is(level)] spoolss_PrinterInfo *info,
282                 [in,out,ref] uint32 *buf_size
283         );
284
285         /******************/
286         /* Function: 0x09 */
287         WERROR spoolss_AddPrinterDriver(
288         );
289
290         typedef struct {
291                 [relative] nstring *driver_name;
292         } spoolss_DriverInfo1;
293
294         typedef struct {
295                 uint32 version;
296                 [relative] nstring *driver_name;
297                 [relative] nstring *architecture;
298                 [relative] nstring *driver_path;
299                 [relative] nstring *data_file;
300                 [relative] nstring *config_file;
301         } spoolss_DriverInfo2;
302
303         typedef struct {
304                 uint32 version;
305                 [relative] nstring *driver_name;
306                 [relative] nstring *architecture;
307                 [relative] nstring *driver_path;
308                 [relative] nstring *data_file;
309                 [relative] nstring *config_file;
310                 [relative] nstring *help_file;
311                 [relative] nstring *dependent_files; /* array */
312                 [relative] nstring *monitor_name;
313                 [relative] nstring *default_datatype;
314         } spoolss_DriverInfo3;
315
316         typedef [nodiscriminant,public] union {
317                 [case(1)] spoolss_DriverInfo1 info1;
318                 [case(2)] spoolss_DriverInfo2 info2;
319                 [case(3)] spoolss_DriverInfo3 info3;
320         } spoolss_DriverInfo;
321
322         /******************/
323         /* Function: 0x0a */
324         WERROR spoolss_EnumPrinterDrivers(
325                 [in] unistr *server,
326                 [in] unistr *environment,
327                 [in] uint32 level,
328                 [in,out] DATA_BLOB *buffer,
329                 [in,out,ref] uint32 *buf_size,
330                 [out] uint32 count
331         );
332
333         /******************/
334         /* Function: 0x0b */
335         WERROR spoolss_GetPrinterDriver(
336         );
337
338         /******************/
339         /* Function: 0x0c */
340         WERROR spoolss_GetPrinterDriverDirectory(
341         );
342
343         /******************/
344         /* Function: 0x0d */
345         WERROR spoolss_DeletePrinterDriver(
346                 [in,ref] policy_handle *handle,
347                 [in] unistr *server,
348                 [in] unistr architecture,
349                 [in] unistr driver
350         );
351
352         /******************/
353         /* Function: 0x0e */
354         WERROR spoolss_AddPrintProcessor(
355         );
356
357         /******************/
358         /* Function: 0x0f */
359         WERROR spoolss_EnumPrintProcessors(
360         );
361
362         /******************/
363         /* Function: 0x10 */
364         WERROR spoolss_GetPrintProcessorDirectory(
365         );
366
367         /******************/
368         /* Function: 0x11 */
369         WERROR spoolss_StartDocPrinter(
370         );
371
372         /******************/
373         /* Function: 0x12 */
374         WERROR spoolss_StartPagePrinter(
375                 [in,ref] policy_handle *handle          
376         );
377
378         /******************/
379         /* Function: 0x13 */
380         WERROR spoolss_WritePrinter(
381         );
382
383         /******************/
384         /* Function: 0x14 */
385         WERROR spoolss_EndPagePrinter(
386                 [in,ref] policy_handle *handle          
387         );
388
389         /******************/
390         /* Function: 0x15 */
391         WERROR spoolss_AbortPrinter(
392         );
393
394         /******************/
395         /* Function: 0x16 */
396         WERROR spoolss_ReadPrinter(
397         );
398
399         /******************/
400         /* Function: 0x17 */
401         WERROR spoolss_EndDocPrinter(
402         );
403
404         /******************/
405         /* Function: 0x18 */
406         WERROR spoolss_AddJob(
407         );
408
409         /******************/
410         /* Function: 0x19 */
411         WERROR spoolss_ScheduleJob(
412         );
413
414         /******************/
415         /* Function: 0x1a */
416         WERROR spoolss_GetPrinterData(
417                 [in,ref] policy_handle *handle,
418                 [in] unistr value_name,
419                 [out] uint32 type,
420                 [out] DATA_BLOB buffer,
421                 [in,out,ref] uint32 *buf_size
422         );
423
424         /******************/
425         /* Function: 0x1b */
426         WERROR spoolss_SetPrinterData(  
427                 [in,ref] policy_handle *handle,
428                 [in] unistr value_name,
429                 [in] uint32 type,
430                 [in] DATA_BLOB buffer,
431                 [in] uint32 real_len
432         );
433
434         /******************/
435         /* Function: 0x1c */
436         WERROR spoolss_WaitForPrinterChange(
437         );
438
439         /******************/
440         /* Function: 0x1d */
441         WERROR spoolss_ClosePrinter(
442                 [in,out,ref]     policy_handle *handle
443         );
444
445         typedef struct {
446                 uint32 flags;
447                 [relative] unistr *name;
448                 uint32 width;
449                 uint32 length;
450                 uint32 left;
451                 uint32 top;
452                 uint32 right;
453                 uint32 bottom;
454         } spoolss_AddFormInfo1;
455
456         typedef union {
457                 [case(1)] spoolss_AddFormInfo1 *info1;
458         } spoolss_AddFormInfo;
459
460         /******************/
461         /* Function: 0x1e */
462         WERROR spoolss_AddForm(
463                 [in,ref] policy_handle *handle,
464                 [in] uint32 level,
465                 [in,switch_is(level)] spoolss_AddFormInfo info
466         );
467
468         /******************/
469         /* Function: 0x1f */
470         WERROR spoolss_DeleteForm(
471                 [in,ref] policy_handle *handle,
472                 [in] unistr formname
473         );
474
475         /******************/
476         /* Function: 0x20 */
477         WERROR spoolss_GetForm(
478                 [in,ref] policy_handle *handle,
479                 [in] unistr formname,
480                 [in] uint32 level,
481                 [in] DATA_BLOB *buffer,
482                 [out,subcontext(4),switch_is(level)] spoolss_FormInfo *info,
483                 [in,out,ref] uint32 *buf_size
484         );
485
486         /******************/
487         /* Function: 0x21 */
488         WERROR spoolss_SetForm(
489                 [in,ref] policy_handle *handle,
490                 [in] unistr form_name,
491                 [in] uint32 level,
492                 [in,switch_is(level)] spoolss_AddFormInfo info
493         );
494
495         typedef [nodiscriminant,public] union {
496                 [case(1)] spoolss_FormInfo1 info1;
497         } spoolss_FormInfo;
498
499         /******************/
500         /* Function: 0x22 */
501         WERROR spoolss_EnumForms(
502                 [in,ref] policy_handle *handle,
503                 [in] uint32 level,
504                 [in,out] DATA_BLOB *buffer,
505                 [in,out,ref] uint32 *buf_size,
506                 [out] uint32 count
507         );
508
509         typedef [flag(RELATIVE_CURRENT)] struct {
510                 [relative] nstring *port_name;
511         } spoolss_PortInfo1;
512
513         typedef struct {
514                 [relative] nstring *port_name;
515                 [relative] nstring *monitor_name;
516                 [relative] nstring *description;
517                 uint32 port_type;
518                 uint32 reserved;
519         } spoolss_PortInfo2;
520
521         typedef [nondiscriminant,public] union {
522                 [case(1)] spoolss_PortInfo1 info1;
523                 [case(2)] spoolss_PortInfo2 info2;
524         } spoolss_PortInfo;
525
526         /******************/
527         /* Function: 0x23 */
528         WERROR spoolss_EnumPorts(
529                 [in] unistr *servername,
530                 [in] uint32 level,
531                 [in,out] DATA_BLOB *buffer,
532                 [in,out,ref] uint32 *buf_size,
533                 [out] uint32 count
534         );
535
536         /******************/
537         /* Function: 0x24 */
538         WERROR spoolss_EnumMonitors(
539         );
540
541         /******************/
542         /* Function: 0x25 */
543         WERROR spoolss_AddPort(
544         );
545
546         /******************/
547         /* Function: 0x26 */
548         WERROR spoolss_ConfigurePort(
549         );
550
551         /******************/
552         /* Function: 0x27 */
553         WERROR spoolss_DeletePort(
554         );
555
556         /******************/
557         /* Function: 0x28 */
558         WERROR spoolss_CreatePrinterIC(
559         );
560
561         /******************/
562         /* Function: 0x29 */
563         WERROR spoolss_PlayGDIScriptOnPrinterIC(
564         );
565
566         /******************/
567         /* Function: 0x2a */
568         WERROR spoolss_DeletePrinterIC(
569         );
570
571         /******************/
572         /* Function: 0x2b */
573         WERROR spoolss_AddPrinterConnection(
574         );
575
576         /******************/
577         /* Function: 0x2c */
578         WERROR spoolss_DeletePrinterConnection(
579         );
580
581         /******************/
582         /* Function: 0x2d */
583         WERROR spoolss_PrinterMessageBox(
584                 /* Marked as obsolete in MSDN.  "Not necessary and has
585                    no effect". */
586         );
587
588         /******************/
589         /* Function: 0x2e */
590         WERROR spoolss_AddMonitor(
591         );
592
593         /******************/
594         /* Function: 0x2f */
595         WERROR spoolss_DeleteMonitor(
596         );
597
598         /******************/
599         /* Function: 0x30 */
600         WERROR spoolss_DeletePrintProcessor(
601         );
602
603         /******************/
604         /* Function: 0x31 */
605         WERROR spoolss_AddPrintProvidor(
606         );
607
608         /******************/
609         /* Function: 0x32 */
610         WERROR spoolss_DeletePrintProvidor(
611         );
612
613         /******************/
614         /* Function: 0x33 */
615         WERROR spoolss_EnumPrintProcDataTypes(
616         );
617
618         /******************/
619         /* Function: 0x34 */
620         WERROR spoolss_ResetPrinter(
621         );
622
623         /******************/
624         /* Function: 0x35 */
625         WERROR spoolss_GetPrinterDriver2(
626                 [in,ref] policy_handle *handle,
627                 [in] unistr *architecture,
628                 [in] uint32 level,
629                 [in,out] DATA_BLOB *buffer,
630                 [in,out,ref] uint32 *buf_size,
631                 [in] uint32 client_major_version,
632                 [in] uint32 client_minor_version,
633                 [out] uint32 server_major_version,
634                 [out] uint32 server_minor_version
635         );
636
637         /******************/
638         /* Function: 0x36 */
639         WERROR spoolss_FindFirstPrinterChangeNotification(
640         );
641
642         /******************/
643         /* Function: 0x37 */
644         WERROR spoolss_FindNextPrinterChangeNotification(
645         );
646
647         /******************/
648         /* Function: 0x38 */
649         WERROR spoolss_FindClosePrinterNotify(
650         );
651
652         /******************/
653         /* Function: 0x39 */
654         WERROR spoolss_RouterFindFirstPrinterChangeNotificationOld(
655         );
656
657         /******************/
658         /* Function: 0x3a */
659         WERROR spoolss_ReplyOpenPrinter(
660         );
661
662         /******************/
663         /* Function: 0x3b */
664         WERROR spoolss_RouterReplyPrinter(
665         );
666
667         /******************/
668         /* Function: 0x3c */
669         WERROR spoolss_ReplyClosePrinter(
670         );
671
672         /******************/
673         /* Function: 0x3d */
674         WERROR spoolss_AddPortEx(
675         );
676
677         /******************/
678         /* Function: 0x3e */
679         WERROR spoolss_RouterFindFirstPrinterChangeNotification(
680         );
681
682         /******************/
683         /* Function: 0x3f */
684         WERROR spoolss_SpoolerInit(
685         );
686
687         /******************/
688         /* Function: 0x40 */
689         WERROR spoolss_ResetPrinterEx(
690         );
691
692         /******************/
693         /* Function: 0x41 */
694         WERROR spoolss_RemoteFindFirstPrinterChangeNotifyEx(
695         );
696
697         /******************/
698         /* Function: 0x42 */
699         WERROR spoolss_RouterRefreshPrinterChangeNotification(
700         );
701
702         /******************/
703         /* Function: 0x43 */
704         WERROR spoolss_RemoteFindNextPrinterChangeNotifyEx(
705         );
706
707         /******************/
708         /* Function: 0x44 */
709         WERROR spoolss_44(
710         );
711
712         typedef struct {
713                 uint32 foo;
714         } spoolss_Devmode;
715
716         typedef struct {
717                 uint32 size;
718                 spoolss_Devmode *devmode;
719         } spoolss_DevmodeContainer;
720
721         typedef struct {
722                 uint32 size;
723                 unistr *client;
724                 unistr *user;
725                 uint32 build;
726                 uint32 major;
727                 uint32 minor;
728                 uint32 processor;
729         } spoolss_UserLevel1;
730
731         typedef union {
732                 [case(1)]  spoolss_UserLevel1 *level1;
733         } spoolss_UserLevel;
734
735         /******************/
736         /* Function: 0x45 */
737         WERROR spoolss_OpenPrinterEx(
738                 [in]                  unistr *printername,
739                 [in]                  unistr *datatype,
740                 [in]                  spoolss_DevmodeContainer devmode_ctr,
741                 [in]                  uint32 access_mask,
742                 [in]                  uint32 level,
743                 [in,switch_is(level)] spoolss_UserLevel userlevel,
744                 [out,ref]             policy_handle *handle
745         );
746
747         /******************/
748         /* Function: 0x46 */
749         WERROR spoolss_AddPrinterEx(
750                 [in] unistr *server,
751                 [in] uint32 level,
752                 [in,switch_is(level)] spoolss_PrinterInfo *info,
753                 [in] spoolss_DevmodeContainer devmode_ctr,
754                 [in] security_descriptor *secdesc,
755                 [in] uint32 ulevel,
756                 [in,switch_is(ulevel)] spoolss_UserLevel userlevel
757         );
758
759         /******************/
760         /* Function: 0x47 */
761         WERROR spoolss_47(
762         );
763
764         /******************/
765         /* Function: 0x48 */
766         WERROR spoolss_EnumPrinterData(
767                 [in,ref] policy_handle *handle,
768                 [in]     uint32 enum_index,
769                 [in]     uint32 value_offered,
770                 [out]    lstring value_name,
771                 [out]    uint32 value_needed,
772                 [out]    uint32 printerdata_type,
773                 [out]    DATA_BLOB data,
774                 [in,out,ref] uint32 *data_size
775         );
776
777         /******************/
778         /* Function: 0x49 */
779         WERROR spoolss_DeletePrinterData(
780                 [in,ref] policy_handle *handle,
781                 [in] unistr value_name
782         );
783
784         /******************/
785         /* Function: 0x4a */
786         WERROR spoolss_4a(
787         );
788
789         /******************/
790         /* Function: 0x4b */
791         WERROR spoolss_4b(
792         );
793
794         /******************/
795         /* Function: 0x4c */
796         WERROR spoolss_4c(
797         );
798
799         /******************/
800         /* Function: 0x4d */
801         WERROR spoolss_SetPrinterDataEx(
802                 [in,ref] policy_handle *handle,
803                 [in] unistr key_name,
804                 [in] unistr value_name,
805                 [in] uint32 type,
806                 [in] DATA_BLOB buffer,
807                 [in,out,ref] uint32 *buf_size
808         );
809
810         /******************/
811         /* Function: 0x4e */
812         WERROR spoolss_GetPrinterDataEx(
813                 [in,ref] policy_handle *handle,
814                 [in] unistr key_name,
815                 [in] unistr value_name,
816                 [out] uint32 type,
817                 [out] DATA_BLOB buffer,
818                 [in,out,ref] uint32 *buf_size
819         );
820
821         /******************/
822         /* Function: 0x4f */
823         WERROR spoolss_EnumPrinterDataEx(
824                 [in,ref] policy_handle *handle
825         );
826
827         /******************/
828         /* Function: 0x50 */
829         WERROR spoolss_EnumPrinterKey(
830         );
831
832         /******************/
833         /* Function: 0x51 */
834         WERROR spoolss_DeletePrinterDataEx(
835                 [in,ref] policy_handle *handle,
836                 [in] unistr key_name,
837                 [in] unistr value_name
838         );
839
840         /******************/
841         /* Function: 0x52 */
842         WERROR spoolss_DeletePrinterKey(
843         );
844
845         /******************/
846         /* Function: 0x53 */
847         WERROR spoolss_53(
848         );
849
850         /******************/
851         /* Function: 0x54 */
852         WERROR spoolss_DeletePrinterDriverEx(
853         );
854
855         /******************/
856         /* Function: 0x55 */
857         WERROR spoolss_55(
858         );
859
860         /******************/
861         /* Function: 0x56 */
862         WERROR spoolss_56(
863         );
864
865         /******************/
866         /* Function: 0x57 */
867         WERROR spoolss_57(
868         );
869
870         /******************/
871         /* Function: 0x58 */
872         WERROR spoolss_58(
873         );
874
875         /******************/
876         /* Function: 0x59 */
877         WERROR spoolss_AddPrinterDriverEx(
878         );
879
880         /******************/
881         /* Function: 0x5a */
882         WERROR spoolss_5a(
883         );
884
885         /******************/
886         /* Function: 0x5b */
887         WERROR spoolss_5b(
888         );
889
890         /******************/
891         /* Function: 0x5c */
892         WERROR spoolss_5c(
893         );
894
895         /******************/
896         /* Function: 0x5d */
897         WERROR spoolss_5d(
898         );
899
900         /******************/
901         /* Function: 0x5e */
902         WERROR spoolss_5e(
903         );
904
905         /******************/
906         /* Function: 0x5f */
907         WERROR spoolss_5f(
908         );
909 }