~ubuntu-branches/ubuntu/oneiric/samba/oneiric-security

« back to all changes in this revision

Viewing changes to .pc/fix-windows7-print-connection.patch/librpc/gen_ndr/spoolss.h

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2011-03-10 10:03:01 UTC
  • mfrom: (0.39.11 sid)
  • Revision ID: james.westby@ubuntu.com-20110310100301-jfjg41wv0iq05zj4
Tags: 2:3.5.8~dfsg-1ubuntu1
* Merge from debian unstable.  Remaining changes:
  + debian/patches/VERSION.patch:
    - set SAMBA_VERSION_SUFFIX to Ubuntu.
  + 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/mksmbpasswd.awk:
    - Do not add user with UID less than 1000 to smbpasswd
  + debian/control:
    - Make libwbclient0 replace/conflict with hardy's likewise-open.
    - Don't build against or suggest ctdb.
    - Add dependency on samba-common-bin to samba.
    - Add cuups breaks to push the package to aslo upgrade cups (LP: #639768)
  + debian/rules:
    - enable "native" PIE hardening.
    - Add BIND_NOW to maximize benefit of RELRO hardening.
  + 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.
    - Don't ship the /etc/network/if-up.d file.
  + debian/samba.postinst: 
    - Fixed bashism.
    - 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/samba.logrotate: Make it upstart compatible
  + debian/samba-common.dhcp: Fix typo to get a proper parsing in
    /etc/samba/dhcp.
  + Dropped:
    - debian/patches/fix-windows7-print-connection.patch: Merged upstream.
    - debian/patches/security-CVE-2011-0719.patch: Merged upstream. 

Show diffs side-by-side

added added

removed removed

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