1 /* header auto-generated by pidl */
5 #include "libcli/util/ntstatus.h"
7 #include "librpc/gen_ndr/misc.h"
8 #include "librpc/gen_ndr/security.h"
9 #include "librpc/gen_ndr/winreg.h"
10 #ifndef _HEADER_spoolss
11 #define _HEADER_spoolss
13 #define PRINTER_STATUS_OK ( 0x00000000 )
14 #define JOB_STATUS_QUEUED ( 0x0000 )
15 #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) )
16 #define SPL_ARCH_WIN40 ( "WIN40" )
17 #define SPL_ARCH_W32X86 ( "W32X86" )
18 #define SPL_ARCH_W32MIPS ( "W32MIPS" )
19 #define SPL_ARCH_W32ALPHA ( "W32ALPHA" )
20 #define SPL_ARCH_W32PPC ( "W32PPC" )
21 #define SPL_ARCH_IA64 ( "IA64" )
22 #define SPL_ARCH_X64 ( "x64" )
23 #define SPOOLSS_ARCHITECTURE_ALL ( "all" )
24 #define SPOOLSS_ARCHITECTURE_NT_X86 ( "Windows NT x86" )
25 #define SPOOLSS_DEFAULT_SERVER_PATH ( "C:\\WINDOWS\\system32\\spool" )
26 #define SPL_LOCAL_PORT ( "Local Port" )
27 #define SPL_TCPIP_PORT ( "Standard TCP/IP Port" )
28 #define SPL_XCV_MONITOR_LOCALMON ( ",XcvMonitor Local Port" )
29 #define SPL_XCV_MONITOR_TCPMON ( ",XcvMonitor Standard TCP/IP Port" )
30 #define PRINTER_CHANGE_PRINTER ( 0x000000FF )
31 #define PRINTER_CHANGE_JOB ( 0x0000FF00 )
32 #define PRINTER_CHANGE_FORM ( (PRINTER_CHANGE_ADD_FORM|PRINTER_CHANGE_SET_FORM|PRINTER_CHANGE_DELETE_FORM) )
33 #define PRINTER_CHANGE_PORT ( (PRINTER_CHANGE_ADD_PORT|PRINTER_CHANGE_CONFIGURE_PORT|PRINTER_CHANGE_DELETE_PORT) )
34 #define PRINTER_CHANGE_PRINT_PROCESSOR ( 0x07000000 )
35 #define PRINTER_CHANGE_PRINTER_DRIVER ( (PRINTER_CHANGE_ADD_PRINTER_DRIVER|PRINTER_CHANGE_SET_PRINTER_DRIVER|PRINTER_CHANGE_DELETE_PRINTER_DRIVER) )
36 #define PRINTER_CHANGE_ALL ( (PRINTER_CHANGE_PRINTER|PRINTER_CHANGE_JOB|PRINTER_CHANGE_FORM|PRINTER_CHANGE_PORT|PRINTER_CHANGE_PRINT_PROCESSOR|PRINTER_CHANGE_PRINTER_DRIVER) )
37 #define SERVER_ALL_ACCESS ( SEC_STD_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE )
38 #define SERVER_READ ( SEC_STD_READ_CONTROL|SERVER_ACCESS_ENUMERATE )
39 #define SERVER_WRITE ( STANDARD_RIGHTS_WRITE_ACCESS|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE )
40 #define SERVER_EXECUTE ( SEC_STD_READ_CONTROL|SERVER_ACCESS_ENUMERATE )
41 #define PRINTER_ALL_ACCESS ( SEC_STD_REQUIRED|PRINTER_ACCESS_ADMINISTER|PRINTER_ACCESS_USE )
42 #define PRINTER_READ ( SEC_STD_READ_CONTROL|PRINTER_ACCESS_USE )
43 #define PRINTER_WRITE ( STANDARD_RIGHTS_WRITE_ACCESS|PRINTER_ACCESS_USE )
44 #define PRINTER_EXECUTE ( SEC_STD_READ_CONTROL|PRINTER_ACCESS_USE )
45 #define JOB_ALL_ACCESS ( SEC_STD_REQUIRED|JOB_ACCESS_ADMINISTER )
46 #define JOB_READ ( SEC_STD_READ_CONTROL|JOB_ACCESS_ADMINISTER )
47 #define JOB_WRITE ( STANDARD_RIGHTS_WRITE_ACCESS|JOB_ACCESS_ADMINISTER )
48 #define JOB_EXECUTE ( SEC_STD_READ_CONTROL|JOB_ACCESS_ADMINISTER )
49 #define PRINTER_ACE_FULL_CONTROL ( SEC_GENERIC_ALL|PRINTER_ALL_ACCESS )
50 #define PRINTER_ACE_MANAGE_DOCUMENTS ( SEC_GENERIC_ALL|READ_CONTROL_ACCESS )
51 #define PRINTER_ACE_PRINT ( GENERIC_EXECUTE_ACCESS|READ_CONTROL_ACCESS|PRINTER_ACCESS_USE )
63 struct spoolss_TimeCtr
{
64 uint32_t size
;/* [value(ndr_size_spoolss_Time(time,ndr->iconv_convenience,ndr->flags))] */
65 struct spoolss_Time
*time
;/* [unique] */
68 enum spoolss_ProcessorArchitecture
69 #ifndef USE_UINT_ENUMS
71 PROCESSOR_ARCHITECTURE_INTEL
=(int)(0x0000),
72 PROCESSOR_ARCHITECTURE_IA64
=(int)(0x0006),
73 PROCESSOR_ARCHITECTURE_AMD64
=(int)(0x0009)
76 { __donnot_use_enum_spoolss_ProcessorArchitecture
=0x7FFFFFFF}
77 #define PROCESSOR_ARCHITECTURE_INTEL ( 0x0000 )
78 #define PROCESSOR_ARCHITECTURE_IA64 ( 0x0006 )
79 #define PROCESSOR_ARCHITECTURE_AMD64 ( 0x0009 )
83 enum spoolss_ProcessorType
84 #ifndef USE_UINT_ENUMS
86 PROCESSOR_INTEL_386
=(int)(0x00000182),
87 PROCESSOR_INTEL_486
=(int)(0x000001E6),
88 PROCESSOR_INTEL_PENTIUM
=(int)(0x0000024A),
89 PROCESSOR_INTEL_IA64
=(int)(0x00000898),
90 PROCESSOR_AMD_X8664
=(int)(0x000022A0)
93 { __donnot_use_enum_spoolss_ProcessorType
=0x7FFFFFFF}
94 #define PROCESSOR_INTEL_386 ( 0x00000182 )
95 #define PROCESSOR_INTEL_486 ( 0x000001E6 )
96 #define PROCESSOR_INTEL_PENTIUM ( 0x0000024A )
97 #define PROCESSOR_INTEL_IA64 ( 0x00000898 )
98 #define PROCESSOR_AMD_X8664 ( 0x000022A0 )
102 enum spoolss_MajorVersion
103 #ifndef USE_UINT_ENUMS
105 SPOOLSS_MAJOR_VERSION_NT4_95_98_ME
=(int)(0x00000004),
106 SPOOLSS_MAJOR_VERSION_2000_2003_XP
=(int)(0x00000005),
107 SPOOLSS_MAJOR_VERSION_2008_VISTA
=(int)(0x00000006)
110 { __donnot_use_enum_spoolss_MajorVersion
=0x7FFFFFFF}
111 #define SPOOLSS_MAJOR_VERSION_NT4_95_98_ME ( 0x00000004 )
112 #define SPOOLSS_MAJOR_VERSION_2000_2003_XP ( 0x00000005 )
113 #define SPOOLSS_MAJOR_VERSION_2008_VISTA ( 0x00000006 )
117 enum spoolss_MinorVersion
118 #ifndef USE_UINT_ENUMS
120 SPOOLSS_MINOR_VERSION_0
=(int)(0x00000000),
121 SPOOLSS_MINOR_VERSION_XP
=(int)(0x00000001),
122 SPOOLSS_MINOR_VERSION_2003_XP64
=(int)(0x00000002),
123 SPOOLSS_MINOR_VERSION_98
=(int)(0x0000000a),
124 SPOOLSS_MINOR_VERSION_ME
=(int)(0x0000005a)
127 { __donnot_use_enum_spoolss_MinorVersion
=0x7FFFFFFF}
128 #define SPOOLSS_MINOR_VERSION_0 ( 0x00000000 )
129 #define SPOOLSS_MINOR_VERSION_XP ( 0x00000001 )
130 #define SPOOLSS_MINOR_VERSION_2003_XP64 ( 0x00000002 )
131 #define SPOOLSS_MINOR_VERSION_98 ( 0x0000000a )
132 #define SPOOLSS_MINOR_VERSION_ME ( 0x0000005a )
136 /* bitmap spoolss_PrinterStatus */
137 #define PRINTER_STATUS_PAUSED ( 0x00000001 )
138 #define PRINTER_STATUS_ERROR ( 0x00000002 )
139 #define PRINTER_STATUS_PENDING_DELETION ( 0x00000004 )
140 #define PRINTER_STATUS_PAPER_JAM ( 0x00000008 )
141 #define PRINTER_STATUS_PAPER_OUT ( 0x00000010 )
142 #define PRINTER_STATUS_MANUAL_FEED ( 0x00000020 )
143 #define PRINTER_STATUS_PAPER_PROBLEM ( 0x00000040 )
144 #define PRINTER_STATUS_OFFLINE ( 0x00000080 )
145 #define PRINTER_STATUS_IO_ACTIVE ( 0x00000100 )
146 #define PRINTER_STATUS_BUSY ( 0x00000200 )
147 #define PRINTER_STATUS_PRINTING ( 0x00000400 )
148 #define PRINTER_STATUS_OUTPUT_BIN_FULL ( 0x00000800 )
149 #define PRINTER_STATUS_NOT_AVAILABLE ( 0x00001000 )
150 #define PRINTER_STATUS_WAITING ( 0x00002000 )
151 #define PRINTER_STATUS_PROCESSING ( 0x00004000 )
152 #define PRINTER_STATUS_INITIALIZING ( 0x00008000 )
153 #define PRINTER_STATUS_WARMING_UP ( 0x00010000 )
154 #define PRINTER_STATUS_TONER_LOW ( 0x00020000 )
155 #define PRINTER_STATUS_NO_TONER ( 0x00040000 )
156 #define PRINTER_STATUS_PAGE_PUNT ( 0x00080000 )
157 #define PRINTER_STATUS_USER_INTERVENTION ( 0x00100000 )
158 #define PRINTER_STATUS_OUT_OF_MEMORY ( 0x00200000 )
159 #define PRINTER_STATUS_DOOR_OPEN ( 0x00400000 )
160 #define PRINTER_STATUS_SERVER_UNKNOWN ( 0x00800000 )
161 #define PRINTER_STATUS_POWER_SAVE ( 0x01000000 )
163 /* bitmap spoolss_JobStatus */
164 #define JOB_STATUS_PAUSED ( 0x00000001 )
165 #define JOB_STATUS_ERROR ( 0x00000002 )
166 #define JOB_STATUS_DELETING ( 0x00000004 )
167 #define JOB_STATUS_SPOOLING ( 0x00000008 )
168 #define JOB_STATUS_PRINTING ( 0x00000010 )
169 #define JOB_STATUS_OFFLINE ( 0x00000020 )
170 #define JOB_STATUS_PAPEROUT ( 0x00000040 )
171 #define JOB_STATUS_PRINTED ( 0x00000080 )
172 #define JOB_STATUS_DELETED ( 0x00000100 )
173 #define JOB_STATUS_BLOCKED_DEVQ ( 0x00000200 )
174 #define JOB_STATUS_USER_INTERVENTION ( 0x00000400 )
175 #define JOB_STATUS_RESTART ( 0x00000800 )
176 #define JOB_STATUS_COMPLETE ( 0x00001000 )
178 struct spoolss_PrinterInfo0
{
179 const char * printername
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
180 const char * servername
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
183 uint32_t total_bytes
;
184 struct spoolss_Time time
;
185 uint32_t global_counter
;
186 uint32_t total_pages
;
190 uint32_t max_spooling
;
191 uint32_t session_counter
;
192 uint32_t num_error_out_of_paper
;
193 uint32_t num_error_not_ready
;
195 uint32_t number_of_processors
;
196 enum spoolss_ProcessorType processor_type
;
197 uint32_t high_part_total_bytes
;
201 uint32_t enumerate_network_printers
;
202 uint32_t c_setprinter
;
203 enum spoolss_ProcessorArchitecture processor_architecture
;
204 uint16_t processor_level
;
208 }/* [gensize,public] */;
210 /* bitmap spoolss_DeviceModeFields */
211 #define DEVMODE_ORIENTATION ( 0x00000001 )
212 #define DEVMODE_PAPERSIZE ( 0x00000002 )
213 #define DEVMODE_PAPERLENGTH ( 0x00000004 )
214 #define DEVMODE_PAPERWIDTH ( 0x00000008 )
215 #define DEVMODE_SCALE ( 0x00000010 )
216 #define DEVMODE_POSITION ( 0x00000020 )
217 #define DEVMODE_NUP ( 0x00000040 )
218 #define DEVMODE_COPIES ( 0x00000100 )
219 #define DEVMODE_DEFAULTSOURCE ( 0x00000200 )
220 #define DEVMODE_PRINTQUALITY ( 0x00000400 )
221 #define DEVMODE_COLOR ( 0x00000800 )
222 #define DEVMODE_DUPLEX ( 0x00001000 )
223 #define DEVMODE_YRESOLUTION ( 0x00002000 )
224 #define DEVMODE_TTOPTION ( 0x00004000 )
225 #define DEVMODE_COLLATE ( 0x00008000 )
226 #define DEVMODE_FORMNAME ( 0x00010000 )
227 #define DEVMODE_LOGPIXELS ( 0x00020000 )
228 #define DEVMODE_BITSPERPEL ( 0x00040000 )
229 #define DEVMODE_PELSWIDTH ( 0x00080000 )
230 #define DEVMODE_PELSHEIGHT ( 0x00100000 )
231 #define DEVMODE_DISPLAYFLAGS ( 0x00200000 )
232 #define DEVMODE_DISPLAYFREQUENCY ( 0x00400000 )
233 #define DEVMODE_ICMMETHOD ( 0x00800000 )
234 #define DEVMODE_ICMINTENT ( 0x01000000 )
235 #define DEVMODE_MEDIATYPE ( 0x02000000 )
236 #define DEVMODE_DITHERTYPE ( 0x04000000 )
237 #define DEVMODE_PANNINGWIDTH ( 0x08000000 )
238 #define DEVMODE_PANNINGHEIGHT ( 0x10000000 )
240 enum spoolss_DeviceModeSpecVersion
241 #ifndef USE_UINT_ENUMS
243 DMSPEC_NT3
=(int)(0x320),
244 DMSPEC_WIN95_98_ME
=(int)(0x400),
245 DMSPEC_NT4_AND_ABOVE
=(int)(0x401)
248 { __donnot_use_enum_spoolss_DeviceModeSpecVersion
=0x7FFFFFFF}
249 #define DMSPEC_NT3 ( 0x320 )
250 #define DMSPEC_WIN95_98_ME ( 0x400 )
251 #define DMSPEC_NT4_AND_ABOVE ( 0x401 )
255 enum spoolss_DeviceModeOrientation
256 #ifndef USE_UINT_ENUMS
258 DMORIENT_PORTRAIT
=(int)(0x0001),
259 DMORIENT_LANDSCAPE
=(int)(0x0002)
262 { __donnot_use_enum_spoolss_DeviceModeOrientation
=0x7FFFFFFF}
263 #define DMORIENT_PORTRAIT ( 0x0001 )
264 #define DMORIENT_LANDSCAPE ( 0x0002 )
268 enum spoolss_DeviceModePaperSize
269 #ifndef USE_UINT_ENUMS
271 DMPAPER_LETTER
=(int)(0x0001),
272 DMPAPER_LETTERSMALL
=(int)(0x0002),
273 DMPAPER_TABLOID
=(int)(0x0003),
274 DMPAPER_LEDGER
=(int)(0x0004),
275 DMPAPER_LEGAL
=(int)(0x0005),
276 DMPAPER_STATEMENT
=(int)(0x0006),
277 DMPAPER_EXECUTIVE
=(int)(0x0007),
278 DMPAPER_A3
=(int)(0x0008),
279 DMPAPER_A4
=(int)(0x0009),
280 DMPAPER_A4SMALL
=(int)(0x000A),
281 DMPAPER_A5
=(int)(0x000B),
282 DMPAPER_B4
=(int)(0x000C),
283 DMPAPER_B5
=(int)(0x000D),
284 DMPAPER_FOLIO
=(int)(0x000E),
285 DMPAPER_QUARTO
=(int)(0x000F),
286 DMPAPER_10X14
=(int)(0x0010),
287 DMPAPER_11X17
=(int)(0x0011),
288 DMPAPER_NOTE
=(int)(0x0012),
289 DMPAPER_ENV_9
=(int)(0x0013),
290 DMPAPER_ENV_10
=(int)(0x0014),
291 DMPAPER_ENV_11
=(int)(0x0015),
292 DMPAPER_ENV_12
=(int)(0x0016),
293 DMPAPER_ENV_14
=(int)(0x0017),
294 DMPAPER_CSHEET
=(int)(0x0018),
295 DMPAPER_DSHEET
=(int)(0x0019),
296 DMPAPER_ESHEET
=(int)(0x001A),
297 DMPAPER_ENV_DL
=(int)(0x001B),
298 DMPAPER_ENV_C5
=(int)(0x001C),
299 DMPAPER_ENV_C3
=(int)(0x001D),
300 DMPAPER_ENV_C4
=(int)(0x001E),
301 DMPAPER_ENV_C6
=(int)(0x001F),
302 DMPAPER_ENV_C65
=(int)(0x0020),
303 DMPAPER_ENV_B4
=(int)(0x0021),
304 DMPAPER_ENV_B5
=(int)(0x0022),
305 DMPAPER_ENV_B6
=(int)(0x0023),
306 DMPAPER_ENV_ITALY
=(int)(0x0024),
307 DMPAPER_ENV_MONARCH
=(int)(0x0025),
308 DMPAPER_ENV_PERSONAL
=(int)(0x0026),
309 DMPAPER_FANFOLD_US
=(int)(0x0027),
310 DMPAPER_FANFOLD_STD_GERMAN
=(int)(0x0028),
311 DMPAPER_FANFOLD_LGL_GERMAN
=(int)(0x0029),
312 DMPAPER_DBL_JAPANESE_POSTCARD
=(int)(0x0045),
313 DMPAPER_A6
=(int)(0x0046),
314 DMPAPER_JENV_KAKU2
=(int)(0x0047),
315 DMPAPER_JENV_KAKU3
=(int)(0x0048),
316 DMPAPER_JENV_CHOU3
=(int)(0x0049),
317 DMPAPER_JENV_CHOU4
=(int)(0x004A),
318 DMPAPER_LETTER_ROTATED
=(int)(0x004B),
319 DMPAPER_A3_ROTATED
=(int)(0x004C),
320 DMPAPER_A4_ROTATED
=(int)(0x004D),
321 DMPAPER_A5_ROTATED
=(int)(0x004E),
322 DMPAPER_B4_JIS_ROTATED
=(int)(0x004F),
323 DMPAPER_B5_JIS_ROTATED
=(int)(0x0050),
324 DMPAPER_JAPANESE_POSTCARD_ROTATED
=(int)(0x0051),
325 DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED
=(int)(0x0052),
326 DMPAPER_A6_ROTATED
=(int)(0x0053),
327 DMPAPER_JENV_KAKU2_ROTATED
=(int)(0x0054),
328 DMPAPER_JENV_KAKU3_ROTATED
=(int)(0x0055),
329 DMPAPER_JENV_CHOU3_ROTATED
=(int)(0x0056),
330 DMPAPER_JENV_CHOU4_ROTATED
=(int)(0x0057),
331 DMPAPER_B6_JIS
=(int)(0x0058),
332 DMPAPER_B6_JIS_ROTATED
=(int)(0x0059),
333 DMPAPER_12X11
=(int)(0x005A),
334 DMPAPER_JENV_YOU4
=(int)(0x005B),
335 DMPAPER_JENV_YOU4_ROTATED
=(int)(0x005C),
336 DMPAPER_P16K
=(int)(0x005D),
337 DMPAPER_P32K
=(int)(0x005E),
338 DMPAPER_P32KBIG
=(int)(0x005F),
339 DMPAPER_PENV_1
=(int)(0x0060),
340 DMPAPER_PENV_2
=(int)(0x0061),
341 DMPAPER_PENV_3
=(int)(0x0062),
342 DMPAPER_PENV_4
=(int)(0x0063),
343 DMPAPER_PENV_5
=(int)(0x0064),
344 DMPAPER_PENV_6
=(int)(0x0065),
345 DMPAPER_PENV_7
=(int)(0x0066),
346 DMPAPER_PENV_8
=(int)(0x0067),
347 DMPAPER_PENV_9
=(int)(0x0068),
348 DMPAPER_PENV_10
=(int)(0x0069),
349 DMPAPER_P16K_ROTATED
=(int)(0x006A),
350 DMPAPER_P32K_ROTATED
=(int)(0x006B),
351 DMPAPER_P32KBIG_ROTATED
=(int)(0x006C),
352 DMPAPER_PENV_1_ROTATED
=(int)(0x006D),
353 DMPAPER_PENV_2_ROTATED
=(int)(0x006E),
354 DMPAPER_PENV_3_ROTATED
=(int)(0x006F),
355 DMPAPER_PENV_4_ROTATED
=(int)(0x0070),
356 DMPAPER_PENV_5_ROTATED
=(int)(0x0071),
357 DMPAPER_PENV_6_ROTATED
=(int)(0x0072),
358 DMPAPER_PENV_7_ROTATED
=(int)(0x0073),
359 DMPAPER_PENV_8_ROTATED
=(int)(0x0074),
360 DMPAPER_PENV_9_ROTATED
=(int)(0x0075),
361 DMPAPER_PENV_10_ROTATED
=(int)(0x0076)
364 { __donnot_use_enum_spoolss_DeviceModePaperSize
=0x7FFFFFFF}
365 #define DMPAPER_LETTER ( 0x0001 )
366 #define DMPAPER_LETTERSMALL ( 0x0002 )
367 #define DMPAPER_TABLOID ( 0x0003 )
368 #define DMPAPER_LEDGER ( 0x0004 )
369 #define DMPAPER_LEGAL ( 0x0005 )
370 #define DMPAPER_STATEMENT ( 0x0006 )
371 #define DMPAPER_EXECUTIVE ( 0x0007 )
372 #define DMPAPER_A3 ( 0x0008 )
373 #define DMPAPER_A4 ( 0x0009 )
374 #define DMPAPER_A4SMALL ( 0x000A )
375 #define DMPAPER_A5 ( 0x000B )
376 #define DMPAPER_B4 ( 0x000C )
377 #define DMPAPER_B5 ( 0x000D )
378 #define DMPAPER_FOLIO ( 0x000E )
379 #define DMPAPER_QUARTO ( 0x000F )
380 #define DMPAPER_10X14 ( 0x0010 )
381 #define DMPAPER_11X17 ( 0x0011 )
382 #define DMPAPER_NOTE ( 0x0012 )
383 #define DMPAPER_ENV_9 ( 0x0013 )
384 #define DMPAPER_ENV_10 ( 0x0014 )
385 #define DMPAPER_ENV_11 ( 0x0015 )
386 #define DMPAPER_ENV_12 ( 0x0016 )
387 #define DMPAPER_ENV_14 ( 0x0017 )
388 #define DMPAPER_CSHEET ( 0x0018 )
389 #define DMPAPER_DSHEET ( 0x0019 )
390 #define DMPAPER_ESHEET ( 0x001A )
391 #define DMPAPER_ENV_DL ( 0x001B )
392 #define DMPAPER_ENV_C5 ( 0x001C )
393 #define DMPAPER_ENV_C3 ( 0x001D )
394 #define DMPAPER_ENV_C4 ( 0x001E )
395 #define DMPAPER_ENV_C6 ( 0x001F )
396 #define DMPAPER_ENV_C65 ( 0x0020 )
397 #define DMPAPER_ENV_B4 ( 0x0021 )
398 #define DMPAPER_ENV_B5 ( 0x0022 )
399 #define DMPAPER_ENV_B6 ( 0x0023 )
400 #define DMPAPER_ENV_ITALY ( 0x0024 )
401 #define DMPAPER_ENV_MONARCH ( 0x0025 )
402 #define DMPAPER_ENV_PERSONAL ( 0x0026 )
403 #define DMPAPER_FANFOLD_US ( 0x0027 )
404 #define DMPAPER_FANFOLD_STD_GERMAN ( 0x0028 )
405 #define DMPAPER_FANFOLD_LGL_GERMAN ( 0x0029 )
406 #define DMPAPER_DBL_JAPANESE_POSTCARD ( 0x0045 )
407 #define DMPAPER_A6 ( 0x0046 )
408 #define DMPAPER_JENV_KAKU2 ( 0x0047 )
409 #define DMPAPER_JENV_KAKU3 ( 0x0048 )
410 #define DMPAPER_JENV_CHOU3 ( 0x0049 )
411 #define DMPAPER_JENV_CHOU4 ( 0x004A )
412 #define DMPAPER_LETTER_ROTATED ( 0x004B )
413 #define DMPAPER_A3_ROTATED ( 0x004C )
414 #define DMPAPER_A4_ROTATED ( 0x004D )
415 #define DMPAPER_A5_ROTATED ( 0x004E )
416 #define DMPAPER_B4_JIS_ROTATED ( 0x004F )
417 #define DMPAPER_B5_JIS_ROTATED ( 0x0050 )
418 #define DMPAPER_JAPANESE_POSTCARD_ROTATED ( 0x0051 )
419 #define DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED ( 0x0052 )
420 #define DMPAPER_A6_ROTATED ( 0x0053 )
421 #define DMPAPER_JENV_KAKU2_ROTATED ( 0x0054 )
422 #define DMPAPER_JENV_KAKU3_ROTATED ( 0x0055 )
423 #define DMPAPER_JENV_CHOU3_ROTATED ( 0x0056 )
424 #define DMPAPER_JENV_CHOU4_ROTATED ( 0x0057 )
425 #define DMPAPER_B6_JIS ( 0x0058 )
426 #define DMPAPER_B6_JIS_ROTATED ( 0x0059 )
427 #define DMPAPER_12X11 ( 0x005A )
428 #define DMPAPER_JENV_YOU4 ( 0x005B )
429 #define DMPAPER_JENV_YOU4_ROTATED ( 0x005C )
430 #define DMPAPER_P16K ( 0x005D )
431 #define DMPAPER_P32K ( 0x005E )
432 #define DMPAPER_P32KBIG ( 0x005F )
433 #define DMPAPER_PENV_1 ( 0x0060 )
434 #define DMPAPER_PENV_2 ( 0x0061 )
435 #define DMPAPER_PENV_3 ( 0x0062 )
436 #define DMPAPER_PENV_4 ( 0x0063 )
437 #define DMPAPER_PENV_5 ( 0x0064 )
438 #define DMPAPER_PENV_6 ( 0x0065 )
439 #define DMPAPER_PENV_7 ( 0x0066 )
440 #define DMPAPER_PENV_8 ( 0x0067 )
441 #define DMPAPER_PENV_9 ( 0x0068 )
442 #define DMPAPER_PENV_10 ( 0x0069 )
443 #define DMPAPER_P16K_ROTATED ( 0x006A )
444 #define DMPAPER_P32K_ROTATED ( 0x006B )
445 #define DMPAPER_P32KBIG_ROTATED ( 0x006C )
446 #define DMPAPER_PENV_1_ROTATED ( 0x006D )
447 #define DMPAPER_PENV_2_ROTATED ( 0x006E )
448 #define DMPAPER_PENV_3_ROTATED ( 0x006F )
449 #define DMPAPER_PENV_4_ROTATED ( 0x0070 )
450 #define DMPAPER_PENV_5_ROTATED ( 0x0071 )
451 #define DMPAPER_PENV_6_ROTATED ( 0x0072 )
452 #define DMPAPER_PENV_7_ROTATED ( 0x0073 )
453 #define DMPAPER_PENV_8_ROTATED ( 0x0074 )
454 #define DMPAPER_PENV_9_ROTATED ( 0x0075 )
455 #define DMPAPER_PENV_10_ROTATED ( 0x0076 )
459 enum spoolss_DeviceModeDefaultSource
460 #ifndef USE_UINT_ENUMS
462 DMBIN_UPPER
=(int)(0x0001),
463 DMBIN_LOWER
=(int)(0x0002),
464 DMBIN_MIDDLE
=(int)(0x0003),
465 DMBIN_MANUAL
=(int)(0x0004),
466 DMBIN_ENVELOPE
=(int)(0x0005),
467 DMBIN_ENVMANUAL
=(int)(0x0006),
468 DMBIN_AUTO
=(int)(0x0007),
469 DMBIN_TRACTOR
=(int)(0x0008),
470 DMBIN_SMALLFMT
=(int)(0x0009),
471 DMBIN_LARGEFMT
=(int)(0x000a),
472 DMBIN_LARGECAPACITY
=(int)(0x000b),
473 DMBIN_CASSETTE
=(int)(0x000e),
474 DMBIN_FORMSOURCE
=(int)(0x000f)
477 { __donnot_use_enum_spoolss_DeviceModeDefaultSource
=0x7FFFFFFF}
478 #define DMBIN_UPPER ( 0x0001 )
479 #define DMBIN_LOWER ( 0x0002 )
480 #define DMBIN_MIDDLE ( 0x0003 )
481 #define DMBIN_MANUAL ( 0x0004 )
482 #define DMBIN_ENVELOPE ( 0x0005 )
483 #define DMBIN_ENVMANUAL ( 0x0006 )
484 #define DMBIN_AUTO ( 0x0007 )
485 #define DMBIN_TRACTOR ( 0x0008 )
486 #define DMBIN_SMALLFMT ( 0x0009 )
487 #define DMBIN_LARGEFMT ( 0x000a )
488 #define DMBIN_LARGECAPACITY ( 0x000b )
489 #define DMBIN_CASSETTE ( 0x000e )
490 #define DMBIN_FORMSOURCE ( 0x000f )
494 enum spoolss_DeviceModePrintQuality
495 #ifndef USE_UINT_ENUMS
497 DMRES_HIGH
=(int)(0xfffc),
498 DMRES_MEDIUM
=(int)(0xfffd),
499 DMRES_LOW
=(int)(0xfffe),
500 DMRES_DRAFT
=(int)(0xffff)
503 { __donnot_use_enum_spoolss_DeviceModePrintQuality
=0x7FFFFFFF}
504 #define DMRES_HIGH ( 0xfffc )
505 #define DMRES_MEDIUM ( 0xfffd )
506 #define DMRES_LOW ( 0xfffe )
507 #define DMRES_DRAFT ( 0xffff )
511 enum spoolss_DeviceModeColor
512 #ifndef USE_UINT_ENUMS
514 DMRES_MONOCHROME
=(int)(0x0001),
515 DMRES_COLOR
=(int)(0x0002)
518 { __donnot_use_enum_spoolss_DeviceModeColor
=0x7FFFFFFF}
519 #define DMRES_MONOCHROME ( 0x0001 )
520 #define DMRES_COLOR ( 0x0002 )
524 enum spoolss_DeviceModeDuplex
525 #ifndef USE_UINT_ENUMS
527 DMDUP_SIMPLEX
=(int)(0x0001),
528 DMDUP_VERTICAL
=(int)(0x0002),
529 DMDUP_HORIZONTAL
=(int)(0x0003)
532 { __donnot_use_enum_spoolss_DeviceModeDuplex
=0x7FFFFFFF}
533 #define DMDUP_SIMPLEX ( 0x0001 )
534 #define DMDUP_VERTICAL ( 0x0002 )
535 #define DMDUP_HORIZONTAL ( 0x0003 )
539 enum spoolss_DeviceModeTTOption
540 #ifndef USE_UINT_ENUMS
542 DMTT_BITMAP
=(int)(0x0001),
543 DMTT_DOWNLOAD
=(int)(0x0002),
544 DMTT_SUBDEV
=(int)(0x0003),
545 DMTT_DOWNLOAD_OUTLINE
=(int)(0x0004)
548 { __donnot_use_enum_spoolss_DeviceModeTTOption
=0x7FFFFFFF}
549 #define DMTT_BITMAP ( 0x0001 )
550 #define DMTT_DOWNLOAD ( 0x0002 )
551 #define DMTT_SUBDEV ( 0x0003 )
552 #define DMTT_DOWNLOAD_OUTLINE ( 0x0004 )
556 enum spoolss_DeviceModeCollate
557 #ifndef USE_UINT_ENUMS
559 DMCOLLATE_FALSE
=(int)(0x0000),
560 DMCOLLATE_TRUE
=(int)(0x0001)
563 { __donnot_use_enum_spoolss_DeviceModeCollate
=0x7FFFFFFF}
564 #define DMCOLLATE_FALSE ( 0x0000 )
565 #define DMCOLLATE_TRUE ( 0x0001 )
569 enum spoolss_DeviceModeNUp
570 #ifndef USE_UINT_ENUMS
572 DMNUP_SYSTEM
=(int)(0x00000001),
573 DMNUP_ONEUP
=(int)(0x00000002)
576 { __donnot_use_enum_spoolss_DeviceModeNUp
=0x7FFFFFFF}
577 #define DMNUP_SYSTEM ( 0x00000001 )
578 #define DMNUP_ONEUP ( 0x00000002 )
582 enum spoolss_DeviceModeICMMethod
583 #ifndef USE_UINT_ENUMS
585 DMICMMETHOD_NONE
=(int)(0x00000001),
586 DMICMMETHOD_SYSTEM
=(int)(0x00000002),
587 DMICMMETHOD_DRIVER
=(int)(0x00000003),
588 DMICMMETHOD_DEVICE
=(int)(0x00000004)
591 { __donnot_use_enum_spoolss_DeviceModeICMMethod
=0x7FFFFFFF}
592 #define DMICMMETHOD_NONE ( 0x00000001 )
593 #define DMICMMETHOD_SYSTEM ( 0x00000002 )
594 #define DMICMMETHOD_DRIVER ( 0x00000003 )
595 #define DMICMMETHOD_DEVICE ( 0x00000004 )
599 enum spoolss_DeviceModeICMIntent
600 #ifndef USE_UINT_ENUMS
602 DMICM_SATURATE
=(int)(0x00000001),
603 DMICM_CONTRAST
=(int)(0x00000002),
604 DMICM_COLORIMETRIC
=(int)(0x00000003),
605 DMICM_ABS_COLORIMETRIC
=(int)(0x00000004)
608 { __donnot_use_enum_spoolss_DeviceModeICMIntent
=0x7FFFFFFF}
609 #define DMICM_SATURATE ( 0x00000001 )
610 #define DMICM_CONTRAST ( 0x00000002 )
611 #define DMICM_COLORIMETRIC ( 0x00000003 )
612 #define DMICM_ABS_COLORIMETRIC ( 0x00000004 )
616 enum spoolss_DeviceModeMediaType
617 #ifndef USE_UINT_ENUMS
619 DMMEDIA_STANDARD
=(int)(0x00000001),
620 DMMEDIA_TRANSPARENCY
=(int)(0x00000002),
621 DMMEDIA_GLOSSY
=(int)(0x00000003)
624 { __donnot_use_enum_spoolss_DeviceModeMediaType
=0x7FFFFFFF}
625 #define DMMEDIA_STANDARD ( 0x00000001 )
626 #define DMMEDIA_TRANSPARENCY ( 0x00000002 )
627 #define DMMEDIA_GLOSSY ( 0x00000003 )
631 enum spoolss_DeviceModeDitherType
632 #ifndef USE_UINT_ENUMS
634 DMDITHER_NONE
=(int)(0x00000001),
635 DMDITHER_COARSE
=(int)(0x00000002),
636 DMDITHER_FINE
=(int)(0x00000003),
637 DMDITHER_LINEART
=(int)(0x00000004),
638 DMDITHER_ERRORDIFFUSION
=(int)(0x00000005),
639 DMDITHER_RESERVED6
=(int)(0x00000006),
640 DMDITHER_RESERVED7
=(int)(0x00000007),
641 DMDITHER_RESERVED8
=(int)(0x00000008),
642 DMDITHER_RESERVED9
=(int)(0x00000009),
643 DMDITHER_GRAYSCALE
=(int)(0x0000000A)
646 { __donnot_use_enum_spoolss_DeviceModeDitherType
=0x7FFFFFFF}
647 #define DMDITHER_NONE ( 0x00000001 )
648 #define DMDITHER_COARSE ( 0x00000002 )
649 #define DMDITHER_FINE ( 0x00000003 )
650 #define DMDITHER_LINEART ( 0x00000004 )
651 #define DMDITHER_ERRORDIFFUSION ( 0x00000005 )
652 #define DMDITHER_RESERVED6 ( 0x00000006 )
653 #define DMDITHER_RESERVED7 ( 0x00000007 )
654 #define DMDITHER_RESERVED8 ( 0x00000008 )
655 #define DMDITHER_RESERVED9 ( 0x00000009 )
656 #define DMDITHER_GRAYSCALE ( 0x0000000A )
660 struct spoolss_DeviceMode
{
661 const char *devicename
;/* [charset(UTF16)] */
662 enum spoolss_DeviceModeSpecVersion specversion
;
663 uint16_t driverversion
;
665 uint16_t __driverextra_length
;/* [value(r->driverextra_data.length)] */
667 enum spoolss_DeviceModeOrientation orientation
;
668 enum spoolss_DeviceModePaperSize papersize
;
669 uint16_t paperlength
;
673 enum spoolss_DeviceModeDefaultSource defaultsource
;
674 enum spoolss_DeviceModePrintQuality printquality
;
675 enum spoolss_DeviceModeColor color
;
676 enum spoolss_DeviceModeDuplex duplex
;
677 uint16_t yresolution
;
678 enum spoolss_DeviceModeTTOption ttoption
;
679 enum spoolss_DeviceModeCollate collate
;
680 const char *formname
;/* [charset(UTF16)] */
685 enum spoolss_DeviceModeNUp displayflags
;
686 uint32_t displayfrequency
;
687 enum spoolss_DeviceModeICMMethod icmmethod
;
688 enum spoolss_DeviceModeICMIntent icmintent
;
689 enum spoolss_DeviceModeMediaType mediatype
;
690 enum spoolss_DeviceModeDitherType dithertype
;
693 uint32_t panningwidth
;
694 uint32_t panningheight
;
695 DATA_BLOB driverextra_data
;/* [subcontext_size(__driverextra_length),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
696 }/* [gensize,public] */;
698 /* bitmap spoolss_EnumPrinterFlags */
699 #define PRINTER_ENUM_DEFAULT ( 0x00000001 )
700 #define PRINTER_ENUM_LOCAL ( 0x00000002 )
701 #define PRINTER_ENUM_CONNECTIONS ( 0x00000004 )
702 #define PRINTER_ENUM_FAVORITE ( 0x00000004 )
703 #define PRINTER_ENUM_NAME ( 0x00000008 )
704 #define PRINTER_ENUM_REMOTE ( 0x00000010 )
705 #define PRINTER_ENUM_SHARED ( 0x00000020 )
706 #define PRINTER_ENUM_NETWORK ( 0x00000040 )
707 #define PRINTER_ENUM_EXPAND ( 0x00004000 )
708 #define PRINTER_ENUM_CONTAINER ( 0x00008000 )
709 #define PRINTER_ENUM_ICON1 ( 0x00010000 )
710 #define PRINTER_ENUM_ICON2 ( 0x00020000 )
711 #define PRINTER_ENUM_ICON3 ( 0x00040000 )
712 #define PRINTER_ENUM_ICON4 ( 0x00080000 )
713 #define PRINTER_ENUM_ICON5 ( 0x00100000 )
714 #define PRINTER_ENUM_ICON6 ( 0x00200000 )
715 #define PRINTER_ENUM_ICON7 ( 0x00400000 )
716 #define PRINTER_ENUM_ICON8 ( 0x00800000 )
717 #define PRINTER_ENUM_HIDE ( 0x01000000 )
719 /* bitmap spoolss_PrinterAttributes */
720 #define PRINTER_ATTRIBUTE_QUEUED ( 0x00000001 )
721 #define PRINTER_ATTRIBUTE_DIRECT ( 0x00000002 )
722 #define PRINTER_ATTRIBUTE_DEFAULT ( 0x00000004 )
723 #define PRINTER_ATTRIBUTE_SHARED ( 0x00000008 )
724 #define PRINTER_ATTRIBUTE_NETWORK ( 0x00000010 )
725 #define PRINTER_ATTRIBUTE_HIDDEN ( 0x00000020 )
726 #define PRINTER_ATTRIBUTE_LOCAL ( 0x00000040 )
727 #define PRINTER_ATTRIBUTE_ENABLE_DEVQ ( 0x00000080 )
728 #define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS ( 0x00000100 )
729 #define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST ( 0x00000200 )
730 #define PRINTER_ATTRIBUTE_WORK_OFFLINE ( 0x00000400 )
731 #define PRINTER_ATTRIBUTE_ENABLE_BIDI ( 0x00000800 )
732 #define PRINTER_ATTRIBUTE_RAW_ONLY ( 0x00001000 )
733 #define PRINTER_ATTRIBUTE_PUBLISHED ( 0x00002000 )
734 #define PRINTER_ATTRIBUTE_FAX ( 0x00004000 )
735 #define PRINTER_ATTRIBUTE_TS ( 0x00008000 )
737 struct spoolss_PrinterInfo1
{
739 const char * description
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
740 const char * name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
741 const char * comment
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
742 }/* [gensize,public] */;
744 struct spoolss_PrinterInfo2
{
745 const char * servername
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
746 const char * printername
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
747 const char * sharename
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
748 const char * portname
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
749 const char * drivername
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
750 const char * comment
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
751 const char * location
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
752 struct spoolss_DeviceMode
*devmode
;/* [relative,subcontext(0)] */
753 const char * sepfile
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
754 const char * printprocessor
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
755 const char * datatype
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
756 const char * parameters
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
757 struct security_descriptor
*secdesc
;/* [relative,subcontext(0)] */
759 uint32_t priority
;/* [range(0,99)] */
760 uint32_t defaultpriority
;
766 }/* [gensize,public] */;
768 struct spoolss_PrinterInfo3
{
769 struct security_descriptor
*secdesc
;/* [relative,subcontext(0)] */
770 }/* [gensize,public] */;
772 struct spoolss_PrinterInfo4
{
773 const char * printername
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
774 const char * servername
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
776 }/* [gensize,public] */;
778 struct spoolss_PrinterInfo5
{
779 const char * printername
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
780 const char * portname
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
782 uint32_t device_not_selected_timeout
;
783 uint32_t transmission_retry_timeout
;
784 }/* [gensize,public] */;
786 struct spoolss_PrinterInfo6
{
788 }/* [gensize,public] */;
790 /* bitmap spoolss_DsPrintAction */
791 #define DSPRINT_PUBLISH ( 0x00000001 )
792 #define DSPRINT_UPDATE ( 0x00000002 )
793 #define DSPRINT_UNPUBLISH ( 0x00000004 )
794 #define DSPRINT_REPUBLISH ( 0x00000008 )
795 #define DSPRINT_PENDING ( 0x80000000 )
797 struct spoolss_PrinterInfo7
{
798 const char * guid
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
800 }/* [gensize,public] */;
802 struct spoolss_DeviceModeInfo
{
803 struct spoolss_DeviceMode
*devmode
;/* [relative,subcontext(0)] */
806 union spoolss_PrinterInfo
{
807 struct spoolss_PrinterInfo0 info0
;/* [case(0)] */
808 struct spoolss_PrinterInfo1 info1
;/* [case] */
809 struct spoolss_PrinterInfo2 info2
;/* [case(2)] */
810 struct spoolss_PrinterInfo3 info3
;/* [case(3)] */
811 struct spoolss_PrinterInfo4 info4
;/* [case(4)] */
812 struct spoolss_PrinterInfo5 info5
;/* [case(5)] */
813 struct spoolss_PrinterInfo6 info6
;/* [case(6)] */
814 struct spoolss_PrinterInfo7 info7
;/* [case(7)] */
815 struct spoolss_DeviceModeInfo info8
;/* [case(8)] */
816 struct spoolss_DeviceModeInfo info9
;/* [case(9)] */
817 }/* [relative_base,gensize,public,nodiscriminant] */;
819 struct spoolss_DevmodeContainer
{
820 uint32_t _ndr_size
;/* [value(_ndr_size_spoolss_DeviceMode(devmode,ndr->iconv_convenience,ndr->flags))] */
821 struct spoolss_DeviceMode
*devmode
;/* [unique,subcontext_size(_ndr_size),subcontext(4)] */
824 struct spoolss_JobInfo1
{
826 const char * printer_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
827 const char * server_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
828 const char * user_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
829 const char * document_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
830 const char * data_type
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
831 const char * text_status
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
833 uint32_t priority
;/* [range(0,99)] */
835 uint32_t total_pages
;
836 uint32_t pages_printed
;
837 struct spoolss_Time submitted
;
838 }/* [gensize,public] */;
840 struct spoolss_JobInfo2
{
842 const char * printer_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
843 const char * server_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
844 const char * user_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
845 const char * document_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
846 const char * notify_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
847 const char * data_type
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
848 const char * print_processor
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
849 const char * parameters
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
850 const char * driver_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
851 struct spoolss_DeviceMode
*devmode
;/* [relative] */
852 const char * text_status
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
853 struct security_descriptor
*secdesc
;/* [relative] */
855 uint32_t priority
;/* [range(0,99)] */
859 uint32_t total_pages
;
861 struct spoolss_Time submitted
;
863 uint32_t pages_printed
;
864 }/* [gensize,public] */;
866 struct spoolss_JobInfo3
{
868 uint32_t next_job_id
;
870 }/* [gensize,public] */;
872 struct spoolss_JobInfo4
{
874 const char * printer_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
875 const char * server_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
876 const char * user_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
877 const char * document_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
878 const char * notify_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
879 const char * data_type
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
880 const char * print_processor
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
881 const char * parameters
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
882 const char * driver_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
883 struct spoolss_DeviceMode
*devmode
;/* [relative] */
884 const char * text_status
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
885 struct security_descriptor
*secdesc
;/* [relative] */
887 uint32_t priority
;/* [range(0,99)] */
891 uint32_t total_pages
;
893 struct spoolss_Time submitted
;
895 uint32_t pages_printed
;
897 }/* [gensize,public] */;
899 union spoolss_JobInfo
{
900 struct spoolss_JobInfo1 info1
;/* [case] */
901 struct spoolss_JobInfo2 info2
;/* [case(2)] */
902 struct spoolss_JobInfo3 info3
;/* [case(3)] */
903 struct spoolss_JobInfo4 info4
;/* [case(4)] */
904 }/* [relative_base,gensize,public,nodiscriminant] */;
906 struct spoolss_SetJobInfo1
{
908 const char *printer_name
;/* [unique,charset(UTF16)] */
909 const char *server_name
;/* [unique,charset(UTF16)] */
910 const char *user_name
;/* [unique,charset(UTF16)] */
911 const char *document_name
;/* [unique,charset(UTF16)] */
912 const char *data_type
;/* [unique,charset(UTF16)] */
913 const char *text_status
;/* [unique,charset(UTF16)] */
915 uint32_t priority
;/* [range(0,99)] */
917 uint32_t total_pages
;
918 uint32_t pages_printed
;
919 struct spoolss_Time submitted
;
922 struct spoolss_SetJobInfo2
{
924 const char *printer_name
;/* [unique,charset(UTF16)] */
925 const char *server_name
;/* [unique,charset(UTF16)] */
926 const char *user_name
;/* [unique,charset(UTF16)] */
927 const char *document_name
;/* [unique,charset(UTF16)] */
928 const char *notify_name
;/* [unique,charset(UTF16)] */
929 const char *data_type
;/* [unique,charset(UTF16)] */
930 const char *print_processor
;/* [unique,charset(UTF16)] */
931 const char *parameters
;/* [unique,charset(UTF16)] */
932 const char *driver_name
;/* [unique,charset(UTF16)] */
933 uint32_t _devmode_ptr
;
934 const char *text_status
;/* [unique,charset(UTF16)] */
935 uint32_t _secdesc_ptr
;
937 uint32_t priority
;/* [range(0,99)] */
941 uint32_t total_pages
;
943 struct spoolss_Time submitted
;
945 uint32_t pages_printed
;
948 struct spoolss_SetJobInfo4
{
950 const char *printer_name
;/* [unique,charset(UTF16)] */
951 const char *server_name
;/* [unique,charset(UTF16)] */
952 const char *user_name
;/* [unique,charset(UTF16)] */
953 const char *document_name
;/* [unique,charset(UTF16)] */
954 const char *notify_name
;/* [unique,charset(UTF16)] */
955 const char *data_type
;/* [unique,charset(UTF16)] */
956 const char *print_processor
;/* [unique,charset(UTF16)] */
957 const char *parameters
;/* [unique,charset(UTF16)] */
958 const char *driver_name
;/* [unique,charset(UTF16)] */
959 uint32_t _devmode_ptr
;
960 const char *text_status
;/* [unique,charset(UTF16)] */
961 uint32_t _secdesc_ptr
;
963 uint32_t priority
;/* [range(0,99)] */
967 uint32_t total_pages
;
969 struct spoolss_Time submitted
;
971 uint32_t pages_printed
;
975 union spoolss_SetJobInfo
{
976 struct spoolss_SetJobInfo1
*info1
;/* [unique,case] */
977 struct spoolss_SetJobInfo2
*info2
;/* [unique,case(2)] */
978 struct spoolss_JobInfo3
*info3
;/* [unique,case(3)] */
979 struct spoolss_SetJobInfo4
*info4
;/* [unique,case(4)] */
982 struct spoolss_JobInfoContainer
{
984 union spoolss_SetJobInfo info
;/* [switch_is(level)] */
987 enum spoolss_JobControl
988 #ifndef USE_UINT_ENUMS
990 SPOOLSS_JOB_CONTROL_PAUSE
=(int)(1),
991 SPOOLSS_JOB_CONTROL_RESUME
=(int)(2),
992 SPOOLSS_JOB_CONTROL_CANCEL
=(int)(3),
993 SPOOLSS_JOB_CONTROL_RESTART
=(int)(4),
994 SPOOLSS_JOB_CONTROL_DELETE
=(int)(5),
995 SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER
=(int)(6),
996 SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED
=(int)(7),
997 SPOOLSS_JOB_CONTROL_RETAIN
=(int)(8),
998 SPOOLSS_JOB_CONTROL_RELEASE
=(int)(9)
1001 { __donnot_use_enum_spoolss_JobControl
=0x7FFFFFFF}
1002 #define SPOOLSS_JOB_CONTROL_PAUSE ( 1 )
1003 #define SPOOLSS_JOB_CONTROL_RESUME ( 2 )
1004 #define SPOOLSS_JOB_CONTROL_CANCEL ( 3 )
1005 #define SPOOLSS_JOB_CONTROL_RESTART ( 4 )
1006 #define SPOOLSS_JOB_CONTROL_DELETE ( 5 )
1007 #define SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER ( 6 )
1008 #define SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED ( 7 )
1009 #define SPOOLSS_JOB_CONTROL_RETAIN ( 8 )
1010 #define SPOOLSS_JOB_CONTROL_RELEASE ( 9 )
1014 enum spoolss_PrinterControl
1015 #ifndef USE_UINT_ENUMS
1017 SPOOLSS_PRINTER_CONTROL_UNPAUSE
=(int)(0),
1018 SPOOLSS_PRINTER_CONTROL_PAUSE
=(int)(1),
1019 SPOOLSS_PRINTER_CONTROL_RESUME
=(int)(2),
1020 SPOOLSS_PRINTER_CONTROL_PURGE
=(int)(3),
1021 SPOOLSS_PRINTER_CONTROL_SET_STATUS
=(int)(4)
1024 { __donnot_use_enum_spoolss_PrinterControl
=0x7FFFFFFF}
1025 #define SPOOLSS_PRINTER_CONTROL_UNPAUSE ( 0 )
1026 #define SPOOLSS_PRINTER_CONTROL_PAUSE ( 1 )
1027 #define SPOOLSS_PRINTER_CONTROL_RESUME ( 2 )
1028 #define SPOOLSS_PRINTER_CONTROL_PURGE ( 3 )
1029 #define SPOOLSS_PRINTER_CONTROL_SET_STATUS ( 4 )
1033 struct spoolss_SetPrinterInfo0
{
1034 const char *servername
;/* [unique,charset(UTF16)] */
1035 const char *printername
;/* [unique,charset(UTF16)] */
1037 uint32_t total_jobs
;
1038 uint32_t total_bytes
;
1039 struct spoolss_Time time
;
1040 uint32_t global_counter
;
1041 uint32_t total_pages
;
1043 uint32_t free_build
;
1045 uint32_t max_spooling
;
1046 uint32_t session_counter
;
1047 uint32_t num_error_out_of_paper
;
1048 uint32_t num_error_not_ready
;
1050 uint32_t number_of_processors
;
1051 enum spoolss_ProcessorType processor_type
;
1052 uint32_t high_part_total_bytes
;
1056 uint32_t enumerate_network_printers
;
1057 uint32_t c_setprinter
;
1058 enum spoolss_ProcessorArchitecture processor_architecture
;
1059 uint16_t processor_level
;
1065 struct spoolss_SetPrinterInfo1
{
1067 const char *description
;/* [unique,charset(UTF16)] */
1068 const char *name
;/* [unique,charset(UTF16)] */
1069 const char *comment
;/* [unique,charset(UTF16)] */
1072 struct spoolss_SetPrinterInfo2
{
1073 const char *servername
;/* [unique,charset(UTF16)] */
1074 const char *printername
;/* [unique,charset(UTF16)] */
1075 const char *sharename
;/* [unique,charset(UTF16)] */
1076 const char *portname
;/* [unique,charset(UTF16)] */
1077 const char *drivername
;/* [unique,charset(UTF16)] */
1078 const char *comment
;/* [unique,charset(UTF16)] */
1079 const char *location
;/* [unique,charset(UTF16)] */
1080 struct spoolss_DeviceMode
*devmode
;/* [unique,subcontext(0)] */
1081 const char *sepfile
;/* [unique,charset(UTF16)] */
1082 const char *printprocessor
;/* [unique,charset(UTF16)] */
1083 const char *datatype
;/* [unique,charset(UTF16)] */
1084 const char *parameters
;/* [unique,charset(UTF16)] */
1085 struct security_descriptor
*secdesc
;/* [unique,subcontext(0)] */
1086 uint32_t attributes
;
1087 uint32_t priority
;/* [range(0,99)] */
1088 uint32_t defaultpriority
;
1093 uint32_t averageppm
;
1096 struct spoolss_SetPrinterInfo3
{
1097 uint32_t sec_desc_ptr
;
1100 struct spoolss_SetPrinterInfo4
{
1101 const char *printername
;/* [unique,charset(UTF16)] */
1102 const char *servername
;/* [unique,charset(UTF16)] */
1103 uint32_t attributes
;
1106 struct spoolss_SetPrinterInfo5
{
1107 const char *printername
;/* [unique,charset(UTF16)] */
1108 const char *portname
;/* [unique,charset(UTF16)] */
1109 uint32_t attributes
;
1110 uint32_t device_not_selected_timeout
;
1111 uint32_t transmission_retry_timeout
;
1114 struct spoolss_SetPrinterInfo6
{
1118 struct spoolss_SetPrinterInfo7
{
1119 const char *guid
;/* [unique,charset(UTF16)] */
1123 union spoolss_SetPrinterInfo
{
1124 struct spoolss_SetPrinterInfo0
*info0
;/* [unique,case(0)] */
1125 struct spoolss_SetPrinterInfo1
*info1
;/* [unique,case] */
1126 struct spoolss_SetPrinterInfo2
*info2
;/* [unique,case(2)] */
1127 struct spoolss_SetPrinterInfo3
*info3
;/* [unique,case(3)] */
1128 struct spoolss_SetPrinterInfo4
*info4
;/* [unique,case(4)] */
1129 struct spoolss_SetPrinterInfo5
*info5
;/* [unique,case(5)] */
1130 struct spoolss_SetPrinterInfo6
*info6
;/* [unique,case(6)] */
1131 struct spoolss_SetPrinterInfo7
*info7
;/* [unique,case(7)] */
1132 struct spoolss_DeviceModeInfo
*info8
;/* [unique,case(8)] */
1133 struct spoolss_DeviceModeInfo
*info9
;/* [unique,case(9)] */
1134 }/* [switch_type(uint32)] */;
1136 struct spoolss_SetPrinterInfoCtr
{
1138 union spoolss_SetPrinterInfo info
;/* [switch_is(level)] */
1141 struct spoolss_StringArray
{
1142 uint32_t _ndr_size
;/* [value((ndr_size_spoolss_StringArray(r,ndr->iconv_convenience,ndr->flags)-4)/2)] */
1143 const char ** string
;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
1146 struct spoolss_AddDriverInfo1
{
1147 const char *driver_name
;/* [unique,charset(UTF16)] */
1150 enum spoolss_DriverOSVersion
1151 #ifndef USE_UINT_ENUMS
1153 SPOOLSS_DRIVER_VERSION_9X
=(int)(0),
1154 SPOOLSS_DRIVER_VERSION_NT35
=(int)(1),
1155 SPOOLSS_DRIVER_VERSION_NT4
=(int)(2),
1156 SPOOLSS_DRIVER_VERSION_200X
=(int)(3)
1159 { __donnot_use_enum_spoolss_DriverOSVersion
=0x7FFFFFFF}
1160 #define SPOOLSS_DRIVER_VERSION_9X ( 0 )
1161 #define SPOOLSS_DRIVER_VERSION_NT35 ( 1 )
1162 #define SPOOLSS_DRIVER_VERSION_NT4 ( 2 )
1163 #define SPOOLSS_DRIVER_VERSION_200X ( 3 )
1167 struct spoolss_AddDriverInfo2
{
1168 enum spoolss_DriverOSVersion version
;
1169 const char *driver_name
;/* [unique,charset(UTF16)] */
1170 const char *architecture
;/* [unique,charset(UTF16)] */
1171 const char *driver_path
;/* [unique,charset(UTF16)] */
1172 const char *data_file
;/* [unique,charset(UTF16)] */
1173 const char *config_file
;/* [unique,charset(UTF16)] */
1176 struct spoolss_AddDriverInfo3
{
1177 enum spoolss_DriverOSVersion version
;
1178 const char *driver_name
;/* [unique,charset(UTF16)] */
1179 const char *architecture
;/* [unique,charset(UTF16)] */
1180 const char *driver_path
;/* [unique,charset(UTF16)] */
1181 const char *data_file
;/* [unique,charset(UTF16)] */
1182 const char *config_file
;/* [unique,charset(UTF16)] */
1183 const char *help_file
;/* [unique,charset(UTF16)] */
1184 const char *monitor_name
;/* [unique,charset(UTF16)] */
1185 const char *default_datatype
;/* [unique,charset(UTF16)] */
1186 uint32_t _ndr_size_dependent_files
;/* [value(((ndr_size_spoolss_StringArray(dependent_files,ndr->iconv_convenience,ndr->flags)-4)/2))] */
1187 struct spoolss_StringArray
*dependent_files
;/* [unique] */
1190 struct spoolss_AddDriverInfo4
{
1191 enum spoolss_DriverOSVersion version
;
1192 const char *driver_name
;/* [unique,charset(UTF16)] */
1193 const char *architecture
;/* [unique,charset(UTF16)] */
1194 const char *driver_path
;/* [unique,charset(UTF16)] */
1195 const char *data_file
;/* [unique,charset(UTF16)] */
1196 const char *config_file
;/* [unique,charset(UTF16)] */
1197 const char *help_file
;/* [unique,charset(UTF16)] */
1198 const char *monitor_name
;/* [unique,charset(UTF16)] */
1199 const char *default_datatype
;/* [unique,charset(UTF16)] */
1200 uint32_t _ndr_size_dependent_files
;/* [value(((ndr_size_spoolss_StringArray(dependent_files,ndr->iconv_convenience,ndr->flags)-4)/2))] */
1201 struct spoolss_StringArray
*dependent_files
;/* [unique] */
1202 uint32_t _ndr_size_previous_names
;/* [value(((ndr_size_spoolss_StringArray(previous_names,ndr->iconv_convenience,ndr->flags)-4)/2))] */
1203 struct spoolss_StringArray
*previous_names
;/* [unique] */
1206 /* bitmap spoolss_DriverAttributes */
1207 #define PRINTER_DRIVER_PACKAGE_AWARE ( 0x00000002 )
1209 struct spoolss_AddDriverInfo5
{
1210 enum spoolss_DriverOSVersion version
;
1211 const char *driver_name
;/* [unique,charset(UTF16)] */
1212 const char *architecture
;/* [unique,charset(UTF16)] */
1213 const char *driver_path
;/* [unique,charset(UTF16)] */
1214 const char *data_file
;/* [unique,charset(UTF16)] */
1215 const char *config_file
;/* [unique,charset(UTF16)] */
1216 uint32_t driver_attributes
;
1217 uint32_t config_version
;
1218 uint32_t driver_version
;
1221 struct spoolss_AddDriverInfo6
{
1222 enum spoolss_DriverOSVersion version
;
1223 const char *driver_name
;/* [unique,charset(UTF16)] */
1224 const char *architecture
;/* [unique,charset(UTF16)] */
1225 const char *driver_path
;/* [unique,charset(UTF16)] */
1226 const char *data_file
;/* [unique,charset(UTF16)] */
1227 const char *config_file
;/* [unique,charset(UTF16)] */
1228 const char *help_file
;/* [unique,charset(UTF16)] */
1229 const char *monitor_name
;/* [unique,charset(UTF16)] */
1230 const char *default_datatype
;/* [unique,charset(UTF16)] */
1231 uint32_t _ndr_size_dependent_files
;/* [value(((ndr_size_spoolss_StringArray(dependent_files,ndr->iconv_convenience,ndr->flags)-4)/2))] */
1232 struct spoolss_StringArray
*dependent_files
;/* [unique] */
1233 uint32_t _ndr_size_previous_names
;/* [value(((ndr_size_spoolss_StringArray(previous_names,ndr->iconv_convenience,ndr->flags)-4)/2))] */
1234 struct spoolss_StringArray
*previous_names
;/* [unique] */
1236 uint64_t driver_version
;
1237 const char *manufacturer_name
;/* [unique,charset(UTF16)] */
1238 const char *manufacturer_url
;/* [unique,charset(UTF16)] */
1239 const char *hardware_id
;/* [unique,charset(UTF16)] */
1240 const char *provider
;/* [unique,charset(UTF16)] */
1243 struct spoolss_AddDriverInfo8
{
1244 enum spoolss_DriverOSVersion version
;
1245 const char *driver_name
;/* [unique,charset(UTF16)] */
1246 const char *architecture
;/* [unique,charset(UTF16)] */
1247 const char *driver_path
;/* [unique,charset(UTF16)] */
1248 const char *data_file
;/* [unique,charset(UTF16)] */
1249 const char *config_file
;/* [unique,charset(UTF16)] */
1250 const char *help_file
;/* [unique,charset(UTF16)] */
1251 const char *monitor_name
;/* [unique,charset(UTF16)] */
1252 const char *default_datatype
;/* [unique,charset(UTF16)] */
1253 uint32_t _ndr_size_dependent_files
;/* [value(((ndr_size_spoolss_StringArray(dependent_files,ndr->iconv_convenience,ndr->flags)-4)/2))] */
1254 struct spoolss_StringArray
*dependent_files
;/* [unique] */
1255 uint32_t _ndr_size_previous_names
;/* [value(((ndr_size_spoolss_StringArray(previous_names,ndr->iconv_convenience,ndr->flags)-4)/2))] */
1256 struct spoolss_StringArray
*previous_names
;/* [unique] */
1258 uint64_t driver_version
;
1259 const char *manufacturer_name
;/* [unique,charset(UTF16)] */
1260 const char *manufacturer_url
;/* [unique,charset(UTF16)] */
1261 const char *hardware_id
;/* [unique,charset(UTF16)] */
1262 const char *provider
;/* [unique,charset(UTF16)] */
1263 const char *print_processor
;/* [unique,charset(UTF16)] */
1264 const char *vendor_setup
;/* [unique,charset(UTF16)] */
1265 uint32_t _ndr_size_color_profiles
;/* [value(((ndr_size_spoolss_StringArray(color_profiles,ndr->iconv_convenience,ndr->flags)-4)/2))] */
1266 struct spoolss_StringArray
*color_profiles
;/* [unique] */
1267 const char *inf_path
;/* [unique,charset(UTF16)] */
1268 uint32_t printer_driver_attributes
;
1269 uint32_t _ndr_size_core_driver_dependencies
;/* [value(((ndr_size_spoolss_StringArray(core_driver_dependencies,ndr->iconv_convenience,ndr->flags)-4)/2))] */
1270 struct spoolss_StringArray
*core_driver_dependencies
;/* [unique] */
1271 NTTIME min_inbox_driver_ver_date
;
1272 uint64_t min_inbox_driver_ver_version
;
1275 union spoolss_AddDriverInfo
{
1276 struct spoolss_AddDriverInfo1
*info1
;/* [unique,case] */
1277 struct spoolss_AddDriverInfo2
*info2
;/* [unique,case(2)] */
1278 struct spoolss_AddDriverInfo3
*info3
;/* [unique,case(3)] */
1279 struct spoolss_AddDriverInfo4
*info4
;/* [unique,case(4)] */
1280 struct spoolss_AddDriverInfo6
*info6
;/* [unique,case(6)] */
1281 struct spoolss_AddDriverInfo8
*info8
;/* [unique,case(8)] */
1282 }/* [switch_type(uint32)] */;
1284 struct spoolss_AddDriverInfoCtr
{
1286 union spoolss_AddDriverInfo info
;/* [switch_is(level)] */
1289 struct spoolss_DriverInfo1
{
1290 const char * driver_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1291 }/* [gensize,public] */;
1293 struct spoolss_DriverInfo2
{
1294 enum spoolss_DriverOSVersion version
;
1295 const char * driver_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1296 const char * architecture
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1297 const char * driver_path
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1298 const char * data_file
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1299 const char * config_file
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1300 }/* [gensize,public] */;
1302 struct spoolss_DriverInfo3
{
1303 enum spoolss_DriverOSVersion version
;
1304 const char * driver_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1305 const char * architecture
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1306 const char * driver_path
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1307 const char * data_file
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1308 const char * config_file
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1309 const char * help_file
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1310 const char ** dependent_files
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1311 const char * monitor_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1312 const char * default_datatype
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1313 }/* [gensize,public] */;
1315 struct spoolss_DriverInfo4
{
1316 enum spoolss_DriverOSVersion version
;
1317 const char * driver_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1318 const char * architecture
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1319 const char * driver_path
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1320 const char * data_file
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1321 const char * config_file
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1322 const char * help_file
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1323 const char ** dependent_files
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1324 const char * monitor_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1325 const char * default_datatype
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1326 const char ** previous_names
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1327 }/* [gensize,public] */;
1329 struct spoolss_DriverInfo5
{
1330 enum spoolss_DriverOSVersion version
;
1331 const char * driver_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1332 const char * architecture
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1333 const char * driver_path
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1334 const char * data_file
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1335 const char * config_file
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1336 uint32_t driver_attributes
;
1337 uint32_t config_version
;
1338 uint32_t driver_version
;
1339 }/* [gensize,public] */;
1341 struct spoolss_DriverInfo6
{
1342 enum spoolss_DriverOSVersion version
;
1343 const char * driver_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1344 const char * architecture
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1345 const char * driver_path
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1346 const char * data_file
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1347 const char * config_file
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1348 const char * help_file
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1349 const char ** dependent_files
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1350 const char * monitor_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1351 const char * default_datatype
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1352 const char ** previous_names
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1354 uint64_t driver_version
;
1355 const char * manufacturer_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1356 const char * manufacturer_url
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1357 const char * hardware_id
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1358 const char * provider
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1359 }/* [gensize,public] */;
1361 struct spoolss_DriverInfo8
{
1362 enum spoolss_DriverOSVersion version
;
1363 const char * driver_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1364 const char * architecture
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1365 const char * driver_path
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1366 const char * data_file
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1367 const char * config_file
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1368 const char * help_file
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1369 const char * monitor_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1370 const char * default_datatype
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1371 const char ** dependent_files
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1372 const char ** previous_names
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1374 uint64_t driver_version
;
1375 const char * manufacturer_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1376 const char * manufacturer_url
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1377 const char * hardware_id
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1378 const char * provider
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1379 const char * print_processor
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1380 const char * vendor_setup
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1381 const char ** color_profiles
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1382 const char * inf_path
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1383 uint32_t printer_driver_attributes
;
1384 const char ** core_driver_dependencies
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1385 NTTIME min_inbox_driver_ver_date
;
1386 uint64_t min_inbox_driver_ver_version
;
1387 }/* [gensize,public] */;
1389 enum spoolss_DriverFileType
1390 #ifndef USE_UINT_ENUMS
1392 SPOOLSS_DRIVER_FILE_TYPE_RENDERING
=(int)(0x00000000),
1393 SPOOLSS_DRIVER_FILE_TYPE_CONFIGURATION
=(int)(0x00000001),
1394 SPOOLSS_DRIVER_FILE_TYPE_DATA
=(int)(0x00000002),
1395 SPOOLSS_DRIVER_FILE_TYPE_HELP
=(int)(0x00000003),
1396 SPOOLSS_DRIVER_FILE_TYPE_OTHER
=(int)(0x00000004)
1399 { __donnot_use_enum_spoolss_DriverFileType
=0x7FFFFFFF}
1400 #define SPOOLSS_DRIVER_FILE_TYPE_RENDERING ( 0x00000000 )
1401 #define SPOOLSS_DRIVER_FILE_TYPE_CONFIGURATION ( 0x00000001 )
1402 #define SPOOLSS_DRIVER_FILE_TYPE_DATA ( 0x00000002 )
1403 #define SPOOLSS_DRIVER_FILE_TYPE_HELP ( 0x00000003 )
1404 #define SPOOLSS_DRIVER_FILE_TYPE_OTHER ( 0x00000004 )
1408 struct spoolss_DriverFileInfo
{
1409 const char * file_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1410 enum spoolss_DriverFileType file_type
;
1411 uint32_t file_version
;
1414 struct spoolss_DriverInfo101
{
1415 enum spoolss_DriverOSVersion version
;
1416 const char * driver_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1417 const char * architecture
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1418 struct spoolss_DriverFileInfo
*file_info
;/* [relative,size_is(file_count)] */
1419 uint32_t file_count
;
1420 const char * monitor_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1421 const char * default_datatype
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1422 const char ** previous_names
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1424 uint64_t driver_version
;
1425 const char * manufacturer_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1426 const char * manufacturer_url
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1427 const char * hardware_id
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1428 const char * provider
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1429 }/* [gensize,nopush,public,nopull] */;
1431 union spoolss_DriverInfo
{
1432 struct spoolss_DriverInfo1 info1
;/* [case] */
1433 struct spoolss_DriverInfo2 info2
;/* [case(2)] */
1434 struct spoolss_DriverInfo3 info3
;/* [case(3)] */
1435 struct spoolss_DriverInfo4 info4
;/* [case(4)] */
1436 struct spoolss_DriverInfo5 info5
;/* [case(5)] */
1437 struct spoolss_DriverInfo6 info6
;/* [case(6)] */
1438 struct spoolss_DriverInfo8 info8
;/* [case(8)] */
1439 struct spoolss_DriverInfo101 info101
;/* [case(101)] */
1440 }/* [relative_base,gensize,public,nodiscriminant] */;
1442 struct spoolss_DriverDirectoryInfo1
{
1443 const char * directory_name
;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
1444 }/* [gensize,public] */;
1446 union spoolss_DriverDirectoryInfo
{
1447 struct spoolss_DriverDirectoryInfo1 info1
;/* [case] */
1448 }/* [gensize,relative_base,nodiscriminant,public] */;
1450 struct spoolss_PrintProcessorInfo1
{
1451 const char * print_processor_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1452 }/* [gensize,public] */;
1454 union spoolss_PrintProcessorInfo
{
1455 struct spoolss_PrintProcessorInfo1 info1
;/* [case] */
1456 }/* [relative_base,nodiscriminant,public] */;
1458 struct spoolss_PrintProcessorDirectoryInfo1
{
1459 const char * directory_name
;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
1460 }/* [gensize,public] */;
1462 union spoolss_PrintProcessorDirectoryInfo
{
1463 struct spoolss_PrintProcessorDirectoryInfo1 info1
;/* [case] */
1464 }/* [gensize,relative_base,nodiscriminant,public] */;
1466 struct spoolss_DocumentInfo1
{
1467 const char *document_name
;/* [unique,charset(UTF16)] */
1468 const char *output_file
;/* [unique,charset(UTF16)] */
1469 const char *datatype
;/* [unique,charset(UTF16)] */
1472 union spoolss_DocumentInfo
{
1473 struct spoolss_DocumentInfo1
*info1
;/* [unique,case] */
1474 }/* [switch_type(uint32)] */;
1476 struct spoolss_OSVersion
{
1477 uint32_t _ndr_size
;/* [value(ndr_size_spoolss_OSVersion(r,ndr->iconv_convenience,ndr->flags))] */
1481 uint32_t platform_id
;/* [value(2)] */
1482 const char * extra_string
;/* [subcontext_size(256),subcontext(0),flag(LIBNDR_FLAG_STR_NULLTERM)] */
1483 }/* [gensize,public] */;
1485 struct spoolss_OSVersionEx
{
1486 uint32_t _ndr_size
;/* [value(ndr_size_spoolss_OSVersionEx(r,ndr->iconv_convenience,ndr->flags))] */
1490 uint32_t platform_id
;/* [value(2)] */
1491 const char * extra_string
;/* [subcontext_size(256),subcontext(0),flag(LIBNDR_FLAG_STR_NULLTERM)] */
1492 uint16_t service_pack_major
;
1493 uint16_t service_pack_minor
;
1494 uint16_t suite_mask
;
1495 uint8_t product_type
;
1497 }/* [gensize,public] */;
1499 union spoolss_PrinterData
{
1500 const char * string
;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(REG_SZ)] */
1501 DATA_BLOB binary
;/* [flag(LIBNDR_FLAG_REMAINING),case(REG_BINARY)] */
1502 uint32_t value
;/* [case(REG_DWORD)] */
1503 const char ** string_array
;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(REG_MULTI_SZ)] */
1504 DATA_BLOB data
;/* [flag(LIBNDR_FLAG_REMAINING),default] */
1505 }/* [gensize,public,nodiscriminant] */;
1507 enum spoolss_FormFlags
1508 #ifndef USE_UINT_ENUMS
1510 SPOOLSS_FORM_USER
=(int)(0),
1511 SPOOLSS_FORM_BUILTIN
=(int)(1),
1512 SPOOLSS_FORM_PRINTER
=(int)(2)
1515 { __donnot_use_enum_spoolss_FormFlags
=0x7FFFFFFF}
1516 #define SPOOLSS_FORM_USER ( 0 )
1517 #define SPOOLSS_FORM_BUILTIN ( 1 )
1518 #define SPOOLSS_FORM_PRINTER ( 2 )
1522 struct spoolss_FormSize
{
1527 struct spoolss_FormArea
{
1534 struct spoolss_FormInfo1
{
1535 enum spoolss_FormFlags flags
;
1536 const char * form_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1537 struct spoolss_FormSize size
;
1538 struct spoolss_FormArea area
;
1539 }/* [gensize,public] */;
1541 /* bitmap spoolss_FormStringType */
1542 #define SPOOLSS_FORM_STRING_TYPE_NONE ( 0x00000001 )
1543 #define SPOOLSS_FORM_STRING_TYPE_MUI_DLL ( 0x00000002 )
1544 #define SPOOLSS_FORM_STRING_TYPE_LANG_PAIR ( 0x00000004 )
1546 struct spoolss_FormInfo2
{
1547 enum spoolss_FormFlags flags
;
1548 const char * form_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1549 struct spoolss_FormSize size
;
1550 struct spoolss_FormArea area
;
1551 const char * keyword
;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
1552 uint32_t string_type
;
1553 const char * mui_dll
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1554 uint32_t ressource_id
;
1555 const char * display_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1557 }/* [gensize,public] */;
1559 union spoolss_FormInfo
{
1560 struct spoolss_FormInfo1 info1
;/* [case] */
1561 struct spoolss_FormInfo2 info2
;/* [case(2)] */
1562 }/* [relative_base,gensize,public,nodiscriminant] */;
1564 struct spoolss_AddFormInfo1
{
1565 enum spoolss_FormFlags flags
;
1566 const char *form_name
;/* [unique,charset(UTF16)] */
1567 struct spoolss_FormSize size
;
1568 struct spoolss_FormArea area
;
1571 struct spoolss_AddFormInfo2
{
1572 enum spoolss_FormFlags flags
;
1573 const char *form_name
;/* [unique,charset(UTF16)] */
1574 struct spoolss_FormSize size
;
1575 struct spoolss_FormArea area
;
1576 const char *keyword
;/* [unique,charset(DOS)] */
1577 uint32_t string_type
;
1578 const char *mui_dll
;/* [unique,charset(UTF16)] */
1579 uint32_t ressource_id
;
1580 const char *display_name
;/* [unique,charset(UTF16)] */
1584 union spoolss_AddFormInfo
{
1585 struct spoolss_AddFormInfo1
*info1
;/* [unique,case] */
1586 struct spoolss_AddFormInfo2
*info2
;/* [unique,case(2)] */
1587 }/* [switch_type(uint32)] */;
1589 struct spoolss_PortInfo1
{
1590 const char * port_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1591 }/* [gensize,public] */;
1593 /* bitmap spoolss_PortType */
1594 #define SPOOLSS_PORT_TYPE_WRITE ( 0x00000001 )
1595 #define SPOOLSS_PORT_TYPE_READ ( 0x00000002 )
1596 #define SPOOLSS_PORT_TYPE_REDIRECTED ( 0x00000004 )
1597 #define SPOOLSS_PORT_TYPE_NET_ATTACHED ( 0x00000008 )
1599 struct spoolss_PortInfo2
{
1600 const char * port_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1601 const char * monitor_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1602 const char * description
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1605 }/* [gensize,public] */;
1607 enum spoolss_PortStatus
1608 #ifndef USE_UINT_ENUMS
1610 PORT_STATUS_CLEAR
=(int)(0x00000000),
1611 PORT_STATUS_OFFLINE
=(int)(0x00000001),
1612 PORT_STATUS_PAPER_JAM
=(int)(0x00000002),
1613 PORT_STATUS_PAPER_OUT
=(int)(0x00000003),
1614 PORT_STATUS_OUTPUT_BIN_FULL
=(int)(0x00000004),
1615 PORT_STATUS_PAPER_PROBLEM
=(int)(0x00000005),
1616 PORT_STATUS_NO_TONER
=(int)(0x00000006),
1617 PORT_STATUS_DOOR_OPEN
=(int)(0x00000007),
1618 PORT_STATUS_USER_INTERVENTION
=(int)(0x00000008),
1619 PORT_STATUS_OUT_OF_MEMORY
=(int)(0x00000009),
1620 PORT_STATUS_TONER_LOW
=(int)(0x0000000A),
1621 PORT_STATUS_WARMING_UP
=(int)(0x0000000B),
1622 PORT_STATUS_POWER_SAVE
=(int)(0x0000000C)
1625 { __donnot_use_enum_spoolss_PortStatus
=0x7FFFFFFF}
1626 #define PORT_STATUS_CLEAR ( 0x00000000 )
1627 #define PORT_STATUS_OFFLINE ( 0x00000001 )
1628 #define PORT_STATUS_PAPER_JAM ( 0x00000002 )
1629 #define PORT_STATUS_PAPER_OUT ( 0x00000003 )
1630 #define PORT_STATUS_OUTPUT_BIN_FULL ( 0x00000004 )
1631 #define PORT_STATUS_PAPER_PROBLEM ( 0x00000005 )
1632 #define PORT_STATUS_NO_TONER ( 0x00000006 )
1633 #define PORT_STATUS_DOOR_OPEN ( 0x00000007 )
1634 #define PORT_STATUS_USER_INTERVENTION ( 0x00000008 )
1635 #define PORT_STATUS_OUT_OF_MEMORY ( 0x00000009 )
1636 #define PORT_STATUS_TONER_LOW ( 0x0000000A )
1637 #define PORT_STATUS_WARMING_UP ( 0x0000000B )
1638 #define PORT_STATUS_POWER_SAVE ( 0x0000000C )
1642 enum spoolss_PortSeverity
1643 #ifndef USE_UINT_ENUMS
1645 PORT_STATUS_TYPE_ERROR
=(int)(0x00000001),
1646 PORT_STATUS_TYPE_WARNING
=(int)(0x00000002),
1647 PORT_STATUS_TYPE_INFO
=(int)(0x00000003)
1650 { __donnot_use_enum_spoolss_PortSeverity
=0x7FFFFFFF}
1651 #define PORT_STATUS_TYPE_ERROR ( 0x00000001 )
1652 #define PORT_STATUS_TYPE_WARNING ( 0x00000002 )
1653 #define PORT_STATUS_TYPE_INFO ( 0x00000003 )
1657 struct spoolss_PortInfo3
{
1658 enum spoolss_PortStatus status
;
1659 const char * status_string
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1660 enum spoolss_PortSeverity severity
;
1661 }/* [gensize,public] */;
1663 struct spoolss_PortInfoFF
{
1664 const char * port_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1665 DATA_BLOB monitor_data
;
1666 }/* [gensize,public] */;
1668 union spoolss_PortInfo
{
1669 struct spoolss_PortInfo1 info1
;/* [case] */
1670 struct spoolss_PortInfo2 info2
;/* [case(2)] */
1671 struct spoolss_PortInfo3 info3
;/* [case(3)] */
1672 struct spoolss_PortInfoFF infoFF
;/* [case(0xff)] */
1673 }/* [relative_base,nodiscriminant,public] */;
1675 struct spoolss_MonitorInfo1
{
1676 const char * monitor_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1677 }/* [gensize,public] */;
1679 struct spoolss_MonitorInfo2
{
1680 const char * monitor_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1681 const char * environment
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1682 const char * dll_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1683 }/* [gensize,public] */;
1685 union spoolss_MonitorInfo
{
1686 struct spoolss_MonitorInfo1 info1
;/* [case] */
1687 struct spoolss_MonitorInfo2 info2
;/* [case(2)] */
1688 }/* [relative_base,nodiscriminant,public] */;
1690 struct spoolss_PrintProcDataTypesInfo1
{
1691 const char * name_array
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1692 }/* [gensize,public] */;
1694 union spoolss_PrintProcDataTypesInfo
{
1695 struct spoolss_PrintProcDataTypesInfo1 info1
;/* [case] */
1696 }/* [relative_base,nodiscriminant,public] */;
1698 /* bitmap spoolss_PrinterChangeFlags */
1699 #define PRINTER_CHANGE_ADD_PRINTER ( 0x00000001 )
1700 #define PRINTER_CHANGE_SET_PRINTER ( 0x00000002 )
1701 #define PRINTER_CHANGE_DELETE_PRINTER ( 0x00000004 )
1702 #define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER ( 0x00000008 )
1703 #define PRINTER_CHANGE_ADD_JOB ( 0x00000100 )
1704 #define PRINTER_CHANGE_SET_JOB ( 0x00000200 )
1705 #define PRINTER_CHANGE_DELETE_JOB ( 0x00000400 )
1706 #define PRINTER_CHANGE_WRITE_JOB ( 0x00000800 )
1707 #define PRINTER_CHANGE_ADD_FORM ( 0x00010000 )
1708 #define PRINTER_CHANGE_SET_FORM ( 0x00020000 )
1709 #define PRINTER_CHANGE_DELETE_FORM ( 0x00040000 )
1710 #define PRINTER_CHANGE_ADD_PORT ( 0x00100000 )
1711 #define PRINTER_CHANGE_CONFIGURE_PORT ( 0x00200000 )
1712 #define PRINTER_CHANGE_DELETE_PORT ( 0x00400000 )
1713 #define PRINTER_CHANGE_ADD_PRINT_PROCESSOR ( 0x01000000 )
1714 #define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR ( 0x04000000 )
1715 #define PRINTER_CHANGE_SERVER ( 0x08000000 )
1716 #define PRINTER_CHANGE_ADD_PRINTER_DRIVER ( 0x10000000 )
1717 #define PRINTER_CHANGE_SET_PRINTER_DRIVER ( 0x20000000 )
1718 #define PRINTER_CHANGE_DELETE_PRINTER_DRIVER ( 0x40000000 )
1719 #define PRINTER_CHANGE_TIMEOUT ( 0x80000000 )
1721 enum spoolss_JobNotifyField
1722 #ifndef USE_UINT_ENUMS
1724 JOB_NOTIFY_FIELD_PRINTER_NAME
=(int)(0x00),
1725 JOB_NOTIFY_FIELD_MACHINE_NAME
=(int)(0x01),
1726 JOB_NOTIFY_FIELD_PORT_NAME
=(int)(0x02),
1727 JOB_NOTIFY_FIELD_USER_NAME
=(int)(0x03),
1728 JOB_NOTIFY_FIELD_NOTIFY_NAME
=(int)(0x04),
1729 JOB_NOTIFY_FIELD_DATATYPE
=(int)(0x05),
1730 JOB_NOTIFY_FIELD_PRINT_PROCESSOR
=(int)(0x06),
1731 JOB_NOTIFY_FIELD_PARAMETERS
=(int)(0x07),
1732 JOB_NOTIFY_FIELD_DRIVER_NAME
=(int)(0x08),
1733 JOB_NOTIFY_FIELD_DEVMODE
=(int)(0x09),
1734 JOB_NOTIFY_FIELD_STATUS
=(int)(0x0a),
1735 JOB_NOTIFY_FIELD_STATUS_STRING
=(int)(0x0b),
1736 JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR
=(int)(0x0c),
1737 JOB_NOTIFY_FIELD_DOCUMENT
=(int)(0x0d),
1738 JOB_NOTIFY_FIELD_PRIORITY
=(int)(0x0e),
1739 JOB_NOTIFY_FIELD_POSITION
=(int)(0x0f),
1740 JOB_NOTIFY_FIELD_SUBMITTED
=(int)(0x10),
1741 JOB_NOTIFY_FIELD_START_TIME
=(int)(0x11),
1742 JOB_NOTIFY_FIELD_UNTIL_TIME
=(int)(0x12),
1743 JOB_NOTIFY_FIELD_TIME
=(int)(0x13),
1744 JOB_NOTIFY_FIELD_TOTAL_PAGES
=(int)(0x14),
1745 JOB_NOTIFY_FIELD_PAGES_PRINTED
=(int)(0x15),
1746 JOB_NOTIFY_FIELD_TOTAL_BYTES
=(int)(0x16),
1747 JOB_NOTIFY_FIELD_BYTES_PRINTED
=(int)(0x17)
1750 { __donnot_use_enum_spoolss_JobNotifyField
=0x7FFFFFFF}
1751 #define JOB_NOTIFY_FIELD_PRINTER_NAME ( 0x00 )
1752 #define JOB_NOTIFY_FIELD_MACHINE_NAME ( 0x01 )
1753 #define JOB_NOTIFY_FIELD_PORT_NAME ( 0x02 )
1754 #define JOB_NOTIFY_FIELD_USER_NAME ( 0x03 )
1755 #define JOB_NOTIFY_FIELD_NOTIFY_NAME ( 0x04 )
1756 #define JOB_NOTIFY_FIELD_DATATYPE ( 0x05 )
1757 #define JOB_NOTIFY_FIELD_PRINT_PROCESSOR ( 0x06 )
1758 #define JOB_NOTIFY_FIELD_PARAMETERS ( 0x07 )
1759 #define JOB_NOTIFY_FIELD_DRIVER_NAME ( 0x08 )
1760 #define JOB_NOTIFY_FIELD_DEVMODE ( 0x09 )
1761 #define JOB_NOTIFY_FIELD_STATUS ( 0x0a )
1762 #define JOB_NOTIFY_FIELD_STATUS_STRING ( 0x0b )
1763 #define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR ( 0x0c )
1764 #define JOB_NOTIFY_FIELD_DOCUMENT ( 0x0d )
1765 #define JOB_NOTIFY_FIELD_PRIORITY ( 0x0e )
1766 #define JOB_NOTIFY_FIELD_POSITION ( 0x0f )
1767 #define JOB_NOTIFY_FIELD_SUBMITTED ( 0x10 )
1768 #define JOB_NOTIFY_FIELD_START_TIME ( 0x11 )
1769 #define JOB_NOTIFY_FIELD_UNTIL_TIME ( 0x12 )
1770 #define JOB_NOTIFY_FIELD_TIME ( 0x13 )
1771 #define JOB_NOTIFY_FIELD_TOTAL_PAGES ( 0x14 )
1772 #define JOB_NOTIFY_FIELD_PAGES_PRINTED ( 0x15 )
1773 #define JOB_NOTIFY_FIELD_TOTAL_BYTES ( 0x16 )
1774 #define JOB_NOTIFY_FIELD_BYTES_PRINTED ( 0x17 )
1778 enum spoolss_PrintNotifyField
1779 #ifndef USE_UINT_ENUMS
1781 PRINTER_NOTIFY_FIELD_SERVER_NAME
=(int)(0x00),
1782 PRINTER_NOTIFY_FIELD_PRINTER_NAME
=(int)(0x01),
1783 PRINTER_NOTIFY_FIELD_SHARE_NAME
=(int)(0x02),
1784 PRINTER_NOTIFY_FIELD_PORT_NAME
=(int)(0x03),
1785 PRINTER_NOTIFY_FIELD_DRIVER_NAME
=(int)(0x04),
1786 PRINTER_NOTIFY_FIELD_COMMENT
=(int)(0x05),
1787 PRINTER_NOTIFY_FIELD_LOCATION
=(int)(0x06),
1788 PRINTER_NOTIFY_FIELD_DEVMODE
=(int)(0x07),
1789 PRINTER_NOTIFY_FIELD_SEPFILE
=(int)(0x08),
1790 PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR
=(int)(0x09),
1791 PRINTER_NOTIFY_FIELD_PARAMETERS
=(int)(0x0a),
1792 PRINTER_NOTIFY_FIELD_DATATYPE
=(int)(0x0b),
1793 PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR
=(int)(0x0c),
1794 PRINTER_NOTIFY_FIELD_ATTRIBUTES
=(int)(0x0d),
1795 PRINTER_NOTIFY_FIELD_PRIORITY
=(int)(0x0e),
1796 PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY
=(int)(0x0f),
1797 PRINTER_NOTIFY_FIELD_START_TIME
=(int)(0x10),
1798 PRINTER_NOTIFY_FIELD_UNTIL_TIME
=(int)(0x11),
1799 PRINTER_NOTIFY_FIELD_STATUS
=(int)(0x12),
1800 PRINTER_NOTIFY_FIELD_STATUS_STRING
=(int)(0x13),
1801 PRINTER_NOTIFY_FIELD_CJOBS
=(int)(0x14),
1802 PRINTER_NOTIFY_FIELD_AVERAGE_PPM
=(int)(0x15),
1803 PRINTER_NOTIFY_FIELD_TOTAL_PAGES
=(int)(0x16),
1804 PRINTER_NOTIFY_FIELD_PAGES_PRINTED
=(int)(0x17),
1805 PRINTER_NOTIFY_FIELD_TOTAL_BYTES
=(int)(0x18),
1806 PRINTER_NOTIFY_FIELD_BYTES_PRINTED
=(int)(0x19),
1807 PRINTER_NOTIFY_FIELD_OBJECT_GUID
=(int)(0x1a),
1808 PRINTER_NOTIFY_FIELD_FRIENDLY_NAME
=(int)(0x1b)
1811 { __donnot_use_enum_spoolss_PrintNotifyField
=0x7FFFFFFF}
1812 #define PRINTER_NOTIFY_FIELD_SERVER_NAME ( 0x00 )
1813 #define PRINTER_NOTIFY_FIELD_PRINTER_NAME ( 0x01 )
1814 #define PRINTER_NOTIFY_FIELD_SHARE_NAME ( 0x02 )
1815 #define PRINTER_NOTIFY_FIELD_PORT_NAME ( 0x03 )
1816 #define PRINTER_NOTIFY_FIELD_DRIVER_NAME ( 0x04 )
1817 #define PRINTER_NOTIFY_FIELD_COMMENT ( 0x05 )
1818 #define PRINTER_NOTIFY_FIELD_LOCATION ( 0x06 )
1819 #define PRINTER_NOTIFY_FIELD_DEVMODE ( 0x07 )
1820 #define PRINTER_NOTIFY_FIELD_SEPFILE ( 0x08 )
1821 #define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR ( 0x09 )
1822 #define PRINTER_NOTIFY_FIELD_PARAMETERS ( 0x0a )
1823 #define PRINTER_NOTIFY_FIELD_DATATYPE ( 0x0b )
1824 #define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR ( 0x0c )
1825 #define PRINTER_NOTIFY_FIELD_ATTRIBUTES ( 0x0d )
1826 #define PRINTER_NOTIFY_FIELD_PRIORITY ( 0x0e )
1827 #define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY ( 0x0f )
1828 #define PRINTER_NOTIFY_FIELD_START_TIME ( 0x10 )
1829 #define PRINTER_NOTIFY_FIELD_UNTIL_TIME ( 0x11 )
1830 #define PRINTER_NOTIFY_FIELD_STATUS ( 0x12 )
1831 #define PRINTER_NOTIFY_FIELD_STATUS_STRING ( 0x13 )
1832 #define PRINTER_NOTIFY_FIELD_CJOBS ( 0x14 )
1833 #define PRINTER_NOTIFY_FIELD_AVERAGE_PPM ( 0x15 )
1834 #define PRINTER_NOTIFY_FIELD_TOTAL_PAGES ( 0x16 )
1835 #define PRINTER_NOTIFY_FIELD_PAGES_PRINTED ( 0x17 )
1836 #define PRINTER_NOTIFY_FIELD_TOTAL_BYTES ( 0x18 )
1837 #define PRINTER_NOTIFY_FIELD_BYTES_PRINTED ( 0x19 )
1838 #define PRINTER_NOTIFY_FIELD_OBJECT_GUID ( 0x1a )
1839 #define PRINTER_NOTIFY_FIELD_FRIENDLY_NAME ( 0x1b )
1843 enum spoolss_NotifyType
1844 #ifndef USE_UINT_ENUMS
1846 PRINTER_NOTIFY_TYPE
=(int)(0x00),
1847 JOB_NOTIFY_TYPE
=(int)(0x01)
1850 { __donnot_use_enum_spoolss_NotifyType
=0x7FFFFFFF}
1851 #define PRINTER_NOTIFY_TYPE ( 0x00 )
1852 #define JOB_NOTIFY_TYPE ( 0x01 )
1856 union spoolss_Field
{
1857 uint16_t field
;/* [case(PRINTER_NOTIFY_TYPE)] */
1858 }/* [noprint,nodiscriminant] */;
1860 struct spoolss_NotifyOptionType
{
1861 enum spoolss_NotifyType type
;
1866 union spoolss_Field
*fields
;/* [unique,switch_is(type),size_is(count)] */
1869 /* bitmap spoolssNotifyOptionFlags */
1870 #define PRINTER_NOTIFY_OPTIONS_REFRESH ( 0x00000001 )
1872 struct spoolss_NotifyOption
{
1873 uint32_t version
;/* [value(2)] */
1876 struct spoolss_NotifyOptionType
*types
;/* [unique,size_is(count)] */
1879 struct spoolss_NotifyString
{
1881 const char *string
;/* [unique,charset(UTF16),size_is(size/2)] */
1884 enum spoolss_NotifyTable
1885 #ifndef USE_UINT_ENUMS
1887 NOTIFY_TABLE_DWORD
=(int)(0x0001),
1888 NOTIFY_TABLE_STRING
=(int)(0x0002),
1889 NOTIFY_TABLE_DEVMODE
=(int)(0x0003),
1890 NOTIFY_TABLE_TIME
=(int)(0x0004),
1891 NOTIFY_TABLE_SECURITYDESCRIPTOR
=(int)(0x0005)
1894 { __donnot_use_enum_spoolss_NotifyTable
=0x7FFFFFFF}
1895 #define NOTIFY_TABLE_DWORD ( 0x0001 )
1896 #define NOTIFY_TABLE_STRING ( 0x0002 )
1897 #define NOTIFY_TABLE_DEVMODE ( 0x0003 )
1898 #define NOTIFY_TABLE_TIME ( 0x0004 )
1899 #define NOTIFY_TABLE_SECURITYDESCRIPTOR ( 0x0005 )
1903 union spoolss_NotifyData
{
1904 uint32_t integer
[2];/* [case] */
1905 struct spoolss_NotifyString string
;/* [case(2)] */
1906 struct spoolss_DevmodeContainer devmode
;/* [case(3)] */
1907 struct spoolss_TimeCtr time
;/* [case(4)] */
1908 struct sec_desc_buf sd
;/* [case(5)] */
1909 }/* [switch_type(uint32)] */;
1911 struct spoolss_Notify
{
1912 enum spoolss_NotifyType type
;
1913 union spoolss_Field field
;/* [switch_is(type)] */
1914 enum spoolss_NotifyTable variable_type
;
1916 union spoolss_NotifyData data
;/* [switch_is(variable_type)] */
1919 struct spoolss_NotifyInfo
{
1920 uint32_t version
;/* [value(2)] */
1923 struct spoolss_Notify
*notifies
;/* [size_is(count)] */
1926 union spoolss_ReplyPrinterInfo
{
1927 struct spoolss_NotifyInfo
*info0
;/* [unique,case(0)] */
1928 }/* [switch_type(uint32)] */;
1930 /* bitmap spoolss_PrinterNotifyFlags */
1931 #define PRINTER_NOTIFY_INFO_DISCARDED ( 0x00000001 )
1932 #define PRINTER_NOTIFY_INFO_DISCARDNOTED ( 0x00010000 )
1933 #define PRINTER_NOTIFY_INFO_COLOR_MISMATCH ( 0x00080000 )
1935 struct spoolss_UserLevel1
{
1937 const char *client
;/* [unique,charset(UTF16)] */
1938 const char *user
;/* [unique,charset(UTF16)] */
1940 enum spoolss_MajorVersion major
;
1941 enum spoolss_MinorVersion minor
;
1942 enum spoolss_ProcessorArchitecture processor
;
1945 struct spoolss_UserLevel2
{
1949 struct spoolss_UserLevel3
{
1953 const char *client
;/* [unique,charset(UTF16)] */
1954 const char *user
;/* [unique,charset(UTF16)] */
1956 enum spoolss_MajorVersion major
;
1957 enum spoolss_MinorVersion minor
;
1958 enum spoolss_ProcessorArchitecture processor
;
1962 union spoolss_UserLevel
{
1963 struct spoolss_UserLevel1
*level1
;/* [unique,case] */
1964 struct spoolss_UserLevel2
*level2
;/* [unique,case(2)] */
1965 struct spoolss_UserLevel3
*level3
;/* [unique,case(3)] */
1966 }/* [switch_type(uint32)] */;
1968 struct spoolss_UserLevelCtr
{
1970 union spoolss_UserLevel user_info
;/* [switch_is(level)] */
1973 /* bitmap spoolss_AccessRights */
1974 #define SERVER_ACCESS_ADMINISTER ( 0x00000001 )
1975 #define SERVER_ACCESS_ENUMERATE ( 0x00000002 )
1976 #define PRINTER_ACCESS_ADMINISTER ( 0x00000004 )
1977 #define PRINTER_ACCESS_USE ( 0x00000008 )
1978 #define JOB_ACCESS_ADMINISTER ( 0x00000010 )
1979 #define JOB_ACCESS_READ ( 0x00000020 )
1981 struct spoolss_PrinterEnumValues
{
1982 const char * value_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
1983 uint32_t value_name_len
;/* [value(2*strlen_m_term(value_name))] */
1984 enum winreg_Type type
;
1985 union spoolss_PrinterData
*data
;/* [relative,subcontext_size(r->data_length),subcontext(0),switch_is(type)] */
1986 uint32_t data_length
;/* [value(ndr_size_spoolss_PrinterData(data,type,ndr->iconv_convenience,ndr->flags))] */
1987 }/* [relative_base,gensize,public] */;
1989 /* bitmap spoolss_DeleteDriverFlags */
1990 #define DPD_DELETE_UNUSED_FILES ( 0x00000001 )
1991 #define DPD_DELETE_SPECIFIC_VERSION ( 0x00000002 )
1992 #define DPD_DELETE_ALL_FILES ( 0x00000004 )
1994 enum spoolss_PortProtocol
1995 #ifndef USE_UINT_ENUMS
1997 PROTOCOL_RAWTCP_TYPE
=(int)(1),
1998 PROTOCOL_LPR_TYPE
=(int)(2)
2001 { __donnot_use_enum_spoolss_PortProtocol
=0x7FFFFFFF}
2002 #define PROTOCOL_RAWTCP_TYPE ( 1 )
2003 #define PROTOCOL_LPR_TYPE ( 2 )
2007 struct spoolss_PortData1
{
2008 const char *portname
;/* [charset(UTF16)] */
2009 uint32_t version
;/* [value(0x00000001)] */
2010 enum spoolss_PortProtocol protocol
;
2011 uint32_t size
;/* [value(sizeof(r))] */
2013 const char *hostaddress
;/* [charset(UTF16)] */
2014 const char *snmpcommunity
;/* [charset(UTF16)] */
2016 const char *queue
;/* [charset(UTF16)] */
2017 const char *ip_address
;/* [charset(UTF16)] */
2018 const char *hardware_address
;/* [charset(UTF16)] */
2019 const char *device_type
;/* [charset(UTF16)] */
2020 uint32_t port_number
;
2021 uint32_t snmp_enabled
;
2022 uint32_t snmp_dev_index
;
2025 struct spoolss_PortData2
{
2026 const char *portname
;/* [charset(UTF16)] */
2027 uint32_t version
;/* [value(0x00000002)] */
2028 enum spoolss_PortProtocol protocol
;
2029 uint32_t size
;/* [value(sizeof(r))] */
2031 const char *hostaddress
;/* [charset(UTF16)] */
2032 const char *snmpcommunity
;/* [charset(UTF16)] */
2034 const char *queue
;/* [charset(UTF16)] */
2035 const char *device_type
;/* [charset(UTF16)] */
2036 uint32_t port_number
;
2037 uint32_t snmp_enabled
;
2038 uint32_t snmp_dev_index
;
2039 uint32_t port_monitor_mib_index
;
2042 struct spoolss_MonitorUi
{
2043 const char * dll_name
;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
2046 /* bitmap spoolss_AddPrinterDriverExFlags */
2047 #define APD_STRICT_UPGRADE ( 0x00000001 )
2048 #define APD_STRICT_DOWNGRADE ( 0x00000002 )
2049 #define APD_COPY_ALL_FILES ( 0x00000004 )
2050 #define APD_COPY_NEW_FILES ( 0x00000008 )
2051 #define APD_COPY_FROM_DIRECTORY ( 0x00000010 )
2052 #define APD_DONT_COPY_FILES_TO_CLUSTER ( 0x00001000 )
2053 #define APD_COPY_TO_ALL_SPOOLERS ( 0x00002000 )
2054 #define APD_RETURN_BLOCKING_STATUS_CODE ( 0x00010000 )
2056 struct spoolss_CorePrinterDriver
{
2057 struct GUID core_driver_guid
;
2059 uint64_t driver_version
;
2060 const char *formname
;/* [charset(UTF8)] */
2064 struct _spoolss_EnumPrinters
{
2067 const char *server
;/* [unique,charset(UTF16)] */
2069 DATA_BLOB
*buffer
;/* [unique] */
2074 DATA_BLOB
*info
;/* [unique] */
2075 uint32_t *needed
;/* [ref] */
2076 uint32_t *count
;/* [ref] */
2083 struct __spoolss_EnumPrinters
{
2090 union spoolss_PrinterInfo
*info
;/* [switch_is(level)] */
2096 struct spoolss_EnumPrinters
{
2099 const char *server
;/* [unique,charset(UTF16)] */
2101 DATA_BLOB
*buffer
;/* [unique] */
2106 uint32_t *count
;/* [ref] */
2107 union spoolss_PrinterInfo
**info
;/* [ref,switch_is(level),size_is(,*count)] */
2108 uint32_t *needed
;/* [ref] */
2115 struct spoolss_OpenPrinter
{
2117 const char *printername
;/* [unique,charset(UTF16)] */
2118 const char *datatype
;/* [unique,charset(UTF16)] */
2119 struct spoolss_DevmodeContainer devmode_ctr
;
2120 uint32_t access_mask
;
2124 struct policy_handle
*handle
;/* [ref] */
2131 struct spoolss_SetJob
{
2133 struct policy_handle
*handle
;/* [ref] */
2135 struct spoolss_JobInfoContainer
*ctr
;/* [unique] */
2136 enum spoolss_JobControl command
;
2146 struct spoolss_GetJob
{
2148 struct policy_handle
*handle
;/* [ref] */
2151 DATA_BLOB
*buffer
;/* [unique] */
2156 union spoolss_JobInfo
*info
;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
2157 uint32_t *needed
;/* [ref] */
2164 struct _spoolss_EnumJobs
{
2166 struct policy_handle
*handle
;/* [ref] */
2170 DATA_BLOB
*buffer
;/* [unique] */
2175 DATA_BLOB
*info
;/* [unique] */
2176 uint32_t *needed
;/* [ref] */
2177 uint32_t *count
;/* [ref] */
2184 struct __spoolss_EnumJobs
{
2191 union spoolss_JobInfo
*info
;/* [switch_is(level)] */
2197 struct spoolss_EnumJobs
{
2199 struct policy_handle
*handle
;/* [ref] */
2203 DATA_BLOB
*buffer
;/* [unique] */
2208 uint32_t *count
;/* [ref] */
2209 union spoolss_JobInfo
**info
;/* [ref,switch_is(level),size_is(,*count)] */
2210 uint32_t *needed
;/* [ref] */
2217 struct spoolss_AddPrinter
{
2219 const char *server
;/* [unique,charset(UTF16)] */
2220 struct spoolss_SetPrinterInfoCtr
*info_ctr
;/* [ref] */
2221 struct spoolss_DevmodeContainer
*devmode_ctr
;/* [ref] */
2222 struct sec_desc_buf
*secdesc_ctr
;/* [ref] */
2226 struct policy_handle
*handle
;/* [ref] */
2233 struct spoolss_DeletePrinter
{
2235 struct policy_handle
*handle
;/* [ref] */
2245 struct spoolss_SetPrinter
{
2247 struct policy_handle
*handle
;/* [ref] */
2248 struct spoolss_SetPrinterInfoCtr
*info_ctr
;/* [ref] */
2249 struct spoolss_DevmodeContainer
*devmode_ctr
;/* [ref] */
2250 struct sec_desc_buf
*secdesc_ctr
;/* [ref] */
2251 enum spoolss_PrinterControl command
;
2261 struct spoolss_GetPrinter
{
2263 struct policy_handle
*handle
;/* [ref] */
2265 DATA_BLOB
*buffer
;/* [unique] */
2270 union spoolss_PrinterInfo
*info
;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
2271 uint32_t *needed
;/* [ref] */
2278 struct spoolss_AddPrinterDriver
{
2280 const char *servername
;/* [unique,charset(UTF16)] */
2281 struct spoolss_AddDriverInfoCtr
*info_ctr
;/* [ref] */
2291 struct _spoolss_EnumPrinterDrivers
{
2293 const char *server
;/* [unique,charset(UTF16)] */
2294 const char *environment
;/* [unique,charset(UTF16)] */
2296 DATA_BLOB
*buffer
;/* [unique] */
2301 DATA_BLOB
*info
;/* [unique] */
2302 uint32_t *needed
;/* [ref] */
2303 uint32_t *count
;/* [ref] */
2310 struct __spoolss_EnumPrinterDrivers
{
2317 union spoolss_DriverInfo
*info
;/* [switch_is(level)] */
2323 struct spoolss_EnumPrinterDrivers
{
2325 const char *server
;/* [unique,charset(UTF16)] */
2326 const char *environment
;/* [unique,charset(UTF16)] */
2328 DATA_BLOB
*buffer
;/* [unique] */
2333 uint32_t *count
;/* [ref] */
2334 union spoolss_DriverInfo
**info
;/* [ref,switch_is(level),size_is(,*count)] */
2335 uint32_t *needed
;/* [ref] */
2342 struct spoolss_GetPrinterDriver
{
2344 struct policy_handle
*handle
;/* [ref] */
2345 const char *architecture
;/* [unique,charset(UTF16)] */
2347 DATA_BLOB
*buffer
;/* [unique] */
2352 union spoolss_DriverInfo
*info
;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
2353 uint32_t *needed
;/* [ref] */
2360 struct spoolss_GetPrinterDriverDirectory
{
2362 const char *server
;/* [unique,charset(UTF16)] */
2363 const char *environment
;/* [unique,charset(UTF16)] */
2365 DATA_BLOB
*buffer
;/* [unique] */
2370 union spoolss_DriverDirectoryInfo
*info
;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
2371 uint32_t *needed
;/* [ref] */
2378 struct spoolss_DeletePrinterDriver
{
2380 const char *server
;/* [unique,charset(UTF16)] */
2381 const char *architecture
;/* [charset(UTF16)] */
2382 const char *driver
;/* [charset(UTF16)] */
2392 struct spoolss_AddPrintProcessor
{
2394 const char *server
;/* [unique,charset(UTF16)] */
2395 const char *architecture
;/* [charset(UTF16)] */
2396 const char *path_name
;/* [charset(UTF16)] */
2397 const char *print_processor_name
;/* [charset(UTF16)] */
2407 struct _spoolss_EnumPrintProcessors
{
2409 const char *servername
;/* [unique,charset(UTF16)] */
2410 const char *environment
;/* [unique,charset(UTF16)] */
2412 DATA_BLOB
*buffer
;/* [unique] */
2417 DATA_BLOB
*info
;/* [unique] */
2418 uint32_t *needed
;/* [ref] */
2419 uint32_t *count
;/* [ref] */
2426 struct __spoolss_EnumPrintProcessors
{
2433 union spoolss_PrintProcessorInfo
*info
;/* [switch_is(level)] */
2439 struct spoolss_EnumPrintProcessors
{
2441 const char *servername
;/* [unique,charset(UTF16)] */
2442 const char *environment
;/* [unique,charset(UTF16)] */
2444 DATA_BLOB
*buffer
;/* [unique] */
2449 uint32_t *count
;/* [ref] */
2450 union spoolss_PrintProcessorInfo
**info
;/* [ref,switch_is(level),size_is(,*count)] */
2451 uint32_t *needed
;/* [ref] */
2458 struct spoolss_GetPrintProcessorDirectory
{
2460 const char *server
;/* [unique,charset(UTF16)] */
2461 const char *environment
;/* [unique,charset(UTF16)] */
2463 DATA_BLOB
*buffer
;/* [unique] */
2468 union spoolss_PrintProcessorDirectoryInfo
*info
;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
2469 uint32_t *needed
;/* [ref] */
2476 struct spoolss_StartDocPrinter
{
2478 struct policy_handle
*handle
;/* [ref] */
2480 union spoolss_DocumentInfo info
;/* [switch_is(level)] */
2484 uint32_t *job_id
;/* [ref] */
2491 struct spoolss_StartPagePrinter
{
2493 struct policy_handle
*handle
;/* [ref] */
2503 struct spoolss_WritePrinter
{
2505 struct policy_handle
*handle
;/* [ref] */
2507 uint32_t _data_size
;/* [value(r->in.data.length)] */
2511 uint32_t *num_written
;/* [ref] */
2518 struct spoolss_EndPagePrinter
{
2520 struct policy_handle
*handle
;/* [ref] */
2530 struct spoolss_AbortPrinter
{
2532 struct policy_handle
*handle
;/* [ref] */
2542 struct spoolss_ReadPrinter
{
2544 struct policy_handle
*handle
;/* [ref] */
2549 uint8_t *data
;/* [ref,size_is(data_size)] */
2550 uint32_t *_data_size
;/* [ref] */
2557 struct spoolss_EndDocPrinter
{
2559 struct policy_handle
*handle
;/* [ref] */
2569 struct spoolss_AddJob
{
2571 struct policy_handle
*handle
;/* [ref] */
2574 uint8_t *buffer
;/* [unique,size_is(offered)] */
2578 uint32_t *needed
;/* [ref] */
2579 uint8_t *buffer
;/* [unique,size_is(offered)] */
2586 struct spoolss_ScheduleJob
{
2588 struct policy_handle
*handle
;/* [ref] */
2599 struct _spoolss_GetPrinterData
{
2601 struct policy_handle
*handle
;/* [ref] */
2602 const char *value_name
;/* [charset(UTF16)] */
2607 enum winreg_Type
*type
;/* [ref] */
2608 DATA_BLOB
*data
;/* [ref] */
2609 uint32_t *needed
;/* [ref] */
2616 struct __spoolss_GetPrinterData
{
2618 enum winreg_Type type
;
2622 union spoolss_PrinterData
*data
;/* [ref,switch_is(type)] */
2628 struct spoolss_GetPrinterData
{
2630 struct policy_handle
*handle
;/* [ref] */
2631 const char *value_name
;/* [charset(UTF16)] */
2636 enum winreg_Type
*type
;/* [ref] */
2637 union spoolss_PrinterData
*data
;/* [subcontext_size(offered),ref,subcontext(4),switch_is(*type)] */
2638 uint32_t *needed
;/* [ref] */
2645 struct _spoolss_SetPrinterData
{
2647 struct policy_handle
*handle
;/* [ref] */
2648 const char *value_name
;/* [charset(UTF16)] */
2649 enum winreg_Type type
;
2661 struct __spoolss_SetPrinterData
{
2663 enum winreg_Type type
;
2667 union spoolss_PrinterData
*data
;/* [ref,switch_is(type)] */
2673 struct spoolss_SetPrinterData
{
2675 struct policy_handle
*handle
;/* [ref] */
2676 const char *value_name
;/* [charset(UTF16)] */
2677 enum winreg_Type type
;
2678 union spoolss_PrinterData data
;/* [subcontext(4),switch_is(type)] */
2679 uint32_t _offered
;/* [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */
2689 struct spoolss_WaitForPrinterChange
{
2697 struct spoolss_ClosePrinter
{
2699 struct policy_handle
*handle
;/* [ref] */
2703 struct policy_handle
*handle
;/* [ref] */
2710 struct spoolss_AddForm
{
2712 struct policy_handle
*handle
;/* [ref] */
2714 union spoolss_AddFormInfo info
;/* [switch_is(level)] */
2724 struct spoolss_DeleteForm
{
2726 struct policy_handle
*handle
;/* [ref] */
2727 const char *form_name
;/* [charset(UTF16)] */
2737 struct spoolss_GetForm
{
2739 struct policy_handle
*handle
;/* [ref] */
2740 const char *form_name
;/* [charset(UTF16)] */
2742 DATA_BLOB
*buffer
;/* [unique] */
2747 union spoolss_FormInfo
*info
;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
2748 uint32_t *needed
;/* [ref] */
2755 struct spoolss_SetForm
{
2757 struct policy_handle
*handle
;/* [ref] */
2758 const char *form_name
;/* [charset(UTF16)] */
2760 union spoolss_AddFormInfo info
;/* [switch_is(level)] */
2770 struct _spoolss_EnumForms
{
2772 struct policy_handle
*handle
;/* [ref] */
2774 DATA_BLOB
*buffer
;/* [unique] */
2779 DATA_BLOB
*info
;/* [unique] */
2780 uint32_t *needed
;/* [ref] */
2781 uint32_t *count
;/* [ref] */
2788 struct __spoolss_EnumForms
{
2795 union spoolss_FormInfo
*info
;/* [switch_is(level)] */
2801 struct spoolss_EnumForms
{
2803 struct policy_handle
*handle
;/* [ref] */
2805 DATA_BLOB
*buffer
;/* [unique] */
2810 uint32_t *count
;/* [ref] */
2811 union spoolss_FormInfo
**info
;/* [ref,switch_is(level),size_is(,*count)] */
2812 uint32_t *needed
;/* [ref] */
2819 struct _spoolss_EnumPorts
{
2821 const char *servername
;/* [unique,charset(UTF16)] */
2823 DATA_BLOB
*buffer
;/* [unique] */
2828 DATA_BLOB
*info
;/* [unique] */
2829 uint32_t *needed
;/* [ref] */
2830 uint32_t *count
;/* [ref] */
2837 struct __spoolss_EnumPorts
{
2844 union spoolss_PortInfo
*info
;/* [switch_is(level)] */
2850 struct spoolss_EnumPorts
{
2852 const char *servername
;/* [unique,charset(UTF16)] */
2854 DATA_BLOB
*buffer
;/* [unique] */
2859 uint32_t *count
;/* [ref] */
2860 union spoolss_PortInfo
**info
;/* [ref,switch_is(level),size_is(,*count)] */
2861 uint32_t *needed
;/* [ref] */
2868 struct _spoolss_EnumMonitors
{
2870 const char *servername
;/* [unique,charset(UTF16)] */
2872 DATA_BLOB
*buffer
;/* [unique] */
2877 DATA_BLOB
*info
;/* [unique] */
2878 uint32_t *needed
;/* [ref] */
2879 uint32_t *count
;/* [ref] */
2886 struct __spoolss_EnumMonitors
{
2893 union spoolss_MonitorInfo
*info
;/* [switch_is(level)] */
2899 struct spoolss_EnumMonitors
{
2901 const char *servername
;/* [unique,charset(UTF16)] */
2903 DATA_BLOB
*buffer
;/* [unique] */
2908 uint32_t *count
;/* [ref] */
2909 union spoolss_MonitorInfo
**info
;/* [ref,switch_is(level),size_is(,*count)] */
2910 uint32_t *needed
;/* [ref] */
2917 struct spoolss_AddPort
{
2919 const char *server_name
;/* [unique,charset(UTF16)] */
2921 const char *monitor_name
;/* [charset(UTF16)] */
2931 struct spoolss_ConfigurePort
{
2939 struct spoolss_DeletePort
{
2947 struct spoolss_CreatePrinterIC
{
2949 struct policy_handle
*handle
;/* [ref] */
2950 struct spoolss_DevmodeContainer
*devmode_ctr
;/* [ref] */
2954 struct policy_handle
*gdi_handle
;/* [ref] */
2961 struct spoolss_PlayGDIScriptOnPrinterIC
{
2969 struct spoolss_DeletePrinterIC
{
2971 struct policy_handle
*gdi_handle
;/* [ref] */
2975 struct policy_handle
*gdi_handle
;/* [ref] */
2982 struct spoolss_AddPrinterConnection
{
2990 struct spoolss_DeletePrinterConnection
{
2998 struct spoolss_PrinterMessageBox
{
3006 struct spoolss_AddMonitor
{
3014 struct spoolss_DeleteMonitor
{
3022 struct spoolss_DeletePrintProcessor
{
3030 struct spoolss_AddPrintProvidor
{
3038 struct spoolss_DeletePrintProvidor
{
3046 struct _spoolss_EnumPrintProcDataTypes
{
3048 const char *servername
;/* [unique,charset(UTF16)] */
3049 const char *print_processor_name
;/* [unique,charset(UTF16)] */
3051 DATA_BLOB
*buffer
;/* [unique] */
3056 DATA_BLOB
*info
;/* [unique] */
3057 uint32_t *needed
;/* [ref] */
3058 uint32_t *count
;/* [ref] */
3065 struct __spoolss_EnumPrintProcDataTypes
{
3072 union spoolss_PrintProcDataTypesInfo
*info
;/* [switch_is(level)] */
3078 struct spoolss_EnumPrintProcDataTypes
{
3080 const char *servername
;/* [unique,charset(UTF16)] */
3081 const char *print_processor_name
;/* [unique,charset(UTF16)] */
3083 DATA_BLOB
*buffer
;/* [unique] */
3088 uint32_t *count
;/* [ref] */
3089 union spoolss_PrintProcDataTypesInfo
**info
;/* [ref,switch_is(level),size_is(,*count)] */
3090 uint32_t *needed
;/* [ref] */
3097 struct spoolss_ResetPrinter
{
3099 struct policy_handle
*handle
;/* [ref] */
3100 const char *data_type
;/* [unique,charset(UTF16)] */
3101 struct spoolss_DevmodeContainer
*devmode_ctr
;/* [ref] */
3111 struct spoolss_GetPrinterDriver2
{
3113 struct policy_handle
*handle
;/* [ref] */
3114 const char *architecture
;/* [unique,charset(UTF16)] */
3116 DATA_BLOB
*buffer
;/* [unique] */
3118 uint32_t client_major_version
;
3119 uint32_t client_minor_version
;
3123 union spoolss_DriverInfo
*info
;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
3124 uint32_t *needed
;/* [ref] */
3125 uint32_t *server_major_version
;/* [ref] */
3126 uint32_t *server_minor_version
;/* [ref] */
3133 struct spoolss_FindFirstPrinterChangeNotification
{
3141 struct spoolss_FindNextPrinterChangeNotification
{
3149 struct spoolss_FindClosePrinterNotify
{
3151 struct policy_handle
*handle
;/* [ref] */
3161 struct spoolss_RouterFindFirstPrinterChangeNotificationOld
{
3169 struct spoolss_ReplyOpenPrinter
{
3171 const char *server_name
;/* [charset(UTF16)] */
3172 uint32_t printer_local
;
3173 enum winreg_Type type
;
3174 uint32_t bufsize
;/* [range(0,512)] */
3175 uint8_t *buffer
;/* [unique,size_is(bufsize)] */
3179 struct policy_handle
*handle
;/* [ref] */
3186 struct spoolss_RouterReplyPrinter
{
3188 struct policy_handle
*handle
;/* [ref] */
3190 uint32_t bufsize
;/* [range(0,512)] */
3191 uint8_t *buffer
;/* [unique,size_is(bufsize)] */
3201 struct spoolss_ReplyClosePrinter
{
3203 struct policy_handle
*handle
;/* [ref] */
3207 struct policy_handle
*handle
;/* [ref] */
3214 struct spoolss_AddPortEx
{
3222 struct spoolss_RouterFindFirstPrinterChangeNotification
{
3230 struct spoolss_SpoolerInit
{
3238 struct spoolss_ResetPrinterEx
{
3246 struct spoolss_RemoteFindFirstPrinterChangeNotifyEx
{
3248 struct policy_handle
*handle
;/* [ref] */
3251 const char *local_machine
;/* [unique,charset(UTF16)] */
3252 uint32_t printer_local
;
3253 struct spoolss_NotifyOption
*notify_options
;/* [unique] */
3263 struct spoolss_RouterReplyPrinterEx
{
3265 struct policy_handle
*handle
;/* [ref] */
3268 uint32_t reply_type
;
3269 union spoolss_ReplyPrinterInfo info
;/* [switch_is(reply_type)] */
3273 uint32_t *reply_result
;/* [ref] */
3280 struct spoolss_RouterRefreshPrinterChangeNotify
{
3282 struct policy_handle
*handle
;/* [ref] */
3283 uint32_t change_low
;
3284 struct spoolss_NotifyOption
*options
;/* [unique] */
3288 struct spoolss_NotifyInfo
**info
;/* [ref] */
3303 struct spoolss_OpenPrinterEx
{
3305 const char *printername
;/* [unique,charset(UTF16)] */
3306 const char *datatype
;/* [unique,charset(UTF16)] */
3307 struct spoolss_DevmodeContainer devmode_ctr
;
3308 uint32_t access_mask
;
3310 union spoolss_UserLevel userlevel
;/* [switch_is(level)] */
3314 struct policy_handle
*handle
;/* [ref] */
3321 struct spoolss_AddPrinterEx
{
3323 const char *server
;/* [unique,charset(UTF16)] */
3324 struct spoolss_SetPrinterInfoCtr
*info_ctr
;/* [ref] */
3325 struct spoolss_DevmodeContainer
*devmode_ctr
;/* [ref] */
3326 struct sec_desc_buf
*secdesc_ctr
;/* [ref] */
3327 struct spoolss_UserLevelCtr
*userlevel_ctr
;/* [ref] */
3331 struct policy_handle
*handle
;/* [ref] */
3346 struct spoolss_EnumPrinterData
{
3348 struct policy_handle
*handle
;/* [ref] */
3349 uint32_t enum_index
;
3350 uint32_t value_offered
;
3351 uint32_t data_offered
;
3355 const char *value_name
;/* [charset(UTF16),size_is(value_offered/2)] */
3356 uint32_t *value_needed
;/* [ref] */
3357 enum winreg_Type
*type
;/* [ref] */
3358 uint8_t *data
;/* [ref,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(data_offered)] */
3359 uint32_t *data_needed
;/* [ref] */
3366 struct spoolss_DeletePrinterData
{
3368 struct policy_handle
*handle
;/* [ref] */
3369 const char *value_name
;/* [charset(UTF16)] */
3403 struct spoolss_SetPrinterDataEx
{
3405 struct policy_handle
*handle
;/* [ref] */
3406 const char *key_name
;/* [charset(UTF16)] */
3407 const char *value_name
;/* [charset(UTF16)] */
3408 enum winreg_Type type
;
3409 uint8_t *buffer
;/* [ref,size_is(offered)] */
3420 struct spoolss_GetPrinterDataEx
{
3422 struct policy_handle
*handle
;/* [ref] */
3423 const char *key_name
;/* [charset(UTF16)] */
3424 const char *value_name
;/* [charset(UTF16)] */
3429 enum winreg_Type
*type
;/* [ref] */
3430 uint8_t *buffer
;/* [ref,size_is(offered)] */
3431 uint32_t *needed
;/* [ref] */
3438 struct _spoolss_EnumPrinterDataEx
{
3440 struct policy_handle
*handle
;/* [ref] */
3441 const char *key_name
;/* [charset(UTF16)] */
3447 uint32_t *needed
;/* [ref] */
3448 uint32_t *count
;/* [ref] */
3455 struct __spoolss_EnumPrinterDataEx
{
3461 struct spoolss_PrinterEnumValues
*info
;
3467 struct spoolss_EnumPrinterDataEx
{
3469 struct policy_handle
*handle
;/* [ref] */
3470 const char *key_name
;/* [charset(UTF16)] */
3475 uint32_t *count
;/* [ref] */
3476 struct spoolss_PrinterEnumValues
**info
;/* [ref,size_is(,*count)] */
3477 uint32_t *needed
;/* [ref] */
3484 struct spoolss_EnumPrinterKey
{
3486 struct policy_handle
*handle
;/* [ref] */
3487 const char *key_name
;/* [charset(UTF16)] */
3492 const char ** *key_buffer
;/* [subcontext_size(offered),ref,subcontext(0),flag(LIBNDR_FLAG_STR_NULLTERM)] */
3493 uint32_t *needed
;/* [ref] */
3500 struct spoolss_DeletePrinterDataEx
{
3502 struct policy_handle
*handle
;/* [ref] */
3503 const char *key_name
;/* [charset(UTF16)] */
3504 const char *value_name
;/* [charset(UTF16)] */
3514 struct spoolss_DeletePrinterKey
{
3516 struct policy_handle
*handle
;/* [ref] */
3517 const char *key_name
;/* [charset(UTF16)] */
3535 struct spoolss_DeletePrinterDriverEx
{
3537 const char *server
;/* [unique,charset(UTF16)] */
3538 const char *architecture
;/* [charset(UTF16)] */
3539 const char *driver
;/* [charset(UTF16)] */
3540 uint32_t delete_flags
;
3575 struct spoolss_XcvData
{
3577 struct policy_handle
*handle
;/* [ref] */
3578 const char *function_name
;/* [charset(UTF16)] */
3580 uint32_t _in_data_length
;/* [value(r->in.in_data.length)] */
3581 uint32_t out_data_size
;
3582 uint32_t *status_code
;/* [ref] */
3586 uint8_t *out_data
;/* [ref,size_is(out_data_size)] */
3587 uint32_t *needed
;/* [ref] */
3588 uint32_t *status_code
;/* [ref] */
3595 struct spoolss_AddPrinterDriverEx
{
3597 const char *servername
;/* [unique,charset(UTF16)] */
3598 struct spoolss_AddDriverInfoCtr
*info_ctr
;/* [ref] */
3705 struct spoolss_GetCorePrinterDrivers
{
3707 const char *servername
;/* [unique,charset(UTF16)] */
3708 const char *architecture
;/* [ref,charset(UTF16)] */
3709 uint32_t core_driver_size
;
3710 const char *core_driver_dependencies
;/* [ref,charset(UTF16),size_is(core_driver_size)] */
3711 uint32_t core_printer_driver_count
;
3715 struct spoolss_CorePrinterDriver
*core_printer_drivers
;/* [ref,size_is(core_printer_driver_count)] */
3730 struct spoolss_GetPrinterDriverPackagePath
{
3732 const char *servername
;/* [unique,charset(UTF16)] */
3733 const char *architecture
;/* [ref,charset(UTF16)] */
3734 const char *language
;/* [unique,charset(UTF16)] */
3735 const char *package_id
;/* [ref,charset(UTF16)] */
3736 uint32_t driver_package_cab_size
;
3737 const char *driver_package_cab
;/* [unique,charset(UTF16),size_is(driver_package_cab_size)] */
3741 uint32_t *required
;/* [ref] */
3742 const char *driver_package_cab
;/* [unique,charset(UTF16),size_is(driver_package_cab_size)] */
3788 #endif /* _HEADER_spoolss */