s4:dsdb/descriptor: remove some nesting from descriptor_modify
[Samba/gebeck_regimport.git] / librpc / idl / ntprinting.idl
blob70135666724d9135e4d9ae547326fde5463e4a09
1 #include "idl_types.h"
3 /*
4 old s3 spoolss tdb on-disc interface definitions
5 */
8 pointer_default(unique),
9 helpstring("s3 printing tdb formats"),
10 uuid("a025d3cb-c605-40d6-86e1-4cff18e7dd94"),
11 helper("../librpc/ndr/ndr_ntprinting.h")
13 interface ntprinting
15 /* Samba 3 tdb storage format: forms
16 * "dddddddd" */
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;
29 [public] void decode_ntprinting_form(
30 [in] ntprinting_form form
33 /* Samba 3 tdb storage format: drivers
34 * "dffffffff" followed by a remaining buffer of "f" array */
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;
49 [public] void decode_ntprinting_driver(
50 [in] ntprinting_driver driver
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 */
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;
98 /* Samba 3 tdb storage format: printer_data
99 * "p" ptr to printer_data
100 * "fdB" */
102 typedef [flag(NDR_NOALIGN),public] struct {
103 uint32 ptr;
104 utf8string name;
105 uint32 type;
106 DATA_BLOB data;
107 } ntprinting_printer_data;
109 /* Samba 3 tdb storage format: printer_info
110 * "dddddddddddfffffPfffff" */
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;
137 /* Abstract Samba 3 printer
138 * printer_info
139 * followed by ntprinting_devicemode
140 * followed by remaining buffer of ntprinting_printer_data array */
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;
149 [public] void decode_ntprinting_printer(
150 [in] ntprinting_printer printer