~ubuntu-branches/ubuntu/vivid/samba/vivid

« back to all changes in this revision

Viewing changes to source3/librpc/gen_ndr/spoolss.h

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2011-12-21 13:18:04 UTC
  • mfrom: (0.39.21 sid)
  • Revision ID: package-import@ubuntu.com-20111221131804-xtlr39wx6njehxxr
Tags: 2:3.6.1-3ubuntu1
* Merge from Debian testing.  Remaining changes:
  + debian/patches/VERSION.patch:
    - set SAMBA_VERSION_SUFFIX to Ubuntu.
  + debian/patches/error-trans.fix-276472:
    - Add the translation of Unix Error code -ENOTSUP to NT Error Code
    - NT_STATUS_NOT_SUPPORTED to prevent the Permission denied error.
  + debian/smb.conf:
    - add "(Samba, Ubuntu)" to server string.
    - comment out the default [homes] share, and add a comment about
      "valid users = %S" to show users how to restrict access to
      \\server\username to only username.
    - Set 'usershare allow guests', so that usershare admins are 
      allowed to create public shares in addition to authenticated
      ones.
    - add map to guest = Bad user, maps bad username to guest access.
  + debian/samba-common.config:
    - Do not change priority to high if dhclient3 is installed.
    - Use priority medium instead of high for the workgroup question.
  + debian/control:
    - Don't build against or suggest ctdb.
    - Add dependency on samba-common-bin to samba.
  + Add ufw integration:
    - Created debian/samba.ufw.profile
    - debian/rules, debian/samba.dirs, debian/samba.files: install
      profile
    - debian/control: have samba suggest ufw
  + Add apport hook:
    - Created debian/source_samba.py.
    - debian/rules, debian/samba.dirs, debian/samba-common-bin.files: install
  + Switch to upstart:
    - Add debian/samba.{nmbd,smbd}.upstart.
  + debian/samba.logrotate, debian/samba-common.dhcp, debian/samba.if-up:
    - Make them upstart compatible
  + debian/samba.postinst: 
    - Avoid scary pdbedit warnings on first import.
  + debian/samba-common.postinst: Add more informative error message for
    the case where smb.conf was manually deleted
  + debian/patches/fix-debuglevel-name-conflict.patch: don't use 'debug_level'
    as a global variable name in an NSS module 
  + Dropped:
    - debian/patches/error-trans.fix-276472
    - debian/patches/fix-debuglevel-name-conflict.patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* header auto-generated by pidl */
 
2
 
 
3
#ifndef _PIDL_HEADER_spoolss
 
4
#define _PIDL_HEADER_spoolss
 
5
 
 
6
#include <stdint.h>
 
7
 
 
8
#include "libcli/util/ntstatus.h"
 
9
 
 
10
#include "librpc/gen_ndr/misc.h"
 
11
#include "librpc/gen_ndr/security.h"
 
12
#include "librpc/gen_ndr/winreg.h"
 
13
#define spoolss_security_descriptor security_descriptor
 
14
#ifndef _HEADER_spoolss
 
15
#define _HEADER_spoolss
 
16
 
 
17
#define PRINTER_STATUS_OK       ( 0x00000000 )
 
18
#define JOB_STATUS_QUEUED       ( 0x0000 )
 
19
#define MAXDEVICENAME   ( 32 )
 
20
#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) )
 
21
#define SPL_ARCH_WIN40  ( "WIN40" )
 
22
#define SPL_ARCH_W32X86 ( "W32X86" )
 
23
#define SPL_ARCH_W32MIPS        ( "W32MIPS" )
 
24
#define SPL_ARCH_W32ALPHA       ( "W32ALPHA" )
 
25
#define SPL_ARCH_W32PPC ( "W32PPC" )
 
26
#define SPL_ARCH_IA64   ( "IA64" )
 
27
#define SPL_ARCH_X64    ( "x64" )
 
28
#define SPOOLSS_ARCHITECTURE_ALL        ( "All" )
 
29
#define SPOOLSS_ARCHITECTURE_ALL_CLUSTER        ( "AllCluster" )
 
30
#define SPOOLSS_ARCHITECTURE_NT_X86     ( "Windows NT x86" )
 
31
#define SPOOLSS_ARCHITECTURE_IA_64      ( "Windows IA64" )
 
32
#define SPOOLSS_ARCHITECTURE_x64        ( "Windows x64" )
 
33
#define SPOOLSS_ARCHITECTURE_4_0        ( "Windows 4.0" )
 
34
#define SPOOLSS_DEFAULT_SERVER_PATH     ( "C:\\WINDOWS\\system32\\spool" )
 
35
#define SPOOL_PRINTERDATA_KEY   ( "PrinterDriverData" )
 
36
#define SPOOL_DSSPOOLER_KEY     ( "DsSpooler" )
 
37
#define SPOOL_DSDRIVER_KEY      ( "DsDriver" )
 
38
#define SPOOL_DSUSER_KEY        ( "DsUser" )
 
39
#define SPOOL_PNPDATA_KEY       ( "PnPData" )
 
40
#define SPOOL_OID_KEY   ( "OID" )
 
41
#define SPOOL_REG_ASSETNUMBER   ( "assetNumber" )
 
42
#define SPOOL_REG_BYTESPERMINUTE        ( "bytesPerMinute" )
 
43
#define SPOOL_REG_DEFAULTPRIORITY       ( "defaultPriority" )
 
44
#define SPOOL_REG_DESCRIPTION   ( "description" )
 
45
#define SPOOL_REG_DRIVERNAME    ( "driverName" )
 
46
#define SPOOL_REG_DRIVERVERSION ( "driverVersion" )
 
47
#define SPOOL_REG_FLAGS ( "flags" )
 
48
#define SPOOL_REG_LOCATION      ( "location" )
 
49
#define SPOOL_REG_OPERATINGSYSTEM       ( "operatingSystem" )
 
50
#define SPOOL_REG_OPERATINGSYSTEMHOTFIX ( "operatingSystemHotfix" )
 
51
#define SPOOL_REG_OPERATINGSYSTEMSERVICEPACK    ( "operatingSystemServicePack" )
 
52
#define SPOOL_REG_OPERATINGSYSTEMVERSION        ( "operatingSystemVersion" )
 
53
#define SPOOL_REG_PORTNAME      ( "portName" )
 
54
#define SPOOL_REG_PRINTATTRIBUTES       ( "printAttributes" )
 
55
#define SPOOL_REG_PRINTBINNAMES ( "printBinNames" )
 
56
#define SPOOL_REG_PRINTCOLLATE  ( "printCollate" )
 
57
#define SPOOL_REG_PRINTCOLOR    ( "printColor" )
 
58
#define SPOOL_REG_PRINTDUPLEXSUPPORTED  ( "printDuplexSupported" )
 
59
#define SPOOL_REG_PRINTENDTIME  ( "printEndTime" )
 
60
#define SPOOL_REG_PRINTERNAME   ( "printerName" )
 
61
#define SPOOL_REG_PRINTFORMNAME ( "printFormName" )
 
62
#define SPOOL_REG_PRINTKEEPPRINTEDJOBS  ( "printKeepPrintedJobs" )
 
63
#define SPOOL_REG_PRINTLANGUAGE ( "printLanguage" )
 
64
#define SPOOL_REG_PRINTMACADDRESS       ( "printMACAddress" )
 
65
#define SPOOL_REG_PRINTMAXCOPIES        ( "printMaxCopies" )
 
66
#define SPOOL_REG_PRINTMAXRESOLUTIONSUPPORTED   ( "printMaxResolutionSupported" )
 
67
#define SPOOL_REG_PRINTMAXXEXTENT       ( "printMaxXExtent" )
 
68
#define SPOOL_REG_PRINTMAXYEXTENT       ( "printMaxYExtent" )
 
69
#define SPOOL_REG_PRINTMEDIAREADY       ( "printMediaReady" )
 
70
#define SPOOL_REG_PRINTMEDIASUPPORTED   ( "printMediaSupported" )
 
71
#define SPOOL_REG_PRINTMEMORY   ( "printMemory" )
 
72
#define SPOOL_REG_PRINTMINXEXTENT       ( "printMinXExtent" )
 
73
#define SPOOL_REG_PRINTMINYEXTENT       ( "printMinYExtent" )
 
74
#define SPOOL_REG_PRINTNETWORKADDRESS   ( "printNetworkAddress" )
 
75
#define SPOOL_REG_PRINTNOTIFY   ( "printNotify" )
 
76
#define SPOOL_REG_PRINTNUMBERUP ( "printNumberUp" )
 
77
#define SPOOL_REG_PRINTORIENTATIONSSUPPORTED    ( "printOrientationsSupported" )
 
78
#define SPOOL_REG_PRINTOWNER    ( "printOwner" )
 
79
#define SPOOL_REG_PRINTPAGESPERMINUTE   ( "printPagesPerMinute" )
 
80
#define SPOOL_REG_PRINTRATE     ( "printRate" )
 
81
#define SPOOL_REG_PRINTRATEUNIT ( "printRateUnit" )
 
82
#define SPOOL_REG_PRINTSEPARATORFILE    ( "printSeparatorFile" )
 
83
#define SPOOL_REG_PRINTSHARENAME        ( "printShareName" )
 
84
#define SPOOL_REG_PRINTSPOOLING ( "printSpooling" )
 
85
#define SPOOL_REGVAL_PRINTWHILESPOOLING ( "PrintWhileSpooling" )
 
86
#define SPOOL_REGVAL_PRINTAFTERSPOOLED  ( "PrintAfterSpooled" )
 
87
#define SPOOL_REGVAL_PRINTDIRECT        ( "PrintDirect" )
 
88
#define SPOOL_REG_PRINTSTAPLINGSUPPORTED        ( "printStaplingSupported" )
 
89
#define SPOOL_REG_PRINTSTARTTIME        ( "printStartTime" )
 
90
#define SPOOL_REG_PRINTSTATUS   ( "printStatus" )
 
91
#define SPOOL_REG_PRIORITY      ( "priority" )
 
92
#define SPOOL_REG_SERVERNAME    ( "serverName" )
 
93
#define SPOOL_REG_SHORTSERVERNAME       ( "shortServerName" )
 
94
#define SPOOL_REG_UNCNAME       ( "uNCName" )
 
95
#define SPOOL_REG_URL   ( "url" )
 
96
#define SPOOL_REG_VERSIONNUMBER ( "versionNumber" )
 
97
#define SPL_LOCAL_PORT  ( "Local Port" )
 
98
#define SPL_TCPIP_PORT  ( "Standard TCP/IP Port" )
 
99
#define SPL_XCV_MONITOR_LOCALMON        ( ",XcvMonitor Local Port" )
 
100
#define SPL_XCV_MONITOR_TCPMON  ( ",XcvMonitor Standard TCP/IP Port" )
 
101
#define PRINTER_CHANGE_PRINTER  ( 0x000000FF )
 
102
#define PRINTER_CHANGE_JOB      ( 0x0000FF00 )
 
103
#define PRINTER_CHANGE_FORM     ( (PRINTER_CHANGE_ADD_FORM|PRINTER_CHANGE_SET_FORM|PRINTER_CHANGE_DELETE_FORM) )
 
104
#define PRINTER_CHANGE_PORT     ( (PRINTER_CHANGE_ADD_PORT|PRINTER_CHANGE_CONFIGURE_PORT|PRINTER_CHANGE_DELETE_PORT) )
 
105
#define PRINTER_CHANGE_PRINT_PROCESSOR  ( 0x07000000 )
 
106
#define PRINTER_CHANGE_PRINTER_DRIVER   ( (PRINTER_CHANGE_ADD_PRINTER_DRIVER|PRINTER_CHANGE_SET_PRINTER_DRIVER|PRINTER_CHANGE_DELETE_PRINTER_DRIVER) )
 
107
#define PRINTER_CHANGE_ALL      ( (PRINTER_CHANGE_PRINTER|PRINTER_CHANGE_JOB|PRINTER_CHANGE_FORM|PRINTER_CHANGE_PORT|PRINTER_CHANGE_PRINT_PROCESSOR|PRINTER_CHANGE_PRINTER_DRIVER) )
 
108
#define SERVER_ALL_ACCESS       ( SEC_STD_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE )
 
109
#define SERVER_READ     ( SEC_STD_READ_CONTROL|SERVER_ACCESS_ENUMERATE )
 
110
#define SERVER_WRITE    ( STANDARD_RIGHTS_WRITE_ACCESS|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE )
 
111
#define SERVER_EXECUTE  ( SEC_STD_READ_CONTROL|SERVER_ACCESS_ENUMERATE )
 
112
#define PRINTER_ALL_ACCESS      ( SEC_STD_REQUIRED|PRINTER_ACCESS_ADMINISTER|PRINTER_ACCESS_USE )
 
113
#define PRINTER_READ    ( SEC_STD_READ_CONTROL|PRINTER_ACCESS_USE )
 
114
#define PRINTER_WRITE   ( STANDARD_RIGHTS_WRITE_ACCESS|PRINTER_ACCESS_USE )
 
115
#define PRINTER_EXECUTE ( SEC_STD_READ_CONTROL|PRINTER_ACCESS_USE )
 
116
#define JOB_ALL_ACCESS  ( SEC_STD_REQUIRED|JOB_ACCESS_ADMINISTER )
 
117
#define JOB_READ        ( SEC_STD_READ_CONTROL|JOB_ACCESS_ADMINISTER )
 
118
#define JOB_WRITE       ( STANDARD_RIGHTS_WRITE_ACCESS|JOB_ACCESS_ADMINISTER )
 
119
#define JOB_EXECUTE     ( SEC_STD_READ_CONTROL|JOB_ACCESS_ADMINISTER )
 
120
#define PRINTER_ACE_FULL_CONTROL        ( SEC_GENERIC_ALL|PRINTER_ALL_ACCESS )
 
121
#define PRINTER_ACE_MANAGE_DOCUMENTS    ( SEC_GENERIC_ALL|READ_CONTROL_ACCESS )
 
122
#define PRINTER_ACE_PRINT       ( GENERIC_EXECUTE_ACCESS|READ_CONTROL_ACCESS|PRINTER_ACCESS_USE )
 
123
struct spoolss_Time {
 
124
        uint16_t year;
 
125
        uint16_t month;
 
126
        uint16_t day_of_week;
 
127
        uint16_t day;
 
128
        uint16_t hour;
 
129
        uint16_t minute;
 
130
        uint16_t second;
 
131
        uint16_t millisecond;
 
132
}/* [noprint,gensize] */;
 
133
 
 
134
struct spoolss_TimeCtr {
 
135
        uint32_t size;/* [value(ndr_size_spoolss_Time(time,ndr->flags))] */
 
136
        struct spoolss_Time *time;/* [unique] */
 
137
};
 
138
 
 
139
enum spoolss_ProcessorArchitecture
 
140
#ifndef USE_UINT_ENUMS
 
141
 {
 
142
        PROCESSOR_ARCHITECTURE_INTEL=(int)(0x0000),
 
143
        PROCESSOR_ARCHITECTURE_IA64=(int)(0x0006),
 
144
        PROCESSOR_ARCHITECTURE_AMD64=(int)(0x0009)
 
145
}
 
146
#else
 
147
 { __donnot_use_enum_spoolss_ProcessorArchitecture=0x7FFFFFFF}
 
148
#define PROCESSOR_ARCHITECTURE_INTEL ( 0x0000 )
 
149
#define PROCESSOR_ARCHITECTURE_IA64 ( 0x0006 )
 
150
#define PROCESSOR_ARCHITECTURE_AMD64 ( 0x0009 )
 
151
#endif
 
152
;
 
153
 
 
154
enum spoolss_ProcessorType
 
155
#ifndef USE_UINT_ENUMS
 
156
 {
 
157
        PROCESSOR_INTEL_386=(int)(0x00000182),
 
158
        PROCESSOR_INTEL_486=(int)(0x000001E6),
 
159
        PROCESSOR_INTEL_PENTIUM=(int)(0x0000024A),
 
160
        PROCESSOR_INTEL_IA64=(int)(0x00000898),
 
161
        PROCESSOR_AMD_X8664=(int)(0x000022A0)
 
162
}
 
163
#else
 
164
 { __donnot_use_enum_spoolss_ProcessorType=0x7FFFFFFF}
 
165
#define PROCESSOR_INTEL_386 ( 0x00000182 )
 
166
#define PROCESSOR_INTEL_486 ( 0x000001E6 )
 
167
#define PROCESSOR_INTEL_PENTIUM ( 0x0000024A )
 
168
#define PROCESSOR_INTEL_IA64 ( 0x00000898 )
 
169
#define PROCESSOR_AMD_X8664 ( 0x000022A0 )
 
170
#endif
 
171
;
 
172
 
 
173
enum spoolss_MajorVersion
 
174
#ifndef USE_UINT_ENUMS
 
175
 {
 
176
        SPOOLSS_MAJOR_VERSION_NT4_95_98_ME=(int)(0x00000004),
 
177
        SPOOLSS_MAJOR_VERSION_2000_2003_XP=(int)(0x00000005),
 
178
        SPOOLSS_MAJOR_VERSION_2008_VISTA=(int)(0x00000006)
 
179
}
 
180
#else
 
181
 { __donnot_use_enum_spoolss_MajorVersion=0x7FFFFFFF}
 
182
#define SPOOLSS_MAJOR_VERSION_NT4_95_98_ME ( 0x00000004 )
 
183
#define SPOOLSS_MAJOR_VERSION_2000_2003_XP ( 0x00000005 )
 
184
#define SPOOLSS_MAJOR_VERSION_2008_VISTA ( 0x00000006 )
 
185
#endif
 
186
;
 
187
 
 
188
enum spoolss_MinorVersion
 
189
#ifndef USE_UINT_ENUMS
 
190
 {
 
191
        SPOOLSS_MINOR_VERSION_0=(int)(0x00000000),
 
192
        SPOOLSS_MINOR_VERSION_XP=(int)(0x00000001),
 
193
        SPOOLSS_MINOR_VERSION_2003_XP64=(int)(0x00000002),
 
194
        SPOOLSS_MINOR_VERSION_98=(int)(0x0000000a),
 
195
        SPOOLSS_MINOR_VERSION_ME=(int)(0x0000005a)
 
196
}
 
197
#else
 
198
 { __donnot_use_enum_spoolss_MinorVersion=0x7FFFFFFF}
 
199
#define SPOOLSS_MINOR_VERSION_0 ( 0x00000000 )
 
200
#define SPOOLSS_MINOR_VERSION_XP ( 0x00000001 )
 
201
#define SPOOLSS_MINOR_VERSION_2003_XP64 ( 0x00000002 )
 
202
#define SPOOLSS_MINOR_VERSION_98 ( 0x0000000a )
 
203
#define SPOOLSS_MINOR_VERSION_ME ( 0x0000005a )
 
204
#endif
 
205
;
 
206
 
 
207
/* bitmap spoolss_PrinterStatus */
 
208
#define PRINTER_STATUS_PAUSED ( 0x00000001 )
 
209
#define PRINTER_STATUS_ERROR ( 0x00000002 )
 
210
#define PRINTER_STATUS_PENDING_DELETION ( 0x00000004 )
 
211
#define PRINTER_STATUS_PAPER_JAM ( 0x00000008 )
 
212
#define PRINTER_STATUS_PAPER_OUT ( 0x00000010 )
 
213
#define PRINTER_STATUS_MANUAL_FEED ( 0x00000020 )
 
214
#define PRINTER_STATUS_PAPER_PROBLEM ( 0x00000040 )
 
215
#define PRINTER_STATUS_OFFLINE ( 0x00000080 )
 
216
#define PRINTER_STATUS_IO_ACTIVE ( 0x00000100 )
 
217
#define PRINTER_STATUS_BUSY ( 0x00000200 )
 
218
#define PRINTER_STATUS_PRINTING ( 0x00000400 )
 
219
#define PRINTER_STATUS_OUTPUT_BIN_FULL ( 0x00000800 )
 
220
#define PRINTER_STATUS_NOT_AVAILABLE ( 0x00001000 )
 
221
#define PRINTER_STATUS_WAITING ( 0x00002000 )
 
222
#define PRINTER_STATUS_PROCESSING ( 0x00004000 )
 
223
#define PRINTER_STATUS_INITIALIZING ( 0x00008000 )
 
224
#define PRINTER_STATUS_WARMING_UP ( 0x00010000 )
 
225
#define PRINTER_STATUS_TONER_LOW ( 0x00020000 )
 
226
#define PRINTER_STATUS_NO_TONER ( 0x00040000 )
 
227
#define PRINTER_STATUS_PAGE_PUNT ( 0x00080000 )
 
228
#define PRINTER_STATUS_USER_INTERVENTION ( 0x00100000 )
 
229
#define PRINTER_STATUS_OUT_OF_MEMORY ( 0x00200000 )
 
230
#define PRINTER_STATUS_DOOR_OPEN ( 0x00400000 )
 
231
#define PRINTER_STATUS_SERVER_UNKNOWN ( 0x00800000 )
 
232
#define PRINTER_STATUS_POWER_SAVE ( 0x01000000 )
 
233
 
 
234
/* bitmap spoolss_JobStatus */
 
235
#define JOB_STATUS_PAUSED ( 0x00000001 )
 
236
#define JOB_STATUS_ERROR ( 0x00000002 )
 
237
#define JOB_STATUS_DELETING ( 0x00000004 )
 
238
#define JOB_STATUS_SPOOLING ( 0x00000008 )
 
239
#define JOB_STATUS_PRINTING ( 0x00000010 )
 
240
#define JOB_STATUS_OFFLINE ( 0x00000020 )
 
241
#define JOB_STATUS_PAPEROUT ( 0x00000040 )
 
242
#define JOB_STATUS_PRINTED ( 0x00000080 )
 
243
#define JOB_STATUS_DELETED ( 0x00000100 )
 
244
#define JOB_STATUS_BLOCKED_DEVQ ( 0x00000200 )
 
245
#define JOB_STATUS_USER_INTERVENTION ( 0x00000400 )
 
246
#define JOB_STATUS_RESTART ( 0x00000800 )
 
247
#define JOB_STATUS_COMPLETE ( 0x00001000 )
 
248
 
 
249
enum spoolss_Build
 
250
#ifndef USE_UINT_ENUMS
 
251
 {
 
252
        SPOOLSS_DEBUGGING_BUILD=(int)(0x00000000),
 
253
        SPOOLSS_RELEASE_BUILD=(int)(0x00000001)
 
254
}
 
255
#else
 
256
 { __donnot_use_enum_spoolss_Build=0x7FFFFFFF}
 
257
#define SPOOLSS_DEBUGGING_BUILD ( 0x00000000 )
 
258
#define SPOOLSS_RELEASE_BUILD ( 0x00000001 )
 
259
#endif
 
260
;
 
261
 
 
262
struct spoolss_PrinterInfo0 {
 
263
        const char * printername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
264
        const char * servername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
265
        uint32_t cjobs;
 
266
        uint32_t total_jobs;
 
267
        uint32_t total_bytes;
 
268
        struct spoolss_Time time;
 
269
        uint32_t global_counter;
 
270
        uint32_t total_pages;
 
271
        uint32_t version;
 
272
        enum spoolss_Build free_build;
 
273
        uint32_t spooling;
 
274
        uint32_t max_spooling;
 
275
        uint32_t session_counter;
 
276
        uint32_t num_error_out_of_paper;
 
277
        uint32_t num_error_not_ready;
 
278
        uint32_t job_error;
 
279
        uint32_t number_of_processors;
 
280
        enum spoolss_ProcessorType processor_type;
 
281
        uint32_t high_part_total_bytes;
 
282
        uint32_t change_id;
 
283
        WERROR last_error;
 
284
        uint32_t status;
 
285
        uint32_t enumerate_network_printers;
 
286
        uint32_t c_setprinter;
 
287
        enum spoolss_ProcessorArchitecture processor_architecture;
 
288
        uint16_t processor_level;
 
289
        uint32_t ref_ic;
 
290
        uint32_t reserved2;
 
291
        uint32_t reserved3;
 
292
}/* [gensize,public] */;
 
293
 
 
294
enum spoolss_DM_Signature
 
295
#ifndef USE_UINT_ENUMS
 
296
 {
 
297
        SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA=(int)(0x554e4944),
 
298
        SPOOLSS_DM_SIGNATURE_JTEXP=(int)(0x4a544d53),
 
299
        SPOOLSS_DM_SIGNATURE_PSEXTRA=(int)(0x50524956)
 
300
}
 
301
#else
 
302
 { __donnot_use_enum_spoolss_DM_Signature=0x7FFFFFFF}
 
303
#define SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA ( 0x554e4944 )
 
304
#define SPOOLSS_DM_SIGNATURE_JTEXP ( 0x4a544d53 )
 
305
#define SPOOLSS_DM_SIGNATURE_PSEXTRA ( 0x50524956 )
 
306
#endif
 
307
;
 
308
 
 
309
enum spoolss_DM_Layout
 
310
#ifndef USE_UINT_ENUMS
 
311
 {
 
312
        SPOOLSS_DM_LAYOUT_NUP_DISABLED=(int)(0x00000000),
 
313
        SPOOLSS_DM_LAYOUT_NUP_2=(int)(0x00000001),
 
314
        SPOOLSS_DM_LAYOUT_NUP_4=(int)(0x00000002),
 
315
        SPOOLSS_DM_LAYOUT_NUP_6=(int)(0x00000003),
 
316
        SPOOLSS_DM_LAYOUT_NUP_9=(int)(0x00000004),
 
317
        SPOOLSS_DM_LAYOUT_NUP_16=(int)(0x00000005),
 
318
        SPOOLSS_DM_LAYOUT_BOOKLET=(int)(0x00000006)
 
319
}
 
320
#else
 
321
 { __donnot_use_enum_spoolss_DM_Layout=0x7FFFFFFF}
 
322
#define SPOOLSS_DM_LAYOUT_NUP_DISABLED ( 0x00000000 )
 
323
#define SPOOLSS_DM_LAYOUT_NUP_2 ( 0x00000001 )
 
324
#define SPOOLSS_DM_LAYOUT_NUP_4 ( 0x00000002 )
 
325
#define SPOOLSS_DM_LAYOUT_NUP_6 ( 0x00000003 )
 
326
#define SPOOLSS_DM_LAYOUT_NUP_9 ( 0x00000004 )
 
327
#define SPOOLSS_DM_LAYOUT_NUP_16 ( 0x00000005 )
 
328
#define SPOOLSS_DM_LAYOUT_BOOKLET ( 0x00000006 )
 
329
#endif
 
330
;
 
331
 
 
332
enum spoolss_DM_NupDirection
 
333
#ifndef USE_UINT_ENUMS
 
334
 {
 
335
        SPOOLSS_DM_NUP_DIRECTION_L2R_T2B=(int)(0x00000001),
 
336
        SPOOLSS_DM_NUP_DIRECTION_T2B_L2R=(int)(0x00000002),
 
337
        SPOOLSS_DM_NUP_DIRECTION_R2L_T2B=(int)(0x00000004),
 
338
        SPOOLSS_DM_NUP_DIRECTION_T2B_R2L=(int)(0x00000008)
 
339
}
 
340
#else
 
341
 { __donnot_use_enum_spoolss_DM_NupDirection=0x7FFFFFFF}
 
342
#define SPOOLSS_DM_NUP_DIRECTION_L2R_T2B ( 0x00000001 )
 
343
#define SPOOLSS_DM_NUP_DIRECTION_T2B_L2R ( 0x00000002 )
 
344
#define SPOOLSS_DM_NUP_DIRECTION_R2L_T2B ( 0x00000004 )
 
345
#define SPOOLSS_DM_NUP_DIRECTION_T2B_R2L ( 0x00000008 )
 
346
#endif
 
347
;
 
348
 
 
349
enum spoolss_DM_NupBorderFlags
 
350
#ifndef USE_UINT_ENUMS
 
351
 {
 
352
        SPOOLSS_DM_NUP_BORDER_PRINT=(int)(0x00000000),
 
353
        SPOOLSS_DM_NUP_BORDER_NONE=(int)(0x00000001)
 
354
}
 
355
#else
 
356
 { __donnot_use_enum_spoolss_DM_NupBorderFlags=0x7FFFFFFF}
 
357
#define SPOOLSS_DM_NUP_BORDER_PRINT ( 0x00000000 )
 
358
#define SPOOLSS_DM_NUP_BORDER_NONE ( 0x00000001 )
 
359
#endif
 
360
;
 
361
 
 
362
enum spoolss_DM_BookletFlags
 
363
#ifndef USE_UINT_ENUMS
 
364
 {
 
365
        SPOOLSS_DM_BOOKLET_LEFT_FLIP=(int)(0x00000000),
 
366
        SPOOLSS_DM_BOOKLET_RIGHT_FLIP=(int)(0x00000001)
 
367
}
 
368
#else
 
369
 { __donnot_use_enum_spoolss_DM_BookletFlags=0x7FFFFFFF}
 
370
#define SPOOLSS_DM_BOOKLET_LEFT_FLIP ( 0x00000000 )
 
371
#define SPOOLSS_DM_BOOKLET_RIGHT_FLIP ( 0x00000001 )
 
372
#endif
 
373
;
 
374
 
 
375
/* bitmap spoolss_DMPS_Flags */
 
376
#define SPOOLSS_DM_PS_FLAGS_DRV_ERROR_HANDLER ( 0x00000002 )
 
377
#define SPOOLSS_DM_PS_FLAGS_PRINT_MIRROR ( 0x00000004 )
 
378
#define SPOOLSS_DM_PS_FLAGS_PRINT_NEGATIVE ( 0x00000010 )
 
379
#define SPOOLSS_DM_PS_FLAGS_COMPRESS_BITMAP ( 0x00000040 )
 
380
#define SPOOLSS_DM_PS_FLAGS_ROTATE_180 ( 0x00000200 )
 
381
#define SPOOLSS_DM_PS_FLAGS_GDI_METAFILE_SPOOL ( 0x00002000 )
 
382
 
 
383
struct spoolss_PSDRVEXTRA351 {
 
384
        enum spoolss_DM_Signature dwSignature;/* [value(SPOOLSS_DM_SIGNATURE_PSEXTRA)] */
 
385
        uint32_t dwFlags;
 
386
        uint32_t wchEPSFile[12];
 
387
        uint16_t caSize;/* [value(24)] */
 
388
        uint16_t caFlags;
 
389
        uint16_t caIlluminantIndex;
 
390
        uint16_t caRedGamma;
 
391
        uint16_t caGreenGamma;
 
392
        uint16_t caBlueGamma;
 
393
        uint16_t caReferenceBlack;
 
394
        uint16_t caReferenceWhite;
 
395
        uint16_t caContrast;
 
396
        uint16_t caBrightness;
 
397
        uint16_t caColorfulness;
 
398
        uint16_t caRedGreenTint;
 
399
};
 
400
 
 
401
struct spoolss_PSDRVEXTRA400 {
 
402
        enum spoolss_DM_Signature dwSignature;/* [value(SPOOLSS_DM_SIGNATURE_PSEXTRA)] */
 
403
        uint32_t dwFlags;
 
404
        uint32_t wchEPSFile[12];
 
405
        uint16_t caSize;/* [value(24)] */
 
406
        uint16_t caFlags;
 
407
        uint16_t caIlluminantIndex;
 
408
        uint16_t caRedGamma;
 
409
        uint16_t caGreenGamma;
 
410
        uint16_t caBlueGamma;
 
411
        uint16_t caReferenceBlack;
 
412
        uint16_t caReferenceWhite;
 
413
        uint16_t caContrast;
 
414
        uint16_t caBrightness;
 
415
        uint16_t caColorfulness;
 
416
        uint16_t caRedGreenTint;
 
417
        uint16_t wChecksum;
 
418
        uint16_t wOptions;
 
419
        uint32_t aubOptions[8];
 
420
};
 
421
 
 
422
enum spoolss_DMPS_Dialect
 
423
#ifndef USE_UINT_ENUMS
 
424
 {
 
425
        SPOOLSS_DM_PS_OPTIMIZE_SPEED=(int)(0x00000000),
 
426
        SPOOLSS_DM_PS_OPTIMIZE_PORTABILITY=(int)(0x00000001),
 
427
        SPOOLSS_DM_PS_OPTIMIZE_EPS=(int)(0x00000002),
 
428
        SPOOLSS_DM_PS_OPTIMIZE_ARCHIVAL=(int)(0x00000003)
 
429
}
 
430
#else
 
431
 { __donnot_use_enum_spoolss_DMPS_Dialect=0x7FFFFFFF}
 
432
#define SPOOLSS_DM_PS_OPTIMIZE_SPEED ( 0x00000000 )
 
433
#define SPOOLSS_DM_PS_OPTIMIZE_PORTABILITY ( 0x00000001 )
 
434
#define SPOOLSS_DM_PS_OPTIMIZE_EPS ( 0x00000002 )
 
435
#define SPOOLSS_DM_PS_OPTIMIZE_ARCHIVAL ( 0x00000003 )
 
436
#endif
 
437
;
 
438
 
 
439
enum spoolss_DMPS_TTDLFmt
 
440
#ifndef USE_UINT_ENUMS
 
441
 {
 
442
        SPOOLSS_DM_PS_TTDLFMT_DEFAULT=(int)(0x00000000),
 
443
        SPOOLSS_DM_PS_TTDLFMT_TYPE_1=(int)(0x00000001),
 
444
        SPOOLSS_DM_PS_TTDLFMT_TYPE_3=(int)(0x00000002),
 
445
        SPOOLSS_DM_PS_TTDLFMT_TYPE_42=(int)(0x00000003)
 
446
}
 
447
#else
 
448
 { __donnot_use_enum_spoolss_DMPS_TTDLFmt=0x7FFFFFFF}
 
449
#define SPOOLSS_DM_PS_TTDLFMT_DEFAULT ( 0x00000000 )
 
450
#define SPOOLSS_DM_PS_TTDLFMT_TYPE_1 ( 0x00000001 )
 
451
#define SPOOLSS_DM_PS_TTDLFMT_TYPE_3 ( 0x00000002 )
 
452
#define SPOOLSS_DM_PS_TTDLFMT_TYPE_42 ( 0x00000003 )
 
453
#endif
 
454
;
 
455
 
 
456
enum spoolss_DMPS_PSLevel
 
457
#ifndef USE_UINT_ENUMS
 
458
 {
 
459
        SPOOLSS_DM_PS_PSLEVEL_1=(int)(0x00000001),
 
460
        SPOOLSS_DM_PS_PSLEVEL_2=(int)(0x00000002),
 
461
        SPOOLSS_DM_PS_PSLEVEL_3=(int)(0x00000003)
 
462
}
 
463
#else
 
464
 { __donnot_use_enum_spoolss_DMPS_PSLevel=0x7FFFFFFF}
 
465
#define SPOOLSS_DM_PS_PSLEVEL_1 ( 0x00000001 )
 
466
#define SPOOLSS_DM_PS_PSLEVEL_2 ( 0x00000002 )
 
467
#define SPOOLSS_DM_PS_PSLEVEL_3 ( 0x00000003 )
 
468
#endif
 
469
;
 
470
 
 
471
enum spoolss_DMPS_FeedDirection
 
472
#ifndef USE_UINT_ENUMS
 
473
 {
 
474
        SPOOLSS_DM_PS_FEED_DIRECTION_LONG_EDGE_FIRST=(int)(0x0000),
 
475
        SPOOLSS_DM_PS_FEED_DIRECTION_SHORT_EDGE_FIRST=(int)(0x0001),
 
476
        SPOOLSS_DM_PS_FEED_DIRECTION_LONG_EDGE_FIRST_UPSIDEDOWN=(int)(0x0002),
 
477
        SPOOLSS_DM_PS_FEED_DIRECTION_SHORT_EDGE_FIRST_UPSIDEDOWN=(int)(0x0003)
 
478
}
 
479
#else
 
480
 { __donnot_use_enum_spoolss_DMPS_FeedDirection=0x7FFFFFFF}
 
481
#define SPOOLSS_DM_PS_FEED_DIRECTION_LONG_EDGE_FIRST ( 0x0000 )
 
482
#define SPOOLSS_DM_PS_FEED_DIRECTION_SHORT_EDGE_FIRST ( 0x0001 )
 
483
#define SPOOLSS_DM_PS_FEED_DIRECTION_LONG_EDGE_FIRST_UPSIDEDOWN ( 0x0002 )
 
484
#define SPOOLSS_DM_PS_FEED_DIRECTION_SHORT_EDGE_FIRST_UPSIDEDOWN ( 0x0003 )
 
485
#endif
 
486
;
 
487
 
 
488
struct spoolss_PSDRVEXTRA500 {
 
489
        enum spoolss_DM_Signature dwSignature;/* [value(SPOOLSS_DM_SIGNATURE_PSEXTRA)] */
 
490
        uint32_t dwFlags;
 
491
        uint32_t wchEPSFile[12];
 
492
        uint16_t caSize;/* [value(24)] */
 
493
        uint16_t caFlags;
 
494
        uint16_t caIlluminantIndex;
 
495
        uint16_t caRedGamma;
 
496
        uint16_t caGreenGamma;
 
497
        uint16_t caBlueGamma;
 
498
        uint16_t caReferenceBlack;
 
499
        uint16_t caReferenceWhite;
 
500
        uint16_t caContrast;
 
501
        uint16_t caBrightness;
 
502
        uint16_t caColorfulness;
 
503
        uint16_t caRedGreenTint;
 
504
        uint16_t wReserved1;
 
505
        uint16_t wSize;
 
506
        uint32_t fxScrFreq;
 
507
        uint32_t fxScrAngle;
 
508
        enum spoolss_DMPS_Dialect iDialect;
 
509
        enum spoolss_DMPS_TTDLFmt iTTDLFmt;
 
510
        uint32_t bReversePrint;
 
511
        enum spoolss_DM_Layout iLayout;
 
512
        enum spoolss_DMPS_PSLevel iPSLevel;
 
513
        uint32_t dwReserved2;
 
514
        uint16_t wOEMExtra;
 
515
        uint16_t wVer;/* [value(0x0010)] */
 
516
        uint32_t dwX;
 
517
        uint32_t dwY;
 
518
        uint32_t dwWidthOffset;
 
519
        uint32_t dwHeightOffset;
 
520
        enum spoolss_DMPS_FeedDirection wFeedDirection;
 
521
        uint16_t wCutSheet;
 
522
        uint32_t dwReserved3[4];
 
523
        uint32_t dwChecksum32;
 
524
        uint32_t dwOptions;
 
525
        uint32_t aOptions[128];
 
526
};
 
527
 
 
528
struct spoolss_PSDRVEXTRA {
 
529
        enum spoolss_DM_Signature dwSignature;/* [value(SPOOLSS_DM_SIGNATURE_PSEXTRA)] */
 
530
        uint32_t dwFlags;
 
531
        uint32_t wchEPSFile[12];
 
532
        uint16_t caSize;/* [value(24)] */
 
533
        uint16_t caFlags;
 
534
        uint16_t caIlluminantIndex;
 
535
        uint16_t caRedGamma;
 
536
        uint16_t caGreenGamma;
 
537
        uint16_t caBlueGamma;
 
538
        uint16_t caReferenceBlack;
 
539
        uint16_t caReferenceWhite;
 
540
        uint16_t caContrast;
 
541
        uint16_t caBrightness;
 
542
        uint16_t caColorfulness;
 
543
        uint16_t caRedGreenTint;
 
544
        uint16_t wCoreJTExpSize;
 
545
        uint16_t wCoreFullSize;/* [value(ndr_size_spoolss_PSDRVEXTRA(r,ndr->flags)+wCoreJTExpSize)] */
 
546
        uint32_t fxScrFreq;
 
547
        uint32_t fxScrAngle;
 
548
        enum spoolss_DMPS_Dialect iDialect;
 
549
        enum spoolss_DMPS_TTDLFmt iTTDLFmt;
 
550
        uint32_t bReversePrint;
 
551
        enum spoolss_DM_Layout iLayout;
 
552
        enum spoolss_DMPS_PSLevel iPSLevel;
 
553
        uint32_t dwReserved2;
 
554
        uint16_t wOEMExtra;
 
555
        uint16_t wVer;/* [value(0x0010)] */
 
556
        uint32_t dwX;
 
557
        uint32_t dwY;
 
558
        uint32_t dwWidthOffset;
 
559
        uint32_t dwHeightOffset;
 
560
        enum spoolss_DMPS_FeedDirection wFeedDirection;
 
561
        uint16_t wCutSheet;
 
562
        uint32_t dwReserved3[4];
 
563
        uint32_t dwChecksum32;
 
564
        uint32_t dwOptions;
 
565
        uint32_t aOptions[128];
 
566
        enum spoolss_DM_NupDirection dwNupDirection;
 
567
        enum spoolss_DM_NupBorderFlags dwNupBorderFlags;
 
568
        enum spoolss_DM_BookletFlags dwBookletFlags;
 
569
        uint32_t dwPadding;
 
570
};
 
571
 
 
572
struct spoolss_UNIDRVEXTRA3_4 {
 
573
        uint16_t wReserved[56];
 
574
};
 
575
 
 
576
enum spoolss_DMUNI_Quality
 
577
#ifndef USE_UINT_ENUMS
 
578
 {
 
579
        SPOOLSS_DM_UNI_QUALITY_BEST=(int)(0x00000000),
 
580
        SPOOLSS_DM_UNI_QUALITY_MEDIUM=(int)(0x00000001),
 
581
        SPOOLSS_DM_UNI_QUALITY_DRAFT=(int)(0x00000002)
 
582
}
 
583
#else
 
584
 { __donnot_use_enum_spoolss_DMUNI_Quality=0x7FFFFFFF}
 
585
#define SPOOLSS_DM_UNI_QUALITY_BEST ( 0x00000000 )
 
586
#define SPOOLSS_DM_UNI_QUALITY_MEDIUM ( 0x00000001 )
 
587
#define SPOOLSS_DM_UNI_QUALITY_DRAFT ( 0x00000002 )
 
588
#endif
 
589
;
 
590
 
 
591
/* bitmap spoolss_DMUNI_Flags */
 
592
#define SPOOLSS_DM_UNI_FLAGS_PRINT_TEXT_AS_GRAPHICS ( 0x00000002 )
 
593
#define SPOOLSS_DM_UNI_FLAGS_AVOID_EMFSPOOL ( 0x00000010 )
 
594
#define SPOOLSS_DM_UNI_FLAGS_CUSTOM_HALFTONING ( 0x00000080 )
 
595
 
 
596
struct spoolss_UNIDRVEXTRA500 {
 
597
        enum spoolss_DM_Signature dwSignature;/* [value(SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA)] */
 
598
        uint16_t wVer;/* [value(0x0022)] */
 
599
        uint16_t sPadding;
 
600
        uint16_t wSize;
 
601
        uint16_t wOEMExtra;
 
602
        uint32_t dwChecksum32;
 
603
        uint32_t dwFlags;
 
604
        uint32_t bReversePrint;
 
605
        enum spoolss_DM_Layout iLayout;
 
606
        enum spoolss_DMUNI_Quality iQuality;
 
607
        uint16_t wReserved[6];
 
608
        uint32_t dwOptions;
 
609
        uint32_t aOptions[128];
 
610
};
 
611
 
 
612
struct spoolss_UNIDRVEXTRA {
 
613
        enum spoolss_DM_Signature dwSignature;/* [value(SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA)] */
 
614
        uint16_t wVer;/* [value(0x0022)] */
 
615
        uint16_t wCoreJTExpSize;
 
616
        uint16_t wCoreFullSize;/* [value(ndr_size_spoolss_UNIDRVEXTRA(r,ndr->flags)+wCoreJTExpSize)] */
 
617
        uint16_t wOEMExtra;
 
618
        uint32_t dwChecksum32;
 
619
        uint32_t dwFlags;
 
620
        uint32_t bReversePrint;
 
621
        enum spoolss_DM_Layout iLayout;
 
622
        enum spoolss_DMUNI_Quality iQuality;
 
623
        uint16_t wReserved[6];
 
624
        uint32_t dwOptions;
 
625
        uint32_t aOptions[128];
 
626
        enum spoolss_DM_NupDirection dwNupDirection;
 
627
        enum spoolss_DM_NupBorderFlags dwNupBorderFlags;
 
628
        enum spoolss_DM_BookletFlags dwBookletFlags;
 
629
}/* [gensize,public] */;
 
630
 
 
631
struct spoolss_JTEXP {
 
632
        uint32_t dwSize;
 
633
        enum spoolss_DM_Signature dwSignature;/* [value(SPOOLSS_DM_SIGNATURE_JTEXP)] */
 
634
        uint32_t dwVersion;/* [value(0)] */
 
635
        uint32_t wJTHdrSize;/* [value(16)] */
 
636
        uint32_t wCoreMFOSize;
 
637
        const char *ModelName;/* [unique,charset(UTF16)] */
 
638
        const char ** FeatureOptionPairs;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
639
};
 
640
 
 
641
struct spoolss_OEM_DMEXTRA {
 
642
        uint32_t dwSize;
 
643
        enum spoolss_DM_Signature dwSignature;
 
644
        uint32_t dwVersion;
 
645
        DATA_BLOB Data;/* [flag(LIBNDR_FLAG_REMAINING)] */
 
646
};
 
647
 
 
648
union spoolss_DeviceModeExtraDataPostScript {
 
649
        struct spoolss_PSDRVEXTRA351 psdrvextra351;/* [case(0x0350)] */
 
650
        struct spoolss_PSDRVEXTRA400 psdrvextra400;/* [case(0x0400)] */
 
651
        struct spoolss_PSDRVEXTRA500 psdrvextra500;/* [case(0x0501)] */
 
652
        struct spoolss_PSDRVEXTRA psdrvextra;/* [case(0x0600)] */
 
653
        DATA_BLOB psblob;/* [default,flag(LIBNDR_FLAG_REMAINING)] */
 
654
}/* [nodiscriminant] */;
 
655
 
 
656
union spoolss_DeviceModeExtraDataUniDriver {
 
657
        struct spoolss_UNIDRVEXTRA3_4 unidrvextra3_4;/* [case(0x0301)] */
 
658
        struct spoolss_UNIDRVEXTRA500 unidrvextra500;/* [case(0x0500)] */
 
659
        struct spoolss_UNIDRVEXTRA unidrvextra;/* [case(0x0600)] */
 
660
        DATA_BLOB uniblob;/* [default,flag(LIBNDR_FLAG_REMAINING)] */
 
661
}/* [nodiscriminant] */;
 
662
 
 
663
/* bitmap spoolss_DeviceModeFields */
 
664
#define DEVMODE_ORIENTATION ( 0x00000001 )
 
665
#define DEVMODE_PAPERSIZE ( 0x00000002 )
 
666
#define DEVMODE_PAPERLENGTH ( 0x00000004 )
 
667
#define DEVMODE_PAPERWIDTH ( 0x00000008 )
 
668
#define DEVMODE_SCALE ( 0x00000010 )
 
669
#define DEVMODE_POSITION ( 0x00000020 )
 
670
#define DEVMODE_NUP ( 0x00000040 )
 
671
#define DEVMODE_COPIES ( 0x00000100 )
 
672
#define DEVMODE_DEFAULTSOURCE ( 0x00000200 )
 
673
#define DEVMODE_PRINTQUALITY ( 0x00000400 )
 
674
#define DEVMODE_COLOR ( 0x00000800 )
 
675
#define DEVMODE_DUPLEX ( 0x00001000 )
 
676
#define DEVMODE_YRESOLUTION ( 0x00002000 )
 
677
#define DEVMODE_TTOPTION ( 0x00004000 )
 
678
#define DEVMODE_COLLATE ( 0x00008000 )
 
679
#define DEVMODE_FORMNAME ( 0x00010000 )
 
680
#define DEVMODE_LOGPIXELS ( 0x00020000 )
 
681
#define DEVMODE_BITSPERPEL ( 0x00040000 )
 
682
#define DEVMODE_PELSWIDTH ( 0x00080000 )
 
683
#define DEVMODE_PELSHEIGHT ( 0x00100000 )
 
684
#define DEVMODE_DISPLAYFLAGS ( 0x00200000 )
 
685
#define DEVMODE_DISPLAYFREQUENCY ( 0x00400000 )
 
686
#define DEVMODE_ICMMETHOD ( 0x00800000 )
 
687
#define DEVMODE_ICMINTENT ( 0x01000000 )
 
688
#define DEVMODE_MEDIATYPE ( 0x02000000 )
 
689
#define DEVMODE_DITHERTYPE ( 0x04000000 )
 
690
#define DEVMODE_PANNINGWIDTH ( 0x08000000 )
 
691
#define DEVMODE_PANNINGHEIGHT ( 0x10000000 )
 
692
 
 
693
enum spoolss_DeviceModeSpecVersion
 
694
#ifndef USE_UINT_ENUMS
 
695
 {
 
696
        DMSPEC_NT3=(int)(0x320),
 
697
        DMSPEC_WIN95_98_ME=(int)(0x400),
 
698
        DMSPEC_NT4_AND_ABOVE=(int)(0x401)
 
699
}
 
700
#else
 
701
 { __donnot_use_enum_spoolss_DeviceModeSpecVersion=0x7FFFFFFF}
 
702
#define DMSPEC_NT3 ( 0x320 )
 
703
#define DMSPEC_WIN95_98_ME ( 0x400 )
 
704
#define DMSPEC_NT4_AND_ABOVE ( 0x401 )
 
705
#endif
 
706
;
 
707
 
 
708
enum spoolss_DeviceModeOrientation
 
709
#ifndef USE_UINT_ENUMS
 
710
 {
 
711
        DMORIENT_PORTRAIT=(int)(0x0001),
 
712
        DMORIENT_LANDSCAPE=(int)(0x0002)
 
713
}
 
714
#else
 
715
 { __donnot_use_enum_spoolss_DeviceModeOrientation=0x7FFFFFFF}
 
716
#define DMORIENT_PORTRAIT ( 0x0001 )
 
717
#define DMORIENT_LANDSCAPE ( 0x0002 )
 
718
#endif
 
719
;
 
720
 
 
721
enum spoolss_DeviceModePaperSize
 
722
#ifndef USE_UINT_ENUMS
 
723
 {
 
724
        DMPAPER_LETTER=(int)(0x0001),
 
725
        DMPAPER_LETTERSMALL=(int)(0x0002),
 
726
        DMPAPER_TABLOID=(int)(0x0003),
 
727
        DMPAPER_LEDGER=(int)(0x0004),
 
728
        DMPAPER_LEGAL=(int)(0x0005),
 
729
        DMPAPER_STATEMENT=(int)(0x0006),
 
730
        DMPAPER_EXECUTIVE=(int)(0x0007),
 
731
        DMPAPER_A3=(int)(0x0008),
 
732
        DMPAPER_A4=(int)(0x0009),
 
733
        DMPAPER_A4SMALL=(int)(0x000A),
 
734
        DMPAPER_A5=(int)(0x000B),
 
735
        DMPAPER_B4=(int)(0x000C),
 
736
        DMPAPER_B5=(int)(0x000D),
 
737
        DMPAPER_FOLIO=(int)(0x000E),
 
738
        DMPAPER_QUARTO=(int)(0x000F),
 
739
        DMPAPER_10X14=(int)(0x0010),
 
740
        DMPAPER_11X17=(int)(0x0011),
 
741
        DMPAPER_NOTE=(int)(0x0012),
 
742
        DMPAPER_ENV_9=(int)(0x0013),
 
743
        DMPAPER_ENV_10=(int)(0x0014),
 
744
        DMPAPER_ENV_11=(int)(0x0015),
 
745
        DMPAPER_ENV_12=(int)(0x0016),
 
746
        DMPAPER_ENV_14=(int)(0x0017),
 
747
        DMPAPER_CSHEET=(int)(0x0018),
 
748
        DMPAPER_DSHEET=(int)(0x0019),
 
749
        DMPAPER_ESHEET=(int)(0x001A),
 
750
        DMPAPER_ENV_DL=(int)(0x001B),
 
751
        DMPAPER_ENV_C5=(int)(0x001C),
 
752
        DMPAPER_ENV_C3=(int)(0x001D),
 
753
        DMPAPER_ENV_C4=(int)(0x001E),
 
754
        DMPAPER_ENV_C6=(int)(0x001F),
 
755
        DMPAPER_ENV_C65=(int)(0x0020),
 
756
        DMPAPER_ENV_B4=(int)(0x0021),
 
757
        DMPAPER_ENV_B5=(int)(0x0022),
 
758
        DMPAPER_ENV_B6=(int)(0x0023),
 
759
        DMPAPER_ENV_ITALY=(int)(0x0024),
 
760
        DMPAPER_ENV_MONARCH=(int)(0x0025),
 
761
        DMPAPER_ENV_PERSONAL=(int)(0x0026),
 
762
        DMPAPER_FANFOLD_US=(int)(0x0027),
 
763
        DMPAPER_FANFOLD_STD_GERMAN=(int)(0x0028),
 
764
        DMPAPER_FANFOLD_LGL_GERMAN=(int)(0x0029),
 
765
        DMPAPER_DBL_JAPANESE_POSTCARD=(int)(0x0045),
 
766
        DMPAPER_A6=(int)(0x0046),
 
767
        DMPAPER_JENV_KAKU2=(int)(0x0047),
 
768
        DMPAPER_JENV_KAKU3=(int)(0x0048),
 
769
        DMPAPER_JENV_CHOU3=(int)(0x0049),
 
770
        DMPAPER_JENV_CHOU4=(int)(0x004A),
 
771
        DMPAPER_LETTER_ROTATED=(int)(0x004B),
 
772
        DMPAPER_A3_ROTATED=(int)(0x004C),
 
773
        DMPAPER_A4_ROTATED=(int)(0x004D),
 
774
        DMPAPER_A5_ROTATED=(int)(0x004E),
 
775
        DMPAPER_B4_JIS_ROTATED=(int)(0x004F),
 
776
        DMPAPER_B5_JIS_ROTATED=(int)(0x0050),
 
777
        DMPAPER_JAPANESE_POSTCARD_ROTATED=(int)(0x0051),
 
778
        DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED=(int)(0x0052),
 
779
        DMPAPER_A6_ROTATED=(int)(0x0053),
 
780
        DMPAPER_JENV_KAKU2_ROTATED=(int)(0x0054),
 
781
        DMPAPER_JENV_KAKU3_ROTATED=(int)(0x0055),
 
782
        DMPAPER_JENV_CHOU3_ROTATED=(int)(0x0056),
 
783
        DMPAPER_JENV_CHOU4_ROTATED=(int)(0x0057),
 
784
        DMPAPER_B6_JIS=(int)(0x0058),
 
785
        DMPAPER_B6_JIS_ROTATED=(int)(0x0059),
 
786
        DMPAPER_12X11=(int)(0x005A),
 
787
        DMPAPER_JENV_YOU4=(int)(0x005B),
 
788
        DMPAPER_JENV_YOU4_ROTATED=(int)(0x005C),
 
789
        DMPAPER_P16K=(int)(0x005D),
 
790
        DMPAPER_P32K=(int)(0x005E),
 
791
        DMPAPER_P32KBIG=(int)(0x005F),
 
792
        DMPAPER_PENV_1=(int)(0x0060),
 
793
        DMPAPER_PENV_2=(int)(0x0061),
 
794
        DMPAPER_PENV_3=(int)(0x0062),
 
795
        DMPAPER_PENV_4=(int)(0x0063),
 
796
        DMPAPER_PENV_5=(int)(0x0064),
 
797
        DMPAPER_PENV_6=(int)(0x0065),
 
798
        DMPAPER_PENV_7=(int)(0x0066),
 
799
        DMPAPER_PENV_8=(int)(0x0067),
 
800
        DMPAPER_PENV_9=(int)(0x0068),
 
801
        DMPAPER_PENV_10=(int)(0x0069),
 
802
        DMPAPER_P16K_ROTATED=(int)(0x006A),
 
803
        DMPAPER_P32K_ROTATED=(int)(0x006B),
 
804
        DMPAPER_P32KBIG_ROTATED=(int)(0x006C),
 
805
        DMPAPER_PENV_1_ROTATED=(int)(0x006D),
 
806
        DMPAPER_PENV_2_ROTATED=(int)(0x006E),
 
807
        DMPAPER_PENV_3_ROTATED=(int)(0x006F),
 
808
        DMPAPER_PENV_4_ROTATED=(int)(0x0070),
 
809
        DMPAPER_PENV_5_ROTATED=(int)(0x0071),
 
810
        DMPAPER_PENV_6_ROTATED=(int)(0x0072),
 
811
        DMPAPER_PENV_7_ROTATED=(int)(0x0073),
 
812
        DMPAPER_PENV_8_ROTATED=(int)(0x0074),
 
813
        DMPAPER_PENV_9_ROTATED=(int)(0x0075),
 
814
        DMPAPER_PENV_10_ROTATED=(int)(0x0076)
 
815
}
 
816
#else
 
817
 { __donnot_use_enum_spoolss_DeviceModePaperSize=0x7FFFFFFF}
 
818
#define DMPAPER_LETTER ( 0x0001 )
 
819
#define DMPAPER_LETTERSMALL ( 0x0002 )
 
820
#define DMPAPER_TABLOID ( 0x0003 )
 
821
#define DMPAPER_LEDGER ( 0x0004 )
 
822
#define DMPAPER_LEGAL ( 0x0005 )
 
823
#define DMPAPER_STATEMENT ( 0x0006 )
 
824
#define DMPAPER_EXECUTIVE ( 0x0007 )
 
825
#define DMPAPER_A3 ( 0x0008 )
 
826
#define DMPAPER_A4 ( 0x0009 )
 
827
#define DMPAPER_A4SMALL ( 0x000A )
 
828
#define DMPAPER_A5 ( 0x000B )
 
829
#define DMPAPER_B4 ( 0x000C )
 
830
#define DMPAPER_B5 ( 0x000D )
 
831
#define DMPAPER_FOLIO ( 0x000E )
 
832
#define DMPAPER_QUARTO ( 0x000F )
 
833
#define DMPAPER_10X14 ( 0x0010 )
 
834
#define DMPAPER_11X17 ( 0x0011 )
 
835
#define DMPAPER_NOTE ( 0x0012 )
 
836
#define DMPAPER_ENV_9 ( 0x0013 )
 
837
#define DMPAPER_ENV_10 ( 0x0014 )
 
838
#define DMPAPER_ENV_11 ( 0x0015 )
 
839
#define DMPAPER_ENV_12 ( 0x0016 )
 
840
#define DMPAPER_ENV_14 ( 0x0017 )
 
841
#define DMPAPER_CSHEET ( 0x0018 )
 
842
#define DMPAPER_DSHEET ( 0x0019 )
 
843
#define DMPAPER_ESHEET ( 0x001A )
 
844
#define DMPAPER_ENV_DL ( 0x001B )
 
845
#define DMPAPER_ENV_C5 ( 0x001C )
 
846
#define DMPAPER_ENV_C3 ( 0x001D )
 
847
#define DMPAPER_ENV_C4 ( 0x001E )
 
848
#define DMPAPER_ENV_C6 ( 0x001F )
 
849
#define DMPAPER_ENV_C65 ( 0x0020 )
 
850
#define DMPAPER_ENV_B4 ( 0x0021 )
 
851
#define DMPAPER_ENV_B5 ( 0x0022 )
 
852
#define DMPAPER_ENV_B6 ( 0x0023 )
 
853
#define DMPAPER_ENV_ITALY ( 0x0024 )
 
854
#define DMPAPER_ENV_MONARCH ( 0x0025 )
 
855
#define DMPAPER_ENV_PERSONAL ( 0x0026 )
 
856
#define DMPAPER_FANFOLD_US ( 0x0027 )
 
857
#define DMPAPER_FANFOLD_STD_GERMAN ( 0x0028 )
 
858
#define DMPAPER_FANFOLD_LGL_GERMAN ( 0x0029 )
 
859
#define DMPAPER_DBL_JAPANESE_POSTCARD ( 0x0045 )
 
860
#define DMPAPER_A6 ( 0x0046 )
 
861
#define DMPAPER_JENV_KAKU2 ( 0x0047 )
 
862
#define DMPAPER_JENV_KAKU3 ( 0x0048 )
 
863
#define DMPAPER_JENV_CHOU3 ( 0x0049 )
 
864
#define DMPAPER_JENV_CHOU4 ( 0x004A )
 
865
#define DMPAPER_LETTER_ROTATED ( 0x004B )
 
866
#define DMPAPER_A3_ROTATED ( 0x004C )
 
867
#define DMPAPER_A4_ROTATED ( 0x004D )
 
868
#define DMPAPER_A5_ROTATED ( 0x004E )
 
869
#define DMPAPER_B4_JIS_ROTATED ( 0x004F )
 
870
#define DMPAPER_B5_JIS_ROTATED ( 0x0050 )
 
871
#define DMPAPER_JAPANESE_POSTCARD_ROTATED ( 0x0051 )
 
872
#define DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED ( 0x0052 )
 
873
#define DMPAPER_A6_ROTATED ( 0x0053 )
 
874
#define DMPAPER_JENV_KAKU2_ROTATED ( 0x0054 )
 
875
#define DMPAPER_JENV_KAKU3_ROTATED ( 0x0055 )
 
876
#define DMPAPER_JENV_CHOU3_ROTATED ( 0x0056 )
 
877
#define DMPAPER_JENV_CHOU4_ROTATED ( 0x0057 )
 
878
#define DMPAPER_B6_JIS ( 0x0058 )
 
879
#define DMPAPER_B6_JIS_ROTATED ( 0x0059 )
 
880
#define DMPAPER_12X11 ( 0x005A )
 
881
#define DMPAPER_JENV_YOU4 ( 0x005B )
 
882
#define DMPAPER_JENV_YOU4_ROTATED ( 0x005C )
 
883
#define DMPAPER_P16K ( 0x005D )
 
884
#define DMPAPER_P32K ( 0x005E )
 
885
#define DMPAPER_P32KBIG ( 0x005F )
 
886
#define DMPAPER_PENV_1 ( 0x0060 )
 
887
#define DMPAPER_PENV_2 ( 0x0061 )
 
888
#define DMPAPER_PENV_3 ( 0x0062 )
 
889
#define DMPAPER_PENV_4 ( 0x0063 )
 
890
#define DMPAPER_PENV_5 ( 0x0064 )
 
891
#define DMPAPER_PENV_6 ( 0x0065 )
 
892
#define DMPAPER_PENV_7 ( 0x0066 )
 
893
#define DMPAPER_PENV_8 ( 0x0067 )
 
894
#define DMPAPER_PENV_9 ( 0x0068 )
 
895
#define DMPAPER_PENV_10 ( 0x0069 )
 
896
#define DMPAPER_P16K_ROTATED ( 0x006A )
 
897
#define DMPAPER_P32K_ROTATED ( 0x006B )
 
898
#define DMPAPER_P32KBIG_ROTATED ( 0x006C )
 
899
#define DMPAPER_PENV_1_ROTATED ( 0x006D )
 
900
#define DMPAPER_PENV_2_ROTATED ( 0x006E )
 
901
#define DMPAPER_PENV_3_ROTATED ( 0x006F )
 
902
#define DMPAPER_PENV_4_ROTATED ( 0x0070 )
 
903
#define DMPAPER_PENV_5_ROTATED ( 0x0071 )
 
904
#define DMPAPER_PENV_6_ROTATED ( 0x0072 )
 
905
#define DMPAPER_PENV_7_ROTATED ( 0x0073 )
 
906
#define DMPAPER_PENV_8_ROTATED ( 0x0074 )
 
907
#define DMPAPER_PENV_9_ROTATED ( 0x0075 )
 
908
#define DMPAPER_PENV_10_ROTATED ( 0x0076 )
 
909
#endif
 
910
;
 
911
 
 
912
enum spoolss_DeviceModeDefaultSource
 
913
#ifndef USE_UINT_ENUMS
 
914
 {
 
915
        DMBIN_UPPER=(int)(0x0001),
 
916
        DMBIN_LOWER=(int)(0x0002),
 
917
        DMBIN_MIDDLE=(int)(0x0003),
 
918
        DMBIN_MANUAL=(int)(0x0004),
 
919
        DMBIN_ENVELOPE=(int)(0x0005),
 
920
        DMBIN_ENVMANUAL=(int)(0x0006),
 
921
        DMBIN_AUTO=(int)(0x0007),
 
922
        DMBIN_TRACTOR=(int)(0x0008),
 
923
        DMBIN_SMALLFMT=(int)(0x0009),
 
924
        DMBIN_LARGEFMT=(int)(0x000a),
 
925
        DMBIN_LARGECAPACITY=(int)(0x000b),
 
926
        DMBIN_CASSETTE=(int)(0x000e),
 
927
        DMBIN_FORMSOURCE=(int)(0x000f)
 
928
}
 
929
#else
 
930
 { __donnot_use_enum_spoolss_DeviceModeDefaultSource=0x7FFFFFFF}
 
931
#define DMBIN_UPPER ( 0x0001 )
 
932
#define DMBIN_LOWER ( 0x0002 )
 
933
#define DMBIN_MIDDLE ( 0x0003 )
 
934
#define DMBIN_MANUAL ( 0x0004 )
 
935
#define DMBIN_ENVELOPE ( 0x0005 )
 
936
#define DMBIN_ENVMANUAL ( 0x0006 )
 
937
#define DMBIN_AUTO ( 0x0007 )
 
938
#define DMBIN_TRACTOR ( 0x0008 )
 
939
#define DMBIN_SMALLFMT ( 0x0009 )
 
940
#define DMBIN_LARGEFMT ( 0x000a )
 
941
#define DMBIN_LARGECAPACITY ( 0x000b )
 
942
#define DMBIN_CASSETTE ( 0x000e )
 
943
#define DMBIN_FORMSOURCE ( 0x000f )
 
944
#endif
 
945
;
 
946
 
 
947
enum spoolss_DeviceModePrintQuality
 
948
#ifndef USE_UINT_ENUMS
 
949
 {
 
950
        DMRES_HIGH=(int)(0xfffc),
 
951
        DMRES_MEDIUM=(int)(0xfffd),
 
952
        DMRES_LOW=(int)(0xfffe),
 
953
        DMRES_DRAFT=(int)(0xffff)
 
954
}
 
955
#else
 
956
 { __donnot_use_enum_spoolss_DeviceModePrintQuality=0x7FFFFFFF}
 
957
#define DMRES_HIGH ( 0xfffc )
 
958
#define DMRES_MEDIUM ( 0xfffd )
 
959
#define DMRES_LOW ( 0xfffe )
 
960
#define DMRES_DRAFT ( 0xffff )
 
961
#endif
 
962
;
 
963
 
 
964
enum spoolss_DeviceModeColor
 
965
#ifndef USE_UINT_ENUMS
 
966
 {
 
967
        DMRES_MONOCHROME=(int)(0x0001),
 
968
        DMRES_COLOR=(int)(0x0002)
 
969
}
 
970
#else
 
971
 { __donnot_use_enum_spoolss_DeviceModeColor=0x7FFFFFFF}
 
972
#define DMRES_MONOCHROME ( 0x0001 )
 
973
#define DMRES_COLOR ( 0x0002 )
 
974
#endif
 
975
;
 
976
 
 
977
enum spoolss_DeviceModeDuplex
 
978
#ifndef USE_UINT_ENUMS
 
979
 {
 
980
        DMDUP_SIMPLEX=(int)(0x0001),
 
981
        DMDUP_VERTICAL=(int)(0x0002),
 
982
        DMDUP_HORIZONTAL=(int)(0x0003)
 
983
}
 
984
#else
 
985
 { __donnot_use_enum_spoolss_DeviceModeDuplex=0x7FFFFFFF}
 
986
#define DMDUP_SIMPLEX ( 0x0001 )
 
987
#define DMDUP_VERTICAL ( 0x0002 )
 
988
#define DMDUP_HORIZONTAL ( 0x0003 )
 
989
#endif
 
990
;
 
991
 
 
992
enum spoolss_DeviceModeTTOption
 
993
#ifndef USE_UINT_ENUMS
 
994
 {
 
995
        DMTT_BITMAP=(int)(0x0001),
 
996
        DMTT_DOWNLOAD=(int)(0x0002),
 
997
        DMTT_SUBDEV=(int)(0x0003),
 
998
        DMTT_DOWNLOAD_OUTLINE=(int)(0x0004)
 
999
}
 
1000
#else
 
1001
 { __donnot_use_enum_spoolss_DeviceModeTTOption=0x7FFFFFFF}
 
1002
#define DMTT_BITMAP ( 0x0001 )
 
1003
#define DMTT_DOWNLOAD ( 0x0002 )
 
1004
#define DMTT_SUBDEV ( 0x0003 )
 
1005
#define DMTT_DOWNLOAD_OUTLINE ( 0x0004 )
 
1006
#endif
 
1007
;
 
1008
 
 
1009
enum spoolss_DeviceModeCollate
 
1010
#ifndef USE_UINT_ENUMS
 
1011
 {
 
1012
        DMCOLLATE_FALSE=(int)(0x0000),
 
1013
        DMCOLLATE_TRUE=(int)(0x0001)
 
1014
}
 
1015
#else
 
1016
 { __donnot_use_enum_spoolss_DeviceModeCollate=0x7FFFFFFF}
 
1017
#define DMCOLLATE_FALSE ( 0x0000 )
 
1018
#define DMCOLLATE_TRUE ( 0x0001 )
 
1019
#endif
 
1020
;
 
1021
 
 
1022
enum spoolss_DeviceModeNUp
 
1023
#ifndef USE_UINT_ENUMS
 
1024
 {
 
1025
        DMNUP_SYSTEM=(int)(0x00000001),
 
1026
        DMNUP_ONEUP=(int)(0x00000002)
 
1027
}
 
1028
#else
 
1029
 { __donnot_use_enum_spoolss_DeviceModeNUp=0x7FFFFFFF}
 
1030
#define DMNUP_SYSTEM ( 0x00000001 )
 
1031
#define DMNUP_ONEUP ( 0x00000002 )
 
1032
#endif
 
1033
;
 
1034
 
 
1035
enum spoolss_DeviceModeICMMethod
 
1036
#ifndef USE_UINT_ENUMS
 
1037
 {
 
1038
        DMICMMETHOD_NONE=(int)(0x00000001),
 
1039
        DMICMMETHOD_SYSTEM=(int)(0x00000002),
 
1040
        DMICMMETHOD_DRIVER=(int)(0x00000003),
 
1041
        DMICMMETHOD_DEVICE=(int)(0x00000004)
 
1042
}
 
1043
#else
 
1044
 { __donnot_use_enum_spoolss_DeviceModeICMMethod=0x7FFFFFFF}
 
1045
#define DMICMMETHOD_NONE ( 0x00000001 )
 
1046
#define DMICMMETHOD_SYSTEM ( 0x00000002 )
 
1047
#define DMICMMETHOD_DRIVER ( 0x00000003 )
 
1048
#define DMICMMETHOD_DEVICE ( 0x00000004 )
 
1049
#endif
 
1050
;
 
1051
 
 
1052
enum spoolss_DeviceModeICMIntent
 
1053
#ifndef USE_UINT_ENUMS
 
1054
 {
 
1055
        DMICM_SATURATE=(int)(0x00000001),
 
1056
        DMICM_CONTRAST=(int)(0x00000002),
 
1057
        DMICM_COLORIMETRIC=(int)(0x00000003),
 
1058
        DMICM_ABS_COLORIMETRIC=(int)(0x00000004)
 
1059
}
 
1060
#else
 
1061
 { __donnot_use_enum_spoolss_DeviceModeICMIntent=0x7FFFFFFF}
 
1062
#define DMICM_SATURATE ( 0x00000001 )
 
1063
#define DMICM_CONTRAST ( 0x00000002 )
 
1064
#define DMICM_COLORIMETRIC ( 0x00000003 )
 
1065
#define DMICM_ABS_COLORIMETRIC ( 0x00000004 )
 
1066
#endif
 
1067
;
 
1068
 
 
1069
enum spoolss_DeviceModeMediaType
 
1070
#ifndef USE_UINT_ENUMS
 
1071
 {
 
1072
        DMMEDIA_STANDARD=(int)(0x00000001),
 
1073
        DMMEDIA_TRANSPARENCY=(int)(0x00000002),
 
1074
        DMMEDIA_GLOSSY=(int)(0x00000003)
 
1075
}
 
1076
#else
 
1077
 { __donnot_use_enum_spoolss_DeviceModeMediaType=0x7FFFFFFF}
 
1078
#define DMMEDIA_STANDARD ( 0x00000001 )
 
1079
#define DMMEDIA_TRANSPARENCY ( 0x00000002 )
 
1080
#define DMMEDIA_GLOSSY ( 0x00000003 )
 
1081
#endif
 
1082
;
 
1083
 
 
1084
enum spoolss_DeviceModeDitherType
 
1085
#ifndef USE_UINT_ENUMS
 
1086
 {
 
1087
        DMDITHER_NONE=(int)(0x00000001),
 
1088
        DMDITHER_COARSE=(int)(0x00000002),
 
1089
        DMDITHER_FINE=(int)(0x00000003),
 
1090
        DMDITHER_LINEART=(int)(0x00000004),
 
1091
        DMDITHER_ERRORDIFFUSION=(int)(0x00000005),
 
1092
        DMDITHER_RESERVED6=(int)(0x00000006),
 
1093
        DMDITHER_RESERVED7=(int)(0x00000007),
 
1094
        DMDITHER_RESERVED8=(int)(0x00000008),
 
1095
        DMDITHER_RESERVED9=(int)(0x00000009),
 
1096
        DMDITHER_GRAYSCALE=(int)(0x0000000A)
 
1097
}
 
1098
#else
 
1099
 { __donnot_use_enum_spoolss_DeviceModeDitherType=0x7FFFFFFF}
 
1100
#define DMDITHER_NONE ( 0x00000001 )
 
1101
#define DMDITHER_COARSE ( 0x00000002 )
 
1102
#define DMDITHER_FINE ( 0x00000003 )
 
1103
#define DMDITHER_LINEART ( 0x00000004 )
 
1104
#define DMDITHER_ERRORDIFFUSION ( 0x00000005 )
 
1105
#define DMDITHER_RESERVED6 ( 0x00000006 )
 
1106
#define DMDITHER_RESERVED7 ( 0x00000007 )
 
1107
#define DMDITHER_RESERVED8 ( 0x00000008 )
 
1108
#define DMDITHER_RESERVED9 ( 0x00000009 )
 
1109
#define DMDITHER_GRAYSCALE ( 0x0000000A )
 
1110
#endif
 
1111
;
 
1112
 
 
1113
struct spoolss_DeviceMode {
 
1114
        const char *devicename;/* [charset(UTF16)] */
 
1115
        enum spoolss_DeviceModeSpecVersion specversion;
 
1116
        uint16_t driverversion;
 
1117
        uint16_t size;
 
1118
        uint16_t __driverextra_length;/* [value(r->driverextra_data.length)] */
 
1119
        uint32_t fields;
 
1120
        enum spoolss_DeviceModeOrientation orientation;
 
1121
        enum spoolss_DeviceModePaperSize papersize;
 
1122
        uint16_t paperlength;
 
1123
        uint16_t paperwidth;
 
1124
        uint16_t scale;
 
1125
        uint16_t copies;
 
1126
        enum spoolss_DeviceModeDefaultSource defaultsource;
 
1127
        enum spoolss_DeviceModePrintQuality printquality;
 
1128
        enum spoolss_DeviceModeColor color;
 
1129
        enum spoolss_DeviceModeDuplex duplex;
 
1130
        uint16_t yresolution;
 
1131
        enum spoolss_DeviceModeTTOption ttoption;
 
1132
        enum spoolss_DeviceModeCollate collate;
 
1133
        const char *formname;/* [charset(UTF16)] */
 
1134
        uint16_t logpixels;
 
1135
        uint32_t bitsperpel;
 
1136
        uint32_t pelswidth;
 
1137
        uint32_t pelsheight;
 
1138
        enum spoolss_DeviceModeNUp displayflags;
 
1139
        uint32_t displayfrequency;
 
1140
        enum spoolss_DeviceModeICMMethod icmmethod;
 
1141
        enum spoolss_DeviceModeICMIntent icmintent;
 
1142
        enum spoolss_DeviceModeMediaType mediatype;
 
1143
        enum spoolss_DeviceModeDitherType dithertype;
 
1144
        uint32_t reserved1;
 
1145
        uint32_t reserved2;
 
1146
        uint32_t panningwidth;
 
1147
        uint32_t panningheight;
 
1148
        DATA_BLOB driverextra_data;/* [subcontext_size(__driverextra_length),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
 
1149
}/* [gensize,public] */;
 
1150
 
 
1151
/* bitmap spoolss_EnumPrinterFlags */
 
1152
#define PRINTER_ENUM_DEFAULT ( 0x00000001 )
 
1153
#define PRINTER_ENUM_LOCAL ( 0x00000002 )
 
1154
#define PRINTER_ENUM_CONNECTIONS ( 0x00000004 )
 
1155
#define PRINTER_ENUM_FAVORITE ( 0x00000004 )
 
1156
#define PRINTER_ENUM_NAME ( 0x00000008 )
 
1157
#define PRINTER_ENUM_REMOTE ( 0x00000010 )
 
1158
#define PRINTER_ENUM_SHARED ( 0x00000020 )
 
1159
#define PRINTER_ENUM_NETWORK ( 0x00000040 )
 
1160
#define PRINTER_ENUM_EXPAND ( 0x00004000 )
 
1161
#define PRINTER_ENUM_CONTAINER ( 0x00008000 )
 
1162
#define PRINTER_ENUM_ICON1 ( 0x00010000 )
 
1163
#define PRINTER_ENUM_ICON2 ( 0x00020000 )
 
1164
#define PRINTER_ENUM_ICON3 ( 0x00040000 )
 
1165
#define PRINTER_ENUM_ICON4 ( 0x00080000 )
 
1166
#define PRINTER_ENUM_ICON5 ( 0x00100000 )
 
1167
#define PRINTER_ENUM_ICON6 ( 0x00200000 )
 
1168
#define PRINTER_ENUM_ICON7 ( 0x00400000 )
 
1169
#define PRINTER_ENUM_ICON8 ( 0x00800000 )
 
1170
#define PRINTER_ENUM_HIDE ( 0x01000000 )
 
1171
 
 
1172
/* bitmap spoolss_PrinterAttributes */
 
1173
#define PRINTER_ATTRIBUTE_QUEUED ( 0x00000001 )
 
1174
#define PRINTER_ATTRIBUTE_DIRECT ( 0x00000002 )
 
1175
#define PRINTER_ATTRIBUTE_DEFAULT ( 0x00000004 )
 
1176
#define PRINTER_ATTRIBUTE_SHARED ( 0x00000008 )
 
1177
#define PRINTER_ATTRIBUTE_NETWORK ( 0x00000010 )
 
1178
#define PRINTER_ATTRIBUTE_HIDDEN ( 0x00000020 )
 
1179
#define PRINTER_ATTRIBUTE_LOCAL ( 0x00000040 )
 
1180
#define PRINTER_ATTRIBUTE_ENABLE_DEVQ ( 0x00000080 )
 
1181
#define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS ( 0x00000100 )
 
1182
#define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST ( 0x00000200 )
 
1183
#define PRINTER_ATTRIBUTE_WORK_OFFLINE ( 0x00000400 )
 
1184
#define PRINTER_ATTRIBUTE_ENABLE_BIDI ( 0x00000800 )
 
1185
#define PRINTER_ATTRIBUTE_RAW_ONLY ( 0x00001000 )
 
1186
#define PRINTER_ATTRIBUTE_PUBLISHED ( 0x00002000 )
 
1187
#define PRINTER_ATTRIBUTE_FAX ( 0x00004000 )
 
1188
#define PRINTER_ATTRIBUTE_TS ( 0x00008000 )
 
1189
 
 
1190
struct spoolss_PrinterInfo1 {
 
1191
        uint32_t flags;
 
1192
        const char * description;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1193
        const char * name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1194
        const char * comment;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1195
}/* [gensize,public] */;
 
1196
 
 
1197
struct spoolss_PrinterInfo2 {
 
1198
        const char * servername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1199
        const char * printername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1200
        const char * sharename;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1201
        const char * portname;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1202
        const char * drivername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1203
        const char * comment;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1204
        const char * location;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1205
        struct spoolss_DeviceMode *devmode;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */
 
1206
        const char * sepfile;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1207
        const char * printprocessor;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1208
        const char * datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1209
        const char * parameters;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1210
        struct spoolss_security_descriptor *secdesc;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */
 
1211
        uint32_t attributes;
 
1212
        uint32_t priority;/* [range(0,99)] */
 
1213
        uint32_t defaultpriority;
 
1214
        uint32_t starttime;
 
1215
        uint32_t untiltime;
 
1216
        uint32_t status;
 
1217
        uint32_t cjobs;
 
1218
        uint32_t averageppm;
 
1219
}/* [gensize,public,nopush] */;
 
1220
 
 
1221
struct spoolss_PrinterInfo3 {
 
1222
        struct spoolss_security_descriptor *secdesc;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */
 
1223
}/* [gensize,public] */;
 
1224
 
 
1225
struct spoolss_PrinterInfo4 {
 
1226
        const char * printername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1227
        const char * servername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1228
        uint32_t attributes;
 
1229
}/* [gensize,public] */;
 
1230
 
 
1231
struct spoolss_PrinterInfo5 {
 
1232
        const char * printername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1233
        const char * portname;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1234
        uint32_t attributes;
 
1235
        uint32_t device_not_selected_timeout;
 
1236
        uint32_t transmission_retry_timeout;
 
1237
}/* [gensize,public] */;
 
1238
 
 
1239
struct spoolss_PrinterInfo6 {
 
1240
        uint32_t status;
 
1241
}/* [gensize,public] */;
 
1242
 
 
1243
/* bitmap spoolss_DsPrintAction */
 
1244
#define DSPRINT_PUBLISH ( 0x00000001 )
 
1245
#define DSPRINT_UPDATE ( 0x00000002 )
 
1246
#define DSPRINT_UNPUBLISH ( 0x00000004 )
 
1247
#define DSPRINT_REPUBLISH ( 0x00000008 )
 
1248
#define DSPRINT_PENDING ( 0x80000000 )
 
1249
 
 
1250
struct spoolss_PrinterInfo7 {
 
1251
        const char * guid;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1252
        uint32_t action;
 
1253
}/* [gensize,public] */;
 
1254
 
 
1255
struct spoolss_DeviceModeInfo {
 
1256
        struct spoolss_DeviceMode *devmode;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */
 
1257
};
 
1258
 
 
1259
union spoolss_PrinterInfo {
 
1260
        struct spoolss_PrinterInfo0 info0;/* [case(0)] */
 
1261
        struct spoolss_PrinterInfo1 info1;/* [case] */
 
1262
        struct spoolss_PrinterInfo2 info2;/* [case(2)] */
 
1263
        struct spoolss_PrinterInfo3 info3;/* [case(3)] */
 
1264
        struct spoolss_PrinterInfo4 info4;/* [case(4)] */
 
1265
        struct spoolss_PrinterInfo5 info5;/* [case(5)] */
 
1266
        struct spoolss_PrinterInfo6 info6;/* [case(6)] */
 
1267
        struct spoolss_PrinterInfo7 info7;/* [case(7)] */
 
1268
        struct spoolss_DeviceModeInfo info8;/* [case(8)] */
 
1269
        struct spoolss_DeviceModeInfo info9;/* [case(9)] */
 
1270
}/* [gensize,relative_base,nodiscriminant,public,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
1271
 
 
1272
struct spoolss_DevmodeContainer {
 
1273
        uint32_t _ndr_size;/* [value(_ndr_size_spoolss_DeviceMode(devmode,ndr->flags))] */
 
1274
        struct spoolss_DeviceMode *devmode;/* [unique,subcontext_size(_ndr_size),subcontext(4)] */
 
1275
};
 
1276
 
 
1277
struct spoolss_JobInfo1 {
 
1278
        uint32_t job_id;
 
1279
        const char * printer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1280
        const char * server_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1281
        const char * user_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1282
        const char * document_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1283
        const char * data_type;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1284
        const char * text_status;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1285
        uint32_t status;
 
1286
        uint32_t priority;/* [range(0,99)] */
 
1287
        uint32_t position;
 
1288
        uint32_t total_pages;
 
1289
        uint32_t pages_printed;
 
1290
        struct spoolss_Time submitted;
 
1291
}/* [gensize,public] */;
 
1292
 
 
1293
struct spoolss_JobInfo2 {
 
1294
        uint32_t job_id;
 
1295
        const char * printer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1296
        const char * server_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1297
        const char * user_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1298
        const char * document_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1299
        const char * notify_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1300
        const char * data_type;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1301
        const char * print_processor;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1302
        const char * parameters;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1303
        const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1304
        struct spoolss_DeviceMode *devmode;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */
 
1305
        const char * text_status;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1306
        struct spoolss_security_descriptor *secdesc;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */
 
1307
        uint32_t status;
 
1308
        uint32_t priority;/* [range(0,99)] */
 
1309
        uint32_t position;
 
1310
        uint32_t start_time;
 
1311
        uint32_t until_time;
 
1312
        uint32_t total_pages;
 
1313
        uint32_t size;
 
1314
        struct spoolss_Time submitted;
 
1315
        uint32_t time;
 
1316
        uint32_t pages_printed;
 
1317
}/* [gensize,public] */;
 
1318
 
 
1319
struct spoolss_JobInfo3 {
 
1320
        uint32_t job_id;
 
1321
        uint32_t next_job_id;
 
1322
        uint32_t reserved;
 
1323
}/* [gensize,public] */;
 
1324
 
 
1325
struct spoolss_JobInfo4 {
 
1326
        uint32_t job_id;
 
1327
        const char * printer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1328
        const char * server_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1329
        const char * user_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1330
        const char * document_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1331
        const char * notify_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1332
        const char * data_type;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1333
        const char * print_processor;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1334
        const char * parameters;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1335
        const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1336
        struct spoolss_DeviceMode *devmode;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */
 
1337
        const char * text_status;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1338
        struct spoolss_security_descriptor *secdesc;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */
 
1339
        uint32_t status;
 
1340
        uint32_t priority;/* [range(0,99)] */
 
1341
        uint32_t position;
 
1342
        uint32_t start_time;
 
1343
        uint32_t until_time;
 
1344
        uint32_t total_pages;
 
1345
        uint32_t size;
 
1346
        struct spoolss_Time submitted;
 
1347
        uint32_t time;
 
1348
        uint32_t pages_printed;
 
1349
        uint32_t size_high;
 
1350
}/* [gensize,public] */;
 
1351
 
 
1352
union spoolss_JobInfo {
 
1353
        struct spoolss_JobInfo1 info1;/* [case] */
 
1354
        struct spoolss_JobInfo2 info2;/* [case(2)] */
 
1355
        struct spoolss_JobInfo3 info3;/* [case(3)] */
 
1356
        struct spoolss_JobInfo4 info4;/* [case(4)] */
 
1357
}/* [gensize,relative_base,nodiscriminant,public,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
1358
 
 
1359
struct spoolss_SetJobInfo1 {
 
1360
        uint32_t job_id;
 
1361
        const char *printer_name;/* [unique,charset(UTF16)] */
 
1362
        const char *server_name;/* [unique,charset(UTF16)] */
 
1363
        const char *user_name;/* [unique,charset(UTF16)] */
 
1364
        const char *document_name;/* [unique,charset(UTF16)] */
 
1365
        const char *data_type;/* [unique,charset(UTF16)] */
 
1366
        const char *text_status;/* [unique,charset(UTF16)] */
 
1367
        uint32_t status;
 
1368
        uint32_t priority;/* [range(0,99)] */
 
1369
        uint32_t position;
 
1370
        uint32_t total_pages;
 
1371
        uint32_t pages_printed;
 
1372
        struct spoolss_Time submitted;
 
1373
};
 
1374
 
 
1375
struct spoolss_SetJobInfo2 {
 
1376
        uint32_t job_id;
 
1377
        const char *printer_name;/* [unique,charset(UTF16)] */
 
1378
        const char *server_name;/* [unique,charset(UTF16)] */
 
1379
        const char *user_name;/* [unique,charset(UTF16)] */
 
1380
        const char *document_name;/* [unique,charset(UTF16)] */
 
1381
        const char *notify_name;/* [unique,charset(UTF16)] */
 
1382
        const char *data_type;/* [unique,charset(UTF16)] */
 
1383
        const char *print_processor;/* [unique,charset(UTF16)] */
 
1384
        const char *parameters;/* [unique,charset(UTF16)] */
 
1385
        const char *driver_name;/* [unique,charset(UTF16)] */
 
1386
        uint32_t _devmode_ptr;
 
1387
        const char *text_status;/* [unique,charset(UTF16)] */
 
1388
        uint32_t _secdesc_ptr;
 
1389
        uint32_t status;
 
1390
        uint32_t priority;/* [range(0,99)] */
 
1391
        uint32_t position;
 
1392
        uint32_t start_time;
 
1393
        uint32_t until_time;
 
1394
        uint32_t total_pages;
 
1395
        uint32_t size;
 
1396
        struct spoolss_Time submitted;
 
1397
        uint32_t time;
 
1398
        uint32_t pages_printed;
 
1399
};
 
1400
 
 
1401
struct spoolss_SetJobInfo4 {
 
1402
        uint32_t job_id;
 
1403
        const char *printer_name;/* [unique,charset(UTF16)] */
 
1404
        const char *server_name;/* [unique,charset(UTF16)] */
 
1405
        const char *user_name;/* [unique,charset(UTF16)] */
 
1406
        const char *document_name;/* [unique,charset(UTF16)] */
 
1407
        const char *notify_name;/* [unique,charset(UTF16)] */
 
1408
        const char *data_type;/* [unique,charset(UTF16)] */
 
1409
        const char *print_processor;/* [unique,charset(UTF16)] */
 
1410
        const char *parameters;/* [unique,charset(UTF16)] */
 
1411
        const char *driver_name;/* [unique,charset(UTF16)] */
 
1412
        uint32_t _devmode_ptr;
 
1413
        const char *text_status;/* [unique,charset(UTF16)] */
 
1414
        uint32_t _secdesc_ptr;
 
1415
        uint32_t status;
 
1416
        uint32_t priority;/* [range(0,99)] */
 
1417
        uint32_t position;
 
1418
        uint32_t start_time;
 
1419
        uint32_t until_time;
 
1420
        uint32_t total_pages;
 
1421
        uint32_t size;
 
1422
        struct spoolss_Time submitted;
 
1423
        uint32_t time;
 
1424
        uint32_t pages_printed;
 
1425
        uint32_t size_high;
 
1426
};
 
1427
 
 
1428
union spoolss_SetJobInfo {
 
1429
        struct spoolss_SetJobInfo1 *info1;/* [unique,case] */
 
1430
        struct spoolss_SetJobInfo2 *info2;/* [unique,case(2)] */
 
1431
        struct spoolss_JobInfo3 *info3;/* [unique,case(3)] */
 
1432
        struct spoolss_SetJobInfo4 *info4;/* [unique,case(4)] */
 
1433
}/* [public] */;
 
1434
 
 
1435
struct spoolss_JobInfoContainer {
 
1436
        uint32_t level;
 
1437
        union spoolss_SetJobInfo info;/* [switch_is(level)] */
 
1438
};
 
1439
 
 
1440
enum spoolss_JobControl
 
1441
#ifndef USE_UINT_ENUMS
 
1442
 {
 
1443
        SPOOLSS_JOB_CONTROL_PAUSE=(int)(1),
 
1444
        SPOOLSS_JOB_CONTROL_RESUME=(int)(2),
 
1445
        SPOOLSS_JOB_CONTROL_CANCEL=(int)(3),
 
1446
        SPOOLSS_JOB_CONTROL_RESTART=(int)(4),
 
1447
        SPOOLSS_JOB_CONTROL_DELETE=(int)(5),
 
1448
        SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER=(int)(6),
 
1449
        SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED=(int)(7),
 
1450
        SPOOLSS_JOB_CONTROL_RETAIN=(int)(8),
 
1451
        SPOOLSS_JOB_CONTROL_RELEASE=(int)(9)
 
1452
}
 
1453
#else
 
1454
 { __donnot_use_enum_spoolss_JobControl=0x7FFFFFFF}
 
1455
#define SPOOLSS_JOB_CONTROL_PAUSE ( 1 )
 
1456
#define SPOOLSS_JOB_CONTROL_RESUME ( 2 )
 
1457
#define SPOOLSS_JOB_CONTROL_CANCEL ( 3 )
 
1458
#define SPOOLSS_JOB_CONTROL_RESTART ( 4 )
 
1459
#define SPOOLSS_JOB_CONTROL_DELETE ( 5 )
 
1460
#define SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER ( 6 )
 
1461
#define SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED ( 7 )
 
1462
#define SPOOLSS_JOB_CONTROL_RETAIN ( 8 )
 
1463
#define SPOOLSS_JOB_CONTROL_RELEASE ( 9 )
 
1464
#endif
 
1465
;
 
1466
 
 
1467
enum spoolss_PrinterControl
 
1468
#ifndef USE_UINT_ENUMS
 
1469
 {
 
1470
        SPOOLSS_PRINTER_CONTROL_UNPAUSE=(int)(0),
 
1471
        SPOOLSS_PRINTER_CONTROL_PAUSE=(int)(1),
 
1472
        SPOOLSS_PRINTER_CONTROL_RESUME=(int)(2),
 
1473
        SPOOLSS_PRINTER_CONTROL_PURGE=(int)(3),
 
1474
        SPOOLSS_PRINTER_CONTROL_SET_STATUS=(int)(4)
 
1475
}
 
1476
#else
 
1477
 { __donnot_use_enum_spoolss_PrinterControl=0x7FFFFFFF}
 
1478
#define SPOOLSS_PRINTER_CONTROL_UNPAUSE ( 0 )
 
1479
#define SPOOLSS_PRINTER_CONTROL_PAUSE ( 1 )
 
1480
#define SPOOLSS_PRINTER_CONTROL_RESUME ( 2 )
 
1481
#define SPOOLSS_PRINTER_CONTROL_PURGE ( 3 )
 
1482
#define SPOOLSS_PRINTER_CONTROL_SET_STATUS ( 4 )
 
1483
#endif
 
1484
;
 
1485
 
 
1486
struct spoolss_SetPrinterInfo0 {
 
1487
        const char *servername;/* [unique,charset(UTF16)] */
 
1488
        const char *printername;/* [unique,charset(UTF16)] */
 
1489
        uint32_t cjobs;
 
1490
        uint32_t total_jobs;
 
1491
        uint32_t total_bytes;
 
1492
        struct spoolss_Time time;
 
1493
        uint32_t global_counter;
 
1494
        uint32_t total_pages;
 
1495
        uint32_t version;
 
1496
        enum spoolss_Build free_build;
 
1497
        uint32_t spooling;
 
1498
        uint32_t max_spooling;
 
1499
        uint32_t session_counter;
 
1500
        uint32_t num_error_out_of_paper;
 
1501
        uint32_t num_error_not_ready;
 
1502
        uint32_t job_error;
 
1503
        uint32_t number_of_processors;
 
1504
        enum spoolss_ProcessorType processor_type;
 
1505
        uint32_t high_part_total_bytes;
 
1506
        uint32_t change_id;
 
1507
        WERROR last_error;
 
1508
        uint32_t status;
 
1509
        uint32_t enumerate_network_printers;
 
1510
        uint32_t c_setprinter;
 
1511
        enum spoolss_ProcessorArchitecture processor_architecture;
 
1512
        uint16_t processor_level;
 
1513
        uint32_t ref_ic;
 
1514
        uint32_t reserved2;
 
1515
        uint32_t reserved3;
 
1516
};
 
1517
 
 
1518
struct spoolss_SetPrinterInfo1 {
 
1519
        uint32_t flags;
 
1520
        const char *description;/* [unique,charset(UTF16)] */
 
1521
        const char *name;/* [unique,charset(UTF16)] */
 
1522
        const char *comment;/* [unique,charset(UTF16)] */
 
1523
};
 
1524
 
 
1525
struct spoolss_SetPrinterInfo2 {
 
1526
        const char *servername;/* [unique,charset(UTF16)] */
 
1527
        const char *printername;/* [unique,charset(UTF16)] */
 
1528
        const char *sharename;/* [unique,charset(UTF16)] */
 
1529
        const char *portname;/* [unique,charset(UTF16)] */
 
1530
        const char *drivername;/* [unique,charset(UTF16)] */
 
1531
        const char *comment;/* [unique,charset(UTF16)] */
 
1532
        const char *location;/* [unique,charset(UTF16)] */
 
1533
        uint32_t devmode_ptr;
 
1534
        const char *sepfile;/* [unique,charset(UTF16)] */
 
1535
        const char *printprocessor;/* [unique,charset(UTF16)] */
 
1536
        const char *datatype;/* [unique,charset(UTF16)] */
 
1537
        const char *parameters;/* [unique,charset(UTF16)] */
 
1538
        uint32_t secdesc_ptr;
 
1539
        uint32_t attributes;
 
1540
        uint32_t priority;/* [range(0,99)] */
 
1541
        uint32_t defaultpriority;
 
1542
        uint32_t starttime;
 
1543
        uint32_t untiltime;
 
1544
        uint32_t status;
 
1545
        uint32_t cjobs;
 
1546
        uint32_t averageppm;
 
1547
};
 
1548
 
 
1549
struct spoolss_SetPrinterInfo3 {
 
1550
        uint32_t sec_desc_ptr;
 
1551
};
 
1552
 
 
1553
struct spoolss_SetPrinterInfo4 {
 
1554
        const char *printername;/* [unique,charset(UTF16)] */
 
1555
        const char *servername;/* [unique,charset(UTF16)] */
 
1556
        uint32_t attributes;
 
1557
};
 
1558
 
 
1559
struct spoolss_SetPrinterInfo5 {
 
1560
        const char *printername;/* [unique,charset(UTF16)] */
 
1561
        const char *portname;/* [unique,charset(UTF16)] */
 
1562
        uint32_t attributes;
 
1563
        uint32_t device_not_selected_timeout;
 
1564
        uint32_t transmission_retry_timeout;
 
1565
};
 
1566
 
 
1567
struct spoolss_SetPrinterInfo6 {
 
1568
        uint32_t status;
 
1569
};
 
1570
 
 
1571
struct spoolss_SetPrinterInfo7 {
 
1572
        const char *guid;/* [unique,charset(UTF16)] */
 
1573
        uint32_t action;
 
1574
};
 
1575
 
 
1576
struct spoolss_SetPrinterInfo8 {
 
1577
        uint32_t devmode_ptr;
 
1578
};
 
1579
 
 
1580
struct spoolss_SetPrinterInfo9 {
 
1581
        uint32_t devmode_ptr;
 
1582
};
 
1583
 
 
1584
union spoolss_SetPrinterInfo {
 
1585
        struct spoolss_SetPrinterInfo0 *info0;/* [unique,case(0)] */
 
1586
        struct spoolss_SetPrinterInfo1 *info1;/* [unique,case] */
 
1587
        struct spoolss_SetPrinterInfo2 *info2;/* [unique,case(2)] */
 
1588
        struct spoolss_SetPrinterInfo3 *info3;/* [unique,case(3)] */
 
1589
        struct spoolss_SetPrinterInfo4 *info4;/* [unique,case(4)] */
 
1590
        struct spoolss_SetPrinterInfo5 *info5;/* [unique,case(5)] */
 
1591
        struct spoolss_SetPrinterInfo6 *info6;/* [unique,case(6)] */
 
1592
        struct spoolss_SetPrinterInfo7 *info7;/* [unique,case(7)] */
 
1593
        struct spoolss_SetPrinterInfo8 *info8;/* [unique,case(8)] */
 
1594
        struct spoolss_SetPrinterInfo9 *info9;/* [unique,case(9)] */
 
1595
}/* [switch_type(uint32)] */;
 
1596
 
 
1597
struct spoolss_SetPrinterInfoCtr {
 
1598
        uint32_t level;
 
1599
        union spoolss_SetPrinterInfo info;/* [switch_is(level)] */
 
1600
};
 
1601
 
 
1602
struct spoolss_StringArray {
 
1603
        uint32_t _ndr_size;/* [value((ndr_size_spoolss_StringArray(r,ndr->flags)-4)/2)] */
 
1604
        const char ** string;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1605
}/* [public] */;
 
1606
 
 
1607
struct spoolss_AddDriverInfo1 {
 
1608
        const char *driver_name;/* [unique,charset(UTF16)] */
 
1609
};
 
1610
 
 
1611
enum spoolss_DriverOSVersion
 
1612
#ifndef USE_UINT_ENUMS
 
1613
 {
 
1614
        SPOOLSS_DRIVER_VERSION_9X=(int)(0),
 
1615
        SPOOLSS_DRIVER_VERSION_NT35=(int)(1),
 
1616
        SPOOLSS_DRIVER_VERSION_NT4=(int)(2),
 
1617
        SPOOLSS_DRIVER_VERSION_200X=(int)(3)
 
1618
}
 
1619
#else
 
1620
 { __donnot_use_enum_spoolss_DriverOSVersion=0x7FFFFFFF}
 
1621
#define SPOOLSS_DRIVER_VERSION_9X ( 0 )
 
1622
#define SPOOLSS_DRIVER_VERSION_NT35 ( 1 )
 
1623
#define SPOOLSS_DRIVER_VERSION_NT4 ( 2 )
 
1624
#define SPOOLSS_DRIVER_VERSION_200X ( 3 )
 
1625
#endif
 
1626
;
 
1627
 
 
1628
struct spoolss_AddDriverInfo2 {
 
1629
        enum spoolss_DriverOSVersion version;
 
1630
        const char *driver_name;/* [unique,charset(UTF16)] */
 
1631
        const char *architecture;/* [unique,charset(UTF16)] */
 
1632
        const char *driver_path;/* [unique,charset(UTF16)] */
 
1633
        const char *data_file;/* [unique,charset(UTF16)] */
 
1634
        const char *config_file;/* [unique,charset(UTF16)] */
 
1635
};
 
1636
 
 
1637
struct spoolss_AddDriverInfo3 {
 
1638
        enum spoolss_DriverOSVersion version;
 
1639
        const char *driver_name;/* [unique,charset(UTF16)] */
 
1640
        const char *architecture;/* [unique,charset(UTF16)] */
 
1641
        const char *driver_path;/* [unique,charset(UTF16)] */
 
1642
        const char *data_file;/* [unique,charset(UTF16)] */
 
1643
        const char *config_file;/* [unique,charset(UTF16)] */
 
1644
        const char *help_file;/* [unique,charset(UTF16)] */
 
1645
        const char *monitor_name;/* [unique,charset(UTF16)] */
 
1646
        const char *default_datatype;/* [unique,charset(UTF16)] */
 
1647
        uint32_t _ndr_size_dependent_files;/* [value(((ndr_size_spoolss_StringArray(dependent_files,ndr->flags)-4)/2))] */
 
1648
        struct spoolss_StringArray *dependent_files;/* [unique] */
 
1649
};
 
1650
 
 
1651
struct spoolss_AddDriverInfo4 {
 
1652
        enum spoolss_DriverOSVersion version;
 
1653
        const char *driver_name;/* [unique,charset(UTF16)] */
 
1654
        const char *architecture;/* [unique,charset(UTF16)] */
 
1655
        const char *driver_path;/* [unique,charset(UTF16)] */
 
1656
        const char *data_file;/* [unique,charset(UTF16)] */
 
1657
        const char *config_file;/* [unique,charset(UTF16)] */
 
1658
        const char *help_file;/* [unique,charset(UTF16)] */
 
1659
        const char *monitor_name;/* [unique,charset(UTF16)] */
 
1660
        const char *default_datatype;/* [unique,charset(UTF16)] */
 
1661
        uint32_t _ndr_size_dependent_files;/* [value(((ndr_size_spoolss_StringArray(dependent_files,ndr->flags)-4)/2))] */
 
1662
        struct spoolss_StringArray *dependent_files;/* [unique] */
 
1663
        uint32_t _ndr_size_previous_names;/* [value(((ndr_size_spoolss_StringArray(previous_names,ndr->flags)-4)/2))] */
 
1664
        struct spoolss_StringArray *previous_names;/* [unique] */
 
1665
};
 
1666
 
 
1667
/* bitmap spoolss_DriverAttributes */
 
1668
#define PRINTER_DRIVER_PACKAGE_AWARE ( 0x00000002 )
 
1669
 
 
1670
struct spoolss_AddDriverInfo5 {
 
1671
        enum spoolss_DriverOSVersion version;
 
1672
        const char *driver_name;/* [unique,charset(UTF16)] */
 
1673
        const char *architecture;/* [unique,charset(UTF16)] */
 
1674
        const char *driver_path;/* [unique,charset(UTF16)] */
 
1675
        const char *data_file;/* [unique,charset(UTF16)] */
 
1676
        const char *config_file;/* [unique,charset(UTF16)] */
 
1677
        uint32_t driver_attributes;
 
1678
        uint32_t config_version;
 
1679
        uint32_t driver_version;
 
1680
};
 
1681
 
 
1682
struct spoolss_AddDriverInfo6 {
 
1683
        enum spoolss_DriverOSVersion version;
 
1684
        const char *driver_name;/* [unique,charset(UTF16)] */
 
1685
        const char *architecture;/* [unique,charset(UTF16)] */
 
1686
        const char *driver_path;/* [unique,charset(UTF16)] */
 
1687
        const char *data_file;/* [unique,charset(UTF16)] */
 
1688
        const char *config_file;/* [unique,charset(UTF16)] */
 
1689
        const char *help_file;/* [unique,charset(UTF16)] */
 
1690
        const char *monitor_name;/* [unique,charset(UTF16)] */
 
1691
        const char *default_datatype;/* [unique,charset(UTF16)] */
 
1692
        uint32_t _ndr_size_dependent_files;/* [value(((ndr_size_spoolss_StringArray(dependent_files,ndr->flags)-4)/2))] */
 
1693
        struct spoolss_StringArray *dependent_files;/* [unique] */
 
1694
        uint32_t _ndr_size_previous_names;/* [value(((ndr_size_spoolss_StringArray(previous_names,ndr->flags)-4)/2))] */
 
1695
        struct spoolss_StringArray *previous_names;/* [unique] */
 
1696
        NTTIME driver_date;
 
1697
        uint64_t driver_version;
 
1698
        const char *manufacturer_name;/* [unique,charset(UTF16)] */
 
1699
        const char *manufacturer_url;/* [unique,charset(UTF16)] */
 
1700
        const char *hardware_id;/* [unique,charset(UTF16)] */
 
1701
        const char *provider;/* [unique,charset(UTF16)] */
 
1702
};
 
1703
 
 
1704
struct spoolss_AddDriverInfo8 {
 
1705
        enum spoolss_DriverOSVersion version;
 
1706
        const char *driver_name;/* [unique,charset(UTF16)] */
 
1707
        const char *architecture;/* [unique,charset(UTF16)] */
 
1708
        const char *driver_path;/* [unique,charset(UTF16)] */
 
1709
        const char *data_file;/* [unique,charset(UTF16)] */
 
1710
        const char *config_file;/* [unique,charset(UTF16)] */
 
1711
        const char *help_file;/* [unique,charset(UTF16)] */
 
1712
        const char *monitor_name;/* [unique,charset(UTF16)] */
 
1713
        const char *default_datatype;/* [unique,charset(UTF16)] */
 
1714
        uint32_t _ndr_size_dependent_files;/* [value(((ndr_size_spoolss_StringArray(dependent_files,ndr->flags)-4)/2))] */
 
1715
        struct spoolss_StringArray *dependent_files;/* [unique] */
 
1716
        uint32_t _ndr_size_previous_names;/* [value(((ndr_size_spoolss_StringArray(previous_names,ndr->flags)-4)/2))] */
 
1717
        struct spoolss_StringArray *previous_names;/* [unique] */
 
1718
        NTTIME driver_date;
 
1719
        uint64_t driver_version;
 
1720
        const char *manufacturer_name;/* [unique,charset(UTF16)] */
 
1721
        const char *manufacturer_url;/* [unique,charset(UTF16)] */
 
1722
        const char *hardware_id;/* [unique,charset(UTF16)] */
 
1723
        const char *provider;/* [unique,charset(UTF16)] */
 
1724
        const char *print_processor;/* [unique,charset(UTF16)] */
 
1725
        const char *vendor_setup;/* [unique,charset(UTF16)] */
 
1726
        uint32_t _ndr_size_color_profiles;/* [value(((ndr_size_spoolss_StringArray(color_profiles,ndr->flags)-4)/2))] */
 
1727
        struct spoolss_StringArray *color_profiles;/* [unique] */
 
1728
        const char *inf_path;/* [unique,charset(UTF16)] */
 
1729
        uint32_t printer_driver_attributes;
 
1730
        uint32_t _ndr_size_core_driver_dependencies;/* [value(((ndr_size_spoolss_StringArray(core_driver_dependencies,ndr->flags)-4)/2))] */
 
1731
        struct spoolss_StringArray *core_driver_dependencies;/* [unique] */
 
1732
        NTTIME min_inbox_driver_ver_date;
 
1733
        uint64_t min_inbox_driver_ver_version;
 
1734
};
 
1735
 
 
1736
union spoolss_AddDriverInfo {
 
1737
        struct spoolss_AddDriverInfo1 *info1;/* [unique,case] */
 
1738
        struct spoolss_AddDriverInfo2 *info2;/* [unique,case(2)] */
 
1739
        struct spoolss_AddDriverInfo3 *info3;/* [unique,case(3)] */
 
1740
        struct spoolss_AddDriverInfo4 *info4;/* [unique,case(4)] */
 
1741
        struct spoolss_AddDriverInfo6 *info6;/* [unique,case(6)] */
 
1742
        struct spoolss_AddDriverInfo8 *info8;/* [unique,case(8)] */
 
1743
}/* [switch_type(uint32)] */;
 
1744
 
 
1745
struct spoolss_AddDriverInfoCtr {
 
1746
        uint32_t level;
 
1747
        union spoolss_AddDriverInfo info;/* [switch_is(level)] */
 
1748
};
 
1749
 
 
1750
struct spoolss_DriverInfo1 {
 
1751
        const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1752
}/* [gensize,public] */;
 
1753
 
 
1754
struct spoolss_DriverInfo2 {
 
1755
        enum spoolss_DriverOSVersion version;
 
1756
        const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1757
        const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1758
        const char * driver_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1759
        const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1760
        const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1761
}/* [gensize,public] */;
 
1762
 
 
1763
struct spoolss_DriverInfo3 {
 
1764
        enum spoolss_DriverOSVersion version;
 
1765
        const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1766
        const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1767
        const char * driver_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1768
        const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1769
        const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1770
        const char * help_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1771
        const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1772
        const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1773
        const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1774
}/* [gensize,public] */;
 
1775
 
 
1776
struct spoolss_DriverInfo4 {
 
1777
        enum spoolss_DriverOSVersion version;
 
1778
        const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1779
        const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1780
        const char * driver_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1781
        const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1782
        const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1783
        const char * help_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1784
        const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1785
        const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1786
        const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1787
        const char ** previous_names;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1788
}/* [gensize,public] */;
 
1789
 
 
1790
struct spoolss_DriverInfo5 {
 
1791
        enum spoolss_DriverOSVersion version;
 
1792
        const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1793
        const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1794
        const char * driver_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1795
        const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1796
        const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1797
        uint32_t driver_attributes;
 
1798
        uint32_t config_version;
 
1799
        uint32_t driver_version;
 
1800
}/* [gensize,public] */;
 
1801
 
 
1802
struct spoolss_DriverInfo6 {
 
1803
        enum spoolss_DriverOSVersion version;
 
1804
        const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1805
        const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1806
        const char * driver_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1807
        const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1808
        const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1809
        const char * help_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1810
        const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1811
        const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1812
        const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1813
        const char ** previous_names;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1814
        NTTIME driver_date;
 
1815
        uint64_t driver_version;
 
1816
        const char * manufacturer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1817
        const char * manufacturer_url;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1818
        const char * hardware_id;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1819
        const char * provider;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1820
}/* [gensize,public] */;
 
1821
 
 
1822
struct spoolss_DriverInfo7 {
 
1823
        uint32_t size;
 
1824
        enum spoolss_DriverOSVersion version;
 
1825
        const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1826
        const char * inf_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1827
        const char * install_source_root;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1828
}/* [gensize,public] */;
 
1829
 
 
1830
struct spoolss_DriverInfo8 {
 
1831
        enum spoolss_DriverOSVersion version;
 
1832
        const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1833
        const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1834
        const char * driver_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1835
        const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1836
        const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1837
        const char * help_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1838
        const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1839
        const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1840
        const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1841
        const char ** previous_names;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1842
        NTTIME driver_date;
 
1843
        uint64_t driver_version;
 
1844
        const char * manufacturer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1845
        const char * manufacturer_url;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1846
        const char * hardware_id;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1847
        const char * provider;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1848
        const char * print_processor;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1849
        const char * vendor_setup;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1850
        const char ** color_profiles;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1851
        const char * inf_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1852
        uint32_t printer_driver_attributes;
 
1853
        const char ** core_driver_dependencies;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1854
        NTTIME min_inbox_driver_ver_date;
 
1855
        uint64_t min_inbox_driver_ver_version;
 
1856
}/* [gensize,public] */;
 
1857
 
 
1858
enum spoolss_DriverFileType
 
1859
#ifndef USE_UINT_ENUMS
 
1860
 {
 
1861
        SPOOLSS_DRIVER_FILE_TYPE_RENDERING=(int)(0x00000000),
 
1862
        SPOOLSS_DRIVER_FILE_TYPE_CONFIGURATION=(int)(0x00000001),
 
1863
        SPOOLSS_DRIVER_FILE_TYPE_DATA=(int)(0x00000002),
 
1864
        SPOOLSS_DRIVER_FILE_TYPE_HELP=(int)(0x00000003),
 
1865
        SPOOLSS_DRIVER_FILE_TYPE_OTHER=(int)(0x00000004)
 
1866
}
 
1867
#else
 
1868
 { __donnot_use_enum_spoolss_DriverFileType=0x7FFFFFFF}
 
1869
#define SPOOLSS_DRIVER_FILE_TYPE_RENDERING ( 0x00000000 )
 
1870
#define SPOOLSS_DRIVER_FILE_TYPE_CONFIGURATION ( 0x00000001 )
 
1871
#define SPOOLSS_DRIVER_FILE_TYPE_DATA ( 0x00000002 )
 
1872
#define SPOOLSS_DRIVER_FILE_TYPE_HELP ( 0x00000003 )
 
1873
#define SPOOLSS_DRIVER_FILE_TYPE_OTHER ( 0x00000004 )
 
1874
#endif
 
1875
;
 
1876
 
 
1877
struct spoolss_DriverFileInfo {
 
1878
        const char * file_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1879
        enum spoolss_DriverFileType file_type;
 
1880
        uint32_t file_version;
 
1881
}/* [public] */;
 
1882
 
 
1883
struct spoolss_DriverInfo101 {
 
1884
        enum spoolss_DriverOSVersion version;
 
1885
        const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1886
        const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1887
        struct spoolss_DriverFileInfo *file_info;/* [relative,flag(LIBNDR_FLAG_ALIGN4),size_is(file_count)] */
 
1888
        uint32_t file_count;
 
1889
        const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1890
        const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1891
        const char ** previous_names;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1892
        NTTIME driver_date;
 
1893
        uint64_t driver_version;
 
1894
        const char * manufacturer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1895
        const char * manufacturer_url;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1896
        const char * hardware_id;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1897
        const char * provider;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1898
}/* [gensize,nopush,public,nopull] */;
 
1899
 
 
1900
union spoolss_DriverInfo {
 
1901
        struct spoolss_DriverInfo1 info1;/* [case] */
 
1902
        struct spoolss_DriverInfo2 info2;/* [case(2)] */
 
1903
        struct spoolss_DriverInfo3 info3;/* [case(3)] */
 
1904
        struct spoolss_DriverInfo4 info4;/* [case(4)] */
 
1905
        struct spoolss_DriverInfo5 info5;/* [case(5)] */
 
1906
        struct spoolss_DriverInfo6 info6;/* [case(6)] */
 
1907
        struct spoolss_DriverInfo7 info7;/* [case(7)] */
 
1908
        struct spoolss_DriverInfo8 info8;/* [case(8)] */
 
1909
        struct spoolss_DriverInfo101 info101;/* [case(101)] */
 
1910
}/* [gensize,relative_base,nodiscriminant,public,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
1911
 
 
1912
struct spoolss_DriverDirectoryInfo1 {
 
1913
        const char * directory_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1914
}/* [gensize,public] */;
 
1915
 
 
1916
union spoolss_DriverDirectoryInfo {
 
1917
        struct spoolss_DriverDirectoryInfo1 info1;/* [case] */
 
1918
}/* [gensize,relative_base,nodiscriminant,public,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
1919
 
 
1920
struct spoolss_PrintProcessorInfo1 {
 
1921
        const char * print_processor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1922
}/* [gensize,public] */;
 
1923
 
 
1924
union spoolss_PrintProcessorInfo {
 
1925
        struct spoolss_PrintProcessorInfo1 info1;/* [case] */
 
1926
}/* [relative_base,public,nodiscriminant,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
1927
 
 
1928
struct spoolss_PrintProcessorDirectoryInfo1 {
 
1929
        const char * directory_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1930
}/* [gensize,public] */;
 
1931
 
 
1932
union spoolss_PrintProcessorDirectoryInfo {
 
1933
        struct spoolss_PrintProcessorDirectoryInfo1 info1;/* [case] */
 
1934
}/* [gensize,relative_base,nodiscriminant,public,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
1935
 
 
1936
struct spoolss_DocumentInfo1 {
 
1937
        const char *document_name;/* [unique,charset(UTF16)] */
 
1938
        const char *output_file;/* [unique,charset(UTF16)] */
 
1939
        const char *datatype;/* [unique,charset(UTF16)] */
 
1940
};
 
1941
 
 
1942
union spoolss_DocumentInfo {
 
1943
        struct spoolss_DocumentInfo1 *info1;/* [unique,case] */
 
1944
}/* [switch_type(uint32)] */;
 
1945
 
 
1946
struct spoolss_OSVersion {
 
1947
        uint32_t _ndr_size;/* [value(ndr_size_spoolss_OSVersion(r,ndr->flags))] */
 
1948
        uint32_t major;
 
1949
        uint32_t minor;
 
1950
        uint32_t build;
 
1951
        uint32_t platform_id;/* [value(2)] */
 
1952
        const char * extra_string;/* [subcontext_size(256),subcontext(0),flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1953
}/* [gensize,public] */;
 
1954
 
 
1955
struct spoolss_OSVersionEx {
 
1956
        uint32_t _ndr_size;/* [value(ndr_size_spoolss_OSVersionEx(r,ndr->flags))] */
 
1957
        uint32_t major;
 
1958
        uint32_t minor;
 
1959
        uint32_t build;
 
1960
        uint32_t platform_id;/* [value(2)] */
 
1961
        const char * extra_string;/* [subcontext_size(256),subcontext(0),flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
1962
        uint16_t service_pack_major;
 
1963
        uint16_t service_pack_minor;
 
1964
        uint16_t suite_mask;
 
1965
        uint8_t product_type;
 
1966
        uint8_t reserved;
 
1967
}/* [gensize,public] */;
 
1968
 
 
1969
union spoolss_PrinterData {
 
1970
        const char * string;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2),case(REG_SZ)] */
 
1971
        DATA_BLOB binary;/* [flag(LIBNDR_FLAG_REMAINING),case(REG_BINARY)] */
 
1972
        uint32_t value;/* [case(REG_DWORD)] */
 
1973
        const char ** string_array;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2),case(REG_MULTI_SZ)] */
 
1974
        DATA_BLOB data;/* [flag(LIBNDR_FLAG_REMAINING),default] */
 
1975
}/* [nodiscriminant,public] */;
 
1976
 
 
1977
enum spoolss_FormFlags
 
1978
#ifndef USE_UINT_ENUMS
 
1979
 {
 
1980
        SPOOLSS_FORM_USER=(int)(0),
 
1981
        SPOOLSS_FORM_BUILTIN=(int)(1),
 
1982
        SPOOLSS_FORM_PRINTER=(int)(2)
 
1983
}
 
1984
#else
 
1985
 { __donnot_use_enum_spoolss_FormFlags=0x7FFFFFFF}
 
1986
#define SPOOLSS_FORM_USER ( 0 )
 
1987
#define SPOOLSS_FORM_BUILTIN ( 1 )
 
1988
#define SPOOLSS_FORM_PRINTER ( 2 )
 
1989
#endif
 
1990
;
 
1991
 
 
1992
struct spoolss_FormSize {
 
1993
        uint32_t width;
 
1994
        uint32_t height;
 
1995
};
 
1996
 
 
1997
struct spoolss_FormArea {
 
1998
        uint32_t left;
 
1999
        uint32_t top;
 
2000
        uint32_t right;
 
2001
        uint32_t bottom;
 
2002
};
 
2003
 
 
2004
struct spoolss_FormInfo1 {
 
2005
        enum spoolss_FormFlags flags;
 
2006
        const char * form_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
2007
        struct spoolss_FormSize size;
 
2008
        struct spoolss_FormArea area;
 
2009
}/* [gensize,public] */;
 
2010
 
 
2011
/* bitmap spoolss_FormStringType */
 
2012
#define SPOOLSS_FORM_STRING_TYPE_NONE ( 0x00000001 )
 
2013
#define SPOOLSS_FORM_STRING_TYPE_MUI_DLL ( 0x00000002 )
 
2014
#define SPOOLSS_FORM_STRING_TYPE_LANG_PAIR ( 0x00000004 )
 
2015
 
 
2016
struct spoolss_FormInfo2 {
 
2017
        enum spoolss_FormFlags flags;
 
2018
        const char * form_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
2019
        struct spoolss_FormSize size;
 
2020
        struct spoolss_FormArea area;
 
2021
        const char * keyword;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
 
2022
        uint32_t string_type;
 
2023
        const char * mui_dll;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
2024
        uint32_t ressource_id;
 
2025
        const char * display_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
2026
        uint16_t lang_id;
 
2027
        uint16_t unused;
 
2028
}/* [gensize,public] */;
 
2029
 
 
2030
union spoolss_FormInfo {
 
2031
        struct spoolss_FormInfo1 info1;/* [case] */
 
2032
        struct spoolss_FormInfo2 info2;/* [case(2)] */
 
2033
}/* [gensize,relative_base,nodiscriminant,public,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
2034
 
 
2035
struct spoolss_AddFormInfo1 {
 
2036
        enum spoolss_FormFlags flags;
 
2037
        const char *form_name;/* [unique,charset(UTF16)] */
 
2038
        struct spoolss_FormSize size;
 
2039
        struct spoolss_FormArea area;
 
2040
};
 
2041
 
 
2042
struct spoolss_AddFormInfo2 {
 
2043
        enum spoolss_FormFlags flags;
 
2044
        const char *form_name;/* [unique,charset(UTF16)] */
 
2045
        struct spoolss_FormSize size;
 
2046
        struct spoolss_FormArea area;
 
2047
        const char *keyword;/* [unique,charset(DOS)] */
 
2048
        uint32_t string_type;
 
2049
        const char *mui_dll;/* [unique,charset(UTF16)] */
 
2050
        uint32_t ressource_id;
 
2051
        const char *display_name;/* [unique,charset(UTF16)] */
 
2052
        uint32_t lang_id;
 
2053
};
 
2054
 
 
2055
union spoolss_AddFormInfo {
 
2056
        struct spoolss_AddFormInfo1 *info1;/* [unique,case] */
 
2057
        struct spoolss_AddFormInfo2 *info2;/* [unique,case(2)] */
 
2058
}/* [switch_type(uint32)] */;
 
2059
 
 
2060
struct spoolss_PortInfo1 {
 
2061
        const char * port_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
2062
}/* [gensize,public] */;
 
2063
 
 
2064
/* bitmap spoolss_PortType */
 
2065
#define SPOOLSS_PORT_TYPE_WRITE ( 0x00000001 )
 
2066
#define SPOOLSS_PORT_TYPE_READ ( 0x00000002 )
 
2067
#define SPOOLSS_PORT_TYPE_REDIRECTED ( 0x00000004 )
 
2068
#define SPOOLSS_PORT_TYPE_NET_ATTACHED ( 0x00000008 )
 
2069
 
 
2070
struct spoolss_PortInfo2 {
 
2071
        const char * port_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
2072
        const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
2073
        const char * description;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
2074
        uint32_t port_type;
 
2075
        uint32_t reserved;
 
2076
}/* [gensize,public] */;
 
2077
 
 
2078
enum spoolss_PortStatus
 
2079
#ifndef USE_UINT_ENUMS
 
2080
 {
 
2081
        PORT_STATUS_CLEAR=(int)(0x00000000),
 
2082
        PORT_STATUS_OFFLINE=(int)(0x00000001),
 
2083
        PORT_STATUS_PAPER_JAM=(int)(0x00000002),
 
2084
        PORT_STATUS_PAPER_OUT=(int)(0x00000003),
 
2085
        PORT_STATUS_OUTPUT_BIN_FULL=(int)(0x00000004),
 
2086
        PORT_STATUS_PAPER_PROBLEM=(int)(0x00000005),
 
2087
        PORT_STATUS_NO_TONER=(int)(0x00000006),
 
2088
        PORT_STATUS_DOOR_OPEN=(int)(0x00000007),
 
2089
        PORT_STATUS_USER_INTERVENTION=(int)(0x00000008),
 
2090
        PORT_STATUS_OUT_OF_MEMORY=(int)(0x00000009),
 
2091
        PORT_STATUS_TONER_LOW=(int)(0x0000000A),
 
2092
        PORT_STATUS_WARMING_UP=(int)(0x0000000B),
 
2093
        PORT_STATUS_POWER_SAVE=(int)(0x0000000C)
 
2094
}
 
2095
#else
 
2096
 { __donnot_use_enum_spoolss_PortStatus=0x7FFFFFFF}
 
2097
#define PORT_STATUS_CLEAR ( 0x00000000 )
 
2098
#define PORT_STATUS_OFFLINE ( 0x00000001 )
 
2099
#define PORT_STATUS_PAPER_JAM ( 0x00000002 )
 
2100
#define PORT_STATUS_PAPER_OUT ( 0x00000003 )
 
2101
#define PORT_STATUS_OUTPUT_BIN_FULL ( 0x00000004 )
 
2102
#define PORT_STATUS_PAPER_PROBLEM ( 0x00000005 )
 
2103
#define PORT_STATUS_NO_TONER ( 0x00000006 )
 
2104
#define PORT_STATUS_DOOR_OPEN ( 0x00000007 )
 
2105
#define PORT_STATUS_USER_INTERVENTION ( 0x00000008 )
 
2106
#define PORT_STATUS_OUT_OF_MEMORY ( 0x00000009 )
 
2107
#define PORT_STATUS_TONER_LOW ( 0x0000000A )
 
2108
#define PORT_STATUS_WARMING_UP ( 0x0000000B )
 
2109
#define PORT_STATUS_POWER_SAVE ( 0x0000000C )
 
2110
#endif
 
2111
;
 
2112
 
 
2113
enum spoolss_PortSeverity
 
2114
#ifndef USE_UINT_ENUMS
 
2115
 {
 
2116
        PORT_STATUS_TYPE_ERROR=(int)(0x00000001),
 
2117
        PORT_STATUS_TYPE_WARNING=(int)(0x00000002),
 
2118
        PORT_STATUS_TYPE_INFO=(int)(0x00000003)
 
2119
}
 
2120
#else
 
2121
 { __donnot_use_enum_spoolss_PortSeverity=0x7FFFFFFF}
 
2122
#define PORT_STATUS_TYPE_ERROR ( 0x00000001 )
 
2123
#define PORT_STATUS_TYPE_WARNING ( 0x00000002 )
 
2124
#define PORT_STATUS_TYPE_INFO ( 0x00000003 )
 
2125
#endif
 
2126
;
 
2127
 
 
2128
struct spoolss_PortInfo3 {
 
2129
        enum spoolss_PortStatus status;
 
2130
        const char * status_string;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
2131
        enum spoolss_PortSeverity severity;
 
2132
}/* [gensize,public] */;
 
2133
 
 
2134
struct spoolss_PortInfoFF {
 
2135
        const char * port_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
2136
        DATA_BLOB monitor_data;
 
2137
}/* [gensize,public] */;
 
2138
 
 
2139
union spoolss_PortInfo {
 
2140
        struct spoolss_PortInfo1 info1;/* [case] */
 
2141
        struct spoolss_PortInfo2 info2;/* [case(2)] */
 
2142
        struct spoolss_PortInfo3 info3;/* [case(3)] */
 
2143
        struct spoolss_PortInfoFF infoFF;/* [case(0xff)] */
 
2144
}/* [relative_base,public,nodiscriminant,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
2145
 
 
2146
struct spoolss_MonitorInfo1 {
 
2147
        const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
2148
}/* [gensize,public] */;
 
2149
 
 
2150
struct spoolss_MonitorInfo2 {
 
2151
        const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
2152
        const char * environment;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
2153
        const char * dll_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
2154
}/* [gensize,public] */;
 
2155
 
 
2156
union spoolss_MonitorInfo {
 
2157
        struct spoolss_MonitorInfo1 info1;/* [case] */
 
2158
        struct spoolss_MonitorInfo2 info2;/* [case(2)] */
 
2159
}/* [relative_base,public,nodiscriminant,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
2160
 
 
2161
struct spoolss_SetPortInfo1 {
 
2162
        const char *port_name;/* [unique,charset(UTF16)] */
 
2163
}/* [gensize,public] */;
 
2164
 
 
2165
struct spoolss_SetPortInfo2 {
 
2166
        const char *port_name;/* [unique,charset(UTF16)] */
 
2167
        const char *monitor_name;/* [unique,charset(UTF16)] */
 
2168
        const char *description;/* [unique,charset(UTF16)] */
 
2169
        uint32_t port_type;
 
2170
        uint32_t reserved;
 
2171
}/* [gensize,public] */;
 
2172
 
 
2173
struct spoolss_SetPortInfo3 {
 
2174
        enum spoolss_PortStatus status;
 
2175
        const char *status_string;/* [unique,charset(UTF16)] */
 
2176
        enum spoolss_PortSeverity severity;
 
2177
}/* [gensize,public] */;
 
2178
 
 
2179
struct spoolss_SetPortInfoFF {
 
2180
        const char *port_name;/* [unique,charset(UTF16)] */
 
2181
        DATA_BLOB monitor_data;
 
2182
}/* [gensize,public] */;
 
2183
 
 
2184
union spoolss_SetPortInfo {
 
2185
        struct spoolss_SetPortInfo1 *info1;/* [unique,case] */
 
2186
        struct spoolss_SetPortInfo2 *info2;/* [unique,case(2)] */
 
2187
        struct spoolss_SetPortInfo3 *info3;/* [unique,case(3)] */
 
2188
        struct spoolss_SetPortInfoFF *infoFF;/* [unique,case(0xff)] */
 
2189
}/* [switch_type(uint32)] */;
 
2190
 
 
2191
struct spoolss_SetPortInfoContainer {
 
2192
        uint32_t level;
 
2193
        union spoolss_SetPrinterInfo info;/* [switch_is(level)] */
 
2194
};
 
2195
 
 
2196
struct spoolss_PrintProcDataTypesInfo1 {
 
2197
        const char * name_array;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
2198
}/* [gensize,public] */;
 
2199
 
 
2200
union spoolss_PrintProcDataTypesInfo {
 
2201
        struct spoolss_PrintProcDataTypesInfo1 info1;/* [case] */
 
2202
}/* [relative_base,public,nodiscriminant,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
2203
 
 
2204
/* bitmap spoolss_PrinterChangeFlags */
 
2205
#define PRINTER_CHANGE_ADD_PRINTER ( 0x00000001 )
 
2206
#define PRINTER_CHANGE_SET_PRINTER ( 0x00000002 )
 
2207
#define PRINTER_CHANGE_DELETE_PRINTER ( 0x00000004 )
 
2208
#define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER ( 0x00000008 )
 
2209
#define PRINTER_CHANGE_ADD_JOB ( 0x00000100 )
 
2210
#define PRINTER_CHANGE_SET_JOB ( 0x00000200 )
 
2211
#define PRINTER_CHANGE_DELETE_JOB ( 0x00000400 )
 
2212
#define PRINTER_CHANGE_WRITE_JOB ( 0x00000800 )
 
2213
#define PRINTER_CHANGE_ADD_FORM ( 0x00010000 )
 
2214
#define PRINTER_CHANGE_SET_FORM ( 0x00020000 )
 
2215
#define PRINTER_CHANGE_DELETE_FORM ( 0x00040000 )
 
2216
#define PRINTER_CHANGE_ADD_PORT ( 0x00100000 )
 
2217
#define PRINTER_CHANGE_CONFIGURE_PORT ( 0x00200000 )
 
2218
#define PRINTER_CHANGE_DELETE_PORT ( 0x00400000 )
 
2219
#define PRINTER_CHANGE_ADD_PRINT_PROCESSOR ( 0x01000000 )
 
2220
#define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR ( 0x04000000 )
 
2221
#define PRINTER_CHANGE_SERVER ( 0x08000000 )
 
2222
#define PRINTER_CHANGE_ADD_PRINTER_DRIVER ( 0x10000000 )
 
2223
#define PRINTER_CHANGE_SET_PRINTER_DRIVER ( 0x20000000 )
 
2224
#define PRINTER_CHANGE_DELETE_PRINTER_DRIVER ( 0x40000000 )
 
2225
#define PRINTER_CHANGE_TIMEOUT ( 0x80000000 )
 
2226
 
 
2227
struct spoolss_PortVarContainer {
 
2228
        uint32_t monitor_data_size;
 
2229
        uint8_t *monitor_data;/* [unique,size_is(monitor_data_size)] */
 
2230
};
 
2231
 
 
2232
enum spoolss_JobNotifyField
 
2233
#ifndef USE_UINT_ENUMS
 
2234
 {
 
2235
        JOB_NOTIFY_FIELD_PRINTER_NAME=(int)(0x00),
 
2236
        JOB_NOTIFY_FIELD_MACHINE_NAME=(int)(0x01),
 
2237
        JOB_NOTIFY_FIELD_PORT_NAME=(int)(0x02),
 
2238
        JOB_NOTIFY_FIELD_USER_NAME=(int)(0x03),
 
2239
        JOB_NOTIFY_FIELD_NOTIFY_NAME=(int)(0x04),
 
2240
        JOB_NOTIFY_FIELD_DATATYPE=(int)(0x05),
 
2241
        JOB_NOTIFY_FIELD_PRINT_PROCESSOR=(int)(0x06),
 
2242
        JOB_NOTIFY_FIELD_PARAMETERS=(int)(0x07),
 
2243
        JOB_NOTIFY_FIELD_DRIVER_NAME=(int)(0x08),
 
2244
        JOB_NOTIFY_FIELD_DEVMODE=(int)(0x09),
 
2245
        JOB_NOTIFY_FIELD_STATUS=(int)(0x0a),
 
2246
        JOB_NOTIFY_FIELD_STATUS_STRING=(int)(0x0b),
 
2247
        JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR=(int)(0x0c),
 
2248
        JOB_NOTIFY_FIELD_DOCUMENT=(int)(0x0d),
 
2249
        JOB_NOTIFY_FIELD_PRIORITY=(int)(0x0e),
 
2250
        JOB_NOTIFY_FIELD_POSITION=(int)(0x0f),
 
2251
        JOB_NOTIFY_FIELD_SUBMITTED=(int)(0x10),
 
2252
        JOB_NOTIFY_FIELD_START_TIME=(int)(0x11),
 
2253
        JOB_NOTIFY_FIELD_UNTIL_TIME=(int)(0x12),
 
2254
        JOB_NOTIFY_FIELD_TIME=(int)(0x13),
 
2255
        JOB_NOTIFY_FIELD_TOTAL_PAGES=(int)(0x14),
 
2256
        JOB_NOTIFY_FIELD_PAGES_PRINTED=(int)(0x15),
 
2257
        JOB_NOTIFY_FIELD_TOTAL_BYTES=(int)(0x16),
 
2258
        JOB_NOTIFY_FIELD_BYTES_PRINTED=(int)(0x17)
 
2259
}
 
2260
#else
 
2261
 { __donnot_use_enum_spoolss_JobNotifyField=0x7FFFFFFF}
 
2262
#define JOB_NOTIFY_FIELD_PRINTER_NAME ( 0x00 )
 
2263
#define JOB_NOTIFY_FIELD_MACHINE_NAME ( 0x01 )
 
2264
#define JOB_NOTIFY_FIELD_PORT_NAME ( 0x02 )
 
2265
#define JOB_NOTIFY_FIELD_USER_NAME ( 0x03 )
 
2266
#define JOB_NOTIFY_FIELD_NOTIFY_NAME ( 0x04 )
 
2267
#define JOB_NOTIFY_FIELD_DATATYPE ( 0x05 )
 
2268
#define JOB_NOTIFY_FIELD_PRINT_PROCESSOR ( 0x06 )
 
2269
#define JOB_NOTIFY_FIELD_PARAMETERS ( 0x07 )
 
2270
#define JOB_NOTIFY_FIELD_DRIVER_NAME ( 0x08 )
 
2271
#define JOB_NOTIFY_FIELD_DEVMODE ( 0x09 )
 
2272
#define JOB_NOTIFY_FIELD_STATUS ( 0x0a )
 
2273
#define JOB_NOTIFY_FIELD_STATUS_STRING ( 0x0b )
 
2274
#define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR ( 0x0c )
 
2275
#define JOB_NOTIFY_FIELD_DOCUMENT ( 0x0d )
 
2276
#define JOB_NOTIFY_FIELD_PRIORITY ( 0x0e )
 
2277
#define JOB_NOTIFY_FIELD_POSITION ( 0x0f )
 
2278
#define JOB_NOTIFY_FIELD_SUBMITTED ( 0x10 )
 
2279
#define JOB_NOTIFY_FIELD_START_TIME ( 0x11 )
 
2280
#define JOB_NOTIFY_FIELD_UNTIL_TIME ( 0x12 )
 
2281
#define JOB_NOTIFY_FIELD_TIME ( 0x13 )
 
2282
#define JOB_NOTIFY_FIELD_TOTAL_PAGES ( 0x14 )
 
2283
#define JOB_NOTIFY_FIELD_PAGES_PRINTED ( 0x15 )
 
2284
#define JOB_NOTIFY_FIELD_TOTAL_BYTES ( 0x16 )
 
2285
#define JOB_NOTIFY_FIELD_BYTES_PRINTED ( 0x17 )
 
2286
#endif
 
2287
;
 
2288
 
 
2289
enum spoolss_PrintNotifyField
 
2290
#ifndef USE_UINT_ENUMS
 
2291
 {
 
2292
        PRINTER_NOTIFY_FIELD_SERVER_NAME=(int)(0x00),
 
2293
        PRINTER_NOTIFY_FIELD_PRINTER_NAME=(int)(0x01),
 
2294
        PRINTER_NOTIFY_FIELD_SHARE_NAME=(int)(0x02),
 
2295
        PRINTER_NOTIFY_FIELD_PORT_NAME=(int)(0x03),
 
2296
        PRINTER_NOTIFY_FIELD_DRIVER_NAME=(int)(0x04),
 
2297
        PRINTER_NOTIFY_FIELD_COMMENT=(int)(0x05),
 
2298
        PRINTER_NOTIFY_FIELD_LOCATION=(int)(0x06),
 
2299
        PRINTER_NOTIFY_FIELD_DEVMODE=(int)(0x07),
 
2300
        PRINTER_NOTIFY_FIELD_SEPFILE=(int)(0x08),
 
2301
        PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR=(int)(0x09),
 
2302
        PRINTER_NOTIFY_FIELD_PARAMETERS=(int)(0x0a),
 
2303
        PRINTER_NOTIFY_FIELD_DATATYPE=(int)(0x0b),
 
2304
        PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR=(int)(0x0c),
 
2305
        PRINTER_NOTIFY_FIELD_ATTRIBUTES=(int)(0x0d),
 
2306
        PRINTER_NOTIFY_FIELD_PRIORITY=(int)(0x0e),
 
2307
        PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY=(int)(0x0f),
 
2308
        PRINTER_NOTIFY_FIELD_START_TIME=(int)(0x10),
 
2309
        PRINTER_NOTIFY_FIELD_UNTIL_TIME=(int)(0x11),
 
2310
        PRINTER_NOTIFY_FIELD_STATUS=(int)(0x12),
 
2311
        PRINTER_NOTIFY_FIELD_STATUS_STRING=(int)(0x13),
 
2312
        PRINTER_NOTIFY_FIELD_CJOBS=(int)(0x14),
 
2313
        PRINTER_NOTIFY_FIELD_AVERAGE_PPM=(int)(0x15),
 
2314
        PRINTER_NOTIFY_FIELD_TOTAL_PAGES=(int)(0x16),
 
2315
        PRINTER_NOTIFY_FIELD_PAGES_PRINTED=(int)(0x17),
 
2316
        PRINTER_NOTIFY_FIELD_TOTAL_BYTES=(int)(0x18),
 
2317
        PRINTER_NOTIFY_FIELD_BYTES_PRINTED=(int)(0x19),
 
2318
        PRINTER_NOTIFY_FIELD_OBJECT_GUID=(int)(0x1a),
 
2319
        PRINTER_NOTIFY_FIELD_FRIENDLY_NAME=(int)(0x1b)
 
2320
}
 
2321
#else
 
2322
 { __donnot_use_enum_spoolss_PrintNotifyField=0x7FFFFFFF}
 
2323
#define PRINTER_NOTIFY_FIELD_SERVER_NAME ( 0x00 )
 
2324
#define PRINTER_NOTIFY_FIELD_PRINTER_NAME ( 0x01 )
 
2325
#define PRINTER_NOTIFY_FIELD_SHARE_NAME ( 0x02 )
 
2326
#define PRINTER_NOTIFY_FIELD_PORT_NAME ( 0x03 )
 
2327
#define PRINTER_NOTIFY_FIELD_DRIVER_NAME ( 0x04 )
 
2328
#define PRINTER_NOTIFY_FIELD_COMMENT ( 0x05 )
 
2329
#define PRINTER_NOTIFY_FIELD_LOCATION ( 0x06 )
 
2330
#define PRINTER_NOTIFY_FIELD_DEVMODE ( 0x07 )
 
2331
#define PRINTER_NOTIFY_FIELD_SEPFILE ( 0x08 )
 
2332
#define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR ( 0x09 )
 
2333
#define PRINTER_NOTIFY_FIELD_PARAMETERS ( 0x0a )
 
2334
#define PRINTER_NOTIFY_FIELD_DATATYPE ( 0x0b )
 
2335
#define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR ( 0x0c )
 
2336
#define PRINTER_NOTIFY_FIELD_ATTRIBUTES ( 0x0d )
 
2337
#define PRINTER_NOTIFY_FIELD_PRIORITY ( 0x0e )
 
2338
#define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY ( 0x0f )
 
2339
#define PRINTER_NOTIFY_FIELD_START_TIME ( 0x10 )
 
2340
#define PRINTER_NOTIFY_FIELD_UNTIL_TIME ( 0x11 )
 
2341
#define PRINTER_NOTIFY_FIELD_STATUS ( 0x12 )
 
2342
#define PRINTER_NOTIFY_FIELD_STATUS_STRING ( 0x13 )
 
2343
#define PRINTER_NOTIFY_FIELD_CJOBS ( 0x14 )
 
2344
#define PRINTER_NOTIFY_FIELD_AVERAGE_PPM ( 0x15 )
 
2345
#define PRINTER_NOTIFY_FIELD_TOTAL_PAGES ( 0x16 )
 
2346
#define PRINTER_NOTIFY_FIELD_PAGES_PRINTED ( 0x17 )
 
2347
#define PRINTER_NOTIFY_FIELD_TOTAL_BYTES ( 0x18 )
 
2348
#define PRINTER_NOTIFY_FIELD_BYTES_PRINTED ( 0x19 )
 
2349
#define PRINTER_NOTIFY_FIELD_OBJECT_GUID ( 0x1a )
 
2350
#define PRINTER_NOTIFY_FIELD_FRIENDLY_NAME ( 0x1b )
 
2351
#endif
 
2352
;
 
2353
 
 
2354
enum spoolss_NotifyType
 
2355
#ifndef USE_UINT_ENUMS
 
2356
 {
 
2357
        PRINTER_NOTIFY_TYPE=(int)(0x00),
 
2358
        JOB_NOTIFY_TYPE=(int)(0x01)
 
2359
}
 
2360
#else
 
2361
 { __donnot_use_enum_spoolss_NotifyType=0x7FFFFFFF}
 
2362
#define PRINTER_NOTIFY_TYPE ( 0x00 )
 
2363
#define JOB_NOTIFY_TYPE ( 0x01 )
 
2364
#endif
 
2365
;
 
2366
 
 
2367
union spoolss_Field {
 
2368
        uint16_t field;/* [case(PRINTER_NOTIFY_TYPE)] */
 
2369
}/* [noprint,nodiscriminant] */;
 
2370
 
 
2371
struct spoolss_NotifyOptionType {
 
2372
        enum spoolss_NotifyType type;
 
2373
        uint16_t u1;
 
2374
        uint32_t u2;
 
2375
        uint32_t u3;
 
2376
        uint32_t count;
 
2377
        union spoolss_Field *fields;/* [unique,switch_is(type),size_is(count)] */
 
2378
};
 
2379
 
 
2380
/* bitmap spoolssNotifyOptionFlags */
 
2381
#define PRINTER_NOTIFY_OPTIONS_REFRESH ( 0x00000001 )
 
2382
 
 
2383
struct spoolss_NotifyOption {
 
2384
        uint32_t version;/* [value(2)] */
 
2385
        uint32_t flags;
 
2386
        uint32_t count;
 
2387
        struct spoolss_NotifyOptionType *types;/* [unique,size_is(count)] */
 
2388
};
 
2389
 
 
2390
struct spoolss_NotifyString {
 
2391
        uint32_t size;
 
2392
        const char *string;/* [unique,charset(UTF16),size_is(size/2)] */
 
2393
};
 
2394
 
 
2395
enum spoolss_NotifyTable
 
2396
#ifndef USE_UINT_ENUMS
 
2397
 {
 
2398
        NOTIFY_TABLE_DWORD=(int)(0x0001),
 
2399
        NOTIFY_TABLE_STRING=(int)(0x0002),
 
2400
        NOTIFY_TABLE_DEVMODE=(int)(0x0003),
 
2401
        NOTIFY_TABLE_TIME=(int)(0x0004),
 
2402
        NOTIFY_TABLE_SECURITYDESCRIPTOR=(int)(0x0005)
 
2403
}
 
2404
#else
 
2405
 { __donnot_use_enum_spoolss_NotifyTable=0x7FFFFFFF}
 
2406
#define NOTIFY_TABLE_DWORD ( 0x0001 )
 
2407
#define NOTIFY_TABLE_STRING ( 0x0002 )
 
2408
#define NOTIFY_TABLE_DEVMODE ( 0x0003 )
 
2409
#define NOTIFY_TABLE_TIME ( 0x0004 )
 
2410
#define NOTIFY_TABLE_SECURITYDESCRIPTOR ( 0x0005 )
 
2411
#endif
 
2412
;
 
2413
 
 
2414
union spoolss_NotifyData {
 
2415
        uint32_t integer[2];/* [case] */
 
2416
        struct spoolss_NotifyString string;/* [case(2)] */
 
2417
        struct spoolss_DevmodeContainer devmode;/* [case(3)] */
 
2418
        struct spoolss_TimeCtr time;/* [case(4)] */
 
2419
        struct sec_desc_buf sd;/* [case(5)] */
 
2420
}/* [switch_type(uint32)] */;
 
2421
 
 
2422
struct spoolss_Notify {
 
2423
        enum spoolss_NotifyType type;
 
2424
        union spoolss_Field field;/* [switch_is(type)] */
 
2425
        enum spoolss_NotifyTable variable_type;
 
2426
        uint32_t job_id;
 
2427
        union spoolss_NotifyData data;/* [switch_is(variable_type)] */
 
2428
};
 
2429
 
 
2430
struct spoolss_NotifyInfo {
 
2431
        uint32_t version;/* [value(2)] */
 
2432
        uint32_t flags;
 
2433
        uint32_t count;
 
2434
        struct spoolss_Notify *notifies;/* [size_is(count)] */
 
2435
};
 
2436
 
 
2437
union spoolss_ReplyPrinterInfo {
 
2438
        struct spoolss_NotifyInfo *info0;/* [unique,case(0)] */
 
2439
}/* [switch_type(uint32)] */;
 
2440
 
 
2441
/* bitmap spoolss_PrinterNotifyFlags */
 
2442
#define PRINTER_NOTIFY_INFO_DISCARDED ( 0x00000001 )
 
2443
#define PRINTER_NOTIFY_INFO_DISCARDNOTED ( 0x00010000 )
 
2444
#define PRINTER_NOTIFY_INFO_COLOR_MISMATCH ( 0x00080000 )
 
2445
 
 
2446
struct spoolss_UserLevel1 {
 
2447
        uint32_t size;
 
2448
        const char *client;/* [unique,charset(UTF16)] */
 
2449
        const char *user;/* [unique,charset(UTF16)] */
 
2450
        uint32_t build;
 
2451
        enum spoolss_MajorVersion major;
 
2452
        enum spoolss_MinorVersion minor;
 
2453
        enum spoolss_ProcessorArchitecture processor;
 
2454
};
 
2455
 
 
2456
struct spoolss_UserLevel2 {
 
2457
        uint32_t not_used;
 
2458
};
 
2459
 
 
2460
struct spoolss_UserLevel3 {
 
2461
        uint32_t size;
 
2462
        uint32_t flags;
 
2463
        uint32_t size2;
 
2464
        const char *client;/* [unique,charset(UTF16)] */
 
2465
        const char *user;/* [unique,charset(UTF16)] */
 
2466
        uint32_t build;
 
2467
        enum spoolss_MajorVersion major;
 
2468
        enum spoolss_MinorVersion minor;
 
2469
        enum spoolss_ProcessorArchitecture processor;
 
2470
        uint64_t reserved;
 
2471
};
 
2472
 
 
2473
union spoolss_UserLevel {
 
2474
        struct spoolss_UserLevel1 *level1;/* [unique,case] */
 
2475
        struct spoolss_UserLevel2 *level2;/* [unique,case(2)] */
 
2476
        struct spoolss_UserLevel3 *level3;/* [unique,case(3)] */
 
2477
}/* [switch_type(uint32)] */;
 
2478
 
 
2479
struct spoolss_UserLevelCtr {
 
2480
        uint32_t level;
 
2481
        union spoolss_UserLevel user_info;/* [switch_is(level)] */
 
2482
};
 
2483
 
 
2484
/* bitmap spoolss_AccessRights */
 
2485
#define SERVER_ACCESS_ADMINISTER ( 0x00000001 )
 
2486
#define SERVER_ACCESS_ENUMERATE ( 0x00000002 )
 
2487
#define PRINTER_ACCESS_ADMINISTER ( 0x00000004 )
 
2488
#define PRINTER_ACCESS_USE ( 0x00000008 )
 
2489
#define JOB_ACCESS_ADMINISTER ( 0x00000010 )
 
2490
#define JOB_ACCESS_READ ( 0x00000020 )
 
2491
 
 
2492
struct spoolss_PrinterEnumValues {
 
2493
        const char * value_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
2494
        uint32_t value_name_len;/* [value(2*strlen_m_term(value_name))] */
 
2495
        enum winreg_Type type;
 
2496
        DATA_BLOB *data;/* [relative,subcontext_size(data_length),subcontext(0),flag(LIBNDR_FLAG_REMAINING|ndr_spoolss_PrinterEnumValues_align(r->type))] */
 
2497
        uint32_t data_length;/* [value(data?data->length:0)] */
 
2498
}/* [relative_base,gensize,public] */;
 
2499
 
 
2500
union spoolss_KeyNames {
 
2501
        const char ** string_array;/* [default,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
2502
}/* [nodiscriminant] */;
 
2503
 
 
2504
/* bitmap spoolss_DeleteDriverFlags */
 
2505
#define DPD_DELETE_UNUSED_FILES ( 0x00000001 )
 
2506
#define DPD_DELETE_SPECIFIC_VERSION ( 0x00000002 )
 
2507
#define DPD_DELETE_ALL_FILES ( 0x00000004 )
 
2508
 
 
2509
enum spoolss_PortProtocol
 
2510
#ifndef USE_UINT_ENUMS
 
2511
 {
 
2512
        PROTOCOL_RAWTCP_TYPE=(int)(1),
 
2513
        PROTOCOL_LPR_TYPE=(int)(2)
 
2514
}
 
2515
#else
 
2516
 { __donnot_use_enum_spoolss_PortProtocol=0x7FFFFFFF}
 
2517
#define PROTOCOL_RAWTCP_TYPE ( 1 )
 
2518
#define PROTOCOL_LPR_TYPE ( 2 )
 
2519
#endif
 
2520
;
 
2521
 
 
2522
struct spoolss_PortData1 {
 
2523
        const char *portname;/* [charset(UTF16)] */
 
2524
        uint32_t version;/* [value(0x00000001)] */
 
2525
        enum spoolss_PortProtocol protocol;
 
2526
        uint32_t size;/* [value(sizeof(r))] */
 
2527
        uint32_t reserved;
 
2528
        const char *hostaddress;/* [charset(UTF16)] */
 
2529
        const char *snmpcommunity;/* [charset(UTF16)] */
 
2530
        uint32_t dblspool;
 
2531
        const char *queue;/* [charset(UTF16)] */
 
2532
        const char *ip_address;/* [charset(UTF16)] */
 
2533
        const char *hardware_address;/* [charset(UTF16)] */
 
2534
        const char *device_type;/* [charset(UTF16)] */
 
2535
        uint32_t port_number;
 
2536
        uint32_t snmp_enabled;
 
2537
        uint32_t snmp_dev_index;
 
2538
}/* [public] */;
 
2539
 
 
2540
struct spoolss_PortData2 {
 
2541
        const char *portname;/* [charset(UTF16)] */
 
2542
        uint32_t version;/* [value(0x00000002)] */
 
2543
        enum spoolss_PortProtocol protocol;
 
2544
        uint32_t size;/* [value(sizeof(r))] */
 
2545
        uint32_t reserved;
 
2546
        const char *hostaddress;/* [charset(UTF16)] */
 
2547
        const char *snmpcommunity;/* [charset(UTF16)] */
 
2548
        uint32_t dblspool;
 
2549
        const char *queue;/* [charset(UTF16)] */
 
2550
        const char *device_type;/* [charset(UTF16)] */
 
2551
        uint32_t port_number;
 
2552
        uint32_t snmp_enabled;
 
2553
        uint32_t snmp_dev_index;
 
2554
        uint32_t port_monitor_mib_index;
 
2555
}/* [public] */;
 
2556
 
 
2557
struct spoolss_MonitorUi {
 
2558
        const char * dll_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
 
2559
}/* [public] */;
 
2560
 
 
2561
/* bitmap spoolss_AddPrinterDriverExFlags */
 
2562
#define APD_STRICT_UPGRADE ( 0x00000001 )
 
2563
#define APD_STRICT_DOWNGRADE ( 0x00000002 )
 
2564
#define APD_COPY_ALL_FILES ( 0x00000004 )
 
2565
#define APD_COPY_NEW_FILES ( 0x00000008 )
 
2566
#define APD_COPY_FROM_DIRECTORY ( 0x00000010 )
 
2567
#define APD_DONT_COPY_FILES_TO_CLUSTER ( 0x00001000 )
 
2568
#define APD_COPY_TO_ALL_SPOOLERS ( 0x00002000 )
 
2569
#define APD_RETURN_BLOCKING_STATUS_CODE ( 0x00010000 )
 
2570
 
 
2571
struct spoolss_CorePrinterDriver {
 
2572
        struct GUID core_driver_guid;
 
2573
        NTTIME driver_date;
 
2574
        uint64_t driver_version;
 
2575
        const char *formname;/* [charset(UTF8)] */
 
2576
};
 
2577
 
 
2578
 
 
2579
struct _spoolss_EnumPrinters {
 
2580
        struct {
 
2581
                uint32_t flags;
 
2582
                const char *server;/* [unique,charset(UTF16)] */
 
2583
                uint32_t level;
 
2584
                DATA_BLOB *buffer;/* [unique] */
 
2585
                uint32_t offered;
 
2586
        } in;
 
2587
 
 
2588
        struct {
 
2589
                DATA_BLOB *info;/* [unique] */
 
2590
                uint32_t *needed;/* [ref] */
 
2591
                uint32_t *count;/* [ref] */
 
2592
                WERROR result;
 
2593
        } out;
 
2594
 
 
2595
};
 
2596
 
 
2597
 
 
2598
struct __spoolss_EnumPrinters {
 
2599
        struct {
 
2600
                uint32_t level;
 
2601
                uint32_t count;
 
2602
        } in;
 
2603
 
 
2604
        struct {
 
2605
                union spoolss_PrinterInfo *info;/* [switch_is(level)] */
 
2606
        } out;
 
2607
 
 
2608
};
 
2609
 
 
2610
 
 
2611
struct spoolss_EnumPrinters {
 
2612
        struct {
 
2613
                uint32_t flags;
 
2614
                const char *server;/* [unique,charset(UTF16)] */
 
2615
                uint32_t level;
 
2616
                DATA_BLOB *buffer;/* [unique] */
 
2617
                uint32_t offered;
 
2618
        } in;
 
2619
 
 
2620
        struct {
 
2621
                uint32_t *count;/* [ref] */
 
2622
                union spoolss_PrinterInfo **info;/* [ref,switch_is(level),size_is(,*count)] */
 
2623
                uint32_t *needed;/* [ref] */
 
2624
                WERROR result;
 
2625
        } out;
 
2626
 
 
2627
};
 
2628
 
 
2629
 
 
2630
struct spoolss_OpenPrinter {
 
2631
        struct {
 
2632
                const char *printername;/* [unique,charset(UTF16)] */
 
2633
                const char *datatype;/* [unique,charset(UTF16)] */
 
2634
                struct spoolss_DevmodeContainer devmode_ctr;
 
2635
                uint32_t access_mask;
 
2636
        } in;
 
2637
 
 
2638
        struct {
 
2639
                struct policy_handle *handle;/* [ref] */
 
2640
                WERROR result;
 
2641
        } out;
 
2642
 
 
2643
};
 
2644
 
 
2645
 
 
2646
struct spoolss_SetJob {
 
2647
        struct {
 
2648
                struct policy_handle *handle;/* [ref] */
 
2649
                uint32_t job_id;
 
2650
                struct spoolss_JobInfoContainer *ctr;/* [unique] */
 
2651
                enum spoolss_JobControl command;
 
2652
        } in;
 
2653
 
 
2654
        struct {
 
2655
                WERROR result;
 
2656
        } out;
 
2657
 
 
2658
};
 
2659
 
 
2660
 
 
2661
struct spoolss_GetJob {
 
2662
        struct {
 
2663
                struct policy_handle *handle;/* [ref] */
 
2664
                uint32_t job_id;
 
2665
                uint32_t level;
 
2666
                DATA_BLOB *buffer;/* [unique] */
 
2667
                uint32_t offered;
 
2668
        } in;
 
2669
 
 
2670
        struct {
 
2671
                union spoolss_JobInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
 
2672
                uint32_t *needed;/* [ref] */
 
2673
                WERROR result;
 
2674
        } out;
 
2675
 
 
2676
};
 
2677
 
 
2678
 
 
2679
struct _spoolss_EnumJobs {
 
2680
        struct {
 
2681
                struct policy_handle *handle;/* [ref] */
 
2682
                uint32_t firstjob;
 
2683
                uint32_t numjobs;
 
2684
                uint32_t level;
 
2685
                DATA_BLOB *buffer;/* [unique] */
 
2686
                uint32_t offered;
 
2687
        } in;
 
2688
 
 
2689
        struct {
 
2690
                DATA_BLOB *info;/* [unique] */
 
2691
                uint32_t *needed;/* [ref] */
 
2692
                uint32_t *count;/* [ref] */
 
2693
                WERROR result;
 
2694
        } out;
 
2695
 
 
2696
};
 
2697
 
 
2698
 
 
2699
struct __spoolss_EnumJobs {
 
2700
        struct {
 
2701
                uint32_t level;
 
2702
                uint32_t count;
 
2703
        } in;
 
2704
 
 
2705
        struct {
 
2706
                union spoolss_JobInfo *info;/* [switch_is(level)] */
 
2707
        } out;
 
2708
 
 
2709
};
 
2710
 
 
2711
 
 
2712
struct spoolss_EnumJobs {
 
2713
        struct {
 
2714
                struct policy_handle *handle;/* [ref] */
 
2715
                uint32_t firstjob;
 
2716
                uint32_t numjobs;
 
2717
                uint32_t level;
 
2718
                DATA_BLOB *buffer;/* [unique] */
 
2719
                uint32_t offered;
 
2720
        } in;
 
2721
 
 
2722
        struct {
 
2723
                uint32_t *count;/* [ref] */
 
2724
                union spoolss_JobInfo **info;/* [ref,switch_is(level),size_is(,*count)] */
 
2725
                uint32_t *needed;/* [ref] */
 
2726
                WERROR result;
 
2727
        } out;
 
2728
 
 
2729
};
 
2730
 
 
2731
 
 
2732
struct spoolss_AddPrinter {
 
2733
        struct {
 
2734
                const char *server;/* [unique,charset(UTF16)] */
 
2735
                struct spoolss_SetPrinterInfoCtr *info_ctr;/* [ref] */
 
2736
                struct spoolss_DevmodeContainer *devmode_ctr;/* [ref] */
 
2737
                struct sec_desc_buf *secdesc_ctr;/* [ref] */
 
2738
        } in;
 
2739
 
 
2740
        struct {
 
2741
                struct policy_handle *handle;/* [ref] */
 
2742
                WERROR result;
 
2743
        } out;
 
2744
 
 
2745
};
 
2746
 
 
2747
 
 
2748
struct spoolss_DeletePrinter {
 
2749
        struct {
 
2750
                struct policy_handle *handle;/* [ref] */
 
2751
        } in;
 
2752
 
 
2753
        struct {
 
2754
                WERROR result;
 
2755
        } out;
 
2756
 
 
2757
};
 
2758
 
 
2759
 
 
2760
struct spoolss_SetPrinter {
 
2761
        struct {
 
2762
                struct policy_handle *handle;/* [ref] */
 
2763
                struct spoolss_SetPrinterInfoCtr *info_ctr;/* [ref] */
 
2764
                struct spoolss_DevmodeContainer *devmode_ctr;/* [ref] */
 
2765
                struct sec_desc_buf *secdesc_ctr;/* [ref] */
 
2766
                enum spoolss_PrinterControl command;
 
2767
        } in;
 
2768
 
 
2769
        struct {
 
2770
                WERROR result;
 
2771
        } out;
 
2772
 
 
2773
};
 
2774
 
 
2775
 
 
2776
struct spoolss_GetPrinter {
 
2777
        struct {
 
2778
                struct policy_handle *handle;/* [ref] */
 
2779
                uint32_t level;
 
2780
                DATA_BLOB *buffer;/* [unique] */
 
2781
                uint32_t offered;
 
2782
        } in;
 
2783
 
 
2784
        struct {
 
2785
                union spoolss_PrinterInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
 
2786
                uint32_t *needed;/* [ref] */
 
2787
                WERROR result;
 
2788
        } out;
 
2789
 
 
2790
};
 
2791
 
 
2792
 
 
2793
struct spoolss_AddPrinterDriver {
 
2794
        struct {
 
2795
                const char *servername;/* [unique,charset(UTF16)] */
 
2796
                struct spoolss_AddDriverInfoCtr *info_ctr;/* [ref] */
 
2797
        } in;
 
2798
 
 
2799
        struct {
 
2800
                WERROR result;
 
2801
        } out;
 
2802
 
 
2803
};
 
2804
 
 
2805
 
 
2806
struct _spoolss_EnumPrinterDrivers {
 
2807
        struct {
 
2808
                const char *server;/* [unique,charset(UTF16)] */
 
2809
                const char *environment;/* [unique,charset(UTF16)] */
 
2810
                uint32_t level;
 
2811
                DATA_BLOB *buffer;/* [unique] */
 
2812
                uint32_t offered;
 
2813
        } in;
 
2814
 
 
2815
        struct {
 
2816
                DATA_BLOB *info;/* [unique] */
 
2817
                uint32_t *needed;/* [ref] */
 
2818
                uint32_t *count;/* [ref] */
 
2819
                WERROR result;
 
2820
        } out;
 
2821
 
 
2822
};
 
2823
 
 
2824
 
 
2825
struct __spoolss_EnumPrinterDrivers {
 
2826
        struct {
 
2827
                uint32_t level;
 
2828
                uint32_t count;
 
2829
        } in;
 
2830
 
 
2831
        struct {
 
2832
                union spoolss_DriverInfo *info;/* [switch_is(level)] */
 
2833
        } out;
 
2834
 
 
2835
};
 
2836
 
 
2837
 
 
2838
struct spoolss_EnumPrinterDrivers {
 
2839
        struct {
 
2840
                const char *server;/* [unique,charset(UTF16)] */
 
2841
                const char *environment;/* [unique,charset(UTF16)] */
 
2842
                uint32_t level;
 
2843
                DATA_BLOB *buffer;/* [unique] */
 
2844
                uint32_t offered;
 
2845
        } in;
 
2846
 
 
2847
        struct {
 
2848
                uint32_t *count;/* [ref] */
 
2849
                union spoolss_DriverInfo **info;/* [ref,switch_is(level),size_is(,*count)] */
 
2850
                uint32_t *needed;/* [ref] */
 
2851
                WERROR result;
 
2852
        } out;
 
2853
 
 
2854
};
 
2855
 
 
2856
 
 
2857
struct spoolss_GetPrinterDriver {
 
2858
        struct {
 
2859
                struct policy_handle *handle;/* [ref] */
 
2860
                const char *architecture;/* [unique,charset(UTF16)] */
 
2861
                uint32_t level;
 
2862
                DATA_BLOB *buffer;/* [unique] */
 
2863
                uint32_t offered;
 
2864
        } in;
 
2865
 
 
2866
        struct {
 
2867
                union spoolss_DriverInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
 
2868
                uint32_t *needed;/* [ref] */
 
2869
                WERROR result;
 
2870
        } out;
 
2871
 
 
2872
};
 
2873
 
 
2874
 
 
2875
struct spoolss_GetPrinterDriverDirectory {
 
2876
        struct {
 
2877
                const char *server;/* [unique,charset(UTF16)] */
 
2878
                const char *environment;/* [unique,charset(UTF16)] */
 
2879
                uint32_t level;
 
2880
                DATA_BLOB *buffer;/* [unique] */
 
2881
                uint32_t offered;
 
2882
        } in;
 
2883
 
 
2884
        struct {
 
2885
                union spoolss_DriverDirectoryInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
 
2886
                uint32_t *needed;/* [ref] */
 
2887
                WERROR result;
 
2888
        } out;
 
2889
 
 
2890
};
 
2891
 
 
2892
 
 
2893
struct spoolss_DeletePrinterDriver {
 
2894
        struct {
 
2895
                const char *server;/* [unique,charset(UTF16)] */
 
2896
                const char *architecture;/* [charset(UTF16)] */
 
2897
                const char *driver;/* [charset(UTF16)] */
 
2898
        } in;
 
2899
 
 
2900
        struct {
 
2901
                WERROR result;
 
2902
        } out;
 
2903
 
 
2904
};
 
2905
 
 
2906
 
 
2907
struct spoolss_AddPrintProcessor {
 
2908
        struct {
 
2909
                const char *server;/* [unique,charset(UTF16)] */
 
2910
                const char *architecture;/* [charset(UTF16)] */
 
2911
                const char *path_name;/* [charset(UTF16)] */
 
2912
                const char *print_processor_name;/* [charset(UTF16)] */
 
2913
        } in;
 
2914
 
 
2915
        struct {
 
2916
                WERROR result;
 
2917
        } out;
 
2918
 
 
2919
};
 
2920
 
 
2921
 
 
2922
struct _spoolss_EnumPrintProcessors {
 
2923
        struct {
 
2924
                const char *servername;/* [unique,charset(UTF16)] */
 
2925
                const char *environment;/* [unique,charset(UTF16)] */
 
2926
                uint32_t level;
 
2927
                DATA_BLOB *buffer;/* [unique] */
 
2928
                uint32_t offered;
 
2929
        } in;
 
2930
 
 
2931
        struct {
 
2932
                DATA_BLOB *info;/* [unique] */
 
2933
                uint32_t *needed;/* [ref] */
 
2934
                uint32_t *count;/* [ref] */
 
2935
                WERROR result;
 
2936
        } out;
 
2937
 
 
2938
};
 
2939
 
 
2940
 
 
2941
struct __spoolss_EnumPrintProcessors {
 
2942
        struct {
 
2943
                uint32_t level;
 
2944
                uint32_t count;
 
2945
        } in;
 
2946
 
 
2947
        struct {
 
2948
                union spoolss_PrintProcessorInfo *info;/* [switch_is(level)] */
 
2949
        } out;
 
2950
 
 
2951
};
 
2952
 
 
2953
 
 
2954
struct spoolss_EnumPrintProcessors {
 
2955
        struct {
 
2956
                const char *servername;/* [unique,charset(UTF16)] */
 
2957
                const char *environment;/* [unique,charset(UTF16)] */
 
2958
                uint32_t level;
 
2959
                DATA_BLOB *buffer;/* [unique] */
 
2960
                uint32_t offered;
 
2961
        } in;
 
2962
 
 
2963
        struct {
 
2964
                uint32_t *count;/* [ref] */
 
2965
                union spoolss_PrintProcessorInfo **info;/* [ref,switch_is(level),size_is(,*count)] */
 
2966
                uint32_t *needed;/* [ref] */
 
2967
                WERROR result;
 
2968
        } out;
 
2969
 
 
2970
};
 
2971
 
 
2972
 
 
2973
struct spoolss_GetPrintProcessorDirectory {
 
2974
        struct {
 
2975
                const char *server;/* [unique,charset(UTF16)] */
 
2976
                const char *environment;/* [unique,charset(UTF16)] */
 
2977
                uint32_t level;
 
2978
                DATA_BLOB *buffer;/* [unique] */
 
2979
                uint32_t offered;
 
2980
        } in;
 
2981
 
 
2982
        struct {
 
2983
                union spoolss_PrintProcessorDirectoryInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
 
2984
                uint32_t *needed;/* [ref] */
 
2985
                WERROR result;
 
2986
        } out;
 
2987
 
 
2988
};
 
2989
 
 
2990
 
 
2991
struct spoolss_StartDocPrinter {
 
2992
        struct {
 
2993
                struct policy_handle *handle;/* [ref] */
 
2994
                uint32_t level;
 
2995
                union spoolss_DocumentInfo info;/* [switch_is(level)] */
 
2996
        } in;
 
2997
 
 
2998
        struct {
 
2999
                uint32_t *job_id;/* [ref] */
 
3000
                WERROR result;
 
3001
        } out;
 
3002
 
 
3003
};
 
3004
 
 
3005
 
 
3006
struct spoolss_StartPagePrinter {
 
3007
        struct {
 
3008
                struct policy_handle *handle;/* [ref] */
 
3009
        } in;
 
3010
 
 
3011
        struct {
 
3012
                WERROR result;
 
3013
        } out;
 
3014
 
 
3015
};
 
3016
 
 
3017
 
 
3018
struct spoolss_WritePrinter {
 
3019
        struct {
 
3020
                struct policy_handle *handle;/* [ref] */
 
3021
                DATA_BLOB data;
 
3022
                uint32_t _data_size;/* [value(r->in.data.length)] */
 
3023
        } in;
 
3024
 
 
3025
        struct {
 
3026
                uint32_t *num_written;/* [ref] */
 
3027
                WERROR result;
 
3028
        } out;
 
3029
 
 
3030
};
 
3031
 
 
3032
 
 
3033
struct spoolss_EndPagePrinter {
 
3034
        struct {
 
3035
                struct policy_handle *handle;/* [ref] */
 
3036
        } in;
 
3037
 
 
3038
        struct {
 
3039
                WERROR result;
 
3040
        } out;
 
3041
 
 
3042
};
 
3043
 
 
3044
 
 
3045
struct spoolss_AbortPrinter {
 
3046
        struct {
 
3047
                struct policy_handle *handle;/* [ref] */
 
3048
        } in;
 
3049
 
 
3050
        struct {
 
3051
                WERROR result;
 
3052
        } out;
 
3053
 
 
3054
};
 
3055
 
 
3056
 
 
3057
struct spoolss_ReadPrinter {
 
3058
        struct {
 
3059
                struct policy_handle *handle;/* [ref] */
 
3060
                uint32_t data_size;
 
3061
        } in;
 
3062
 
 
3063
        struct {
 
3064
                uint8_t *data;/* [ref,size_is(data_size)] */
 
3065
                uint32_t *_data_size;/* [ref] */
 
3066
                WERROR result;
 
3067
        } out;
 
3068
 
 
3069
};
 
3070
 
 
3071
 
 
3072
struct spoolss_EndDocPrinter {
 
3073
        struct {
 
3074
                struct policy_handle *handle;/* [ref] */
 
3075
        } in;
 
3076
 
 
3077
        struct {
 
3078
                WERROR result;
 
3079
        } out;
 
3080
 
 
3081
};
 
3082
 
 
3083
 
 
3084
struct spoolss_AddJob {
 
3085
        struct {
 
3086
                struct policy_handle *handle;/* [ref] */
 
3087
                uint32_t level;
 
3088
                uint32_t offered;
 
3089
                uint8_t *buffer;/* [unique,size_is(offered)] */
 
3090
        } in;
 
3091
 
 
3092
        struct {
 
3093
                uint32_t *needed;/* [ref] */
 
3094
                uint8_t *buffer;/* [unique,size_is(offered)] */
 
3095
                WERROR result;
 
3096
        } out;
 
3097
 
 
3098
};
 
3099
 
 
3100
 
 
3101
struct spoolss_ScheduleJob {
 
3102
        struct {
 
3103
                struct policy_handle *handle;/* [ref] */
 
3104
                uint32_t jobid;
 
3105
        } in;
 
3106
 
 
3107
        struct {
 
3108
                WERROR result;
 
3109
        } out;
 
3110
 
 
3111
};
 
3112
 
 
3113
 
 
3114
struct spoolss_GetPrinterData {
 
3115
        struct {
 
3116
                struct policy_handle *handle;/* [ref] */
 
3117
                const char *value_name;/* [charset(UTF16)] */
 
3118
                uint32_t offered;
 
3119
        } in;
 
3120
 
 
3121
        struct {
 
3122
                enum winreg_Type *type;/* [ref] */
 
3123
                uint8_t *data;/* [ref,size_is(offered)] */
 
3124
                uint32_t *needed;/* [ref] */
 
3125
                WERROR result;
 
3126
        } out;
 
3127
 
 
3128
};
 
3129
 
 
3130
 
 
3131
struct spoolss_SetPrinterData {
 
3132
        struct {
 
3133
                struct policy_handle *handle;/* [ref] */
 
3134
                const char *value_name;/* [charset(UTF16)] */
 
3135
                enum winreg_Type type;
 
3136
                uint8_t *data;/* [ref,size_is(offered)] */
 
3137
                uint32_t offered;
 
3138
        } in;
 
3139
 
 
3140
        struct {
 
3141
                WERROR result;
 
3142
        } out;
 
3143
 
 
3144
};
 
3145
 
 
3146
 
 
3147
struct spoolss_WaitForPrinterChange {
 
3148
        struct {
 
3149
                WERROR result;
 
3150
        } out;
 
3151
 
 
3152
};
 
3153
 
 
3154
 
 
3155
struct spoolss_ClosePrinter {
 
3156
        struct {
 
3157
                struct policy_handle *handle;/* [ref] */
 
3158
        } in;
 
3159
 
 
3160
        struct {
 
3161
                struct policy_handle *handle;/* [ref] */
 
3162
                WERROR result;
 
3163
        } out;
 
3164
 
 
3165
};
 
3166
 
 
3167
 
 
3168
struct spoolss_AddForm {
 
3169
        struct {
 
3170
                struct policy_handle *handle;/* [ref] */
 
3171
                uint32_t level;
 
3172
                union spoolss_AddFormInfo info;/* [switch_is(level)] */
 
3173
        } in;
 
3174
 
 
3175
        struct {
 
3176
                WERROR result;
 
3177
        } out;
 
3178
 
 
3179
};
 
3180
 
 
3181
 
 
3182
struct spoolss_DeleteForm {
 
3183
        struct {
 
3184
                struct policy_handle *handle;/* [ref] */
 
3185
                const char *form_name;/* [charset(UTF16)] */
 
3186
        } in;
 
3187
 
 
3188
        struct {
 
3189
                WERROR result;
 
3190
        } out;
 
3191
 
 
3192
};
 
3193
 
 
3194
 
 
3195
struct spoolss_GetForm {
 
3196
        struct {
 
3197
                struct policy_handle *handle;/* [ref] */
 
3198
                const char *form_name;/* [charset(UTF16)] */
 
3199
                uint32_t level;
 
3200
                DATA_BLOB *buffer;/* [unique] */
 
3201
                uint32_t offered;
 
3202
        } in;
 
3203
 
 
3204
        struct {
 
3205
                union spoolss_FormInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
 
3206
                uint32_t *needed;/* [ref] */
 
3207
                WERROR result;
 
3208
        } out;
 
3209
 
 
3210
};
 
3211
 
 
3212
 
 
3213
struct spoolss_SetForm {
 
3214
        struct {
 
3215
                struct policy_handle *handle;/* [ref] */
 
3216
                const char *form_name;/* [charset(UTF16)] */
 
3217
                uint32_t level;
 
3218
                union spoolss_AddFormInfo info;/* [switch_is(level)] */
 
3219
        } in;
 
3220
 
 
3221
        struct {
 
3222
                WERROR result;
 
3223
        } out;
 
3224
 
 
3225
};
 
3226
 
 
3227
 
 
3228
struct _spoolss_EnumForms {
 
3229
        struct {
 
3230
                struct policy_handle *handle;/* [ref] */
 
3231
                uint32_t level;
 
3232
                DATA_BLOB *buffer;/* [unique] */
 
3233
                uint32_t offered;
 
3234
        } in;
 
3235
 
 
3236
        struct {
 
3237
                DATA_BLOB *info;/* [unique] */
 
3238
                uint32_t *needed;/* [ref] */
 
3239
                uint32_t *count;/* [ref] */
 
3240
                WERROR result;
 
3241
        } out;
 
3242
 
 
3243
};
 
3244
 
 
3245
 
 
3246
struct __spoolss_EnumForms {
 
3247
        struct {
 
3248
                uint32_t level;
 
3249
                uint32_t count;
 
3250
        } in;
 
3251
 
 
3252
        struct {
 
3253
                union spoolss_FormInfo *info;/* [switch_is(level)] */
 
3254
        } out;
 
3255
 
 
3256
};
 
3257
 
 
3258
 
 
3259
struct spoolss_EnumForms {
 
3260
        struct {
 
3261
                struct policy_handle *handle;/* [ref] */
 
3262
                uint32_t level;
 
3263
                DATA_BLOB *buffer;/* [unique] */
 
3264
                uint32_t offered;
 
3265
        } in;
 
3266
 
 
3267
        struct {
 
3268
                uint32_t *count;/* [ref] */
 
3269
                union spoolss_FormInfo **info;/* [ref,switch_is(level),size_is(,*count)] */
 
3270
                uint32_t *needed;/* [ref] */
 
3271
                WERROR result;
 
3272
        } out;
 
3273
 
 
3274
};
 
3275
 
 
3276
 
 
3277
struct _spoolss_EnumPorts {
 
3278
        struct {
 
3279
                const char *servername;/* [unique,charset(UTF16)] */
 
3280
                uint32_t level;
 
3281
                DATA_BLOB *buffer;/* [unique] */
 
3282
                uint32_t offered;
 
3283
        } in;
 
3284
 
 
3285
        struct {
 
3286
                DATA_BLOB *info;/* [unique] */
 
3287
                uint32_t *needed;/* [ref] */
 
3288
                uint32_t *count;/* [ref] */
 
3289
                WERROR result;
 
3290
        } out;
 
3291
 
 
3292
};
 
3293
 
 
3294
 
 
3295
struct __spoolss_EnumPorts {
 
3296
        struct {
 
3297
                uint32_t level;
 
3298
                uint32_t count;
 
3299
        } in;
 
3300
 
 
3301
        struct {
 
3302
                union spoolss_PortInfo *info;/* [switch_is(level)] */
 
3303
        } out;
 
3304
 
 
3305
};
 
3306
 
 
3307
 
 
3308
struct spoolss_EnumPorts {
 
3309
        struct {
 
3310
                const char *servername;/* [unique,charset(UTF16)] */
 
3311
                uint32_t level;
 
3312
                DATA_BLOB *buffer;/* [unique] */
 
3313
                uint32_t offered;
 
3314
        } in;
 
3315
 
 
3316
        struct {
 
3317
                uint32_t *count;/* [ref] */
 
3318
                union spoolss_PortInfo **info;/* [ref,switch_is(level),size_is(,*count)] */
 
3319
                uint32_t *needed;/* [ref] */
 
3320
                WERROR result;
 
3321
        } out;
 
3322
 
 
3323
};
 
3324
 
 
3325
 
 
3326
struct _spoolss_EnumMonitors {
 
3327
        struct {
 
3328
                const char *servername;/* [unique,charset(UTF16)] */
 
3329
                uint32_t level;
 
3330
                DATA_BLOB *buffer;/* [unique] */
 
3331
                uint32_t offered;
 
3332
        } in;
 
3333
 
 
3334
        struct {
 
3335
                DATA_BLOB *info;/* [unique] */
 
3336
                uint32_t *needed;/* [ref] */
 
3337
                uint32_t *count;/* [ref] */
 
3338
                WERROR result;
 
3339
        } out;
 
3340
 
 
3341
};
 
3342
 
 
3343
 
 
3344
struct __spoolss_EnumMonitors {
 
3345
        struct {
 
3346
                uint32_t level;
 
3347
                uint32_t count;
 
3348
        } in;
 
3349
 
 
3350
        struct {
 
3351
                union spoolss_MonitorInfo *info;/* [switch_is(level)] */
 
3352
        } out;
 
3353
 
 
3354
};
 
3355
 
 
3356
 
 
3357
struct spoolss_EnumMonitors {
 
3358
        struct {
 
3359
                const char *servername;/* [unique,charset(UTF16)] */
 
3360
                uint32_t level;
 
3361
                DATA_BLOB *buffer;/* [unique] */
 
3362
                uint32_t offered;
 
3363
        } in;
 
3364
 
 
3365
        struct {
 
3366
                uint32_t *count;/* [ref] */
 
3367
                union spoolss_MonitorInfo **info;/* [ref,switch_is(level),size_is(,*count)] */
 
3368
                uint32_t *needed;/* [ref] */
 
3369
                WERROR result;
 
3370
        } out;
 
3371
 
 
3372
};
 
3373
 
 
3374
 
 
3375
struct spoolss_AddPort {
 
3376
        struct {
 
3377
                const char *server_name;/* [unique,charset(UTF16)] */
 
3378
                uint32_t unknown;
 
3379
                const char *monitor_name;/* [charset(UTF16)] */
 
3380
        } in;
 
3381
 
 
3382
        struct {
 
3383
                WERROR result;
 
3384
        } out;
 
3385
 
 
3386
};
 
3387
 
 
3388
 
 
3389
struct spoolss_ConfigurePort {
 
3390
        struct {
 
3391
                WERROR result;
 
3392
        } out;
 
3393
 
 
3394
};
 
3395
 
 
3396
 
 
3397
struct spoolss_DeletePort {
 
3398
        struct {
 
3399
                const char *server_name;/* [unique,charset(UTF16)] */
 
3400
                uint32_t ptr;
 
3401
                const char *port_name;/* [ref,charset(UTF16)] */
 
3402
        } in;
 
3403
 
 
3404
        struct {
 
3405
                WERROR result;
 
3406
        } out;
 
3407
 
 
3408
};
 
3409
 
 
3410
 
 
3411
struct spoolss_CreatePrinterIC {
 
3412
        struct {
 
3413
                struct policy_handle *handle;/* [ref] */
 
3414
                struct spoolss_DevmodeContainer *devmode_ctr;/* [ref] */
 
3415
        } in;
 
3416
 
 
3417
        struct {
 
3418
                struct policy_handle *gdi_handle;/* [ref] */
 
3419
                WERROR result;
 
3420
        } out;
 
3421
 
 
3422
};
 
3423
 
 
3424
 
 
3425
struct spoolss_PlayGDIScriptOnPrinterIC {
 
3426
        struct {
 
3427
                WERROR result;
 
3428
        } out;
 
3429
 
 
3430
};
 
3431
 
 
3432
 
 
3433
struct spoolss_DeletePrinterIC {
 
3434
        struct {
 
3435
                struct policy_handle *gdi_handle;/* [ref] */
 
3436
        } in;
 
3437
 
 
3438
        struct {
 
3439
                struct policy_handle *gdi_handle;/* [ref] */
 
3440
                WERROR result;
 
3441
        } out;
 
3442
 
 
3443
};
 
3444
 
 
3445
 
 
3446
struct spoolss_AddPrinterConnection {
 
3447
        struct {
 
3448
                WERROR result;
 
3449
        } out;
 
3450
 
 
3451
};
 
3452
 
 
3453
 
 
3454
struct spoolss_DeletePrinterConnection {
 
3455
        struct {
 
3456
                WERROR result;
 
3457
        } out;
 
3458
 
 
3459
};
 
3460
 
 
3461
 
 
3462
struct spoolss_PrinterMessageBox {
 
3463
        struct {
 
3464
                WERROR result;
 
3465
        } out;
 
3466
 
 
3467
};
 
3468
 
 
3469
 
 
3470
struct spoolss_AddMonitor {
 
3471
        struct {
 
3472
                WERROR result;
 
3473
        } out;
 
3474
 
 
3475
};
 
3476
 
 
3477
 
 
3478
struct spoolss_DeleteMonitor {
 
3479
        struct {
 
3480
                WERROR result;
 
3481
        } out;
 
3482
 
 
3483
};
 
3484
 
 
3485
 
 
3486
struct spoolss_DeletePrintProcessor {
 
3487
        struct {
 
3488
                WERROR result;
 
3489
        } out;
 
3490
 
 
3491
};
 
3492
 
 
3493
 
 
3494
struct spoolss_AddPrintProvidor {
 
3495
        struct {
 
3496
                WERROR result;
 
3497
        } out;
 
3498
 
 
3499
};
 
3500
 
 
3501
 
 
3502
struct spoolss_DeletePrintProvidor {
 
3503
        struct {
 
3504
                WERROR result;
 
3505
        } out;
 
3506
 
 
3507
};
 
3508
 
 
3509
 
 
3510
struct _spoolss_EnumPrintProcDataTypes {
 
3511
        struct {
 
3512
                const char *servername;/* [unique,charset(UTF16)] */
 
3513
                const char *print_processor_name;/* [unique,charset(UTF16)] */
 
3514
                uint32_t level;
 
3515
                DATA_BLOB *buffer;/* [unique] */
 
3516
                uint32_t offered;
 
3517
        } in;
 
3518
 
 
3519
        struct {
 
3520
                DATA_BLOB *info;/* [unique] */
 
3521
                uint32_t *needed;/* [ref] */
 
3522
                uint32_t *count;/* [ref] */
 
3523
                WERROR result;
 
3524
        } out;
 
3525
 
 
3526
};
 
3527
 
 
3528
 
 
3529
struct __spoolss_EnumPrintProcDataTypes {
 
3530
        struct {
 
3531
                uint32_t level;
 
3532
                uint32_t count;
 
3533
        } in;
 
3534
 
 
3535
        struct {
 
3536
                union spoolss_PrintProcDataTypesInfo *info;/* [switch_is(level)] */
 
3537
        } out;
 
3538
 
 
3539
};
 
3540
 
 
3541
 
 
3542
struct spoolss_EnumPrintProcDataTypes {
 
3543
        struct {
 
3544
                const char *servername;/* [unique,charset(UTF16)] */
 
3545
                const char *print_processor_name;/* [unique,charset(UTF16)] */
 
3546
                uint32_t level;
 
3547
                DATA_BLOB *buffer;/* [unique] */
 
3548
                uint32_t offered;
 
3549
        } in;
 
3550
 
 
3551
        struct {
 
3552
                uint32_t *count;/* [ref] */
 
3553
                union spoolss_PrintProcDataTypesInfo **info;/* [ref,switch_is(level),size_is(,*count)] */
 
3554
                uint32_t *needed;/* [ref] */
 
3555
                WERROR result;
 
3556
        } out;
 
3557
 
 
3558
};
 
3559
 
 
3560
 
 
3561
struct spoolss_ResetPrinter {
 
3562
        struct {
 
3563
                struct policy_handle *handle;/* [ref] */
 
3564
                const char *data_type;/* [unique,charset(UTF16)] */
 
3565
                struct spoolss_DevmodeContainer *devmode_ctr;/* [ref] */
 
3566
        } in;
 
3567
 
 
3568
        struct {
 
3569
                WERROR result;
 
3570
        } out;
 
3571
 
 
3572
};
 
3573
 
 
3574
 
 
3575
struct spoolss_GetPrinterDriver2 {
 
3576
        struct {
 
3577
                struct policy_handle *handle;/* [ref] */
 
3578
                const char *architecture;/* [unique,charset(UTF16)] */
 
3579
                uint32_t level;
 
3580
                DATA_BLOB *buffer;/* [unique] */
 
3581
                uint32_t offered;
 
3582
                uint32_t client_major_version;
 
3583
                uint32_t client_minor_version;
 
3584
        } in;
 
3585
 
 
3586
        struct {
 
3587
                union spoolss_DriverInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
 
3588
                uint32_t *needed;/* [ref] */
 
3589
                uint32_t *server_major_version;/* [ref] */
 
3590
                uint32_t *server_minor_version;/* [ref] */
 
3591
                WERROR result;
 
3592
        } out;
 
3593
 
 
3594
};
 
3595
 
 
3596
 
 
3597
struct spoolss_FindFirstPrinterChangeNotification {
 
3598
        struct {
 
3599
                WERROR result;
 
3600
        } out;
 
3601
 
 
3602
};
 
3603
 
 
3604
 
 
3605
struct spoolss_FindNextPrinterChangeNotification {
 
3606
        struct {
 
3607
                WERROR result;
 
3608
        } out;
 
3609
 
 
3610
};
 
3611
 
 
3612
 
 
3613
struct spoolss_FindClosePrinterNotify {
 
3614
        struct {
 
3615
                struct policy_handle *handle;/* [ref] */
 
3616
        } in;
 
3617
 
 
3618
        struct {
 
3619
                WERROR result;
 
3620
        } out;
 
3621
 
 
3622
};
 
3623
 
 
3624
 
 
3625
struct spoolss_RouterFindFirstPrinterChangeNotificationOld {
 
3626
        struct {
 
3627
                WERROR result;
 
3628
        } out;
 
3629
 
 
3630
};
 
3631
 
 
3632
 
 
3633
struct spoolss_ReplyOpenPrinter {
 
3634
        struct {
 
3635
                const char *server_name;/* [charset(UTF16)] */
 
3636
                uint32_t printer_local;
 
3637
                enum winreg_Type type;
 
3638
                uint32_t bufsize;/* [range(0,512)] */
 
3639
                uint8_t *buffer;/* [unique,size_is(bufsize)] */
 
3640
        } in;
 
3641
 
 
3642
        struct {
 
3643
                struct policy_handle *handle;/* [ref] */
 
3644
                WERROR result;
 
3645
        } out;
 
3646
 
 
3647
};
 
3648
 
 
3649
 
 
3650
struct spoolss_RouterReplyPrinter {
 
3651
        struct {
 
3652
                struct policy_handle *handle;/* [ref] */
 
3653
                uint32_t flags;
 
3654
                uint32_t bufsize;/* [range(0,512)] */
 
3655
                uint8_t *buffer;/* [unique,size_is(bufsize)] */
 
3656
        } in;
 
3657
 
 
3658
        struct {
 
3659
                WERROR result;
 
3660
        } out;
 
3661
 
 
3662
};
 
3663
 
 
3664
 
 
3665
struct spoolss_ReplyClosePrinter {
 
3666
        struct {
 
3667
                struct policy_handle *handle;/* [ref] */
 
3668
        } in;
 
3669
 
 
3670
        struct {
 
3671
                struct policy_handle *handle;/* [ref] */
 
3672
                WERROR result;
 
3673
        } out;
 
3674
 
 
3675
};
 
3676
 
 
3677
 
 
3678
struct spoolss_AddPortEx {
 
3679
        struct {
 
3680
                const char *servername;/* [unique,charset(UTF16)] */
 
3681
                struct spoolss_SetPortInfoContainer *port_ctr;/* [ref] */
 
3682
                struct spoolss_PortVarContainer *port_var_ctr;/* [ref] */
 
3683
                const char *monitor_name;/* [unique,charset(UTF16)] */
 
3684
        } in;
 
3685
 
 
3686
        struct {
 
3687
                WERROR result;
 
3688
        } out;
 
3689
 
 
3690
};
 
3691
 
 
3692
 
 
3693
struct spoolss_RouterFindFirstPrinterChangeNotification {
 
3694
        struct {
 
3695
                WERROR result;
 
3696
        } out;
 
3697
 
 
3698
};
 
3699
 
 
3700
 
 
3701
struct spoolss_SpoolerInit {
 
3702
        struct {
 
3703
                WERROR result;
 
3704
        } out;
 
3705
 
 
3706
};
 
3707
 
 
3708
 
 
3709
struct spoolss_ResetPrinterEx {
 
3710
        struct {
 
3711
                WERROR result;
 
3712
        } out;
 
3713
 
 
3714
};
 
3715
 
 
3716
 
 
3717
struct spoolss_RemoteFindFirstPrinterChangeNotifyEx {
 
3718
        struct {
 
3719
                struct policy_handle *handle;/* [ref] */
 
3720
                uint32_t flags;
 
3721
                uint32_t options;
 
3722
                const char *local_machine;/* [unique,charset(UTF16)] */
 
3723
                uint32_t printer_local;
 
3724
                struct spoolss_NotifyOption *notify_options;/* [unique] */
 
3725
        } in;
 
3726
 
 
3727
        struct {
 
3728
                WERROR result;
 
3729
        } out;
 
3730
 
 
3731
};
 
3732
 
 
3733
 
 
3734
struct spoolss_RouterReplyPrinterEx {
 
3735
        struct {
 
3736
                struct policy_handle *handle;/* [ref] */
 
3737
                uint32_t color;
 
3738
                uint32_t flags;
 
3739
                uint32_t reply_type;
 
3740
                union spoolss_ReplyPrinterInfo info;/* [switch_is(reply_type)] */
 
3741
        } in;
 
3742
 
 
3743
        struct {
 
3744
                uint32_t *reply_result;/* [ref] */
 
3745
                WERROR result;
 
3746
        } out;
 
3747
 
 
3748
};
 
3749
 
 
3750
 
 
3751
struct spoolss_RouterRefreshPrinterChangeNotify {
 
3752
        struct {
 
3753
                struct policy_handle *handle;/* [ref] */
 
3754
                uint32_t change_low;
 
3755
                struct spoolss_NotifyOption *options;/* [unique] */
 
3756
        } in;
 
3757
 
 
3758
        struct {
 
3759
                struct spoolss_NotifyInfo **info;/* [ref] */
 
3760
                WERROR result;
 
3761
        } out;
 
3762
 
 
3763
};
 
3764
 
 
3765
 
 
3766
struct spoolss_44 {
 
3767
        struct {
 
3768
                WERROR result;
 
3769
        } out;
 
3770
 
 
3771
};
 
3772
 
 
3773
 
 
3774
struct spoolss_OpenPrinterEx {
 
3775
        struct {
 
3776
                const char *printername;/* [unique,charset(UTF16)] */
 
3777
                const char *datatype;/* [unique,charset(UTF16)] */
 
3778
                struct spoolss_DevmodeContainer devmode_ctr;
 
3779
                uint32_t access_mask;
 
3780
                uint32_t level;
 
3781
                union spoolss_UserLevel userlevel;/* [switch_is(level)] */
 
3782
        } in;
 
3783
 
 
3784
        struct {
 
3785
                struct policy_handle *handle;/* [ref] */
 
3786
                WERROR result;
 
3787
        } out;
 
3788
 
 
3789
};
 
3790
 
 
3791
 
 
3792
struct spoolss_AddPrinterEx {
 
3793
        struct {
 
3794
                const char *server;/* [unique,charset(UTF16)] */
 
3795
                struct spoolss_SetPrinterInfoCtr *info_ctr;/* [ref] */
 
3796
                struct spoolss_DevmodeContainer *devmode_ctr;/* [ref] */
 
3797
                struct sec_desc_buf *secdesc_ctr;/* [ref] */
 
3798
                struct spoolss_UserLevelCtr *userlevel_ctr;/* [ref] */
 
3799
        } in;
 
3800
 
 
3801
        struct {
 
3802
                struct policy_handle *handle;/* [ref] */
 
3803
                WERROR result;
 
3804
        } out;
 
3805
 
 
3806
};
 
3807
 
 
3808
 
 
3809
struct spoolss_SetPort {
 
3810
        struct {
 
3811
                const char *servername;/* [unique,charset(UTF16)] */
 
3812
                const char *port_name;/* [unique,charset(UTF16)] */
 
3813
                struct spoolss_SetPortInfoContainer *port_ctr;/* [ref] */
 
3814
        } in;
 
3815
 
 
3816
        struct {
 
3817
                WERROR result;
 
3818
        } out;
 
3819
 
 
3820
};
 
3821
 
 
3822
 
 
3823
struct spoolss_EnumPrinterData {
 
3824
        struct {
 
3825
                struct policy_handle *handle;/* [ref] */
 
3826
                uint32_t enum_index;
 
3827
                uint32_t value_offered;
 
3828
                uint32_t data_offered;
 
3829
        } in;
 
3830
 
 
3831
        struct {
 
3832
                const char *value_name;/* [charset(UTF16),size_is(value_offered/2)] */
 
3833
                uint32_t *value_needed;/* [ref] */
 
3834
                enum winreg_Type *type;/* [ref] */
 
3835
                uint8_t *data;/* [ref,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(data_offered)] */
 
3836
                uint32_t *data_needed;/* [ref] */
 
3837
                WERROR result;
 
3838
        } out;
 
3839
 
 
3840
};
 
3841
 
 
3842
 
 
3843
struct spoolss_DeletePrinterData {
 
3844
        struct {
 
3845
                struct policy_handle *handle;/* [ref] */
 
3846
                const char *value_name;/* [charset(UTF16)] */
 
3847
        } in;
 
3848
 
 
3849
        struct {
 
3850
                WERROR result;
 
3851
        } out;
 
3852
 
 
3853
};
 
3854
 
 
3855
 
 
3856
struct spoolss_4a {
 
3857
        struct {
 
3858
                WERROR result;
 
3859
        } out;
 
3860
 
 
3861
};
 
3862
 
 
3863
 
 
3864
struct spoolss_4b {
 
3865
        struct {
 
3866
                WERROR result;
 
3867
        } out;
 
3868
 
 
3869
};
 
3870
 
 
3871
 
 
3872
struct spoolss_4c {
 
3873
        struct {
 
3874
                WERROR result;
 
3875
        } out;
 
3876
 
 
3877
};
 
3878
 
 
3879
 
 
3880
struct spoolss_SetPrinterDataEx {
 
3881
        struct {
 
3882
                struct policy_handle *handle;/* [ref] */
 
3883
                const char *key_name;/* [charset(UTF16)] */
 
3884
                const char *value_name;/* [charset(UTF16)] */
 
3885
                enum winreg_Type type;
 
3886
                uint8_t *data;/* [ref,size_is(offered)] */
 
3887
                uint32_t offered;
 
3888
        } in;
 
3889
 
 
3890
        struct {
 
3891
                WERROR result;
 
3892
        } out;
 
3893
 
 
3894
};
 
3895
 
 
3896
 
 
3897
struct spoolss_GetPrinterDataEx {
 
3898
        struct {
 
3899
                struct policy_handle *handle;/* [ref] */
 
3900
                const char *key_name;/* [charset(UTF16)] */
 
3901
                const char *value_name;/* [charset(UTF16)] */
 
3902
                uint32_t offered;
 
3903
        } in;
 
3904
 
 
3905
        struct {
 
3906
                enum winreg_Type *type;/* [ref] */
 
3907
                uint8_t *data;/* [ref,size_is(offered)] */
 
3908
                uint32_t *needed;/* [ref] */
 
3909
                WERROR result;
 
3910
        } out;
 
3911
 
 
3912
};
 
3913
 
 
3914
 
 
3915
struct _spoolss_EnumPrinterDataEx {
 
3916
        struct {
 
3917
                struct policy_handle *handle;/* [ref] */
 
3918
                const char *key_name;/* [charset(UTF16)] */
 
3919
                uint32_t offered;
 
3920
        } in;
 
3921
 
 
3922
        struct {
 
3923
                DATA_BLOB info;
 
3924
                uint32_t *needed;/* [ref] */
 
3925
                uint32_t *count;/* [ref] */
 
3926
                WERROR result;
 
3927
        } out;
 
3928
 
 
3929
};
 
3930
 
 
3931
 
 
3932
struct __spoolss_EnumPrinterDataEx {
 
3933
        struct {
 
3934
                uint32_t count;
 
3935
        } in;
 
3936
 
 
3937
        struct {
 
3938
                struct spoolss_PrinterEnumValues *info;
 
3939
        } out;
 
3940
 
 
3941
};
 
3942
 
 
3943
 
 
3944
struct spoolss_EnumPrinterDataEx {
 
3945
        struct {
 
3946
                struct policy_handle *handle;/* [ref] */
 
3947
                const char *key_name;/* [charset(UTF16)] */
 
3948
                uint32_t offered;
 
3949
        } in;
 
3950
 
 
3951
        struct {
 
3952
                uint32_t *count;/* [ref] */
 
3953
                struct spoolss_PrinterEnumValues **info;/* [ref,size_is(,*count)] */
 
3954
                uint32_t *needed;/* [ref] */
 
3955
                WERROR result;
 
3956
        } out;
 
3957
 
 
3958
};
 
3959
 
 
3960
 
 
3961
struct spoolss_EnumPrinterKey {
 
3962
        struct {
 
3963
                struct policy_handle *handle;/* [ref] */
 
3964
                const char *key_name;/* [charset(UTF16)] */
 
3965
                uint32_t offered;
 
3966
        } in;
 
3967
 
 
3968
        struct {
 
3969
                uint32_t *_ndr_size;/* [ref] */
 
3970
                union spoolss_KeyNames *key_buffer;/* [subcontext_size(*_ndr_size*2),ref,subcontext(0),switch_is(*_ndr_size)] */
 
3971
                uint32_t *needed;/* [ref] */
 
3972
                WERROR result;
 
3973
        } out;
 
3974
 
 
3975
};
 
3976
 
 
3977
 
 
3978
struct spoolss_DeletePrinterDataEx {
 
3979
        struct {
 
3980
                struct policy_handle *handle;/* [ref] */
 
3981
                const char *key_name;/* [charset(UTF16)] */
 
3982
                const char *value_name;/* [charset(UTF16)] */
 
3983
        } in;
 
3984
 
 
3985
        struct {
 
3986
                WERROR result;
 
3987
        } out;
 
3988
 
 
3989
};
 
3990
 
 
3991
 
 
3992
struct spoolss_DeletePrinterKey {
 
3993
        struct {
 
3994
                struct policy_handle *handle;/* [ref] */
 
3995
                const char *key_name;/* [charset(UTF16)] */
 
3996
        } in;
 
3997
 
 
3998
        struct {
 
3999
                WERROR result;
 
4000
        } out;
 
4001
 
 
4002
};
 
4003
 
 
4004
 
 
4005
struct spoolss_53 {
 
4006
        struct {
 
4007
                WERROR result;
 
4008
        } out;
 
4009
 
 
4010
};
 
4011
 
 
4012
 
 
4013
struct spoolss_DeletePrinterDriverEx {
 
4014
        struct {
 
4015
                const char *server;/* [unique,charset(UTF16)] */
 
4016
                const char *architecture;/* [charset(UTF16)] */
 
4017
                const char *driver;/* [charset(UTF16)] */
 
4018
                uint32_t delete_flags;
 
4019
                uint32_t version;
 
4020
        } in;
 
4021
 
 
4022
        struct {
 
4023
                WERROR result;
 
4024
        } out;
 
4025
 
 
4026
};
 
4027
 
 
4028
 
 
4029
struct spoolss_AddPerMachineConnection {
 
4030
        struct {
 
4031
                const char *server;/* [unique,charset(UTF16)] */
 
4032
                const char *printername;/* [ref,charset(UTF16)] */
 
4033
                const char *printserver;/* [ref,charset(UTF16)] */
 
4034
                const char *provider;/* [ref,charset(UTF16)] */
 
4035
        } in;
 
4036
 
 
4037
        struct {
 
4038
                WERROR result;
 
4039
        } out;
 
4040
 
 
4041
};
 
4042
 
 
4043
 
 
4044
struct spoolss_DeletePerMachineConnection {
 
4045
        struct {
 
4046
                const char *server;/* [unique,charset(UTF16)] */
 
4047
                const char *printername;/* [ref,charset(UTF16)] */
 
4048
        } in;
 
4049
 
 
4050
        struct {
 
4051
                WERROR result;
 
4052
        } out;
 
4053
 
 
4054
};
 
4055
 
 
4056
 
 
4057
struct spoolss_EnumPerMachineConnections {
 
4058
        struct {
 
4059
                WERROR result;
 
4060
        } out;
 
4061
 
 
4062
};
 
4063
 
 
4064
 
 
4065
struct spoolss_XcvData {
 
4066
        struct {
 
4067
                struct policy_handle *handle;/* [ref] */
 
4068
                const char *function_name;/* [charset(UTF16)] */
 
4069
                DATA_BLOB in_data;
 
4070
                uint32_t _in_data_length;/* [value(r->in.in_data.length)] */
 
4071
                uint32_t out_data_size;
 
4072
                uint32_t *status_code;/* [ref] */
 
4073
        } in;
 
4074
 
 
4075
        struct {
 
4076
                uint8_t *out_data;/* [ref,size_is(out_data_size)] */
 
4077
                uint32_t *needed;/* [ref] */
 
4078
                uint32_t *status_code;/* [ref] */
 
4079
                WERROR result;
 
4080
        } out;
 
4081
 
 
4082
};
 
4083
 
 
4084
 
 
4085
struct spoolss_AddPrinterDriverEx {
 
4086
        struct {
 
4087
                const char *servername;/* [unique,charset(UTF16)] */
 
4088
                struct spoolss_AddDriverInfoCtr *info_ctr;/* [ref] */
 
4089
                uint32_t flags;
 
4090
        } in;
 
4091
 
 
4092
        struct {
 
4093
                WERROR result;
 
4094
        } out;
 
4095
 
 
4096
};
 
4097
 
 
4098
 
 
4099
struct spoolss_5a {
 
4100
        struct {
 
4101
                WERROR result;
 
4102
        } out;
 
4103
 
 
4104
};
 
4105
 
 
4106
 
 
4107
struct spoolss_5b {
 
4108
        struct {
 
4109
                WERROR result;
 
4110
        } out;
 
4111
 
 
4112
};
 
4113
 
 
4114
 
 
4115
struct spoolss_5c {
 
4116
        struct {
 
4117
                WERROR result;
 
4118
        } out;
 
4119
 
 
4120
};
 
4121
 
 
4122
 
 
4123
struct spoolss_5d {
 
4124
        struct {
 
4125
                WERROR result;
 
4126
        } out;
 
4127
 
 
4128
};
 
4129
 
 
4130
 
 
4131
struct spoolss_5e {
 
4132
        struct {
 
4133
                WERROR result;
 
4134
        } out;
 
4135
 
 
4136
};
 
4137
 
 
4138
 
 
4139
struct spoolss_5f {
 
4140
        struct {
 
4141
                WERROR result;
 
4142
        } out;
 
4143
 
 
4144
};
 
4145
 
 
4146
 
 
4147
struct spoolss_60 {
 
4148
        struct {
 
4149
                WERROR result;
 
4150
        } out;
 
4151
 
 
4152
};
 
4153
 
 
4154
 
 
4155
struct spoolss_61 {
 
4156
        struct {
 
4157
                WERROR result;
 
4158
        } out;
 
4159
 
 
4160
};
 
4161
 
 
4162
 
 
4163
struct spoolss_62 {
 
4164
        struct {
 
4165
                WERROR result;
 
4166
        } out;
 
4167
 
 
4168
};
 
4169
 
 
4170
 
 
4171
struct spoolss_63 {
 
4172
        struct {
 
4173
                WERROR result;
 
4174
        } out;
 
4175
 
 
4176
};
 
4177
 
 
4178
 
 
4179
struct spoolss_64 {
 
4180
        struct {
 
4181
                WERROR result;
 
4182
        } out;
 
4183
 
 
4184
};
 
4185
 
 
4186
 
 
4187
struct spoolss_65 {
 
4188
        struct {
 
4189
                WERROR result;
 
4190
        } out;
 
4191
 
 
4192
};
 
4193
 
 
4194
 
 
4195
struct spoolss_GetCorePrinterDrivers {
 
4196
        struct {
 
4197
                const char *servername;/* [unique,charset(UTF16)] */
 
4198
                const char *architecture;/* [ref,charset(UTF16)] */
 
4199
                uint32_t core_driver_size;
 
4200
                const char *core_driver_dependencies;/* [ref,charset(UTF16),size_is(core_driver_size)] */
 
4201
                uint32_t core_printer_driver_count;
 
4202
        } in;
 
4203
 
 
4204
        struct {
 
4205
                struct spoolss_CorePrinterDriver *core_printer_drivers;/* [ref,size_is(core_printer_driver_count)] */
 
4206
                WERROR result;
 
4207
        } out;
 
4208
 
 
4209
};
 
4210
 
 
4211
 
 
4212
struct spoolss_67 {
 
4213
        struct {
 
4214
                WERROR result;
 
4215
        } out;
 
4216
 
 
4217
};
 
4218
 
 
4219
 
 
4220
struct spoolss_GetPrinterDriverPackagePath {
 
4221
        struct {
 
4222
                const char *servername;/* [unique,charset(UTF16)] */
 
4223
                const char *architecture;/* [ref,charset(UTF16)] */
 
4224
                const char *language;/* [unique,charset(UTF16)] */
 
4225
                const char *package_id;/* [ref,charset(UTF16)] */
 
4226
                uint32_t driver_package_cab_size;
 
4227
                const char *driver_package_cab;/* [unique,charset(UTF16),size_is(driver_package_cab_size)] */
 
4228
        } in;
 
4229
 
 
4230
        struct {
 
4231
                uint32_t *required;/* [ref] */
 
4232
                const char *driver_package_cab;/* [unique,charset(UTF16),size_is(driver_package_cab_size)] */
 
4233
                WERROR result;
 
4234
        } out;
 
4235
 
 
4236
};
 
4237
 
 
4238
 
 
4239
struct spoolss_69 {
 
4240
        struct {
 
4241
                WERROR result;
 
4242
        } out;
 
4243
 
 
4244
};
 
4245
 
 
4246
 
 
4247
struct spoolss_6a {
 
4248
        struct {
 
4249
                WERROR result;
 
4250
        } out;
 
4251
 
 
4252
};
 
4253
 
 
4254
 
 
4255
struct spoolss_6b {
 
4256
        struct {
 
4257
                WERROR result;
 
4258
        } out;
 
4259
 
 
4260
};
 
4261
 
 
4262
 
 
4263
struct spoolss_6c {
 
4264
        struct {
 
4265
                WERROR result;
 
4266
        } out;
 
4267
 
 
4268
};
 
4269
 
 
4270
 
 
4271
struct spoolss_6d {
 
4272
        struct {
 
4273
                WERROR result;
 
4274
        } out;
 
4275
 
 
4276
};
 
4277
 
 
4278
#endif /* _HEADER_spoolss */
 
4279
#endif /* _PIDL_HEADER_spoolss */