blob: 884da16808479b705942fb3eee20bd6029deec59 [file] [log] [blame]
Alexandre Julliard59545601999-02-10 06:52:57 +00001/* Definitions for printing
2 *
3 * Copyright 1998 Huw Davies, Andreas Mohr
4 *
Vincent Béron9a624912002-05-31 23:06:46 +00005 * Portions Copyright (c) 1999 Corel Corporation
Alexandre Julliard59545601999-02-10 06:52:57 +00006 * (Paul Quinn, Albert Den Haan)
Alexandre Julliard0799c1a2002-03-09 23:29:33 +00007 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Alexandre Julliard59545601999-02-10 06:52:57 +000021 */
22#ifndef __WINE_WINSPOOL_H
23#define __WINE_WINSPOOL_H
24
Alexandre Julliard59545601999-02-10 06:52:57 +000025#ifdef __cplusplus
26extern "C" {
27#endif
28
29/* DEFINES */
Alexandre Julliard59545601999-02-10 06:52:57 +000030
31#define PRINTER_ATTRIBUTE_QUEUED 0x00000001
32#define PRINTER_ATTRIBUTE_DIRECT 0x00000002
33#define PRINTER_ATTRIBUTE_DEFAULT 0x00000004
34#define PRINTER_ATTRIBUTE_SHARED 0x00000008
35#define PRINTER_ATTRIBUTE_NETWORK 0x00000010
36#define PRINTER_ATTRIBUTE_HIDDEN 0x00000020
37#define PRINTER_ATTRIBUTE_LOCAL 0x00000040
38
39#define PRINTER_ATTRIBUTE_ENABLE_DEVQ 0x00000080
40#define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 0x00000100
41#define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x00000200
42
43#define PRINTER_ATTRIBUTE_WORK_OFFLINE 0x00000400
44#define PRINTER_ATTRIBUTE_ENABLE_BIDI 0x00000800
45
Huw D M Davies685fa2d1999-09-04 14:30:33 +000046#define PRINTER_CONTROL_PAUSE 1
47#define PRINTER_CONTROL_RESUME 2
48#define PRINTER_CONTROL_PURGE 3
49#define PRINTER_CONTROL_SET_STATUS 4
50
Alexandre Julliard59545601999-02-10 06:52:57 +000051#define PRINTER_ENUM_DEFAULT 0x00000001
52#define PRINTER_ENUM_LOCAL 0x00000002
53#define PRINTER_ENUM_CONNECTIONS 0x00000004
54#define PRINTER_ENUM_FAVORITE 0x00000004
55#define PRINTER_ENUM_NAME 0x00000008
56#define PRINTER_ENUM_REMOTE 0x00000010
57#define PRINTER_ENUM_SHARED 0x00000020
58#define PRINTER_ENUM_NETWORK 0x00000040
59
60#define PRINTER_ENUM_EXPAND 0x00004000
61#define PRINTER_ENUM_CONTAINER 0x00008000
62
63#define PRINTER_ENUM_ICONMASK 0x00ff0000
64#define PRINTER_ENUM_ICON1 0x00010000
65#define PRINTER_ENUM_ICON2 0x00020000
66#define PRINTER_ENUM_ICON3 0x00040000
67#define PRINTER_ENUM_ICON4 0x00080000
68#define PRINTER_ENUM_ICON5 0x00100000
69#define PRINTER_ENUM_ICON6 0x00200000
70#define PRINTER_ENUM_ICON7 0x00400000
71#define PRINTER_ENUM_ICON8 0x00800000
72
Klaas van Gend43ac3d61999-07-30 18:10:21 +000073
74/* various printer statuses */
75#define PRINTER_STATUS_PAUSED 0x00000001
76#define PRINTER_STATUS_ERROR 0x00000002
77#define PRINTER_STATUS_PENDING_DELETION 0x00000004
78#define PRINTER_STATUS_PAPER_JAM 0x00000008
79#define PRINTER_STATUS_PAPER_OUT 0x00000010
80#define PRINTER_STATUS_MANUAL_FEED 0x00000020
81#define PRINTER_STATUS_PAPER_PROBLEM 0x00000040
82#define PRINTER_STATUS_OFFLINE 0x00000080
83#define PRINTER_STATUS_IO_ACTIVE 0x00000100
84#define PRINTER_STATUS_BUSY 0x00000200
85#define PRINTER_STATUS_PRINTING 0x00000400
86#define PRINTER_STATUS_OUTPUT_BIN_FULL 0x00000800
87#define PRINTER_STATUS_NOT_AVAILABLE 0x00001000
88#define PRINTER_STATUS_WAITING 0x00002000
89#define PRINTER_STATUS_PROCESSING 0x00004000
90#define PRINTER_STATUS_INITIALIZING 0x00008000
91#define PRINTER_STATUS_WARMING_UP 0x00010000
92#define PRINTER_STATUS_TONER_LOW 0x00020000
93#define PRINTER_STATUS_NO_TONER 0x00040000
94#define PRINTER_STATUS_PAGE_PUNT 0x00080000
95#define PRINTER_STATUS_USER_INTERVENTION 0x00100000
96#define PRINTER_STATUS_OUT_OF_MEMORY 0x00200000
97#define PRINTER_STATUS_DOOR_OPEN 0x00400000
98#define PRINTER_STATUS_SERVER_UNKNOWN 0x00800000
99#define PRINTER_STATUS_POWER_SAVE 0x01000000
100
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000101#define NO_PRIORITY 0
102#define MAX_PRIORITY 99
103#define MIN_PRIORITY 1
104#define DEF_PRIORITY 1
105
106#define JOB_CONTROL_PAUSE 1
107#define JOB_CONTROL_RESUME 2
108#define JOB_CONTROL_CANCEL 3
109#define JOB_CONTROL_RESTART 4
110#define JOB_CONTROL_DELETE 5
111#define JOB_CONTROL_SENT_TO_PRINTER 6
112#define JOB_CONTROL_LAST_PAGE_EJECTED 7
113
114#define JOB_STATUS_PAUSED 0x0001
115#define JOB_STATUS_ERROR 0x0002
116#define JOB_STATUS_DELETING 0x0004
117#define JOB_STATUS_SPOOLING 0x0008
118#define JOB_STATUS_PRINTING 0x0010
119#define JOB_STATUS_OFFLINE 0x0020
120#define JOB_STATUS_PAPEROUT 0x0040
121#define JOB_STATUS_PRINTED 0x0080
122#define JOB_STATUS_DELETED 0x0100
123#define JOB_STATUS_BLOCKED_DEVQ 0x0200
124#define JOB_STATUS_USER_INTERVENTION 0x0400
125
126#define JOB_POSITION_UNSPECIFIED 1
127
128#define DI_CHANNEL 1
129#define DI_READ_SPOOL_JOB 3
130
131#define FORM_USER 0
132#define FORM_BUILTIN 1
133#define FORM_PRINTER 2
134
135#define PORT_TYPE_WRITE 1
136#define PORT_TYPE_READ 2
137#define PORT_TYPE_REDIRECTED 4
138#define PORT_TYPE_NET_ATTACHED 8
139
140#define PORT_STATUS_TYPE_ERROR 1
141#define PORT_STATUS_TYPE_WARNING 2
142#define PORT_STATUS_TYPE_INFO 3
143
144#define PORT_STATUS_OFFLINE 1
145#define PORT_STATUS_PAPER_JAM 2
146#define PORT_STATUS_PAPER_OUT 3
147#define PORT_STATUS_OUTPUT_BIN_FULL 4
148#define PORT_STATUS_PAPER_PROBLEM 5
149#define PORT_STATUS_NO_TONER 6
150#define PORT_STATUS_DOOR_OPEN 7
151#define PORT_STATUS_USER_INTERVENTION 8
152#define PORT_STATUS_OUT_OF_MEMORY 9
153#define PORT_STATUS_TONER_LOW 10
154#define PORT_STATUS_WARMING_UP 11
155#define PORT_STATUS_POWER_SAVE 12
156
157#define PRINTER_NOTIFY_TYPE 0
158#define JOB_NOTIFY_TYPE 1
159
160#define PRINTER_NOTIFY_FIELD_SERVER_NAME 0x00
161#define PRINTER_NOTIFY_FIELD_PRINTER_NAME 0x01
162#define PRINTER_NOTIFY_FIELD_SHARE_NAME 0x02
163#define PRINTER_NOTIFY_FIELD_PORT_NAME 0x03
164#define PRINTER_NOTIFY_FIELD_DRIVER_NAME 0x04
165#define PRINTER_NOTIFY_FIELD_COMMENT 0x05
166#define PRINTER_NOTIFY_FIELD_LOCATION 0x06
167#define PRINTER_NOTIFY_FIELD_DEVMODE 0x07
168#define PRINTER_NOTIFY_FIELD_SEPFILE 0x08
169#define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 0x09
170#define PRINTER_NOTIFY_FIELD_PARAMETERS 0x0a
171#define PRINTER_NOTIFY_FIELD_DATATYPE 0x0b
172#define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0c
173#define PRINTER_NOTIFY_FIELD_ATTRIBUTES 0x0d
174#define PRINTER_NOTIFY_FIELD_PRIORITY 0x0e
175#define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 0x0f
176#define PRINTER_NOTIFY_FIELD_START_TIME 0x10
177#define PRINTER_NOTIFY_FIELD_UNTIL_TIME 0x11
178#define PRINTER_NOTIFY_FIELD_STATUS 0x12
179#define PRINTER_NOTIFY_FIELD_STATUS_STRING 0x13
180#define PRINTER_NOTIFY_FIELD_CJOBS 0x14
181#define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 0x15
182#define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 0x16
183#define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 0x17
184#define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 0x18
185#define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 0x19
186
187#define JOB_NOTIFY_FIELD_PRINTER_NAME 0x00
188#define JOB_NOTIFY_FIELD_MACHINE_NAME 0x01
189#define JOB_NOTIFY_FIELD_PORT_NAME 0x02
190#define JOB_NOTIFY_FIELD_USER_NAME 0x03
191#define JOB_NOTIFY_FIELD_NOTIFY_NAME 0x04
192#define JOB_NOTIFY_FIELD_DATATYPE 0x05
193#define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 0x06
194#define JOB_NOTIFY_FIELD_PARAMETERS 0x07
195#define JOB_NOTIFY_FIELD_DRIVER_NAME 0x08
196#define JOB_NOTIFY_FIELD_DEVMODE 0x09
197#define JOB_NOTIFY_FIELD_STATUS 0x0a
198#define JOB_NOTIFY_FIELD_STATUS_STRING 0x0b
199#define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0c
200#define JOB_NOTIFY_FIELD_DOCUMENT 0x0d
201#define JOB_NOTIFY_FIELD_PRIORITY 0x0e
202#define JOB_NOTIFY_FIELD_POSITION 0x0f
203#define JOB_NOTIFY_FIELD_SUBMITTED 0x10
204#define JOB_NOTIFY_FIELD_START_TIME 0x11
205#define JOB_NOTIFY_FIELD_UNTIL_TIME 0x12
206#define JOB_NOTIFY_FIELD_TIME 0x13
207#define JOB_NOTIFY_FIELD_TOTAL_PAGES 0x14
208#define JOB_NOTIFY_FIELD_PAGES_PRINTED 0x15
209#define JOB_NOTIFY_FIELD_TOTAL_BYTES 0x16
210#define JOB_NOTIFY_FIELD_BYTES_PRINTED 0x17
211
212#define PRINTER_NOTIFY_OPTIONS_REFRESH 1
213#define PRINTER_NOTIFY_INFO_DISCARDED 1
214
215#define PRINTER_CHANGE_ADD_PRINTER 0x00000001
216#define PRINTER_CHANGE_SET_PRINTER 0x00000002
217#define PRINTER_CHANGE_DELETE_PRINTER 0x00000004
218#define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 0x00000008
219#define PRINTER_CHANGE_PRINTER 0x000000ff
220#define PRINTER_CHANGE_ADD_JOB 0x00000100
221#define PRINTER_CHANGE_SET_JOB 0x00000200
222#define PRINTER_CHANGE_DELETE_JOB 0x00000400
223#define PRINTER_CHANGE_WRITE_JOB 0x00000800
224#define PRINTER_CHANGE_JOB 0x0000ff00
225#define PRINTER_CHANGE_ADD_FORM 0x00010000
226#define PRINTER_CHANGE_SET_FORM 0x00020000
227#define PRINTER_CHANGE_DELETE_FORM 0x00040000
228#define PRINTER_CHANGE_FORM 0x00070000
229#define PRINTER_CHANGE_ADD_PORT 0x00100000
230#define PRINTER_CHANGE_CONFIGURE_PORT 0x00200000
231#define PRINTER_CHANGE_DELETE_PORT 0x00400000
232#define PRINTER_CHANGE_PORT 0x00700000
233#define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x01000000
234#define PRINTER_CHANGE_DELETE_PRINTER_PROCESSOR 0x04000000
235#define PRINTER_CHANGE_PRINT_PROCESSOR 0x07000000
236#define PRINTER_CHANGE_ADD_PRINTER_DRIVER 0x10000000
237#define PRINTER_CHANGE_SET_PRINTER_DRIVER 0x20000000
238#define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 0x40000000
239#define PRINTER_CHANGE_PRINTER_DRIVER 0x70000000
240#define PRINTER_CHANGE_TIMEOUT 0x80000000
241#define PRINTER_CHANGE_ALL 0x7777ffff
242
243#define PRINTER_ERROR_INFORMATION 0x80000000
244#define PRINTER_ERROR_WARNING 0x40000000
245#define PRINTER_ERROR_SEVERE 0x20000000
246
247#define PRINTER_ERROR_OUTODPAPER 0x00000001
248#define PRINTER_ERROR_JAM 0x00000002
249#define PRINTER_ERROR_OUTOFTONER 0x00000004
250
Detlef Riekenbergd271ea22005-08-08 12:13:58 +0000251/* Access Rights for Printserver, Printers and Printjobs */
252#define SERVER_ACCESS_ADMINISTER 0x00000001
253#define SERVER_ACCESS_ENUMERATE 0x00000002
254#define SERVER_READ (STANDARD_RIGHTS_READ | SERVER_ACCESS_ENUMERATE)
255#define SERVER_WRITE (STANDARD_RIGHTS_WRITE | \
256 SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE)
257#define SERVER_EXECUTE (STANDARD_RIGHTS_EXECUTE | SERVER_ACCESS_ENUMERATE)
258#define SERVER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
259 SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE)
260
261#define PRINTER_ACCESS_ADMINISTER 0x00000004
262#define PRINTER_ACCESS_USE 0x00000008
263#define PRINTER_READ (STANDARD_RIGHTS_READ | PRINTER_ACCESS_USE)
264#define PRINTER_WRITE (STANDARD_RIGHTS_WRITE | PRINTER_ACCESS_USE)
265#define PRINTER_EXECUTE (STANDARD_RIGHTS_EXECUTE | PRINTER_ACCESS_USE)
266#define PRINTER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
267 PRINTER_ACCESS_ADMINISTER | PRINTER_ACCESS_USE)
268
269#define JOB_ACCESS_ADMINISTER 0x00000010
270#define JOB_READ (STANDARD_RIGHTS_READ | JOB_ACCESS_ADMINISTER)
271#define JOB_WRITE (STANDARD_RIGHTS_WRITE | JOB_ACCESS_ADMINISTER)
272#define JOB_EXECUTE (STANDARD_RIGHTS_EXECUTE | JOB_ACCESS_ADMINISTER)
273#define JOB_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | JOB_ACCESS_ADMINISTER)
274
Alexandre Julliard59545601999-02-10 06:52:57 +0000275/* TYPES */
Alexandre Julliarda3960291999-02-26 11:11:13 +0000276typedef struct _PRINTER_DEFAULTSA {
Alexandre Julliard59545601999-02-10 06:52:57 +0000277 LPSTR pDatatype;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000278 LPDEVMODEA pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000279 ACCESS_MASK DesiredAccess;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000280} PRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
Alexandre Julliard59545601999-02-10 06:52:57 +0000281
Alexandre Julliarda3960291999-02-26 11:11:13 +0000282typedef struct _PRINTER_DEFAULTSW {
Alexandre Julliard59545601999-02-10 06:52:57 +0000283 LPWSTR pDatatype;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000284 LPDEVMODEW pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000285 ACCESS_MASK DesiredAccess;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000286} PRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
Alexandre Julliard59545601999-02-10 06:52:57 +0000287
288DECL_WINELIB_TYPE_AW(PRINTER_DEFAULTS)
289DECL_WINELIB_TYPE_AW(LPPRINTER_DEFAULTS)
290
Alexandre Julliarda3960291999-02-26 11:11:13 +0000291typedef struct _DRIVER_INFO_1A {
Alexandre Julliard59545601999-02-10 06:52:57 +0000292 LPSTR pName;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000293} DRIVER_INFO_1A, *PDRIVER_INFO_1A, *LPDRIVER_INFO_1A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000294
Alexandre Julliarda3960291999-02-26 11:11:13 +0000295typedef struct _DRIVER_INFO_1W {
Alexandre Julliard59545601999-02-10 06:52:57 +0000296 LPWSTR pName;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000297} DRIVER_INFO_1W, *PDRIVER_INFO_1W, *LPDRIVER_INFO_1W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000298
299DECL_WINELIB_TYPE_AW(DRIVER_INFO_1)
300DECL_WINELIB_TYPE_AW(PDRIVER_INFO_1)
301DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_1)
302
Alexandre Julliarda3960291999-02-26 11:11:13 +0000303typedef struct _DRIVER_INFO_2A {
Alexandre Julliard59545601999-02-10 06:52:57 +0000304 DWORD cVersion;
305 LPSTR pName;
306 LPSTR pEnvironment;
307 LPSTR pDriverPath;
Vincent Béron9a624912002-05-31 23:06:46 +0000308 LPSTR pDataFile;
Alexandre Julliard59545601999-02-10 06:52:57 +0000309 LPSTR pConfigFile;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000310} DRIVER_INFO_2A, *PDRIVER_INFO_2A, *LPDRIVER_INFO_2A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000311
Alexandre Julliarda3960291999-02-26 11:11:13 +0000312typedef struct _DRIVER_INFO_2W {
Alexandre Julliard59545601999-02-10 06:52:57 +0000313 DWORD cVersion;
Vincent Béron9a624912002-05-31 23:06:46 +0000314 LPWSTR pName;
Alexandre Julliard59545601999-02-10 06:52:57 +0000315 LPWSTR pEnvironment;
316 LPWSTR pDriverPath;
Vincent Béron9a624912002-05-31 23:06:46 +0000317 LPWSTR pDataFile;
Alexandre Julliard59545601999-02-10 06:52:57 +0000318 LPWSTR pConfigFile;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000319} DRIVER_INFO_2W, *PDRIVER_INFO_2W, *LPDRIVER_INFO_2W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000320
321DECL_WINELIB_TYPE_AW(DRIVER_INFO_2)
322DECL_WINELIB_TYPE_AW(PDRIVER_INFO_2)
323DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_2)
324
Huw D M Daviesee2d9d51999-05-22 18:53:56 +0000325typedef struct _DRIVER_INFO_3A {
326 DWORD cVersion;
327 LPSTR pName;
328 LPSTR pEnvironment;
329 LPSTR pDriverPath;
330 LPSTR pDataFile;
331 LPSTR pConfigFile;
332 LPSTR pHelpFile;
333 LPSTR pDependentFiles;
334 LPSTR pMonitorName;
335 LPSTR pDefaultDataType;
336} DRIVER_INFO_3A, *PDRIVER_INFO_3A, *LPDRIVER_INFO_3A;
337
338typedef struct _DRIVER_INFO_3W {
339 DWORD cVersion;
340 LPWSTR pName;
341 LPWSTR pEnvironment;
342 LPWSTR pDriverPath;
343 LPWSTR pDataFile;
344 LPWSTR pConfigFile;
345 LPWSTR pHelpFile;
346 LPWSTR pDependentFiles;
347 LPWSTR pMonitorName;
348 LPWSTR pDefaultDataType;
349} DRIVER_INFO_3W, *PDRIVER_INFO_3W, *LPDRIVER_INFO_3W;
350
351DECL_WINELIB_TYPE_AW(DRIVER_INFO_3)
352DECL_WINELIB_TYPE_AW(PDRIVER_INFO_3)
353DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_3)
354
Alexandre Julliarda3960291999-02-26 11:11:13 +0000355typedef struct _PRINTER_INFO_1A {
Alexandre Julliard59545601999-02-10 06:52:57 +0000356 DWORD Flags;
357 LPSTR pDescription;
358 LPSTR pName;
359 LPSTR pComment;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000360} PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000361
Alexandre Julliarda3960291999-02-26 11:11:13 +0000362typedef struct _PRINTER_INFO_1W {
Alexandre Julliard59545601999-02-10 06:52:57 +0000363 DWORD Flags;
364 LPWSTR pDescription;
365 LPWSTR pName;
366 LPWSTR pComment;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000367} PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000368
369DECL_WINELIB_TYPE_AW(PRINTER_INFO_1)
370DECL_WINELIB_TYPE_AW(PPRINTER_INFO_1)
371DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_1)
372
373/* FIXME: winspool.h declares some structure members with the name Status.
Francois Gouget66834322004-04-20 04:03:42 +0000374 * unfortunately <X11/ICE/ICElib.h> #defines Status to the type 'int'
375 * therefore the following hack */
Alexandre Julliard59545601999-02-10 06:52:57 +0000376#ifndef Status
377
Alexandre Julliarda3960291999-02-26 11:11:13 +0000378typedef struct _PRINTER_INFO_2A {
Alexandre Julliard59545601999-02-10 06:52:57 +0000379 LPSTR pServerName;
380 LPSTR pPrinterName;
381 LPSTR pShareName;
382 LPSTR pPortName;
383 LPSTR pDriverName;
384 LPSTR pComment;
385 LPSTR pLocation;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000386 LPDEVMODEA pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000387 LPSTR pSepFile;
388 LPSTR pPrintProcessor;
389 LPSTR pDatatype;
390 LPSTR pParameters;
391 PSECURITY_DESCRIPTOR pSecurityDescriptor;
392 DWORD Attributes;
393 DWORD Priority;
394 DWORD DefaultPriority;
395 DWORD StartTime;
396 DWORD UntilTime;
397 DWORD Status;
398 DWORD cJobs;
399 DWORD AveragePPM;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000400} PRINTER_INFO_2A, *PPRINTER_INFO_2A, *LPPRINTER_INFO_2A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000401
Alexandre Julliarda3960291999-02-26 11:11:13 +0000402typedef struct _PRINTER_INFO_2W {
Alexandre Julliard59545601999-02-10 06:52:57 +0000403 LPWSTR pServerName;
404 LPWSTR pPrinterName;
405 LPWSTR pShareName;
406 LPWSTR pPortName;
407 LPWSTR pDriverName;
408 LPWSTR pComment;
409 LPWSTR pLocation;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000410 LPDEVMODEW pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000411 LPWSTR pSepFile;
412 LPWSTR pPrintProcessor;
413 LPWSTR pDatatype;
414 LPWSTR pParameters;
415 PSECURITY_DESCRIPTOR pSecurityDescriptor;
416 DWORD Attributes;
417 DWORD Priority;
418 DWORD DefaultPriority;
419 DWORD StartTime;
420 DWORD UntilTime;
421 DWORD Status;
422 DWORD cJobs;
423 DWORD AveragePPM;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000424} PRINTER_INFO_2W, *PPRINTER_INFO_2W, *LPPRINTER_INFO_2W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000425
426DECL_WINELIB_TYPE_AW(PRINTER_INFO_2)
427DECL_WINELIB_TYPE_AW(PPRINTER_INFO_2)
428DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_2)
429
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000430typedef struct _PRINTER_INFO_3 {
431 PSECURITY_DESCRIPTOR pSecurityDescriptor;
432} PRINTER_INFO_3, *PPRINTER_INFO_3, *LPPRINTER_INFO_3;
Vincent Béron9a624912002-05-31 23:06:46 +0000433
Klaas van Gendfdedc341999-03-22 12:40:24 +0000434typedef struct _PRINTER_INFO_4A {
435 LPSTR pPrinterName;
436 LPSTR pServerName;
437 DWORD Attributes;
438} PRINTER_INFO_4A, *PPRINTER_INFO_4A, *LPPRINTER_INFO_4A;
439
440typedef struct _PRINTER_INFO_4W {
441 LPWSTR pPrinterName;
442 LPWSTR pServerName;
443 DWORD Attributes;
444} PRINTER_INFO_4W, *PPRINTER_INFO_4W, *LPPRINTER_INFO_4W;
445
446DECL_WINELIB_TYPE_AW(PRINTER_INFO_4)
447DECL_WINELIB_TYPE_AW(PPRINTER_INFO_4)
448DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_4)
449
450typedef struct _PRINTER_INFO_5A {
451 LPSTR pPrinterName;
452 LPSTR pPortName;
453 DWORD Attributes;
Huw D M Davies7aaabc32000-05-25 23:02:46 +0000454 DWORD DeviceNotSelectedTimeout;
Klaas van Gendfdedc341999-03-22 12:40:24 +0000455 DWORD TransmissionRetryTimeout;
456} PRINTER_INFO_5A, *PPRINTER_INFO_5A, *LPPRINTER_INFO_5A;
457
458typedef struct _PRINTER_INFO_5W {
459 LPWSTR pPrinterName;
460 LPWSTR pPortName;
461 DWORD Attributes;
Huw D M Davies7aaabc32000-05-25 23:02:46 +0000462 DWORD DeviceNotSelectedTimeout;
Klaas van Gendfdedc341999-03-22 12:40:24 +0000463 DWORD TransmissionRetryTimeout;
464} PRINTER_INFO_5W, *PPRINTER_INFO_5W, *LPPRINTER_INFO_5W;
465
466DECL_WINELIB_TYPE_AW(PRINTER_INFO_5)
467DECL_WINELIB_TYPE_AW(PPRINTER_INFO_5)
468DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_5)
469
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000470typedef struct _PRINTER_INFO_6 {
471 DWORD dwStatus;
472} PRINTER_INFO_6, *PPRINTER_INFO_6, *LPPRINTER_INFO_6;
473
Huw D M Daviesbb140561999-07-23 19:23:49 +0000474typedef struct _JOB_INFO_1A {
Francois Gouget017887e2004-10-04 19:25:21 +0000475 DWORD JobId;
Huw D M Daviesbb140561999-07-23 19:23:49 +0000476 LPSTR pPrinterName;
477 LPSTR pMachineName;
478 LPSTR pUserName;
479 LPSTR pDocument;
480 LPSTR pDatatype;
481 LPSTR pStatus;
482 DWORD Status;
483 DWORD Priority;
484 DWORD Position;
485 DWORD TotalPages;
486 DWORD PagesPrinted;
487 SYSTEMTIME Submitted;
488} JOB_INFO_1A, *PJOB_INFO_1A, *LPJOB_INFO_1A;
489
490typedef struct _JOB_INFO_1W {
Francois Gouget017887e2004-10-04 19:25:21 +0000491 DWORD JobId;
Huw D M Daviesbb140561999-07-23 19:23:49 +0000492 LPWSTR pPrinterName;
493 LPWSTR pMachineName;
494 LPWSTR pUserName;
495 LPWSTR pDocument;
496 LPWSTR pDatatype;
497 LPWSTR pStatus;
498 DWORD Status;
499 DWORD Priority;
500 DWORD Position;
501 DWORD TotalPages;
502 DWORD PagesPrinted;
503 SYSTEMTIME Submitted;
504} JOB_INFO_1W, *PJOB_INFO_1W, *LPJOB_INFO_1W;
505
506DECL_WINELIB_TYPE_AW(JOB_INFO_1)
507DECL_WINELIB_TYPE_AW(PJOB_INFO_1)
508DECL_WINELIB_TYPE_AW(LPJOB_INFO_1)
509
510typedef struct _JOB_INFO_2A {
Francois Gouget017887e2004-10-04 19:25:21 +0000511 DWORD JobId;
Huw D M Daviesbb140561999-07-23 19:23:49 +0000512 LPSTR pPrinterName;
513 LPSTR pMachineName;
514 LPSTR pUserName;
515 LPSTR pDocument;
516 LPSTR pNotifyName;
517 LPSTR pDatatype;
518 LPSTR pPrintProcessor;
519 LPSTR pParameters;
520 LPSTR pDriverName;
521 LPDEVMODEA pDevMode;
522 LPSTR pStatus;
523 PSECURITY_DESCRIPTOR pSecurityDescriptor;
524 DWORD Status;
525 DWORD Priority;
526 DWORD Position;
527 DWORD StartTime;
528 DWORD UntilTime;
529 DWORD TotalPages;
530 DWORD Size;
531 SYSTEMTIME Submitted;
532 DWORD Time;
533 DWORD PagesPrinted;
534} JOB_INFO_2A, *PJOB_INFO_2A, *LPJOB_INFO_2A;
Vincent Béron9a624912002-05-31 23:06:46 +0000535
Huw D M Daviesbb140561999-07-23 19:23:49 +0000536typedef struct _JOB_INFO_2W {
Francois Gouget017887e2004-10-04 19:25:21 +0000537 DWORD JobId;
Huw D M Daviesbb140561999-07-23 19:23:49 +0000538 LPWSTR pPrinterName;
539 LPWSTR pMachineName;
540 LPWSTR pUserName;
541 LPWSTR pDocument;
542 LPWSTR pNotifyName;
543 LPWSTR pDatatype;
544 LPWSTR pPrintProcessor;
545 LPWSTR pParameters;
546 LPWSTR pDriverName;
547 LPDEVMODEW pDevMode;
548 LPWSTR pStatus;
549 PSECURITY_DESCRIPTOR pSecurityDescriptor;
550 DWORD Status;
551 DWORD Priority;
552 DWORD Position;
553 DWORD StartTime;
554 DWORD UntilTime;
555 DWORD TotalPages;
556 DWORD Size;
557 SYSTEMTIME Submitted;
558 DWORD Time;
559 DWORD PagesPrinted;
560} JOB_INFO_2W, *PJOB_INFO_2W, *LPJOB_INFO_2W;
Vincent Béron9a624912002-05-31 23:06:46 +0000561
Huw D M Daviesbb140561999-07-23 19:23:49 +0000562DECL_WINELIB_TYPE_AW(JOB_INFO_2)
563DECL_WINELIB_TYPE_AW(PJOB_INFO_2)
564DECL_WINELIB_TYPE_AW(LPJOB_INFO_2)
565
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000566typedef struct _JOB_INFO_3 {
Francois Gouget017887e2004-10-04 19:25:21 +0000567 DWORD JobId;
568 DWORD NextJobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000569 DWORD Reserved;
570} JOB_INFO_3, *PJOB_INFO_3, *LPJOB_INFO_3;
571
572typedef struct _ADDJOB_INFO_1A {
573 LPSTR Path;
Francois Gouget017887e2004-10-04 19:25:21 +0000574 DWORD JobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000575} ADDJOB_INFO_1A, *PADDJOB_INFO_1A, *LPADDJOB_INFO_1A;
576
577typedef struct _ADDJOB_INFO_1W {
578 LPWSTR Path;
Francois Gouget017887e2004-10-04 19:25:21 +0000579 DWORD JobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000580} ADDJOB_INFO_1W, *PADDJOB_INFO_1W, *LPADDJOB_INFO_1W;
581
582DECL_WINELIB_TYPE_AW(ADDJOB_INFO_1)
583DECL_WINELIB_TYPE_AW(PADDJOB_INFO_1)
584DECL_WINELIB_TYPE_AW(LPADDJOB_INFO_1)
585
586typedef struct _DOC_INFO_1A {
587 LPSTR pDocName;
588 LPSTR pOutputFile;
589 LPSTR pDatatype;
590} DOC_INFO_1A, *PDOC_INFO_1A, *LPDOC_INFO_1A;
591
592typedef struct _DOC_INFO_1W {
593 LPWSTR pDocName;
594 LPWSTR pOutputFile;
595 LPWSTR pDatatype;
596} DOC_INFO_1W, *PDOC_INFO_1W, *LPDOC_INFO_1W;
597
598DECL_WINELIB_TYPE_AW(DOC_INFO_1)
599DECL_WINELIB_TYPE_AW(PDOC_INFO_1)
600DECL_WINELIB_TYPE_AW(LPDOC_INFO_1)
601
602typedef struct _DOC_INFO_2A {
603 LPSTR pDocName;
604 LPSTR pOutputFile;
605 LPSTR pDatatype;
606 DWORD dwMode;
Francois Gouget017887e2004-10-04 19:25:21 +0000607 DWORD JobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000608} DOC_INFO_2A, *PDOC_INFO_2A, *LPDOC_INFO_2A;
609
610typedef struct _DOC_INFO_2W {
611 LPWSTR pDocName;
612 LPWSTR pOutputFile;
613 LPWSTR pDatatype;
614 DWORD dwMode;
Francois Gouget017887e2004-10-04 19:25:21 +0000615 DWORD JobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000616} DOC_INFO_2W, *PDOC_INFO_2W, *LPDOC_INFO_2W;
617
618DECL_WINELIB_TYPE_AW(DOC_INFO_2)
619DECL_WINELIB_TYPE_AW(PDOC_INFO_2)
620DECL_WINELIB_TYPE_AW(LPDOC_INFO_2)
621
622typedef struct _FORM_INFO_1A {
623 DWORD Flags;
624 LPSTR pName;
625 SIZEL Size;
626 RECTL ImageableArea;
627} FORM_INFO_1A, *PFORM_INFO_1A, *LPFORM_INFO_1A;
628
629typedef struct _FORM_INFO_1W {
630 DWORD Flags;
631 LPWSTR pName;
632 SIZEL Size;
633 RECTL ImageableArea;
634} FORM_INFO_1W, *PFORM_INFO_1W, *LPFORM_INFO_1W;
635
636DECL_WINELIB_TYPE_AW(FORM_INFO_1)
637DECL_WINELIB_TYPE_AW(PFORM_INFO_1)
638DECL_WINELIB_TYPE_AW(LPFORM_INFO_1)
639
640typedef struct _PRINTPROCESSOR_INFO_1A {
641 LPSTR pName;
Patrik Stridvallfeb94cb1999-10-24 21:48:50 +0000642} PRINTPROCESSOR_INFO_1A, *PPRINTPROCESSOR_INFO_1A,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000643 *LPPRINTPROCESSOR_INFO_1A;
644
645typedef struct _PRINTPROCESSOR_INFO_1W {
646 LPWSTR pName;
Patrik Stridvallfeb94cb1999-10-24 21:48:50 +0000647} PRINTPROCESSOR_INFO_1W, *PPRINTPROCESSOR_INFO_1W,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000648 *LPPRINTPROCESSOR_INFO_1W;
649
650DECL_WINELIB_TYPE_AW(PRINTPROCESSOR_INFO_1)
651DECL_WINELIB_TYPE_AW(PPRINTPROCESSOR_INFO_1)
652DECL_WINELIB_TYPE_AW(LPPRINTPROCESSOR_INFO_1)
653
654typedef struct _PORT_INFO_1A {
655 LPSTR pName;
656} PORT_INFO_1A, *PPORT_INFO_1A, *LPPORT_INFO_1A;
657
658typedef struct _PORT_INFO_1W {
659 LPWSTR pName;
660} PORT_INFO_1W, *PPORT_INFO_1W, *LPPORT_INFO_1W;
661
662DECL_WINELIB_TYPE_AW(PORT_INFO_1)
663DECL_WINELIB_TYPE_AW(PPORT_INFO_1)
664DECL_WINELIB_TYPE_AW(LPPORT_INFO_1)
665
666typedef struct _PORT_INFO_2A {
667 LPSTR pPortName;
668 LPSTR pMonitorName;
669 LPSTR pDescription;
670 DWORD fPortType;
671 DWORD Reserved;
672} PORT_INFO_2A, *PPORT_INFO_2A, *LPPORT_INFO_2A;
673
674typedef struct _PORT_INFO_2W {
675 LPWSTR pPortName;
676 LPWSTR pMonitorName;
677 LPWSTR pDescription;
678 DWORD fPortType;
679 DWORD Reserved;
680} PORT_INFO_2W, *PPORT_INFO_2W, *LPPORT_INFO_2W;
681
682DECL_WINELIB_TYPE_AW(PORT_INFO_2)
683DECL_WINELIB_TYPE_AW(PPORT_INFO_2)
684DECL_WINELIB_TYPE_AW(LPPORT_INFO_2)
685
686typedef struct _PORT_INFO_3A {
687 DWORD dwStatus;
688 LPSTR pszStatus;
689 DWORD dwSeverity;
690} PORT_INFO_3A, *PPORT_INFO_3A, *LPPORT_INFO_3A;
691
692typedef struct _PORT_INFO_3W {
693 DWORD dwStatus;
694 LPWSTR pszStatus;
695 DWORD dwSeverity;
696} PORT_INFO_3W, *PPORT_INFO_3W, *LPPORT_INFO_3W;
697
698DECL_WINELIB_TYPE_AW(PORT_INFO_3)
699DECL_WINELIB_TYPE_AW(PPORT_INFO_3)
700DECL_WINELIB_TYPE_AW(LPPORT_INFO_3)
701
702typedef struct _MONITOR_INFO_1A {
703 LPSTR pName;
704} MONITOR_INFO_1A, *PMONITOR_INFO_1A, *LPMONITOR_INFO_1A;
705
706typedef struct _MONITOR_INFO_1W {
707 LPWSTR pName;
708} MONITOR_INFO_1W, *PMONITOR_INFO_1W, *LPMONITOR_INFO_1W;
709
710DECL_WINELIB_TYPE_AW(MONITOR_INFO_1)
711DECL_WINELIB_TYPE_AW(PMONITOR_INFO_1)
712DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_1)
713
Ove Kaaven7200dc82000-07-23 13:38:08 +0000714#endif /* Status */
715
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000716
717typedef struct _MONITOR_INFO_2A {
718 LPSTR pName;
719 LPSTR pEnvironment;
720 LPSTR pDLLName;
721} MONITOR_INFO_2A, *PMONITOR_INFO_2A, *LPMONITOR_INFO_2A;
722
723typedef struct _MONITOR_INFO_2W {
724 LPWSTR pName;
725 LPWSTR pEnvironment;
726 LPWSTR pDLLName;
727} MONITOR_INFO_2W, *PMONITOR_INFO_2W, *LPMONITOR_INFO_2W;
728
729DECL_WINELIB_TYPE_AW(MONITOR_INFO_2)
730DECL_WINELIB_TYPE_AW(PMONITOR_INFO_2)
731DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_2)
732
733typedef struct _DATATYPES_INFO_1A {
734 LPSTR pName;
735} DATATYPES_INFO_1A, *PDATATYPES_INFO_1A, *LPDATATYPES_INFO_1A;
736
737typedef struct _DATATYPES_INFO_1W {
738 LPWSTR pName;
739} DATATYPES_INFO_1W, *PDATATYPES_INFO_1W, *LPDATATYPES_INFO_1W;
740
741DECL_WINELIB_TYPE_AW(DATATYPES_INFO_1)
742DECL_WINELIB_TYPE_AW(PDATATYPES_INFO_1)
743DECL_WINELIB_TYPE_AW(LPDATATYPES_INFO_1)
744
745typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {
746 WORD Type;
747 WORD Reserved0;
748 DWORD Reserved1;
749 DWORD Reserved2;
750 DWORD Count;
751 PWORD pFields;
752} PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE,
753*LPPRINTER_NOTIFY_OPTIONS_TYPE;
754
755typedef struct _PRINTER_NOTIFY_OPTIONS {
756 DWORD Version;
757 DWORD Flags;
758 DWORD Count;
759 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
760} PRINTER_NOTIFY_OPTIONS, *PPRINTER_NOTIFY_OPTIONS, *LPPRINTER_NOTIFY_OPTIONS;
761
762typedef struct _PRINTER_NOTIFY_INFO_DATA {
763 WORD Type;
764 WORD Field;
765 DWORD Reserved;
766 DWORD Id;
767 union {
768 DWORD adwData[2];
769 struct {
770 DWORD cbBuf;
771 LPVOID pBuf;
772 } Data;
773 } NotifyData;
774} PRINTER_NOTIFY_INFO_DATA, *PPRINTER_NOTIFY_INFO_DATA,
775*LPPRINTER_NOTIFY_INFO_DATA;
776
777typedef struct _PRINTER_NOTIFY_INFO {
778 DWORD Version;
779 DWORD Flags;
780 DWORD Count;
781 PRINTER_NOTIFY_INFO_DATA aData[1];
782} PRINTER_NOTIFY_INFO, *PPRINTER_NOTIFY_INFO, *LPPRINTER_NOTIFY_INFO;
783
784typedef struct _PROVIDOR_INFO_1A {
785 LPSTR pName;
786 LPSTR pEnvironment;
787 LPSTR pDLLName;
Vincent Béron9a624912002-05-31 23:06:46 +0000788} PROVIDOR_INFO_1A, *PPROVIDOR_INFO_1A, *LPPROVIDOR_INFO_1A;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000789
790typedef struct _PROVIDOR_INFO_1W {
791 LPWSTR pName;
792 LPWSTR pEnvironment;
793 LPWSTR pDLLName;
Vincent Béron9a624912002-05-31 23:06:46 +0000794} PROVIDOR_INFO_1W, *PPROVIDOR_INFO_1W, *LPPROVIDOR_INFO_1W;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000795
796DECL_WINELIB_TYPE_AW(PROVIDOR_INFO_1)
797DECL_WINELIB_TYPE_AW(PPROVIDOR_INFO_1)
798DECL_WINELIB_TYPE_AW(LPPROVIDOR_INFO_1)
Huw D M Daviesbb140561999-07-23 19:23:49 +0000799
Ian Pilcherccfe6e92001-02-21 04:00:40 +0000800typedef struct _PRINTER_ENUM_VALUESA {
801 LPSTR pValueName;
802 DWORD cbValueName;
803 DWORD dwType;
804 LPBYTE pData;
805 DWORD cbData;
806} PRINTER_ENUM_VALUESA, *PPRINTER_ENUM_VALUESA;
807
808typedef struct _PRINTER_ENUM_VALUESW {
809 LPWSTR pValueName;
810 DWORD cbValueName;
811 DWORD dwType;
812 LPBYTE pData;
813 DWORD cbData;
814} PRINTER_ENUM_VALUESW, *PPRINTER_ENUM_VALUESW;
815
816DECL_WINELIB_TYPE_AW(PRINTER_ENUM_VALUES)
817DECL_WINELIB_TYPE_AW(PPRINTER_ENUM_VALUES)
818
Detlef Riekenbergd271ea22005-08-08 12:13:58 +0000819typedef enum {
820 BIDI_NULL = 0,
821 BIDI_INT,
822 BIDI_FLOAT,
823 BIDI_BOOL,
824 BIDI_STRING,
825 BIDI_TEXT,
826 BIDI_ENUM,
827 BIDI_BLOB
828} BIDI_TYPE;
829
830typedef struct _BINARY_CONTAINER {
831 DWORD cbBuf;
832 LPBYTE pData;
833} BINARY_CONTAINER, *PBINARY_CONTAINER;
834
835typedef struct _BIDI_DATA {
836 DWORD dwBidiType;
837 union
838 {
839 BOOL bData;
840 INT iData;
841 LPWSTR sData;
842 FLOAT fData;
843 BINARY_CONTAINER biData;
844 } u;
845} BIDI_DATA, *LPBIDI_DATA, *PBIDI_DATA;
846
847typedef struct _BIDI_REQUEST_DATA {
848 DWORD dwReqNumber;
849 LPWSTR pSchema;
850 BIDI_DATA data;
851} BIDI_REQUEST_DATA, *LPBIDI_REQUEST_DATA, *PBIDI_REQUEST_DATA;
852
853typedef struct _BIDI_REQUEST_CONTAINER {
854 DWORD Version;
855 DWORD Flags;
856 DWORD Count;
857 BIDI_REQUEST_DATA aData[1];
858} BIDI_REQUEST_CONTAINER, *LPBIDI_REQUEST_CONTAINER, *PBIDI_REQUEST_CONTAINER;
859
860typedef struct _BIDI_RESPONSE_DATA {
861 DWORD dwResult;
862 DWORD dwReqNumber;
863 LPWSTR pSchema;
864 BIDI_DATA data;
865} BIDI_RESPONSE_DATA, *LPBIDI_RESPONSE_DATA, *PBIDI_RESPONSE_DATA;
866
867typedef struct _BIDI_RESPONSE_CONTAINER {
868 DWORD Version;
869 DWORD Flags;
870 DWORD Count;
871 BIDI_RESPONSE_DATA aData[1];
872} BIDI_RESPONSE_CONTAINER, *LPBIDI_RESPONSE_CONTAINER, *PBIDI_RESPONSE_CONTAINER;
873
Alexandre Julliard59545601999-02-10 06:52:57 +0000874/* DECLARATIONS */
Huw D M Daviese39b6761999-05-17 16:20:51 +0000875INT WINAPI DeviceCapabilitiesA(LPCSTR pDevice,LPCSTR pPort,WORD fwCapability,
876 LPSTR pOutput, LPDEVMODEA pDevMode);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000877INT WINAPI DeviceCapabilitiesW(LPCWSTR pDevice, LPCWSTR pPort,
Huw D M Daviese39b6761999-05-17 16:20:51 +0000878 WORD fwCapability, LPWSTR pOutput,
879 const DEVMODEW *pDevMode);
Alexandre Julliard59545601999-02-10 06:52:57 +0000880
881#define DeviceCapabilities WINELIB_NAME_AW(DeviceCapabilities)
882
Alexandre Julliarda3960291999-02-26 11:11:13 +0000883LONG WINAPI DocumentPropertiesA(HWND hWnd,HANDLE hPrinter,
884 LPSTR pDeviceName, LPDEVMODEA pDevModeOutput,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000885 LPDEVMODEA pDevModeInput,DWORD fMode );
Alexandre Julliarda3960291999-02-26 11:11:13 +0000886LONG WINAPI DocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000887 LPWSTR pDeviceName,
888 LPDEVMODEW pDevModeOutput,
889 LPDEVMODEW pDevModeInput, DWORD fMode);
Alexandre Julliard59545601999-02-10 06:52:57 +0000890
891#define DocumentProperties WINELIB_NAME_AW(DocumentProperties)
892
Alexandre Julliarda3960291999-02-26 11:11:13 +0000893BOOL WINAPI OpenPrinterA(LPSTR lpPrinterName,HANDLE *phPrinter,
894 LPPRINTER_DEFAULTSA pDefault);
895BOOL WINAPI OpenPrinterW(LPWSTR lpPrinterName,HANDLE *phPrinter,
896 LPPRINTER_DEFAULTSW pDefault);
Alexandre Julliard59545601999-02-10 06:52:57 +0000897
898#define OpenPrinter WINELIB_NAME_AW(OpenPrinter)
899
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000900BOOL WINAPI ResetPrinterA(HANDLE hPrinter, LPPRINTER_DEFAULTSA pDefault);
901BOOL WINAPI ResetPrinterW(HANDLE hPrinter, LPPRINTER_DEFAULTSW pDefault);
902#define ResetPrinter WINELIB_NAME_AW(ResetPrinter)
903
Alexandre Julliarda3960291999-02-26 11:11:13 +0000904BOOL WINAPI ClosePrinter (HANDLE phPrinter);
Alexandre Julliard59545601999-02-10 06:52:57 +0000905
Huw D M Daviesbb140561999-07-23 19:23:49 +0000906BOOL WINAPI EnumJobsA(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
907 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
908 LPDWORD pcReturned);
909BOOL WINAPI EnumJobsW(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
910 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
911 LPDWORD pcReturned);
912#define EnumJobs WINELIB_NAME_AW(EnumJobs)
913
Klaas van Gendfdedc341999-03-22 12:40:24 +0000914BOOL WINAPI EnumPrintersA(DWORD dwType, LPSTR lpszName,
915 DWORD dwLevel, LPBYTE lpbPrinters,
916 DWORD cbBuf, LPDWORD lpdwNeeded,
917 LPDWORD lpdwReturned);
918BOOL WINAPI EnumPrintersW(DWORD dwType, LPWSTR lpszName,
919 DWORD dwLevel, LPBYTE lpbPrinters,
920 DWORD cbBuf, LPDWORD lpdwNeeded,
921 LPDWORD lpdwReturned);
922#define EnumPrinters WINELIB_NAME_AW(EnumPrinters)
923
Klaas van Gendf66bf561999-04-11 14:56:45 +0000924BOOL WINAPI PrinterProperties(HWND hWnd, HANDLE hPrinter);
Alexandre Julliard59545601999-02-10 06:52:57 +0000925
Huw D M Daviesee2d9d51999-05-22 18:53:56 +0000926BOOL WINAPI GetPrinterDriverDirectoryA(LPSTR,LPSTR,DWORD,LPBYTE,DWORD,LPDWORD);
927BOOL WINAPI GetPrinterDriverDirectoryW(LPWSTR,LPWSTR,DWORD,LPBYTE,DWORD,LPDWORD);
928#define GetPrinterDriverDirectory WINELIB_NAME_AW(GetPrinterDriverDirectory)
929
Huw D M Davies450270b1999-07-10 11:58:50 +0000930BOOL WINAPI GetPrinterDriverA(HANDLE hPrinter, LPSTR pEnvironment,
931 DWORD Level, LPBYTE pDriverInfo,
932 DWORD cbBuf, LPDWORD pcbNeeded);
933BOOL WINAPI GetPrinterDriverW(HANDLE hPrinter, LPWSTR pEnvironment,
934 DWORD Level, LPBYTE pDriverInfo,
935 DWORD cbBuf, LPDWORD pcbNeeded);
936#define GetPrinterDriver WINELIB_NAME_AW(GetPrinterDriver)
937
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000938BOOL WINAPI SetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
939 DWORD Command);
940BOOL WINAPI SetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
941 DWORD Command);
942#define SetJob WINELIB_NAME_AW(SetJob)
943
944BOOL WINAPI GetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
945 DWORD cbBuf, LPDWORD pcbNeeded);
946BOOL WINAPI GetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
947 DWORD cbBuf, LPDWORD pcbNeeded);
948#define GetJob WINELIB_NAME_AW(GetJob)
949
950HANDLE WINAPI AddPrinterA(LPSTR pName, DWORD Level, LPBYTE pPrinter);
951HANDLE WINAPI AddPrinterW(LPWSTR pName, DWORD Level, LPBYTE pPrinter);
952#define AddPrinter WINELIB_NAME_AW(AddPrinter)
953
954BOOL WINAPI DeletePrinter(HANDLE hPrinter);
955
956BOOL WINAPI SetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
Vincent Béron9a624912002-05-31 23:06:46 +0000957 DWORD Command);
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000958BOOL WINAPI SetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
Vincent Béron9a624912002-05-31 23:06:46 +0000959 DWORD Command);
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000960#define SetPrinter WINELIB_NAME_AW(SetPrinter)
961
962BOOL WINAPI GetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
Vincent Béron9a624912002-05-31 23:06:46 +0000963 DWORD cbBuf, LPDWORD pcbNeeded);
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000964BOOL WINAPI GetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
Vincent Béron9a624912002-05-31 23:06:46 +0000965 DWORD cbBuf, LPDWORD pcbNeeded);
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000966#define GetPrinter WINELIB_NAME_AW(GetPrinter)
967
968BOOL WINAPI AddPrinterDriverA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo);
969BOOL WINAPI AddPrinterDriverW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo);
970#define AddPrinterDriver WINELIB_NAME_AW(AddPrinterDriver)
971
Hans Leidekker3650ff52005-07-18 09:09:41 +0000972BOOL WINAPI AddPrinterDriverExA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo,
973 DWORD dwFileCopyFlags);
974BOOL WINAPI AddPrinterDriverExW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo,
975 DWORD dwFileCopyFlags);
976#define AddPrinterDriverEx WINELIB_NAME_AW(AddPrinterDriverEx)
977
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000978BOOL WINAPI EnumPrinterDriversA(LPSTR pName, LPSTR pEnvironment, DWORD Level,
979 LPBYTE pDriverInfo, DWORD cbBuf,
980 LPDWORD pcbNeeded, LPDWORD pcbReturned);
981BOOL WINAPI EnumPrinterDriversW(LPWSTR pName, LPWSTR pEnvironment, DWORD Level,
982 LPBYTE pDriverInfo, DWORD cbBuf,
983 LPDWORD pcbNeeded, LPDWORD pcbReturned);
984#define EnumPrinterDrivers WINELIB_NAME_AW(EnumPrinterDrivers)
985
Mark G. Adamsa0324f72002-01-22 00:49:24 +0000986BOOL WINAPI GetDefaultPrinterA(LPSTR pName, LPDWORD pcbNameSize);
987BOOL WINAPI GetDefaultPrinterW(LPWSTR pName, LPDWORD pcbNameSize);
988#define GetDefaultPrinter WINELIB_NAME_AW(GetDefaultPrinter)
989
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000990BOOL WINAPI DeletePrinterDriverA(LPSTR pName, LPSTR pEnvironment,
991 LPSTR pDriverName);
992BOOL WINAPI DeletePrinterDriverW(LPWSTR pName, LPWSTR pEnvironment,
993 LPWSTR pDriverName);
994#define DeletePrinterDriver WINELIB_NAME_AW(DeletePrinterDriver)
995
Hans Leidekker3650ff52005-07-18 09:09:41 +0000996BOOL WINAPI DeletePrinterDriverExA(LPSTR pName, LPSTR pEnvironment,
997 LPSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag);
998BOOL WINAPI DeletePrinterDriverExW(LPWSTR pName, LPWSTR pEnvironment,
999 LPWSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag);
1000#define DeletePrinterDriverEx WINELIB_NAME_AW(DeletePrinterDriverEx)
1001
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001002BOOL WINAPI AddPrintProcessorA(LPSTR pName, LPSTR pEnvironment,
1003 LPSTR pPathName, LPSTR pPrintProcessorName);
1004BOOL WINAPI AddPrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
1005 LPWSTR pPathName, LPWSTR pPrintProcessorName);
1006#define AddPrintProcessor WINELIB_NAME_AW(AddPrintProcessor)
1007
1008BOOL WINAPI EnumPrintProcessorsA(LPSTR pName, LPSTR pEnvironment,
1009 DWORD Level, LPBYTE pPrintProcessorInfo,
1010 DWORD cbBuf, LPDWORD pcbNeeded,
1011 LPDWORD pcbReturned);
1012BOOL WINAPI EnumPrintProcessorsW(LPWSTR pName, LPWSTR pEnvironment,
1013 DWORD Level, LPBYTE pPrintProcessorInfo,
1014 DWORD cbBuf, LPDWORD pcbNeeded,
1015 LPDWORD pcbReturned);
1016#define EnumPrintProcessors WINELIB_NAME_AW(EnumPrintProcessors)
1017
1018BOOL WINAPI GetPrintProcessorDirectoryA(LPSTR pName, LPSTR pEnvironment,
Vincent Béron9a624912002-05-31 23:06:46 +00001019 DWORD Level,
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001020 LPBYTE pPrintProcessorInfo,
1021 DWORD cbBuf, LPDWORD pcbNeeded);
1022
1023BOOL WINAPI GetPrintProcessorDirectoryW(LPWSTR pName, LPWSTR pEnvironment,
1024 DWORD Level,
1025 LPBYTE pPrintProcessorInfo,
1026 DWORD cbBuf, LPDWORD pcbNeeded);
1027#define GetPrintProcessorDirectory WINELIB_NAME_AW(GetPrintProcessorDirectory)
1028
1029BOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR pName,
1030 LPSTR pPrintProcessorName,
1031 DWORD Level, LPBYTE pDatatypes,
1032 DWORD cbBuf, LPDWORD pcbNeeded,
1033 LPDWORD pcbReturned);
1034BOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR pName,
1035 LPWSTR pPrintProcessorName,
1036 DWORD Level, LPBYTE pDatatypes,
1037 DWORD cbBuf, LPDWORD pcbNeeded,
1038 LPDWORD pcbReturned);
1039#define EnumPrintProcessorDatatypes WINELIB_NAME_AW(EnumPrintProcessorDatatypes)
1040
1041BOOL WINAPI DeletePrintProcessorA(LPSTR pName, LPSTR pEnvironment,
1042 LPSTR pPrintProcessorName);
1043BOOL WINAPI DeletePrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
1044 LPWSTR pPrintProcessorName);
1045#define DeletePrintProcessor WINELIB_NAME_AW(DeletePrintProcessor)
1046
1047DWORD WINAPI StartDocPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
1048DWORD WINAPI StartDocPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
1049#define StartDocPrinter WINELIB_NAME_AW(StartDocPrinter)
1050
1051BOOL WINAPI StartPagePrinter(HANDLE hPrinter);
1052BOOL WINAPI WritePrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
1053 LPDWORD pcWritten);
1054BOOL WINAPI EndPagePrinter(HANDLE hPrinter);
1055BOOL WINAPI AbortPrinter(HANDLE hPrinter);
1056BOOL WINAPI ReadPrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
1057 LPDWORD pNoBytesRead);
1058BOOL WINAPI EndDocPrinter(HANDLE hPrinter);
1059
1060BOOL WINAPI AddJobA(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
1061 LPDWORD pcbNeeded);
1062BOOL WINAPI AddJobW(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
1063 LPDWORD pcbNeeded);
1064#define AddJob WINELIB_NAME_AW(AddJob)
1065
1066BOOL WINAPI ScheduleJob(HANDLE hPrinter, DWORD JobID);
1067
1068LONG WINAPI AdvancedDocumentPropertiesA(HWND hWnd, HANDLE hPrinter,
Vincent Béron9a624912002-05-31 23:06:46 +00001069 LPSTR pDeviceName,
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001070 PDEVMODEA pDevModeOutput,
1071 PDEVMODEA pDevModeInput);
1072LONG WINAPI AdvancedDocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
Vincent Béron9a624912002-05-31 23:06:46 +00001073 LPWSTR pDeviceName,
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001074 PDEVMODEW pDevModeOutput,
1075 PDEVMODEW pDevModeInput);
1076#define AdvancedDocumentProperties WINELIB_NAME_AW(AdvancedDocumentProperties)
1077
1078DWORD WINAPI GetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, LPDWORD pType,
1079 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1080DWORD WINAPI GetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, LPDWORD pType,
1081 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1082#define GetPrinterData WINELIB_NAME_AW(GetPrinterData)
1083
Alexandre Julliard4d626b02003-11-11 20:38:51 +00001084DWORD WINAPI GetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1085 LPCSTR pValueName, LPDWORD pType,
Huw D M Daviesd2b850e2001-02-12 01:26:47 +00001086 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
Alexandre Julliard4d626b02003-11-11 20:38:51 +00001087DWORD WINAPI GetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1088 LPCWSTR pValueName, LPDWORD pType,
Huw D M Daviesd2b850e2001-02-12 01:26:47 +00001089 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1090#define GetPrinterDataEx WINELIB_NAME_AW(GetPrinterDataEx)
1091
Hans Leidekker3650ff52005-07-18 09:09:41 +00001092DWORD WINAPI DeletePrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1093 LPCSTR pValueName);
1094DWORD WINAPI DeletePrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1095 LPCWSTR pValueName);
1096#define DeletePrinterDataEx WINELIB_NAME_AW(DeletePrinterDataEx)
1097
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001098DWORD WINAPI SetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, DWORD Type,
1099 LPBYTE pData, DWORD cbData);
1100DWORD WINAPI SetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, DWORD Type,
1101 LPBYTE pData, DWORD cbData);
1102#define SetPrinterData WINELIB_NAME_AW(SetPrinterData)
1103
Alexandre Julliard4d626b02003-11-11 20:38:51 +00001104DWORD WINAPI SetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1105 LPCSTR pValueName, DWORD Type,
Huw D M Daviesd2b850e2001-02-12 01:26:47 +00001106 LPBYTE pData, DWORD cbData);
Alexandre Julliard4d626b02003-11-11 20:38:51 +00001107DWORD WINAPI SetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1108 LPCWSTR pValueName, DWORD Type,
Huw D M Daviesd2b850e2001-02-12 01:26:47 +00001109 LPBYTE pData, DWORD cbData);
1110#define SetPrinterDataEx WINELIB_NAME_AW(SetPrinterDataEx)
1111
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001112DWORD WINAPI WaitForPrinterChange(HANDLE hPrinter, DWORD Flags);
1113HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE hPrinter,
1114 DWORD fdwFlags,
1115 DWORD fdwOptions,
1116 LPVOID pPrinterNotifyOptions);
1117BOOL WINAPI FindNextPrinterChangeNotification(HANDLE hChange,
1118 PDWORD pdwChange,
1119 LPVOID pvReserved,
1120 LPVOID *ppPrinterNotifyInfo);
Francois Gouget091dc852000-06-11 20:06:12 +00001121BOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pPrinterNotifyInfo);
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001122BOOL WINAPI FindClosePrinterChangeNotification(HANDLE hChange);
1123
1124DWORD WINAPI PrinterMessageBoxA(HANDLE hPrinter, DWORD Error, HWND hWnd,
1125 LPSTR pText, LPSTR pCaption, DWORD dwType);
1126DWORD WINAPI PrinterMessageBoxW(HANDLE hPrinter, DWORD Error, HWND hWnd,
1127 LPWSTR pText, LPWSTR pCaption, DWORD dwType);
1128#define PrinterMessageBox WINELIB_NAME_AW(PrinterMessageBox)
1129
1130BOOL WINAPI AddFormA(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
1131BOOL WINAPI AddFormW(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
1132#define AddForm WINELIB_NAME_AW(AddForm)
1133
1134BOOL WINAPI DeleteFormA(HANDLE hPrinter, LPSTR pFormName);
1135BOOL WINAPI DeleteFormW(HANDLE hPrinter, LPWSTR pFormName);
1136#define DeleteForm WINELIB_NAME_AW(DeleteForm)
1137
1138BOOL WINAPI GetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
1139 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
1140BOOL WINAPI GetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1141 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
1142#define GetForm WINELIB_NAME_AW(GetForm)
1143
1144BOOL WINAPI SetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
1145 LPBYTE pForm);
1146BOOL WINAPI SetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1147 LPBYTE pForm);
1148#define SetForm WINELIB_NAME_AW(SetForm)
1149
1150BOOL WINAPI EnumFormsA(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1151 LPDWORD pcbNeeded, LPDWORD pcReturned);
1152BOOL WINAPI EnumFormsW(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1153 LPDWORD pcbNeeded, LPDWORD pcReturned);
1154#define EnumForms WINELIB_NAME_AW(EnumForms)
1155
1156BOOL WINAPI EnumMonitorsA(LPSTR pName, DWORD Level, LPBYTE pMonitors,
1157 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1158BOOL WINAPI EnumMonitorsW(LPWSTR pName, DWORD Level, LPBYTE pMonitors,
1159 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1160#define EnumMonitors WINELIB_NAME_AW(EnumMonitors)
1161
Hans Leidekker1e33aca2005-02-21 18:33:55 +00001162DWORD WINAPI EnumPrinterDataA( HANDLE hPrinter, DWORD dwIndex, LPSTR pValueName,
1163 DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData,
1164 DWORD cbData, LPDWORD pcbData );
1165DWORD WINAPI EnumPrinterDataW( HANDLE hPrinter, DWORD dwIndex, LPWSTR pValueName,
1166 DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData,
1167 DWORD cbData, LPDWORD pcbData );
1168#define EnumPrinterData WINELIB_NAME_AW(EnumPrinterData)
1169
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001170BOOL WINAPI AddMonitorA(LPSTR pName, DWORD Level, LPBYTE pMonitors);
1171BOOL WINAPI AddMonitorW(LPWSTR pName, DWORD Level, LPBYTE pMonitors);
1172#define AddMonitor WINELIB_NAME_AW(AddMonitor)
1173
1174BOOL WINAPI DeleteMonitorA(LPSTR pName, LPSTR pEnvironment,
1175 LPSTR pMonitorName);
1176BOOL WINAPI DeleteMonitorW(LPWSTR pName, LPWSTR pEnvironment,
1177 LPWSTR pMonitorName);
1178#define DeleteMonitor WINELIB_NAME_AW(DeleteMonitor)
1179
1180BOOL WINAPI EnumPortsA(LPSTR pName, DWORD Level, LPBYTE pPorts,
1181 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1182BOOL WINAPI EnumPortsW(LPWSTR pName, DWORD Level, LPBYTE pPorts,
1183 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1184#define EnumPorts WINELIB_NAME_AW(EnumPorts)
1185
1186BOOL WINAPI AddPortA(LPSTR pName, HWND hWnd, LPSTR pMonitorName);
1187BOOL WINAPI AddPortW(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
1188#define AddPort WINELIB_NAME_AW(AddPort)
1189
Hans Leidekker1e33aca2005-02-21 18:33:55 +00001190BOOL WINAPI AddPortExA(HANDLE hMonitor, LPSTR pName, DWORD Level,
1191 LPBYTE lpBuffer, LPSTR lpMonitorName);
1192BOOL WINAPI AddPortExW(HANDLE hMonitor, LPWSTR pName, DWORD Level,
1193 LPBYTE lpBuffer, LPWSTR lpMonitorName);
1194#define AddPortEx WINELIB_NAME_AW(AddPortEx)
1195
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001196BOOL WINAPI ConfigurePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1197BOOL WINAPI ConfigurePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1198#define ConfigurePort WINELIB_NAME_AW(ConfigurePort)
1199
1200BOOL WINAPI DeletePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1201BOOL WINAPI DeletePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1202#define DeletePort WINELIB_NAME_AW(DeletePort)
1203
1204BOOL WINAPI SetPortA(LPSTR pName, LPSTR pPortName, DWORD dwLevel,
1205 LPBYTE pPortInfo);
1206BOOL WINAPI SetPortW(LPWSTR pName, LPWSTR pPortName, DWORD dwLevel,
1207 LPBYTE pPortInfo);
1208#define SetPort WINELIB_NAME_AW(SetPort)
1209
1210BOOL WINAPI AddPrinterConnectionA(LPSTR pName);
1211BOOL WINAPI AddPrinterConnectionW(LPWSTR pName);
1212#define AddPrinterConnection WINELIB_NAME_AW(AddPrinterConnection)
1213
1214BOOL WINAPI DeletePrinterConnectionA(LPSTR pName);
1215BOOL WINAPI DeletePrinterConnectionW(LPWSTR pName);
1216#define DeletePrinterConnection WINELIB_NAME_AW(DeletePrinterConnection)
1217
1218HANDLE WINAPI ConnectToPrinterDlg(HWND hwnd, DWORD Flags);
1219
1220BOOL WINAPI AddPrintProvidorA(LPSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1221BOOL WINAPI AddPrintProvidorW(LPWSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1222#define AddPrintProvidor WINELIB_NAME_AW(AddPrintProvidor)
1223
1224BOOL WINAPI DeletePrintProvidorA(LPSTR pName, LPSTR pEnvironment,
1225 LPSTR pPrintProvidorName);
1226BOOL WINAPI DeletePrintProvidorW(LPWSTR pName, LPWSTR pEnvironment,
1227 LPWSTR pPrintProvidorName);
1228#define DeletePrintProvidor WINELIB_NAME_AW(DeletePrintProvidor)
1229
Ian Pilcherccfe6e92001-02-21 04:00:40 +00001230DWORD WINAPI EnumPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1231 LPBYTE pEnumValues, DWORD cbEnumValues,
1232 LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
1233DWORD WINAPI EnumPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1234 LPBYTE pEnumValues, DWORD cbEnumValues,
1235 LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
1236#define EnumPrinterDataEx WINELIB_NAME_AW(EnumPrinterDataEx)
1237
Hans Leidekker1e33aca2005-02-21 18:33:55 +00001238LONG WINAPI ExtDeviceMode( HWND hWnd, HANDLE hInst, LPDEVMODEA pDevModeOutput,
1239 LPSTR pDeviceName, LPSTR pPort, LPDEVMODEA pDevModeInput, LPSTR pProfile,
1240 DWORD fMode);
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001241
Huw Davies3b77de92005-07-22 18:28:12 +00001242LPSTR WINAPI StartDocDlgA(HANDLE hPrinter, DOCINFOA *doc);
1243LPWSTR WINAPI StartDocDlgW(HANDLE hPrinter, DOCINFOW *doc);
1244#define StartDocDlg WINELIB_NAME_AW(StartDocDlg)
1245
Alexandre Julliard59545601999-02-10 06:52:57 +00001246#ifdef __cplusplus
Patrik Stridvalla9a671d1999-04-25 19:01:52 +00001247} /* extern "C" */
Alexandre Julliard59545601999-02-10 06:52:57 +00001248#endif
1249
1250#endif /* __WINE_WINSPOOL_H */