1 /* header auto-generated by pidl */
5 #include "librpc/gen_ndr/misc.h"
6 #include "librpc/gen_ndr/security.h"
7 #include "librpc/gen_ndr/winreg.h"
8 #ifndef _HEADER_spoolss
9 #define _HEADER_spoolss
11 #define PRINTER_ENUM_ICONMASK ( (PRINTER_ENUM_ICON1|PRINTER_ENUM_ICON2|PRINTER_ENUM_ICON3|PRINTER_ENUM_ICON4|PRINTER_ENUM_ICON5|PRINTER_ENUM_ICON6|PRINTER_ENUM_ICON7|PRINTER_ENUM_ICON8) )
12 #define SPOOLSS_ARCHITECTURE_NT_X86 ( "Windows NT x86" )
13 #define PRINTER_CHANGE_PRINTER ( (PRINTER_CHANGE_ADD_PRINTER|PRINTER_CHANGE_SET_PRINTER|PRINTER_CHANGE_DELETE_PRINTER|PRINTER_CHANGE_FAILED_CONNECTION_PRINTER) )
14 #define PRINTER_CHANGE_JOB ( (PRINTER_CHANGE_ADD_JOB|PRINTER_CHANGE_SET_JOB|PRINTER_CHANGE_DELETE_JOB|PRINTER_CHANGE_WRITE_JOB) )
15 #define PRINTER_CHANGE_FORM ( (PRINTER_CHANGE_ADD_FORM|PRINTER_CHANGE_SET_FORM|PRINTER_CHANGE_DELETE_FORM) )
16 #define PRINTER_CHANGE_PORT ( (PRINTER_CHANGE_ADD_PORT|PRINTER_CHANGE_CONFIGURE_PORT|PRINTER_CHANGE_DELETE_PORT) )
17 #define PRINTER_CHANGE_PRINT_PROCESSOR ( (PRINTER_CHANGE_ADD_PRINT_PROCESSOR|PRINTER_CHANGE_DELETE_PRINT_PROCESSOR) )
18 #define PRINTER_CHANGE_PRINTER_DRIVER ( (PRINTER_CHANGE_ADD_PRINTER_DRIVER|PRINTER_CHANGE_SET_PRINTER_DRIVER|PRINTER_CHANGE_DELETE_PRINTER_DRIVER) )
19 #define PRINTER_CHANGE_ALL ( (PRINTER_CHANGE_JOB|PRINTER_CHANGE_FORM|PRINTER_CHANGE_PORT|PRINTER_CHANGE_PRINT_PROCESSOR|PRINTER_CHANGE_PRINTER_DRIVER) )
20 #define SERVER_ALL_ACCESS ( SEC_STD_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE )
21 #define SERVER_READ ( SEC_STD_READ_CONTROL|SERVER_ACCESS_ENUMERATE )
22 #define SERVER_WRITE ( STANDARD_RIGHTS_WRITE_ACCESS|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE )
23 #define SERVER_EXECUTE ( SEC_STD_READ_CONTROL|SERVER_ACCESS_ENUMERATE )
24 #define PRINTER_ALL_ACCESS ( SEC_STD_REQUIRED|PRINTER_ACCESS_ADMINISTER|PRINTER_ACCESS_USE )
25 #define PRINTER_READ ( SEC_STD_READ_CONTROL|PRINTER_ACCESS_USE )
26 #define PRINTER_WRITE ( STANDARD_RIGHTS_WRITE_ACCESS|PRINTER_ACCESS_USE )
27 #define PRINTER_EXECUTE ( SEC_STD_READ_CONTROL|PRINTER_ACCESS_USE )
28 #define JOB_ALL_ACCESS ( SEC_STD_REQUIRED|JOB_ACCESS_ADMINISTER )
29 #define JOB_READ ( SEC_STD_READ_CONTROL|JOB_ACCESS_ADMINISTER )
30 #define JOB_WRITE ( STANDARD_RIGHTS_WRITE_ACCESS|JOB_ACCESS_ADMINISTER )
31 #define JOB_EXECUTE ( SEC_STD_READ_CONTROL|JOB_ACCESS_ADMINISTER )
32 #define PRINTER_ACE_FULL_CONTROL ( SEC_GENERIC_ALL|PRINTER_ALL_ACCESS )
33 #define PRINTER_ACE_MANAGE_DOCUMENTS ( SEC_GENERIC_ALL|READ_CONTROL_ACCESS )
34 #define PRINTER_ACE_PRINT ( GENERIC_EXECUTE_ACCESS|READ_CONTROL_ACCESS|PRINTER_ACCESS_USE )
46 struct spoolss_PrinterInfo0 {
47 const char * printername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
48 const char * servername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
52 struct spoolss_Time time;
53 uint32_t global_counter;
59 uint32_t session_counter;
61 uint32_t printer_errors;
70 uint32_t c_setprinter;
78 struct spoolss_DeviceMode {
79 const char *devicename;/* [charset(UTF16)] */
81 uint16_t driverversion;
83 uint16_t __driverextra_length;/* [value(r->driverextra_data.length)] */
91 uint16_t defaultsource;
92 uint16_t printquality;
98 const char *formname;/* [charset(UTF16)] */
103 uint32_t displayflags;
104 uint32_t displayfrequency;
111 uint32_t panningwidth;
112 uint32_t panningheight;
113 DATA_BLOB driverextra_data;/* [subcontext_size(__driverextra_length),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
114 }/* [gensize,public] */;
116 /* bitmap spoolss_EnumPrinterFlags */
117 #define PRINTER_ENUM_DEFAULT ( 0x00000001 )
118 #define PRINTER_ENUM_LOCAL ( 0x00000002 )
119 #define PRINTER_ENUM_CONNECTIONS ( 0x00000004 )
120 #define PRINTER_ENUM_FAVORITE ( 0x00000004 )
121 #define PRINTER_ENUM_NAME ( 0x00000008 )
122 #define PRINTER_ENUM_REMOTE ( 0x00000010 )
123 #define PRINTER_ENUM_SHARED ( 0x00000020 )
124 #define PRINTER_ENUM_NETWORK ( 0x00000040 )
125 #define PRINTER_ENUM_EXPAND ( 0x00004000 )
126 #define PRINTER_ENUM_CONTAINER ( 0x00008000 )
127 #define PRINTER_ENUM_ICON1 ( 0x00010000 )
128 #define PRINTER_ENUM_ICON2 ( 0x00020000 )
129 #define PRINTER_ENUM_ICON3 ( 0x00040000 )
130 #define PRINTER_ENUM_ICON4 ( 0x00080000 )
131 #define PRINTER_ENUM_ICON5 ( 0x00100000 )
132 #define PRINTER_ENUM_ICON6 ( 0x00200000 )
133 #define PRINTER_ENUM_ICON7 ( 0x00400000 )
134 #define PRINTER_ENUM_ICON8 ( 0x00800000 )
135 #define PRINTER_ENUM_HIDE ( 0x01000000 )
137 struct spoolss_PrinterInfo1 {
139 const char * name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
140 const char * description;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
141 const char * comment;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
144 /* bitmap spoolss_PrinterAttributes */
145 #define PRINTER_ATTRIBUTE_QUEUED ( 0x00000001 )
146 #define PRINTER_ATTRIBUTE_DIRECT ( 0x00000002 )
147 #define PRINTER_ATTRIBUTE_DEFAULT ( 0x00000004 )
148 #define PRINTER_ATTRIBUTE_SHARED ( 0x00000008 )
149 #define PRINTER_ATTRIBUTE_NETWORK ( 0x00000010 )
150 #define PRINTER_ATTRIBUTE_HIDDEN ( 0x00000020 )
151 #define PRINTER_ATTRIBUTE_LOCAL ( 0x00000040 )
152 #define PRINTER_ATTRIBUTE_ENABLE_DEVQ ( 0x00000080 )
153 #define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS ( 0x00000100 )
154 #define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST ( 0x00000200 )
155 #define PRINTER_ATTRIBUTE_WORK_OFFLINE ( 0x00000400 )
156 #define PRINTER_ATTRIBUTE_ENABLE_BIDI ( 0x00000800 )
157 #define PRINTER_ATTRIBUTE_RAW_ONLY ( 0x00001000 )
158 #define PRINTER_ATTRIBUTE_PUBLISHED ( 0x00002000 )
159 #define PRINTER_ATTRIBUTE_FAX ( 0x00004000 )
160 #define PRINTER_ATTRIBUTE_TS ( 0x00008000 )
162 /* bitmap spoolss_PrinterStatus */
163 #define PRINTER_STATUS_PAUSED ( 0x00000001 )
164 #define PRINTER_STATUS_ERROR ( 0x00000002 )
165 #define PRINTER_STATUS_PENDING_DELETION ( 0x00000004 )
166 #define PRINTER_STATUS_PAPER_JAM ( 0x00000008 )
167 #define PRINTER_STATUS_PAPER_OUT ( 0x00000010 )
168 #define PRINTER_STATUS_MANUAL_FEED ( 0x00000020 )
169 #define PRINTER_STATUS_PAPER_PROBLEM ( 0x00000040 )
170 #define PRINTER_STATUS_OFFLINE ( 0x00000080 )
171 #define PRINTER_STATUS_IO_ACTIVE ( 0x00000100 )
172 #define PRINTER_STATUS_BUSY ( 0x00000200 )
173 #define PRINTER_STATUS_PRINTING ( 0x00000400 )
174 #define PRINTER_STATUS_OUTPUT_BIN_FULL ( 0x00000800 )
175 #define PRINTER_STATUS_NOT_AVAILABLE ( 0x00001000 )
176 #define PRINTER_STATUS_WAITING ( 0x00002000 )
177 #define PRINTER_STATUS_PROCESSING ( 0x00004000 )
178 #define PRINTER_STATUS_INITIALIZING ( 0x00008000 )
179 #define PRINTER_STATUS_WARMING_UP ( 0x00010000 )
180 #define PRINTER_STATUS_TONER_LOW ( 0x00020000 )
181 #define PRINTER_STATUS_NO_TONER ( 0x00040000 )
182 #define PRINTER_STATUS_PAGE_PUNT ( 0x00080000 )
183 #define PRINTER_STATUS_USER_INTERVENTION ( 0x00100000 )
184 #define PRINTER_STATUS_OUT_OF_MEMORY ( 0x00200000 )
185 #define PRINTER_STATUS_DOOR_OPEN ( 0x00400000 )
186 #define PRINTER_STATUS_SERVER_UNKNOWN ( 0x00800000 )
187 #define PRINTER_STATUS_POWER_SAVE ( 0x01000000 )
189 struct spoolss_PrinterInfo2 {
190 const char * servername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
191 const char * printername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
192 const char * sharename;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
193 const char * portname;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
194 const char * drivername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
195 const char * comment;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
196 const char * location;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
197 struct spoolss_DeviceMode *devmode;/* [relative,subcontext(0)] */
198 const char * sepfile;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
199 const char * printprocessor;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
200 const char * datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
201 const char * parameters;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
202 struct security_descriptor *secdesc;/* [relative,subcontext(0)] */
205 uint32_t defaultpriority;
213 struct spoolss_PrinterInfo3 {
214 struct security_descriptor *secdesc;/* [relative,subcontext(0)] */
217 struct spoolss_PrinterInfo4 {
218 const char * printername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
219 const char * servername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
223 struct spoolss_PrinterInfo5 {
224 const char * printername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
225 const char * portname;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
227 uint32_t device_not_selected_timeout;
228 uint32_t transmission_retry_timeout;
231 struct spoolss_PrinterInfo6 {
235 /* bitmap spoolss_DsPrintAction */
236 #define DSPRINT_PUBLISH ( 0x00000001 )
237 #define DSPRINT_UPDATE ( 0x00000002 )
238 #define DSPRINT_UNPUBLISH ( 0x00000004 )
239 #define DSPRINT_REPUBLISH ( 0x00000008 )
240 #define DSPRINT_PENDING ( 0x80000000 )
242 struct spoolss_PrinterInfo7 {
243 const char * guid;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
247 struct spoolss_DeviceModeInfo {
248 struct spoolss_DeviceMode *devmode;/* [relative,subcontext(0)] */
251 union spoolss_PrinterInfo {
252 struct spoolss_PrinterInfo0 info0;/* [case(0)] */
253 struct spoolss_PrinterInfo1 info1;/* [case] */
254 struct spoolss_PrinterInfo2 info2;/* [case(2)] */
255 struct spoolss_PrinterInfo3 info3;/* [case(3)] */
256 struct spoolss_PrinterInfo4 info4;/* [case(4)] */
257 struct spoolss_PrinterInfo5 info5;/* [case(5)] */
258 struct spoolss_PrinterInfo6 info6;/* [case(6)] */
259 struct spoolss_PrinterInfo7 info7;/* [case(7)] */
260 struct spoolss_DeviceModeInfo info8;/* [case(8)] */
261 struct spoolss_DeviceModeInfo info9;/* [case(9)] */
262 }/* [relative_base,nodiscriminant,public] */;
264 struct spoolss_DevmodeContainer {
265 uint32_t _ndr_size;/* [value(_ndr_size_spoolss_DeviceMode(devmode,ndr->iconv_convenience,ndr->flags))] */
266 struct spoolss_DeviceMode *devmode;/* [unique,subcontext_size(_ndr_size),subcontext(4)] */
269 struct spoolss_JobInfo1 {
271 const char * printer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
272 const char * server_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
273 const char * user_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
274 const char * document_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
275 const char * data_type;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
276 const char * text_status;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
280 uint32_t total_pages;
281 uint32_t pages_printed;
282 struct spoolss_Time time;
285 union spoolss_JobInfo {
286 struct spoolss_JobInfo1 info1;/* [case] */
287 }/* [relative_base,nodiscriminant,public] */;
289 struct spoolss_JobInfoContainer {
291 union spoolss_JobInfo info;/* [switch_is(level)] */
294 enum spoolss_JobControl
295 #ifndef USE_UINT_ENUMS
297 SPOOLSS_JOB_CONTROL_PAUSE=1,
298 SPOOLSS_JOB_CONTROL_RESUME=2,
299 SPOOLSS_JOB_CONTROL_CANCEL=3,
300 SPOOLSS_JOB_CONTROL_RESTART=4,
301 SPOOLSS_JOB_CONTROL_DELETE=5,
302 SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER=6,
303 SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED=7
306 { __donnot_use_enum_spoolss_JobControl=0x7FFFFFFF}
307 #define SPOOLSS_JOB_CONTROL_PAUSE ( 1 )
308 #define SPOOLSS_JOB_CONTROL_RESUME ( 2 )
309 #define SPOOLSS_JOB_CONTROL_CANCEL ( 3 )
310 #define SPOOLSS_JOB_CONTROL_RESTART ( 4 )
311 #define SPOOLSS_JOB_CONTROL_DELETE ( 5 )
312 #define SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER ( 6 )
313 #define SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED ( 7 )
317 enum spoolss_PrinterControl
318 #ifndef USE_UINT_ENUMS
320 SPOOLSS_PRINTER_CONTROL_UNPAUSE=0,
321 SPOOLSS_PRINTER_CONTROL_PAUSE=1,
322 SPOOLSS_PRINTER_CONTROL_RESUME=2,
323 SPOOLSS_PRINTER_CONTROL_PURGE=3,
324 SPOOLSS_PRINTER_CONTROL_SET_STATUS=4
327 { __donnot_use_enum_spoolss_PrinterControl=0x7FFFFFFF}
328 #define SPOOLSS_PRINTER_CONTROL_UNPAUSE ( 0 )
329 #define SPOOLSS_PRINTER_CONTROL_PAUSE ( 1 )
330 #define SPOOLSS_PRINTER_CONTROL_RESUME ( 2 )
331 #define SPOOLSS_PRINTER_CONTROL_PURGE ( 3 )
332 #define SPOOLSS_PRINTER_CONTROL_SET_STATUS ( 4 )
336 union spoolss_SetPrinterInfo {
337 struct spoolss_PrinterInfo0 *info0;/* [unique,case(0)] */
338 struct spoolss_PrinterInfo1 *info1;/* [unique,case] */
339 struct spoolss_PrinterInfo2 *info2;/* [unique,case(2)] */
340 struct spoolss_PrinterInfo3 *info3;/* [unique,case(3)] */
341 struct spoolss_PrinterInfo4 *info4;/* [unique,case(4)] */
342 struct spoolss_PrinterInfo5 *info5;/* [unique,case(5)] */
343 struct spoolss_PrinterInfo6 *info6;/* [unique,case(6)] */
344 struct spoolss_PrinterInfo7 *info7;/* [unique,case(7)] */
345 struct spoolss_DeviceModeInfo *info8;/* [unique,case(8)] */
346 struct spoolss_DeviceModeInfo *info9;/* [unique,case(9)] */
347 }/* [switch_type(uint32)] */;
349 struct spoolss_DriverInfo1 {
350 const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
353 enum spoolss_DriverOSVersion
354 #ifndef USE_UINT_ENUMS
356 SPOOLSS_DRIVER_VERSION_9X=0,
357 SPOOLSS_DRIVER_VERSION_NT35=1,
358 SPOOLSS_DRIVER_VERSION_NT4=2,
359 SPOOLSS_DRIVER_VERSION_200X=3
362 { __donnot_use_enum_spoolss_DriverOSVersion=0x7FFFFFFF}
363 #define SPOOLSS_DRIVER_VERSION_9X ( 0 )
364 #define SPOOLSS_DRIVER_VERSION_NT35 ( 1 )
365 #define SPOOLSS_DRIVER_VERSION_NT4 ( 2 )
366 #define SPOOLSS_DRIVER_VERSION_200X ( 3 )
370 struct spoolss_DriverInfo2 {
371 enum spoolss_DriverOSVersion version;
372 const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
373 const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
374 const char * driver_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
375 const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
376 const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
379 struct spoolss_DriverInfo3 {
380 enum spoolss_DriverOSVersion version;
381 const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
382 const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
383 const char * driver_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
384 const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
385 const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
386 const char * help_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
387 const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
388 const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
389 const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
392 struct spoolss_DriverInfo4 {
393 enum spoolss_DriverOSVersion version;
394 const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
395 const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
396 const char * driver_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
397 const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
398 const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
399 const char * help_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
400 const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
401 const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
402 const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
403 const char ** previous_names;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
406 struct spoolss_DriverInfo5 {
407 enum spoolss_DriverOSVersion version;
408 const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
409 const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
410 const char * driver_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
411 const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
412 const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
413 uint32_t driver_attributes;
414 uint32_t config_version;
415 uint32_t driver_version;
418 struct spoolss_DriverInfo6 {
419 enum spoolss_DriverOSVersion version;
420 const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
421 const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
422 const char * driver_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
423 const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
424 const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
425 const char * help_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
426 const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
427 const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
428 const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
429 const char ** previous_names;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
431 uint64_t driver_version;
432 const char * manufacturer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
433 const char * manufacturer_url;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
434 const char * hardware_id;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
435 const char * provider;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
438 union spoolss_DriverInfo {
439 struct spoolss_DriverInfo1 info1;/* [case] */
440 struct spoolss_DriverInfo2 info2;/* [case(2)] */
441 struct spoolss_DriverInfo3 info3;/* [case(3)] */
442 struct spoolss_DriverInfo4 info4;/* [case(4)] */
443 struct spoolss_DriverInfo5 info5;/* [case(5)] */
444 struct spoolss_DriverInfo6 info6;/* [case(6)] */
445 }/* [relative_base,nodiscriminant,public] */;
447 struct spoolss_DriverDirectoryInfo1 {
448 const char * directory_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
451 union spoolss_DriverDirectoryInfo {
452 struct spoolss_DriverDirectoryInfo1 info1;/* [case] */
453 }/* [gensize,relative_base,nodiscriminant,public] */;
455 struct spoolss_PrintProcessorInfo1 {
456 const char * print_processor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
459 union spoolss_PrintProcessorInfo {
460 struct spoolss_PrintProcessorInfo1 info1;/* [case] */
461 }/* [relative_base,nodiscriminant,public] */;
463 struct spoolss_DocumentInfo1 {
464 const char *document_name;/* [unique,charset(UTF16)] */
465 const char *output_file;/* [unique,charset(UTF16)] */
466 const char *datatype;/* [unique,charset(UTF16)] */
469 union spoolss_DocumentInfo {
470 struct spoolss_DocumentInfo1 *info1;/* [unique,case] */
471 }/* [switch_type(uint32)] */;
473 struct spoolss_OSVersion {
474 uint32_t _ndr_size;/* [value(ndr_size_spoolss_OSVersion(r,ndr->iconv_convenience,ndr->flags))] */
478 uint32_t unknown;/* [value(2)] */
479 const char * extra_string;/* [subcontext_size(256),subcontext(0),flag(LIBNDR_FLAG_STR_NULLTERM)] */
480 }/* [gensize,public] */;
482 struct spoolss_OSVersionEx {
483 uint32_t _ndr_size;/* [value(ndr_size_spoolss_OSVersionEx(r,ndr->iconv_convenience,ndr->flags))] */
487 uint32_t unknown1;/* [value(2)] */
488 const char * extra_string;/* [subcontext_size(256),subcontext(0),flag(LIBNDR_FLAG_STR_NULLTERM)] */
491 }/* [gensize,public] */;
493 enum spoolss_PrinterDataType
494 #ifndef USE_UINT_ENUMS
496 SPOOLSS_PRINTER_DATA_TYPE_NULL=0,
497 SPOOLSS_PRINTER_DATA_TYPE_STRING=1,
498 SPOOLSS_PRINTER_DATA_TYPE_BINARY=3,
499 SPOOLSS_PRINTER_DATA_TYPE_UINT32=4,
500 SPOOLSS_PRINTER_DATA_TYPE_STRING_ARRAY=7
503 { __donnot_use_enum_spoolss_PrinterDataType=0x7FFFFFFF}
504 #define SPOOLSS_PRINTER_DATA_TYPE_NULL ( 0 )
505 #define SPOOLSS_PRINTER_DATA_TYPE_STRING ( 1 )
506 #define SPOOLSS_PRINTER_DATA_TYPE_BINARY ( 3 )
507 #define SPOOLSS_PRINTER_DATA_TYPE_UINT32 ( 4 )
508 #define SPOOLSS_PRINTER_DATA_TYPE_STRING_ARRAY ( 7 )
512 union spoolss_PrinterData {
513 const char * string;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(SPOOLSS_PRINTER_DATA_TYPE_STRING)] */
514 DATA_BLOB binary;/* [flag(LIBNDR_FLAG_REMAINING),case(SPOOLSS_PRINTER_DATA_TYPE_BINARY)] */
515 uint32_t value;/* [case(SPOOLSS_PRINTER_DATA_TYPE_UINT32)] */
516 const char ** string_array;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(SPOOLSS_PRINTER_DATA_TYPE_STRING_ARRAY)] */
517 DATA_BLOB data;/* [flag(LIBNDR_FLAG_REMAINING),default] */
518 }/* [gensize,public,nodiscriminant] */;
520 enum spoolss_FormFlags
521 #ifndef USE_UINT_ENUMS
524 SPOOLSS_FORM_BUILTIN=1,
525 SPOOLSS_FORM_PRINTER=2
528 { __donnot_use_enum_spoolss_FormFlags=0x7FFFFFFF}
529 #define SPOOLSS_FORM_USER ( 0 )
530 #define SPOOLSS_FORM_BUILTIN ( 1 )
531 #define SPOOLSS_FORM_PRINTER ( 2 )
535 struct spoolss_FormSize {
540 struct spoolss_FormArea {
547 struct spoolss_FormInfo1 {
548 enum spoolss_FormFlags flags;
549 const char * form_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
550 struct spoolss_FormSize size;
551 struct spoolss_FormArea area;
554 union spoolss_FormInfo {
555 struct spoolss_FormInfo1 info1;/* [case] */
556 }/* [relative_base,gensize,public,nodiscriminant] */;
558 struct spoolss_AddFormInfo1 {
559 enum spoolss_FormFlags flags;
560 const char *form_name;/* [unique,charset(UTF16)] */
561 struct spoolss_FormSize size;
562 struct spoolss_FormArea area;
565 union spoolss_AddFormInfo {
566 struct spoolss_AddFormInfo1 *info1;/* [unique,case] */
567 }/* [switch_type(uint32)] */;
569 struct spoolss_PortInfo1 {
570 const char * port_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
573 /* bitmap spoolss_PortType */
574 #define SPOOLSS_PORT_TYPE_WRITE ( 0x00000001 )
575 #define SPOOLSS_PORT_TYPE_READ ( 0x00000002 )
576 #define SPOOLSS_PORT_TYPE_REDIRECTED ( 0x00000004 )
577 #define SPOOLSS_PORT_TYPE_NET_ATTACHED ( 0x00000008 )
579 struct spoolss_PortInfo2 {
580 const char * port_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
581 const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
582 const char * description;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
587 union spoolss_PortInfo {
588 struct spoolss_PortInfo1 info1;/* [case] */
589 struct spoolss_PortInfo2 info2;/* [case(2)] */
590 }/* [relative_base,nodiscriminant,public] */;
592 struct spoolss_MonitorInfo1 {
593 const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
596 struct spoolss_MonitorInfo2 {
597 const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
598 const char * environment;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
599 const char * dll_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
602 union spoolss_MonitorInfo {
603 struct spoolss_MonitorInfo1 info1;/* [case] */
604 struct spoolss_MonitorInfo2 info2;/* [case(2)] */
605 }/* [relative_base,nodiscriminant,public] */;
607 /* bitmap spoolss_PrinterChangeFlags */
608 #define PRINTER_CHANGE_ADD_PRINTER ( 0x00000001 )
609 #define PRINTER_CHANGE_SET_PRINTER ( 0x00000002 )
610 #define PRINTER_CHANGE_DELETE_PRINTER ( 0x00000004 )
611 #define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER ( 0x00000008 )
612 #define PRINTER_CHANGE_ADD_JOB ( 0x00000100 )
613 #define PRINTER_CHANGE_SET_JOB ( 0x00000200 )
614 #define PRINTER_CHANGE_DELETE_JOB ( 0x00000400 )
615 #define PRINTER_CHANGE_WRITE_JOB ( 0x00000800 )
616 #define PRINTER_CHANGE_ADD_FORM ( 0x00010000 )
617 #define PRINTER_CHANGE_SET_FORM ( 0x00020000 )
618 #define PRINTER_CHANGE_DELETE_FORM ( 0x00040000 )
619 #define PRINTER_CHANGE_ADD_PORT ( 0x00100000 )
620 #define PRINTER_CHANGE_CONFIGURE_PORT ( 0x00200000 )
621 #define PRINTER_CHANGE_DELETE_PORT ( 0x00400000 )
622 #define PRINTER_CHANGE_ADD_PRINT_PROCESSOR ( 0x01000000 )
623 #define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR ( 0x04000000 )
624 #define PRINTER_CHANGE_ADD_PRINTER_DRIVER ( 0x10000000 )
625 #define PRINTER_CHANGE_SET_PRINTER_DRIVER ( 0x20000000 )
626 #define PRINTER_CHANGE_DELETE_PRINTER_DRIVER ( 0x40000000 )
627 #define PRINTER_CHANGE_TIMEOUT ( 0x80000000 )
630 #ifndef USE_UINT_ENUMS
632 SPOOLSS_FIELD_SERVER_NAME=0,
633 SPOOLSS_FIELD_PRINTER_NAME=1,
634 SPOOLSS_FIELD_SHARE_NAME=2,
635 SPOOLSS_FIELD_PORT_NAME=3,
636 SPOOLSS_FIELD_DRIVER_NAME=4,
637 SPOOLSS_FIELD_COMMENT=5,
638 SPOOLSS_FIELD_LOCATION=6,
639 SPOOLSS_FIELD_DEVMODE=7,
640 SPOOLSS_FIELD_SEPFILE=8,
641 SPOOLSS_FIELD_PRINT_PROCESSOR=9,
642 SPOOLSS_FIELD_PARAMETERS=10,
643 SPOOLSS_FIELD_DATATYPE=11,
644 SPOOLSS_FIELD_SECURITY_DESCRIPTOR=12,
645 SPOOLSS_FIELD_ATTRIBUTES=13,
646 SPOOLSS_FIELD_PRIORITY=14,
647 SPOOLSS_FIELD_DEFAULT_PRIORITY=15,
648 SPOOLSS_FIELD_START_TIME=16,
649 SPOOLSS_FIELD_UNTIL_TIME=17,
650 SPOOLSS_FIELD_STATUS=18,
651 SPOOLSS_FIELD_STATUS_STRING=19,
652 SPOOLSS_FIELD_CJOBS=20,
653 SPOOLSS_FIELD_AVERAGE_PPM=21,
654 SPOOLSS_FIELD_TOTAL_PAGES=22,
655 SPOOLSS_FIELD_PAGES_PRINTED=23,
656 SPOOLSS_FIELD_TOTAL_BYTES=24,
657 SPOOLSS_FIELD_BYTES_PRINTED=25
660 { __donnot_use_enum_spoolss_Field=0x7FFFFFFF}
661 #define SPOOLSS_FIELD_SERVER_NAME ( 0 )
662 #define SPOOLSS_FIELD_PRINTER_NAME ( 1 )
663 #define SPOOLSS_FIELD_SHARE_NAME ( 2 )
664 #define SPOOLSS_FIELD_PORT_NAME ( 3 )
665 #define SPOOLSS_FIELD_DRIVER_NAME ( 4 )
666 #define SPOOLSS_FIELD_COMMENT ( 5 )
667 #define SPOOLSS_FIELD_LOCATION ( 6 )
668 #define SPOOLSS_FIELD_DEVMODE ( 7 )
669 #define SPOOLSS_FIELD_SEPFILE ( 8 )
670 #define SPOOLSS_FIELD_PRINT_PROCESSOR ( 9 )
671 #define SPOOLSS_FIELD_PARAMETERS ( 10 )
672 #define SPOOLSS_FIELD_DATATYPE ( 11 )
673 #define SPOOLSS_FIELD_SECURITY_DESCRIPTOR ( 12 )
674 #define SPOOLSS_FIELD_ATTRIBUTES ( 13 )
675 #define SPOOLSS_FIELD_PRIORITY ( 14 )
676 #define SPOOLSS_FIELD_DEFAULT_PRIORITY ( 15 )
677 #define SPOOLSS_FIELD_START_TIME ( 16 )
678 #define SPOOLSS_FIELD_UNTIL_TIME ( 17 )
679 #define SPOOLSS_FIELD_STATUS ( 18 )
680 #define SPOOLSS_FIELD_STATUS_STRING ( 19 )
681 #define SPOOLSS_FIELD_CJOBS ( 20 )
682 #define SPOOLSS_FIELD_AVERAGE_PPM ( 21 )
683 #define SPOOLSS_FIELD_TOTAL_PAGES ( 22 )
684 #define SPOOLSS_FIELD_PAGES_PRINTED ( 23 )
685 #define SPOOLSS_FIELD_TOTAL_BYTES ( 24 )
686 #define SPOOLSS_FIELD_BYTES_PRINTED ( 25 )
690 enum spoolss_NotifyType
691 #ifndef USE_UINT_ENUMS
693 SPOOLSS_NOTIFY_PRINTER=0,
697 { __donnot_use_enum_spoolss_NotifyType=0x7FFFFFFF}
698 #define SPOOLSS_NOTIFY_PRINTER ( 0 )
699 #define SPOOLSS_NOTIFY_JOB ( 1 )
703 struct spoolss_NotifyOptionsArray {
704 enum spoolss_NotifyType type;
709 enum spoolss_Field *fields;/* [unique,size_is(count)] */
712 struct spoolss_NotifyOptionsContainer {
716 struct spoolss_NotifyOptionsArray *options;/* [unique,size_is(count)] */
719 struct spoolss_NotifyUTF16String {
721 const char *string;/* [unique,charset(UTF16),size_is(size/2)] */
724 struct spoolss_NotifyDOSString {
726 const char *string;/* [unique,charset(DOS),size_is(size)] */
729 struct spoolss_NotifyBlobData {
733 struct spoolss_NotifyBlob {
735 struct spoolss_NotifyBlobData *data;/* [unique] */
738 union spoolss_NotifyData {
739 int64_t integer;/* [case] */
740 struct spoolss_NotifyUTF16String utf16_string;/* [case(2)] */
741 struct spoolss_NotifyDOSString ascii_string;/* [case(3)] */
742 struct spoolss_NotifyBlob blob;/* [case(4)] */
743 }/* [switch_type(uint32)] */;
745 struct spoolss_Notify {
746 enum spoolss_NotifyType type;
747 enum spoolss_Field field;
748 uint32_t variable_type;
750 union spoolss_NotifyData data;/* [switch_is(variable_type)] */
753 struct spoolss_NotifyInfo {
757 struct spoolss_Notify *notifies;/* [size_is(count)] */
760 struct spoolss_UserLevel1 {
762 const char *client;/* [unique,charset(UTF16)] */
763 const char *user;/* [unique,charset(UTF16)] */
770 union spoolss_UserLevel {
771 struct spoolss_UserLevel1 *level1;/* [unique,case] */
774 /* bitmap spoolss_AccessRights */
775 #define SERVER_ACCESS_ADMINISTER ( 0x00000001 )
776 #define SERVER_ACCESS_ENUMERATE ( 0x00000002 )
777 #define PRINTER_ACCESS_ADMINISTER ( 0x00000004 )
778 #define PRINTER_ACCESS_USE ( 0x00000008 )
779 #define JOB_ACCESS_ADMINISTER ( 0x00000010 )
781 /* bitmap spoolss_DeleteDriverFlags */
782 #define DPD_DELETE_UNUSED_FILES ( 0x00000001 )
783 #define DPD_DELETE_SPECIFIC_VERSION ( 0x00000002 )
784 #define DPD_DELETE_ALL_FILES ( 0x00000004 )
787 struct _spoolss_EnumPrinters {
790 const char *server;/* [unique,charset(UTF16)] */
792 DATA_BLOB *buffer;/* [unique] */
797 DATA_BLOB *info;/* [unique] */
798 uint32_t *needed;/* [ref] */
806 struct __spoolss_EnumPrinters {
813 union spoolss_PrinterInfo *info;/* [switch_is(level)] */
819 struct spoolss_EnumPrinters {
822 const char *server;/* [unique,charset(UTF16)] */
824 DATA_BLOB *buffer;/* [unique] */
829 union spoolss_PrinterInfo *info;/* [unique,switch_is(level),size_is(count)] */
830 uint32_t *needed;/* [ref] */
838 struct spoolss_OpenPrinter {
840 const char *printername;/* [unique,charset(UTF16)] */
841 const char *datatype;/* [unique,charset(UTF16)] */
842 struct spoolss_DevmodeContainer devmode_ctr;
843 uint32_t access_mask;
847 struct policy_handle *handle;/* [ref] */
854 struct spoolss_SetJob {
856 struct policy_handle *handle;/* [ref] */
858 struct spoolss_JobInfoContainer *ctr;/* [unique] */
859 enum spoolss_JobControl command;
869 struct spoolss_GetJob {
871 struct policy_handle *handle;/* [ref] */
874 DATA_BLOB *buffer;/* [unique] */
879 union spoolss_JobInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
880 uint32_t *needed;/* [ref] */
887 struct _spoolss_EnumJobs {
889 struct policy_handle *handle;/* [ref] */
893 DATA_BLOB *buffer;/* [unique] */
898 DATA_BLOB *info;/* [unique] */
899 uint32_t *needed;/* [ref] */
907 struct __spoolss_EnumJobs {
914 union spoolss_JobInfo *info;/* [switch_is(level)] */
920 struct spoolss_EnumJobs {
922 struct policy_handle *handle;/* [ref] */
926 DATA_BLOB *buffer;/* [unique] */
931 union spoolss_JobInfo *info;/* [unique,switch_is(level),size_is(count)] */
932 uint32_t *needed;/* [ref] */
940 struct spoolss_AddPrinter {
948 struct spoolss_DeletePrinter {
950 struct policy_handle *handle;/* [ref] */
960 struct spoolss_SetPrinter {
962 struct policy_handle *handle;/* [ref] */
964 union spoolss_SetPrinterInfo info;/* [switch_is(level)] */
965 struct spoolss_DevmodeContainer devmode_ctr;
966 struct sec_desc_buf secdesc_ctr;
967 enum spoolss_PrinterControl command;
977 struct spoolss_GetPrinter {
979 struct policy_handle *handle;/* [ref] */
981 DATA_BLOB *buffer;/* [unique] */
986 union spoolss_PrinterInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
987 uint32_t *needed;/* [ref] */
994 struct spoolss_AddPrinterDriver {
1002 struct _spoolss_EnumPrinterDrivers {
1004 const char *server;/* [unique,charset(UTF16)] */
1005 const char *environment;/* [unique,charset(UTF16)] */
1007 DATA_BLOB *buffer;/* [unique] */
1012 DATA_BLOB *info;/* [unique] */
1013 uint32_t *needed;/* [ref] */
1021 struct __spoolss_EnumPrinterDrivers {
1028 union spoolss_DriverInfo *info;/* [switch_is(level)] */
1034 struct spoolss_EnumPrinterDrivers {
1036 const char *server;/* [unique,charset(UTF16)] */
1037 const char *environment;/* [unique,charset(UTF16)] */
1039 DATA_BLOB *buffer;/* [unique] */
1044 union spoolss_DriverInfo *info;/* [unique,switch_is(level),size_is(count)] */
1045 uint32_t *needed;/* [ref] */
1053 struct spoolss_GetPrinterDriver {
1061 struct spoolss_GetPrinterDriverDirectory {
1063 const char *server;/* [unique,charset(UTF16)] */
1064 const char *environment;/* [unique,charset(UTF16)] */
1066 DATA_BLOB *buffer;/* [unique] */
1071 union spoolss_DriverDirectoryInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
1072 uint32_t *needed;/* [ref] */
1079 struct spoolss_DeletePrinterDriver {
1081 const char *server;/* [unique,charset(UTF16)] */
1082 const char *architecture;/* [charset(UTF16)] */
1083 const char *driver;/* [charset(UTF16)] */
1093 struct spoolss_AddPrintProcessor {
1095 const char *server;/* [unique,charset(UTF16)] */
1096 const char *architecture;/* [charset(UTF16)] */
1097 const char *path_name;/* [charset(UTF16)] */
1098 const char *print_processor_name;/* [charset(UTF16)] */
1108 struct _spoolss_EnumPrintProcessors {
1110 const char *servername;/* [unique,charset(UTF16)] */
1111 const char *environment;/* [unique,charset(UTF16)] */
1113 DATA_BLOB *buffer;/* [unique] */
1118 DATA_BLOB *info;/* [unique] */
1119 uint32_t *needed;/* [ref] */
1127 struct __spoolss_EnumPrintProcessors {
1134 union spoolss_PrintProcessorInfo *info;/* [switch_is(level)] */
1140 struct spoolss_EnumPrintProcessors {
1142 const char *servername;/* [unique,charset(UTF16)] */
1143 const char *environment;/* [unique,charset(UTF16)] */
1145 DATA_BLOB *buffer;/* [unique] */
1150 union spoolss_PrintProcessorInfo *info;/* [unique,switch_is(level),size_is(count)] */
1151 uint32_t *needed;/* [ref] */
1159 struct spoolss_GetPrintProcessorDirectory {
1167 struct spoolss_StartDocPrinter {
1169 struct policy_handle *handle;/* [ref] */
1171 union spoolss_DocumentInfo info;/* [switch_is(level)] */
1175 uint32_t *job_id;/* [ref] */
1182 struct spoolss_StartPagePrinter {
1184 struct policy_handle *handle;/* [ref] */
1194 struct spoolss_WritePrinter {
1196 struct policy_handle *handle;/* [ref] */
1198 uint32_t _data_size;/* [value(r->in.data.length)] */
1202 uint32_t *num_written;/* [ref] */
1209 struct spoolss_EndPagePrinter {
1211 struct policy_handle *handle;/* [ref] */
1221 struct spoolss_AbortPrinter {
1223 struct policy_handle *handle;/* [ref] */
1233 struct spoolss_ReadPrinter {
1235 struct policy_handle *handle;/* [ref] */
1240 uint8_t *data;/* [ref,size_is(data_size)] */
1241 uint32_t *_data_size;/* [ref] */
1248 struct spoolss_EndDocPrinter {
1250 struct policy_handle *handle;/* [ref] */
1260 struct spoolss_AddJob {
1262 struct policy_handle *handle;/* [ref] */
1265 uint8_t *buffer;/* [unique,size_is(offered)] */
1269 uint32_t *needed;/* [ref] */
1270 uint8_t *buffer;/* [unique,size_is(offered)] */
1277 struct spoolss_ScheduleJob {
1279 struct policy_handle *handle;/* [ref] */
1290 struct _spoolss_GetPrinterData {
1292 struct policy_handle *handle;/* [ref] */
1293 const char *value_name;/* [charset(UTF16)] */
1298 enum spoolss_PrinterDataType *type;/* [ref] */
1300 uint32_t *needed;/* [ref] */
1307 struct __spoolss_GetPrinterData {
1309 enum spoolss_PrinterDataType type;
1313 union spoolss_PrinterData data;/* [switch_is(type)] */
1319 struct spoolss_GetPrinterData {
1321 struct policy_handle *handle;/* [ref] */
1322 const char *value_name;/* [charset(UTF16)] */
1327 enum spoolss_PrinterDataType *type;/* [ref] */
1328 union spoolss_PrinterData data;/* [subcontext_size(offered),subcontext(4),switch_is(*type)] */
1329 uint32_t *needed;/* [ref] */
1336 struct _spoolss_SetPrinterData {
1338 struct policy_handle *handle;/* [ref] */
1339 const char *value_name;/* [charset(UTF16)] */
1340 enum spoolss_PrinterDataType type;
1352 struct __spoolss_SetPrinterData {
1354 enum spoolss_PrinterDataType type;
1358 union spoolss_PrinterData data;/* [switch_is(type)] */
1364 struct spoolss_SetPrinterData {
1366 struct policy_handle *handle;/* [ref] */
1367 const char *value_name;/* [charset(UTF16)] */
1368 enum spoolss_PrinterDataType type;
1369 union spoolss_PrinterData data;/* [subcontext(4),switch_is(type)] */
1370 uint32_t _offered;/* [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */
1380 struct spoolss_WaitForPrinterChange {
1388 struct spoolss_ClosePrinter {
1390 struct policy_handle *handle;/* [ref] */
1394 struct policy_handle *handle;/* [ref] */
1401 struct spoolss_AddForm {
1403 struct policy_handle *handle;/* [ref] */
1405 union spoolss_AddFormInfo info;/* [switch_is(level)] */
1415 struct spoolss_DeleteForm {
1417 struct policy_handle *handle;/* [ref] */
1418 const char *form_name;/* [charset(UTF16)] */
1428 struct spoolss_GetForm {
1430 struct policy_handle *handle;/* [ref] */
1431 const char *form_name;/* [charset(UTF16)] */
1433 DATA_BLOB *buffer;/* [unique] */
1438 union spoolss_FormInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
1439 uint32_t *needed;/* [ref] */
1446 struct spoolss_SetForm {
1448 struct policy_handle *handle;/* [ref] */
1449 const char *form_name;/* [charset(UTF16)] */
1451 union spoolss_AddFormInfo info;/* [switch_is(level)] */
1461 struct _spoolss_EnumForms {
1463 struct policy_handle *handle;/* [ref] */
1465 DATA_BLOB *buffer;/* [unique] */
1470 DATA_BLOB *info;/* [unique] */
1471 uint32_t *needed;/* [ref] */
1479 struct __spoolss_EnumForms {
1486 union spoolss_FormInfo *info;/* [switch_is(level)] */
1492 struct spoolss_EnumForms {
1494 struct policy_handle *handle;/* [ref] */
1496 DATA_BLOB *buffer;/* [unique] */
1501 union spoolss_FormInfo *info;/* [unique,switch_is(level),size_is(count)] */
1502 uint32_t *needed;/* [ref] */
1510 struct _spoolss_EnumPorts {
1512 const char *servername;/* [unique,charset(UTF16)] */
1514 DATA_BLOB *buffer;/* [unique] */
1519 DATA_BLOB *info;/* [unique] */
1520 uint32_t *needed;/* [ref] */
1528 struct __spoolss_EnumPorts {
1535 union spoolss_PortInfo *info;/* [switch_is(level)] */
1541 struct spoolss_EnumPorts {
1543 const char *servername;/* [unique,charset(UTF16)] */
1545 DATA_BLOB *buffer;/* [unique] */
1550 union spoolss_PortInfo *info;/* [unique,switch_is(level),size_is(count)] */
1551 uint32_t *needed;/* [ref] */
1559 struct _spoolss_EnumMonitors {
1561 const char *servername;/* [unique,charset(UTF16)] */
1563 DATA_BLOB *buffer;/* [unique] */
1568 DATA_BLOB *info;/* [unique] */
1569 uint32_t *needed;/* [ref] */
1577 struct __spoolss_EnumMonitors {
1584 union spoolss_MonitorInfo *info;/* [switch_is(level)] */
1590 struct spoolss_EnumMonitors {
1592 const char *servername;/* [unique,charset(UTF16)] */
1594 DATA_BLOB *buffer;/* [unique] */
1599 union spoolss_MonitorInfo *info;/* [unique,switch_is(level),size_is(count)] */
1600 uint32_t *needed;/* [ref] */
1608 struct spoolss_AddPort {
1610 const char *server_name;/* [unique,charset(UTF16)] */
1612 const char *monitor_name;/* [charset(UTF16)] */
1622 struct spoolss_ConfigurePort {
1630 struct spoolss_DeletePort {
1638 struct spoolss_CreatePrinterIC {
1646 struct spoolss_PlayGDIScriptOnPrinterIC {
1654 struct spoolss_DeletePrinterIC {
1662 struct spoolss_AddPrinterConnection {
1670 struct spoolss_DeletePrinterConnection {
1678 struct spoolss_PrinterMessageBox {
1686 struct spoolss_AddMonitor {
1694 struct spoolss_DeleteMonitor {
1702 struct spoolss_DeletePrintProcessor {
1710 struct spoolss_AddPrintProvidor {
1718 struct spoolss_DeletePrintProvidor {
1726 struct spoolss_EnumPrintProcDataTypes {
1734 struct spoolss_ResetPrinter {
1742 struct spoolss_GetPrinterDriver2 {
1744 struct policy_handle *handle;/* [ref] */
1745 const char *architecture;/* [unique,charset(UTF16)] */
1747 DATA_BLOB *buffer;/* [unique] */
1749 uint32_t client_major_version;
1750 uint32_t client_minor_version;
1754 DATA_BLOB *info;/* [unique] */
1755 uint32_t *needed;/* [ref] */
1756 uint32_t *server_major_version;/* [ref] */
1757 uint32_t *server_minor_version;/* [ref] */
1764 struct spoolss_FindFirstPrinterChangeNotification {
1772 struct spoolss_FindNextPrinterChangeNotification {
1780 struct spoolss_FindClosePrinterNotify {
1782 struct policy_handle *handle;/* [ref] */
1792 struct spoolss_RouterFindFirstPrinterChangeNotificationOld {
1800 struct spoolss_ReplyOpenPrinter {
1802 const char *server_name;/* [charset(UTF16)] */
1803 uint32_t printer_local;
1804 enum winreg_Type type;
1805 uint32_t bufsize;/* [range(0,512)] */
1806 uint8_t *buffer;/* [unique,size_is(bufsize)] */
1810 struct policy_handle *handle;/* [ref] */
1817 struct spoolss_RouterReplyPrinter {
1819 struct policy_handle *handle;/* [ref] */
1821 uint32_t bufsize;/* [range(0,512)] */
1822 uint8_t *buffer;/* [unique,size_is(bufsize)] */
1832 struct spoolss_ReplyClosePrinter {
1834 struct policy_handle *handle;/* [ref] */
1838 struct policy_handle *handle;/* [ref] */
1845 struct spoolss_AddPortEx {
1853 struct spoolss_RouterFindFirstPrinterChangeNotification {
1861 struct spoolss_SpoolerInit {
1869 struct spoolss_ResetPrinterEx {
1877 struct spoolss_RemoteFindFirstPrinterChangeNotifyEx {
1879 struct policy_handle *handle;/* [ref] */
1882 const char *str;/* [unique,charset(UTF16)] */
1883 uint32_t printer_local;
1884 struct spoolss_NotifyOptionsContainer *t1;/* [unique] */
1894 struct spoolss_RouterRefreshPrinterChangeNotification {
1902 struct spoolss_RemoteFindNextPrinterChangeNotifyEx {
1904 struct policy_handle *handle;/* [ref] */
1905 uint32_t change_low;
1906 struct spoolss_NotifyOptionsContainer *container;/* [unique] */
1910 struct spoolss_NotifyInfo **info;/* [ref] */
1925 struct spoolss_OpenPrinterEx {
1927 const char *printername;/* [unique,charset(UTF16)] */
1928 const char *datatype;/* [unique,charset(UTF16)] */
1929 struct spoolss_DevmodeContainer devmode_ctr;
1930 uint32_t access_mask;
1932 union spoolss_UserLevel userlevel;/* [switch_is(level)] */
1936 struct policy_handle *handle;/* [ref] */
1943 struct spoolss_AddPrinterEx {
1945 const char *server;/* [unique,charset(UTF16)] */
1947 union spoolss_PrinterInfo *info;/* [unique,switch_is(level)] */
1948 struct spoolss_DevmodeContainer devmode_ctr;
1949 struct security_descriptor *secdesc;/* [unique] */
1951 union spoolss_UserLevel userlevel;/* [switch_is(ulevel)] */
1969 struct spoolss_EnumPrinterData {
1971 struct policy_handle *handle;/* [ref] */
1972 uint32_t enum_index;
1973 uint32_t value_offered;
1974 uint32_t data_offered;
1978 const char *value_name;/* [charset(UTF16),size_is(value_offered/2)] */
1979 uint32_t *value_needed;/* [ref] */
1980 uint32_t *printerdata_type;/* [ref] */
1981 DATA_BLOB *buffer;/* [ref] */
1982 uint32_t *data_needed;/* [ref] */
1989 struct spoolss_DeletePrinterData {
1991 struct policy_handle *handle;/* [ref] */
1992 const char *value_name;/* [charset(UTF16)] */
2026 struct spoolss_SetPrinterDataEx {
2028 struct policy_handle *handle;/* [ref] */
2029 const char *key_name;/* [charset(UTF16)] */
2030 const char *value_name;/* [charset(UTF16)] */
2043 struct spoolss_GetPrinterDataEx {
2045 struct policy_handle *handle;/* [ref] */
2046 const char *key_name;/* [charset(UTF16)] */
2047 const char *value_name;/* [charset(UTF16)] */
2052 uint32_t *type;/* [ref] */
2053 uint8_t *buffer;/* [ref,size_is(offered)] */
2054 uint32_t *needed;/* [ref] */
2061 struct spoolss_EnumPrinterDataEx {
2063 struct policy_handle *handle;/* [ref] */
2064 const char *key_name;/* [charset(UTF16)] */
2069 uint8_t *buffer;/* [ref,size_is(offered)] */
2070 uint32_t *needed;/* [ref] */
2071 uint32_t *count;/* [ref] */
2078 struct spoolss_EnumPrinterKey {
2080 struct policy_handle *handle;/* [ref] */
2081 const char *key_name;/* [charset(UTF16)] */
2082 uint32_t key_buffer_size;
2086 uint16_t *key_buffer;/* [ref,size_is(key_buffer_size/2)] */
2087 uint32_t *needed;/* [ref] */
2094 struct spoolss_DeletePrinterDataEx {
2096 struct policy_handle *handle;/* [ref] */
2097 const char *key_name;/* [charset(UTF16)] */
2098 const char *value_name;/* [charset(UTF16)] */
2108 struct spoolss_DeletePrinterKey {
2110 struct policy_handle *handle;/* [ref] */
2111 const char *key_name;/* [charset(UTF16)] */
2129 struct spoolss_DeletePrinterDriverEx {
2131 const char *server;/* [unique,charset(UTF16)] */
2132 const char *architecture;/* [charset(UTF16)] */
2133 const char *driver;/* [charset(UTF16)] */
2134 uint32_t delete_flags;
2169 struct spoolss_XcvData {
2171 struct policy_handle *handle;/* [ref] */
2172 const char *function_name;/* [charset(UTF16)] */
2174 uint32_t _in_data_length;/* [value(r->in.in_data.length)] */
2175 uint32_t out_data_size;
2176 uint32_t *status_code;/* [ref] */
2180 uint8_t *out_data;/* [ref,size_is(out_data_size)] */
2181 uint32_t *needed;/* [ref] */
2182 uint32_t *status_code;/* [ref] */
2189 struct spoolss_AddPrinterDriverEx {
2244 #endif /* _HEADER_spoolss */