idl: Add flags for strings in ntprinting idl.
[Samba.git] / librpc / idl / ntprinting.idl
blob8152144fca4ea3049c82373fd0d4c7bb5b0207b6
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
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 */
38 typedef [flag(NDR_NOALIGN),public] struct {
39 [skip] uint32 string_flags;
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;
53 [public] void decode_ntprinting_driver(
54 [in] ntprinting_driver driver
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 */
63 typedef [flag(NDR_NOALIGN),public] struct {
64 [skip] uint32 string_flags;
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;
105 * First the string flags and then the Samba 3 tdb storage
106 * format: printer_data
107 * "p" ptr to printer_data
108 * "fdB" */
110 typedef [flag(NDR_NOALIGN),public] struct {
111 [skip] uint32 string_flags;
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;
120 * First the string flags and then the Samba 3 tdb storage
121 * format: printer_info
122 * "dddddddddddfffffPfffff"
125 typedef [flag(NDR_NOALIGN),public] struct {
126 [skip] uint32 string_flags;
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;
152 /* Abstract Samba 3 printer
153 * printer_info
154 * followed by ntprinting_devicemode
155 * followed by remaining buffer of ntprinting_printer_data array */
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;
164 [public] void decode_ntprinting_printer(
165 [in] ntprinting_printer printer