waf: added top level build rules
[samba.git] / librpc / idl / ntprinting.idl
1 #include "idl_types.h"
2
3 /*
4   old s3 spoolss tdb on-disc interface definitions
5 */
6
7 [
8         pointer_default(unique),
9         helpstring("s3 printing tdb formats"),
10         uuid("a025d3cb-c605-40d6-86e1-4cff18e7dd94"),
11         helper("../librpc/ndr/ndr_ntprinting.h")
12 ]
13 interface ntprinting
14 {
15         /* Samba 3 tdb storage format: forms
16          * "dddddddd" */
17
18         typedef [flag(NDR_NOALIGN),public] struct {
19                 uint32 position;
20                 uint32 flag;
21                 uint32 width;
22                 uint32 length;
23                 uint32 left;
24                 uint32 top;
25                 uint32 right;
26                 uint32 bottom;
27         } ntprinting_form;
28
29         void decode_ntprinting_form(
30                 [in] ntprinting_form form
31                 );
32
33         /* Samba 3 tdb storage format: drivers
34          * "dffffffff" followed by a remaining buffer of "f" array */
35
36         typedef [flag(NDR_NOALIGN),public] struct {
37                 uint32 version;
38                 utf8string name;
39                 utf8string environment;
40                 utf8string driverpath;
41                 utf8string datafile;
42                 utf8string configfile;
43                 utf8string helpfile;
44                 utf8string monitorname;
45                 utf8string defaultdatatype;
46                 [flag(STR_UTF8|STR_NOTERM|NDR_REMAINING)] string_array dependent_files;
47         } ntprinting_driver;
48
49         void decode_ntprinting_driver(
50                 [in] ntprinting_driver driver
51                 );
52
53         /* Samba 3 tdb storage format: devicemode
54          * "p" ptr to devicemode
55          * "ffwwwwwwwwwwwwwwwwwwdddddddddddddd"
56          * "p" ptr to devicemode private data
57          * "B" private data blob */
58
59         typedef [flag(NDR_NOALIGN),public] struct {
60                 /* uint32 devicemode_ptr; */
61                 utf8string devicename;
62                 utf8string formname;
63                 uint16 specversion;
64                 uint16 driverversion;
65                 uint16 size;
66                 uint16 driverextra;
67                 uint16 orientation;
68                 uint16 papersize;
69                 uint16 paperlength;
70                 uint16 paperwidth;
71                 uint16 scale;
72                 uint16 copies;
73                 uint16 defaultsource;
74                 uint16 printquality;
75                 uint16 color;
76                 uint16 duplex;
77                 uint16 yresolution;
78                 uint16 ttoption;
79                 uint16 collate;
80                 uint16 logpixels;
81                 uint32 fields;
82                 uint32 bitsperpel;
83                 uint32 pelswidth;
84                 uint32 pelsheight;
85                 uint32 displayflags;
86                 uint32 displayfrequency;
87                 uint32 icmmethod;
88                 uint32 icmintent;
89                 uint32 mediatype;
90                 uint32 dithertype;
91                 uint32 reserved1;
92                 uint32 reserved2;
93                 uint32 panningwidth;
94                 uint32 panningheight;
95                 DATA_BLOB *nt_dev_private;
96         } ntprinting_devicemode;
97
98         /* Samba 3 tdb storage format: printer_data
99          * "p" ptr to printer_data
100          * "fdB" */
101
102         typedef [flag(NDR_NOALIGN),public] struct {
103                 uint32 ptr;
104                 utf8string name;
105                 uint32 type;
106                 DATA_BLOB data;
107         } ntprinting_printer_data;
108
109         /* Samba 3 tdb storage format: printer_info
110          * "dddddddddddfffffPfffff" */
111
112         typedef [flag(NDR_NOALIGN),public] struct {
113                 uint32 attributes;
114                 uint32 priority;
115                 uint32 default_priority;
116                 uint32 starttime;
117                 uint32 untiltime;
118                 uint32 status;
119                 uint32 cjobs;
120                 uint32 averageppm;
121                 uint32 changeid;
122                 uint32 c_setprinter;
123                 uint32 setuptime;
124                 utf8string servername;
125                 utf8string printername;
126                 utf8string sharename;
127                 utf8string portname;
128                 utf8string drivername;
129                 utf8string comment;
130                 utf8string location;
131                 utf8string sepfile;
132                 utf8string printprocessor;
133                 utf8string datatype;
134                 utf8string parameters;
135         } ntprinting_printer_info;
136
137         /* Abstract Samba 3 printer
138          * printer_info
139          * followed by ntprinting_devicemode
140          * followed by remaining buffer of ntprinting_printer_data array */
141
142         typedef [flag(NDR_NOALIGN),public,nopull] struct {
143                 ntprinting_printer_info info;
144                 ntprinting_devicemode *devmode;
145                 uint32 count;
146                 ntprinting_printer_data printer_data[count];
147         } ntprinting_printer;
148
149         void decode_ntprinting_printer(
150                 [in] ntprinting_printer printer
151                 );
152 }