s3:pdb_samba_dsdb: add pdb_samba_dsdb_get_trusteddom_creds
[obnox/samba/samba-obnox.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         [public] void decode_ntprinting_form(
30                 [in] ntprinting_form form
31                 );
32
33         /*
34          * First the string flags and then the Samba 3 tdb storage
35          * format: drivers
36          * "dffffffff" followed by a remaining buffer of "f" array */
37
38         typedef [flag(NDR_NOALIGN),public] struct {
39                 [skip] uint32 string_flags;
40
41                 uint32 version;
42                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string name;
43                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string environment;
44                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string driverpath;
45                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string datafile;
46                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string configfile;
47                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string helpfile;
48                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string monitorname;
49                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string defaultdatatype;
50                 [flag((ndr_ntprinting_string_flags(r->string_flags)&~STR_NULLTERM)|STR_NOTERM|NDR_REMAINING)] string_array dependent_files;
51         } ntprinting_driver;
52
53         [public] void decode_ntprinting_driver(
54                 [in] ntprinting_driver driver
55                 );
56
57         /* Samba 3 tdb storage format: devicemode
58          * "p" ptr to devicemode
59          * "ffwwwwwwwwwwwwwwwwwwdddddddddddddd"
60          * "p" ptr to devicemode private data
61          * "B" private data blob */
62
63         typedef [flag(NDR_NOALIGN),public] struct {
64                 [skip] uint32 string_flags;
65
66                 /* uint32 devicemode_ptr; */
67                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string devicename;
68                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string formname;
69                 uint16 specversion;
70                 uint16 driverversion;
71                 uint16 size;
72                 uint16 driverextra;
73                 uint16 orientation;
74                 uint16 papersize;
75                 uint16 paperlength;
76                 uint16 paperwidth;
77                 uint16 scale;
78                 uint16 copies;
79                 uint16 defaultsource;
80                 uint16 printquality;
81                 uint16 color;
82                 uint16 duplex;
83                 uint16 yresolution;
84                 uint16 ttoption;
85                 uint16 collate;
86                 uint16 logpixels;
87                 uint32 fields;
88                 uint32 bitsperpel;
89                 uint32 pelswidth;
90                 uint32 pelsheight;
91                 uint32 displayflags;
92                 uint32 displayfrequency;
93                 uint32 icmmethod;
94                 uint32 icmintent;
95                 uint32 mediatype;
96                 uint32 dithertype;
97                 uint32 reserved1;
98                 uint32 reserved2;
99                 uint32 panningwidth;
100                 uint32 panningheight;
101                 DATA_BLOB *nt_dev_private;
102         } ntprinting_devicemode;
103
104         /*
105          * First the string flags and then the Samba 3 tdb storage
106          * format: printer_data
107          * "p" ptr to printer_data
108          * "fdB" */
109
110         typedef [flag(NDR_NOALIGN),public] struct {
111                 [skip] uint32 string_flags;
112
113                 uint32 ptr;
114                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string name;
115                 uint32 type;
116                 DATA_BLOB data;
117         } ntprinting_printer_data;
118
119         /*
120          * First the string flags and then the Samba 3 tdb storage
121          * format: printer_info
122          * "dddddddddddfffffPfffff"
123          */
124
125         typedef [flag(NDR_NOALIGN),public] struct {
126                 [skip] uint32 string_flags;
127
128                 uint32 attributes;
129                 uint32 priority;
130                 uint32 default_priority;
131                 uint32 starttime;
132                 uint32 untiltime;
133                 uint32 status;
134                 uint32 cjobs;
135                 uint32 averageppm;
136                 uint32 changeid;
137                 uint32 c_setprinter;
138                 uint32 setuptime;
139                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string servername;
140                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string printername;
141                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string sharename;
142                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string portname;
143                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string drivername;
144                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string comment;
145                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string location;
146                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string sepfile;
147                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string printprocessor;
148                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string datatype;
149                 [flag(ndr_ntprinting_string_flags(r->string_flags))] string parameters;
150         } ntprinting_printer_info;
151
152         /* Abstract Samba 3 printer
153          * printer_info
154          * followed by ntprinting_devicemode
155          * followed by remaining buffer of ntprinting_printer_data array */
156
157         typedef [flag(NDR_NOALIGN),public,nopull] struct {
158                 ntprinting_printer_info info;
159                 ntprinting_devicemode *devmode;
160                 uint32 count;
161                 ntprinting_printer_data printer_data[count];
162         } ntprinting_printer;
163
164         [public] void decode_ntprinting_printer(
165                 [in] ntprinting_printer printer
166                 );
167 }