blob: faa3ce8d81b2203e999895bc9f0b3c187cf1142b [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
Alexandre Julliard59545601999-02-10 06:52:57 +0000251/* TYPES */
Alexandre Julliarda3960291999-02-26 11:11:13 +0000252typedef struct _PRINTER_DEFAULTSA {
Alexandre Julliard59545601999-02-10 06:52:57 +0000253 LPSTR pDatatype;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000254 LPDEVMODEA pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000255 ACCESS_MASK DesiredAccess;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000256} PRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
Alexandre Julliard59545601999-02-10 06:52:57 +0000257
Alexandre Julliarda3960291999-02-26 11:11:13 +0000258typedef struct _PRINTER_DEFAULTSW {
Alexandre Julliard59545601999-02-10 06:52:57 +0000259 LPWSTR pDatatype;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000260 LPDEVMODEW pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000261 ACCESS_MASK DesiredAccess;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000262} PRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
Alexandre Julliard59545601999-02-10 06:52:57 +0000263
264DECL_WINELIB_TYPE_AW(PRINTER_DEFAULTS)
265DECL_WINELIB_TYPE_AW(LPPRINTER_DEFAULTS)
266
Alexandre Julliarda3960291999-02-26 11:11:13 +0000267typedef struct _DRIVER_INFO_1A {
Alexandre Julliard59545601999-02-10 06:52:57 +0000268 LPSTR pName;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000269} DRIVER_INFO_1A, *PDRIVER_INFO_1A, *LPDRIVER_INFO_1A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000270
Alexandre Julliarda3960291999-02-26 11:11:13 +0000271typedef struct _DRIVER_INFO_1W {
Alexandre Julliard59545601999-02-10 06:52:57 +0000272 LPWSTR pName;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000273} DRIVER_INFO_1W, *PDRIVER_INFO_1W, *LPDRIVER_INFO_1W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000274
275DECL_WINELIB_TYPE_AW(DRIVER_INFO_1)
276DECL_WINELIB_TYPE_AW(PDRIVER_INFO_1)
277DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_1)
278
Alexandre Julliarda3960291999-02-26 11:11:13 +0000279typedef struct _DRIVER_INFO_2A {
Alexandre Julliard59545601999-02-10 06:52:57 +0000280 DWORD cVersion;
281 LPSTR pName;
282 LPSTR pEnvironment;
283 LPSTR pDriverPath;
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000284 LPSTR pDataFile;
Alexandre Julliard59545601999-02-10 06:52:57 +0000285 LPSTR pConfigFile;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000286} DRIVER_INFO_2A, *PDRIVER_INFO_2A, *LPDRIVER_INFO_2A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000287
Alexandre Julliarda3960291999-02-26 11:11:13 +0000288typedef struct _DRIVER_INFO_2W {
Alexandre Julliard59545601999-02-10 06:52:57 +0000289 DWORD cVersion;
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000290 LPWSTR pName;
Alexandre Julliard59545601999-02-10 06:52:57 +0000291 LPWSTR pEnvironment;
292 LPWSTR pDriverPath;
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000293 LPWSTR pDataFile;
Alexandre Julliard59545601999-02-10 06:52:57 +0000294 LPWSTR pConfigFile;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000295} DRIVER_INFO_2W, *PDRIVER_INFO_2W, *LPDRIVER_INFO_2W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000296
297DECL_WINELIB_TYPE_AW(DRIVER_INFO_2)
298DECL_WINELIB_TYPE_AW(PDRIVER_INFO_2)
299DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_2)
300
Huw D M Daviesee2d9d51999-05-22 18:53:56 +0000301typedef struct _DRIVER_INFO_3A {
302 DWORD cVersion;
303 LPSTR pName;
304 LPSTR pEnvironment;
305 LPSTR pDriverPath;
306 LPSTR pDataFile;
307 LPSTR pConfigFile;
308 LPSTR pHelpFile;
309 LPSTR pDependentFiles;
310 LPSTR pMonitorName;
311 LPSTR pDefaultDataType;
312} DRIVER_INFO_3A, *PDRIVER_INFO_3A, *LPDRIVER_INFO_3A;
313
314typedef struct _DRIVER_INFO_3W {
315 DWORD cVersion;
316 LPWSTR pName;
317 LPWSTR pEnvironment;
318 LPWSTR pDriverPath;
319 LPWSTR pDataFile;
320 LPWSTR pConfigFile;
321 LPWSTR pHelpFile;
322 LPWSTR pDependentFiles;
323 LPWSTR pMonitorName;
324 LPWSTR pDefaultDataType;
325} DRIVER_INFO_3W, *PDRIVER_INFO_3W, *LPDRIVER_INFO_3W;
326
327DECL_WINELIB_TYPE_AW(DRIVER_INFO_3)
328DECL_WINELIB_TYPE_AW(PDRIVER_INFO_3)
329DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_3)
330
Alexandre Julliarda3960291999-02-26 11:11:13 +0000331typedef struct _PRINTER_INFO_1A {
Alexandre Julliard59545601999-02-10 06:52:57 +0000332 DWORD Flags;
333 LPSTR pDescription;
334 LPSTR pName;
335 LPSTR pComment;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000336} PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000337
Alexandre Julliarda3960291999-02-26 11:11:13 +0000338typedef struct _PRINTER_INFO_1W {
Alexandre Julliard59545601999-02-10 06:52:57 +0000339 DWORD Flags;
340 LPWSTR pDescription;
341 LPWSTR pName;
342 LPWSTR pComment;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000343} PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000344
345DECL_WINELIB_TYPE_AW(PRINTER_INFO_1)
346DECL_WINELIB_TYPE_AW(PPRINTER_INFO_1)
347DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_1)
348
349/* FIXME: winspool.h declares some structure members with the name Status.
Francois Gouget66834322004-04-20 04:03:42 +0000350 * unfortunately <X11/ICE/ICElib.h> #defines Status to the type 'int'
351 * therefore the following hack */
Alexandre Julliard59545601999-02-10 06:52:57 +0000352#ifndef Status
353
Alexandre Julliarda3960291999-02-26 11:11:13 +0000354typedef struct _PRINTER_INFO_2A {
Alexandre Julliard59545601999-02-10 06:52:57 +0000355 LPSTR pServerName;
356 LPSTR pPrinterName;
357 LPSTR pShareName;
358 LPSTR pPortName;
359 LPSTR pDriverName;
360 LPSTR pComment;
361 LPSTR pLocation;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000362 LPDEVMODEA pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000363 LPSTR pSepFile;
364 LPSTR pPrintProcessor;
365 LPSTR pDatatype;
366 LPSTR pParameters;
367 PSECURITY_DESCRIPTOR pSecurityDescriptor;
368 DWORD Attributes;
369 DWORD Priority;
370 DWORD DefaultPriority;
371 DWORD StartTime;
372 DWORD UntilTime;
373 DWORD Status;
374 DWORD cJobs;
375 DWORD AveragePPM;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000376} PRINTER_INFO_2A, *PPRINTER_INFO_2A, *LPPRINTER_INFO_2A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000377
Alexandre Julliarda3960291999-02-26 11:11:13 +0000378typedef struct _PRINTER_INFO_2W {
Alexandre Julliard59545601999-02-10 06:52:57 +0000379 LPWSTR pServerName;
380 LPWSTR pPrinterName;
381 LPWSTR pShareName;
382 LPWSTR pPortName;
383 LPWSTR pDriverName;
384 LPWSTR pComment;
385 LPWSTR pLocation;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000386 LPDEVMODEW pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000387 LPWSTR pSepFile;
388 LPWSTR pPrintProcessor;
389 LPWSTR pDatatype;
390 LPWSTR 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_2W, *PPRINTER_INFO_2W, *LPPRINTER_INFO_2W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000401
402DECL_WINELIB_TYPE_AW(PRINTER_INFO_2)
403DECL_WINELIB_TYPE_AW(PPRINTER_INFO_2)
404DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_2)
405
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000406typedef struct _PRINTER_INFO_3 {
407 PSECURITY_DESCRIPTOR pSecurityDescriptor;
408} PRINTER_INFO_3, *PPRINTER_INFO_3, *LPPRINTER_INFO_3;
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000409
Klaas van Gendfdedc341999-03-22 12:40:24 +0000410typedef struct _PRINTER_INFO_4A {
411 LPSTR pPrinterName;
412 LPSTR pServerName;
413 DWORD Attributes;
414} PRINTER_INFO_4A, *PPRINTER_INFO_4A, *LPPRINTER_INFO_4A;
415
416typedef struct _PRINTER_INFO_4W {
417 LPWSTR pPrinterName;
418 LPWSTR pServerName;
419 DWORD Attributes;
420} PRINTER_INFO_4W, *PPRINTER_INFO_4W, *LPPRINTER_INFO_4W;
421
422DECL_WINELIB_TYPE_AW(PRINTER_INFO_4)
423DECL_WINELIB_TYPE_AW(PPRINTER_INFO_4)
424DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_4)
425
426typedef struct _PRINTER_INFO_5A {
427 LPSTR pPrinterName;
428 LPSTR pPortName;
429 DWORD Attributes;
Huw D M Davies7aaabc32000-05-25 23:02:46 +0000430 DWORD DeviceNotSelectedTimeout;
Klaas van Gendfdedc341999-03-22 12:40:24 +0000431 DWORD TransmissionRetryTimeout;
432} PRINTER_INFO_5A, *PPRINTER_INFO_5A, *LPPRINTER_INFO_5A;
433
434typedef struct _PRINTER_INFO_5W {
435 LPWSTR pPrinterName;
436 LPWSTR pPortName;
437 DWORD Attributes;
Huw D M Davies7aaabc32000-05-25 23:02:46 +0000438 DWORD DeviceNotSelectedTimeout;
Klaas van Gendfdedc341999-03-22 12:40:24 +0000439 DWORD TransmissionRetryTimeout;
440} PRINTER_INFO_5W, *PPRINTER_INFO_5W, *LPPRINTER_INFO_5W;
441
442DECL_WINELIB_TYPE_AW(PRINTER_INFO_5)
443DECL_WINELIB_TYPE_AW(PPRINTER_INFO_5)
444DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_5)
445
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000446typedef struct _PRINTER_INFO_6 {
447 DWORD dwStatus;
448} PRINTER_INFO_6, *PPRINTER_INFO_6, *LPPRINTER_INFO_6;
449
Huw D M Daviesbb140561999-07-23 19:23:49 +0000450typedef struct _JOB_INFO_1A {
Francois Gouget017887e2004-10-04 19:25:21 +0000451 DWORD JobId;
Huw D M Daviesbb140561999-07-23 19:23:49 +0000452 LPSTR pPrinterName;
453 LPSTR pMachineName;
454 LPSTR pUserName;
455 LPSTR pDocument;
456 LPSTR pDatatype;
457 LPSTR pStatus;
458 DWORD Status;
459 DWORD Priority;
460 DWORD Position;
461 DWORD TotalPages;
462 DWORD PagesPrinted;
463 SYSTEMTIME Submitted;
464} JOB_INFO_1A, *PJOB_INFO_1A, *LPJOB_INFO_1A;
465
466typedef struct _JOB_INFO_1W {
Francois Gouget017887e2004-10-04 19:25:21 +0000467 DWORD JobId;
Huw D M Daviesbb140561999-07-23 19:23:49 +0000468 LPWSTR pPrinterName;
469 LPWSTR pMachineName;
470 LPWSTR pUserName;
471 LPWSTR pDocument;
472 LPWSTR pDatatype;
473 LPWSTR pStatus;
474 DWORD Status;
475 DWORD Priority;
476 DWORD Position;
477 DWORD TotalPages;
478 DWORD PagesPrinted;
479 SYSTEMTIME Submitted;
480} JOB_INFO_1W, *PJOB_INFO_1W, *LPJOB_INFO_1W;
481
482DECL_WINELIB_TYPE_AW(JOB_INFO_1)
483DECL_WINELIB_TYPE_AW(PJOB_INFO_1)
484DECL_WINELIB_TYPE_AW(LPJOB_INFO_1)
485
486typedef struct _JOB_INFO_2A {
Francois Gouget017887e2004-10-04 19:25:21 +0000487 DWORD JobId;
Huw D M Daviesbb140561999-07-23 19:23:49 +0000488 LPSTR pPrinterName;
489 LPSTR pMachineName;
490 LPSTR pUserName;
491 LPSTR pDocument;
492 LPSTR pNotifyName;
493 LPSTR pDatatype;
494 LPSTR pPrintProcessor;
495 LPSTR pParameters;
496 LPSTR pDriverName;
497 LPDEVMODEA pDevMode;
498 LPSTR pStatus;
499 PSECURITY_DESCRIPTOR pSecurityDescriptor;
500 DWORD Status;
501 DWORD Priority;
502 DWORD Position;
503 DWORD StartTime;
504 DWORD UntilTime;
505 DWORD TotalPages;
506 DWORD Size;
507 SYSTEMTIME Submitted;
508 DWORD Time;
509 DWORD PagesPrinted;
510} JOB_INFO_2A, *PJOB_INFO_2A, *LPJOB_INFO_2A;
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000511
Huw D M Daviesbb140561999-07-23 19:23:49 +0000512typedef struct _JOB_INFO_2W {
Francois Gouget017887e2004-10-04 19:25:21 +0000513 DWORD JobId;
Huw D M Daviesbb140561999-07-23 19:23:49 +0000514 LPWSTR pPrinterName;
515 LPWSTR pMachineName;
516 LPWSTR pUserName;
517 LPWSTR pDocument;
518 LPWSTR pNotifyName;
519 LPWSTR pDatatype;
520 LPWSTR pPrintProcessor;
521 LPWSTR pParameters;
522 LPWSTR pDriverName;
523 LPDEVMODEW pDevMode;
524 LPWSTR pStatus;
525 PSECURITY_DESCRIPTOR pSecurityDescriptor;
526 DWORD Status;
527 DWORD Priority;
528 DWORD Position;
529 DWORD StartTime;
530 DWORD UntilTime;
531 DWORD TotalPages;
532 DWORD Size;
533 SYSTEMTIME Submitted;
534 DWORD Time;
535 DWORD PagesPrinted;
536} JOB_INFO_2W, *PJOB_INFO_2W, *LPJOB_INFO_2W;
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000537
Huw D M Daviesbb140561999-07-23 19:23:49 +0000538DECL_WINELIB_TYPE_AW(JOB_INFO_2)
539DECL_WINELIB_TYPE_AW(PJOB_INFO_2)
540DECL_WINELIB_TYPE_AW(LPJOB_INFO_2)
541
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000542typedef struct _JOB_INFO_3 {
Francois Gouget017887e2004-10-04 19:25:21 +0000543 DWORD JobId;
544 DWORD NextJobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000545 DWORD Reserved;
546} JOB_INFO_3, *PJOB_INFO_3, *LPJOB_INFO_3;
547
548typedef struct _ADDJOB_INFO_1A {
549 LPSTR Path;
Francois Gouget017887e2004-10-04 19:25:21 +0000550 DWORD JobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000551} ADDJOB_INFO_1A, *PADDJOB_INFO_1A, *LPADDJOB_INFO_1A;
552
553typedef struct _ADDJOB_INFO_1W {
554 LPWSTR Path;
Francois Gouget017887e2004-10-04 19:25:21 +0000555 DWORD JobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000556} ADDJOB_INFO_1W, *PADDJOB_INFO_1W, *LPADDJOB_INFO_1W;
557
558DECL_WINELIB_TYPE_AW(ADDJOB_INFO_1)
559DECL_WINELIB_TYPE_AW(PADDJOB_INFO_1)
560DECL_WINELIB_TYPE_AW(LPADDJOB_INFO_1)
561
562typedef struct _DOC_INFO_1A {
563 LPSTR pDocName;
564 LPSTR pOutputFile;
565 LPSTR pDatatype;
566} DOC_INFO_1A, *PDOC_INFO_1A, *LPDOC_INFO_1A;
567
568typedef struct _DOC_INFO_1W {
569 LPWSTR pDocName;
570 LPWSTR pOutputFile;
571 LPWSTR pDatatype;
572} DOC_INFO_1W, *PDOC_INFO_1W, *LPDOC_INFO_1W;
573
574DECL_WINELIB_TYPE_AW(DOC_INFO_1)
575DECL_WINELIB_TYPE_AW(PDOC_INFO_1)
576DECL_WINELIB_TYPE_AW(LPDOC_INFO_1)
577
578typedef struct _DOC_INFO_2A {
579 LPSTR pDocName;
580 LPSTR pOutputFile;
581 LPSTR pDatatype;
582 DWORD dwMode;
Francois Gouget017887e2004-10-04 19:25:21 +0000583 DWORD JobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000584} DOC_INFO_2A, *PDOC_INFO_2A, *LPDOC_INFO_2A;
585
586typedef struct _DOC_INFO_2W {
587 LPWSTR pDocName;
588 LPWSTR pOutputFile;
589 LPWSTR pDatatype;
590 DWORD dwMode;
Francois Gouget017887e2004-10-04 19:25:21 +0000591 DWORD JobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000592} DOC_INFO_2W, *PDOC_INFO_2W, *LPDOC_INFO_2W;
593
594DECL_WINELIB_TYPE_AW(DOC_INFO_2)
595DECL_WINELIB_TYPE_AW(PDOC_INFO_2)
596DECL_WINELIB_TYPE_AW(LPDOC_INFO_2)
597
598typedef struct _FORM_INFO_1A {
599 DWORD Flags;
600 LPSTR pName;
601 SIZEL Size;
602 RECTL ImageableArea;
603} FORM_INFO_1A, *PFORM_INFO_1A, *LPFORM_INFO_1A;
604
605typedef struct _FORM_INFO_1W {
606 DWORD Flags;
607 LPWSTR pName;
608 SIZEL Size;
609 RECTL ImageableArea;
610} FORM_INFO_1W, *PFORM_INFO_1W, *LPFORM_INFO_1W;
611
612DECL_WINELIB_TYPE_AW(FORM_INFO_1)
613DECL_WINELIB_TYPE_AW(PFORM_INFO_1)
614DECL_WINELIB_TYPE_AW(LPFORM_INFO_1)
615
616typedef struct _PRINTPROCESSOR_INFO_1A {
617 LPSTR pName;
Patrik Stridvallfeb94cb1999-10-24 21:48:50 +0000618} PRINTPROCESSOR_INFO_1A, *PPRINTPROCESSOR_INFO_1A,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000619 *LPPRINTPROCESSOR_INFO_1A;
620
621typedef struct _PRINTPROCESSOR_INFO_1W {
622 LPWSTR pName;
Patrik Stridvallfeb94cb1999-10-24 21:48:50 +0000623} PRINTPROCESSOR_INFO_1W, *PPRINTPROCESSOR_INFO_1W,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000624 *LPPRINTPROCESSOR_INFO_1W;
625
626DECL_WINELIB_TYPE_AW(PRINTPROCESSOR_INFO_1)
627DECL_WINELIB_TYPE_AW(PPRINTPROCESSOR_INFO_1)
628DECL_WINELIB_TYPE_AW(LPPRINTPROCESSOR_INFO_1)
629
630typedef struct _PORT_INFO_1A {
631 LPSTR pName;
632} PORT_INFO_1A, *PPORT_INFO_1A, *LPPORT_INFO_1A;
633
634typedef struct _PORT_INFO_1W {
635 LPWSTR pName;
636} PORT_INFO_1W, *PPORT_INFO_1W, *LPPORT_INFO_1W;
637
638DECL_WINELIB_TYPE_AW(PORT_INFO_1)
639DECL_WINELIB_TYPE_AW(PPORT_INFO_1)
640DECL_WINELIB_TYPE_AW(LPPORT_INFO_1)
641
642typedef struct _PORT_INFO_2A {
643 LPSTR pPortName;
644 LPSTR pMonitorName;
645 LPSTR pDescription;
646 DWORD fPortType;
647 DWORD Reserved;
648} PORT_INFO_2A, *PPORT_INFO_2A, *LPPORT_INFO_2A;
649
650typedef struct _PORT_INFO_2W {
651 LPWSTR pPortName;
652 LPWSTR pMonitorName;
653 LPWSTR pDescription;
654 DWORD fPortType;
655 DWORD Reserved;
656} PORT_INFO_2W, *PPORT_INFO_2W, *LPPORT_INFO_2W;
657
658DECL_WINELIB_TYPE_AW(PORT_INFO_2)
659DECL_WINELIB_TYPE_AW(PPORT_INFO_2)
660DECL_WINELIB_TYPE_AW(LPPORT_INFO_2)
661
662typedef struct _PORT_INFO_3A {
663 DWORD dwStatus;
664 LPSTR pszStatus;
665 DWORD dwSeverity;
666} PORT_INFO_3A, *PPORT_INFO_3A, *LPPORT_INFO_3A;
667
668typedef struct _PORT_INFO_3W {
669 DWORD dwStatus;
670 LPWSTR pszStatus;
671 DWORD dwSeverity;
672} PORT_INFO_3W, *PPORT_INFO_3W, *LPPORT_INFO_3W;
673
674DECL_WINELIB_TYPE_AW(PORT_INFO_3)
675DECL_WINELIB_TYPE_AW(PPORT_INFO_3)
676DECL_WINELIB_TYPE_AW(LPPORT_INFO_3)
677
678typedef struct _MONITOR_INFO_1A {
679 LPSTR pName;
680} MONITOR_INFO_1A, *PMONITOR_INFO_1A, *LPMONITOR_INFO_1A;
681
682typedef struct _MONITOR_INFO_1W {
683 LPWSTR pName;
684} MONITOR_INFO_1W, *PMONITOR_INFO_1W, *LPMONITOR_INFO_1W;
685
686DECL_WINELIB_TYPE_AW(MONITOR_INFO_1)
687DECL_WINELIB_TYPE_AW(PMONITOR_INFO_1)
688DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_1)
689
Ove Kaaven7200dc82000-07-23 13:38:08 +0000690#endif /* Status */
691
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000692
693typedef struct _MONITOR_INFO_2A {
694 LPSTR pName;
695 LPSTR pEnvironment;
696 LPSTR pDLLName;
697} MONITOR_INFO_2A, *PMONITOR_INFO_2A, *LPMONITOR_INFO_2A;
698
699typedef struct _MONITOR_INFO_2W {
700 LPWSTR pName;
701 LPWSTR pEnvironment;
702 LPWSTR pDLLName;
703} MONITOR_INFO_2W, *PMONITOR_INFO_2W, *LPMONITOR_INFO_2W;
704
705DECL_WINELIB_TYPE_AW(MONITOR_INFO_2)
706DECL_WINELIB_TYPE_AW(PMONITOR_INFO_2)
707DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_2)
708
709typedef struct _DATATYPES_INFO_1A {
710 LPSTR pName;
711} DATATYPES_INFO_1A, *PDATATYPES_INFO_1A, *LPDATATYPES_INFO_1A;
712
713typedef struct _DATATYPES_INFO_1W {
714 LPWSTR pName;
715} DATATYPES_INFO_1W, *PDATATYPES_INFO_1W, *LPDATATYPES_INFO_1W;
716
717DECL_WINELIB_TYPE_AW(DATATYPES_INFO_1)
718DECL_WINELIB_TYPE_AW(PDATATYPES_INFO_1)
719DECL_WINELIB_TYPE_AW(LPDATATYPES_INFO_1)
720
721typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {
722 WORD Type;
723 WORD Reserved0;
724 DWORD Reserved1;
725 DWORD Reserved2;
726 DWORD Count;
727 PWORD pFields;
728} PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE,
729*LPPRINTER_NOTIFY_OPTIONS_TYPE;
730
731typedef struct _PRINTER_NOTIFY_OPTIONS {
732 DWORD Version;
733 DWORD Flags;
734 DWORD Count;
735 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
736} PRINTER_NOTIFY_OPTIONS, *PPRINTER_NOTIFY_OPTIONS, *LPPRINTER_NOTIFY_OPTIONS;
737
738typedef struct _PRINTER_NOTIFY_INFO_DATA {
739 WORD Type;
740 WORD Field;
741 DWORD Reserved;
742 DWORD Id;
743 union {
744 DWORD adwData[2];
745 struct {
746 DWORD cbBuf;
747 LPVOID pBuf;
748 } Data;
749 } NotifyData;
750} PRINTER_NOTIFY_INFO_DATA, *PPRINTER_NOTIFY_INFO_DATA,
751*LPPRINTER_NOTIFY_INFO_DATA;
752
753typedef struct _PRINTER_NOTIFY_INFO {
754 DWORD Version;
755 DWORD Flags;
756 DWORD Count;
757 PRINTER_NOTIFY_INFO_DATA aData[1];
758} PRINTER_NOTIFY_INFO, *PPRINTER_NOTIFY_INFO, *LPPRINTER_NOTIFY_INFO;
759
760typedef struct _PROVIDOR_INFO_1A {
761 LPSTR pName;
762 LPSTR pEnvironment;
763 LPSTR pDLLName;
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000764} PROVIDOR_INFO_1A, *PPROVIDOR_INFO_1A, *LPPROVIDOR_INFO_1A;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000765
766typedef struct _PROVIDOR_INFO_1W {
767 LPWSTR pName;
768 LPWSTR pEnvironment;
769 LPWSTR pDLLName;
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000770} PROVIDOR_INFO_1W, *PPROVIDOR_INFO_1W, *LPPROVIDOR_INFO_1W;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000771
772DECL_WINELIB_TYPE_AW(PROVIDOR_INFO_1)
773DECL_WINELIB_TYPE_AW(PPROVIDOR_INFO_1)
774DECL_WINELIB_TYPE_AW(LPPROVIDOR_INFO_1)
Huw D M Daviesbb140561999-07-23 19:23:49 +0000775
Ian Pilcherccfe6e92001-02-21 04:00:40 +0000776typedef struct _PRINTER_ENUM_VALUESA {
777 LPSTR pValueName;
778 DWORD cbValueName;
779 DWORD dwType;
780 LPBYTE pData;
781 DWORD cbData;
782} PRINTER_ENUM_VALUESA, *PPRINTER_ENUM_VALUESA;
783
784typedef struct _PRINTER_ENUM_VALUESW {
785 LPWSTR pValueName;
786 DWORD cbValueName;
787 DWORD dwType;
788 LPBYTE pData;
789 DWORD cbData;
790} PRINTER_ENUM_VALUESW, *PPRINTER_ENUM_VALUESW;
791
792DECL_WINELIB_TYPE_AW(PRINTER_ENUM_VALUES)
793DECL_WINELIB_TYPE_AW(PPRINTER_ENUM_VALUES)
794
Alexandre Julliard59545601999-02-10 06:52:57 +0000795/* DECLARATIONS */
Huw D M Daviese39b6761999-05-17 16:20:51 +0000796INT WINAPI DeviceCapabilitiesA(LPCSTR pDevice,LPCSTR pPort,WORD fwCapability,
797 LPSTR pOutput, LPDEVMODEA pDevMode);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000798INT WINAPI DeviceCapabilitiesW(LPCWSTR pDevice, LPCWSTR pPort,
Huw D M Daviese39b6761999-05-17 16:20:51 +0000799 WORD fwCapability, LPWSTR pOutput,
800 const DEVMODEW *pDevMode);
Alexandre Julliard59545601999-02-10 06:52:57 +0000801
802#define DeviceCapabilities WINELIB_NAME_AW(DeviceCapabilities)
803
Alexandre Julliarda3960291999-02-26 11:11:13 +0000804LONG WINAPI DocumentPropertiesA(HWND hWnd,HANDLE hPrinter,
805 LPSTR pDeviceName, LPDEVMODEA pDevModeOutput,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000806 LPDEVMODEA pDevModeInput,DWORD fMode );
Alexandre Julliarda3960291999-02-26 11:11:13 +0000807LONG WINAPI DocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000808 LPWSTR pDeviceName,
809 LPDEVMODEW pDevModeOutput,
810 LPDEVMODEW pDevModeInput, DWORD fMode);
Alexandre Julliard59545601999-02-10 06:52:57 +0000811
812#define DocumentProperties WINELIB_NAME_AW(DocumentProperties)
813
Alexandre Julliarda3960291999-02-26 11:11:13 +0000814BOOL WINAPI OpenPrinterA(LPSTR lpPrinterName,HANDLE *phPrinter,
815 LPPRINTER_DEFAULTSA pDefault);
816BOOL WINAPI OpenPrinterW(LPWSTR lpPrinterName,HANDLE *phPrinter,
817 LPPRINTER_DEFAULTSW pDefault);
Alexandre Julliard59545601999-02-10 06:52:57 +0000818
819#define OpenPrinter WINELIB_NAME_AW(OpenPrinter)
820
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000821BOOL WINAPI ResetPrinterA(HANDLE hPrinter, LPPRINTER_DEFAULTSA pDefault);
822BOOL WINAPI ResetPrinterW(HANDLE hPrinter, LPPRINTER_DEFAULTSW pDefault);
823#define ResetPrinter WINELIB_NAME_AW(ResetPrinter)
824
Alexandre Julliarda3960291999-02-26 11:11:13 +0000825BOOL WINAPI ClosePrinter (HANDLE phPrinter);
Alexandre Julliard59545601999-02-10 06:52:57 +0000826
Huw D M Daviesbb140561999-07-23 19:23:49 +0000827BOOL WINAPI EnumJobsA(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
828 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
829 LPDWORD pcReturned);
830BOOL WINAPI EnumJobsW(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
831 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
832 LPDWORD pcReturned);
833#define EnumJobs WINELIB_NAME_AW(EnumJobs)
834
Klaas van Gendfdedc341999-03-22 12:40:24 +0000835BOOL WINAPI EnumPrintersA(DWORD dwType, LPSTR lpszName,
836 DWORD dwLevel, LPBYTE lpbPrinters,
837 DWORD cbBuf, LPDWORD lpdwNeeded,
838 LPDWORD lpdwReturned);
839BOOL WINAPI EnumPrintersW(DWORD dwType, LPWSTR lpszName,
840 DWORD dwLevel, LPBYTE lpbPrinters,
841 DWORD cbBuf, LPDWORD lpdwNeeded,
842 LPDWORD lpdwReturned);
843#define EnumPrinters WINELIB_NAME_AW(EnumPrinters)
844
Klaas van Gendf66bf561999-04-11 14:56:45 +0000845BOOL WINAPI PrinterProperties(HWND hWnd, HANDLE hPrinter);
Alexandre Julliard59545601999-02-10 06:52:57 +0000846
Huw D M Daviesee2d9d51999-05-22 18:53:56 +0000847BOOL WINAPI GetPrinterDriverDirectoryA(LPSTR,LPSTR,DWORD,LPBYTE,DWORD,LPDWORD);
848BOOL WINAPI GetPrinterDriverDirectoryW(LPWSTR,LPWSTR,DWORD,LPBYTE,DWORD,LPDWORD);
849#define GetPrinterDriverDirectory WINELIB_NAME_AW(GetPrinterDriverDirectory)
850
Huw D M Davies450270b1999-07-10 11:58:50 +0000851BOOL WINAPI GetPrinterDriverA(HANDLE hPrinter, LPSTR pEnvironment,
852 DWORD Level, LPBYTE pDriverInfo,
853 DWORD cbBuf, LPDWORD pcbNeeded);
854BOOL WINAPI GetPrinterDriverW(HANDLE hPrinter, LPWSTR pEnvironment,
855 DWORD Level, LPBYTE pDriverInfo,
856 DWORD cbBuf, LPDWORD pcbNeeded);
857#define GetPrinterDriver WINELIB_NAME_AW(GetPrinterDriver)
858
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000859BOOL WINAPI SetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
860 DWORD Command);
861BOOL WINAPI SetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
862 DWORD Command);
863#define SetJob WINELIB_NAME_AW(SetJob)
864
865BOOL WINAPI GetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
866 DWORD cbBuf, LPDWORD pcbNeeded);
867BOOL WINAPI GetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
868 DWORD cbBuf, LPDWORD pcbNeeded);
869#define GetJob WINELIB_NAME_AW(GetJob)
870
871HANDLE WINAPI AddPrinterA(LPSTR pName, DWORD Level, LPBYTE pPrinter);
872HANDLE WINAPI AddPrinterW(LPWSTR pName, DWORD Level, LPBYTE pPrinter);
873#define AddPrinter WINELIB_NAME_AW(AddPrinter)
874
875BOOL WINAPI DeletePrinter(HANDLE hPrinter);
876
877BOOL WINAPI SetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000878 DWORD Command);
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000879BOOL WINAPI SetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000880 DWORD Command);
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000881#define SetPrinter WINELIB_NAME_AW(SetPrinter)
882
883BOOL WINAPI GetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000884 DWORD cbBuf, LPDWORD pcbNeeded);
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000885BOOL WINAPI GetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000886 DWORD cbBuf, LPDWORD pcbNeeded);
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000887#define GetPrinter WINELIB_NAME_AW(GetPrinter)
888
889BOOL WINAPI AddPrinterDriverA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo);
890BOOL WINAPI AddPrinterDriverW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo);
891#define AddPrinterDriver WINELIB_NAME_AW(AddPrinterDriver)
892
893BOOL WINAPI EnumPrinterDriversA(LPSTR pName, LPSTR pEnvironment, DWORD Level,
894 LPBYTE pDriverInfo, DWORD cbBuf,
895 LPDWORD pcbNeeded, LPDWORD pcbReturned);
896BOOL WINAPI EnumPrinterDriversW(LPWSTR pName, LPWSTR pEnvironment, DWORD Level,
897 LPBYTE pDriverInfo, DWORD cbBuf,
898 LPDWORD pcbNeeded, LPDWORD pcbReturned);
899#define EnumPrinterDrivers WINELIB_NAME_AW(EnumPrinterDrivers)
900
Mark G. Adamsa0324f72002-01-22 00:49:24 +0000901BOOL WINAPI GetDefaultPrinterA(LPSTR pName, LPDWORD pcbNameSize);
902BOOL WINAPI GetDefaultPrinterW(LPWSTR pName, LPDWORD pcbNameSize);
903#define GetDefaultPrinter WINELIB_NAME_AW(GetDefaultPrinter)
904
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000905BOOL WINAPI DeletePrinterDriverA(LPSTR pName, LPSTR pEnvironment,
906 LPSTR pDriverName);
907BOOL WINAPI DeletePrinterDriverW(LPWSTR pName, LPWSTR pEnvironment,
908 LPWSTR pDriverName);
909#define DeletePrinterDriver WINELIB_NAME_AW(DeletePrinterDriver)
910
911BOOL WINAPI AddPrintProcessorA(LPSTR pName, LPSTR pEnvironment,
912 LPSTR pPathName, LPSTR pPrintProcessorName);
913BOOL WINAPI AddPrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
914 LPWSTR pPathName, LPWSTR pPrintProcessorName);
915#define AddPrintProcessor WINELIB_NAME_AW(AddPrintProcessor)
916
917BOOL WINAPI EnumPrintProcessorsA(LPSTR pName, LPSTR pEnvironment,
918 DWORD Level, LPBYTE pPrintProcessorInfo,
919 DWORD cbBuf, LPDWORD pcbNeeded,
920 LPDWORD pcbReturned);
921BOOL WINAPI EnumPrintProcessorsW(LPWSTR pName, LPWSTR pEnvironment,
922 DWORD Level, LPBYTE pPrintProcessorInfo,
923 DWORD cbBuf, LPDWORD pcbNeeded,
924 LPDWORD pcbReturned);
925#define EnumPrintProcessors WINELIB_NAME_AW(EnumPrintProcessors)
926
927BOOL WINAPI GetPrintProcessorDirectoryA(LPSTR pName, LPSTR pEnvironment,
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000928 DWORD Level,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000929 LPBYTE pPrintProcessorInfo,
930 DWORD cbBuf, LPDWORD pcbNeeded);
931
932BOOL WINAPI GetPrintProcessorDirectoryW(LPWSTR pName, LPWSTR pEnvironment,
933 DWORD Level,
934 LPBYTE pPrintProcessorInfo,
935 DWORD cbBuf, LPDWORD pcbNeeded);
936#define GetPrintProcessorDirectory WINELIB_NAME_AW(GetPrintProcessorDirectory)
937
938BOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR pName,
939 LPSTR pPrintProcessorName,
940 DWORD Level, LPBYTE pDatatypes,
941 DWORD cbBuf, LPDWORD pcbNeeded,
942 LPDWORD pcbReturned);
943BOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR pName,
944 LPWSTR pPrintProcessorName,
945 DWORD Level, LPBYTE pDatatypes,
946 DWORD cbBuf, LPDWORD pcbNeeded,
947 LPDWORD pcbReturned);
948#define EnumPrintProcessorDatatypes WINELIB_NAME_AW(EnumPrintProcessorDatatypes)
949
950BOOL WINAPI DeletePrintProcessorA(LPSTR pName, LPSTR pEnvironment,
951 LPSTR pPrintProcessorName);
952BOOL WINAPI DeletePrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
953 LPWSTR pPrintProcessorName);
954#define DeletePrintProcessor WINELIB_NAME_AW(DeletePrintProcessor)
955
956DWORD WINAPI StartDocPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
957DWORD WINAPI StartDocPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
958#define StartDocPrinter WINELIB_NAME_AW(StartDocPrinter)
959
960BOOL WINAPI StartPagePrinter(HANDLE hPrinter);
961BOOL WINAPI WritePrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
962 LPDWORD pcWritten);
963BOOL WINAPI EndPagePrinter(HANDLE hPrinter);
964BOOL WINAPI AbortPrinter(HANDLE hPrinter);
965BOOL WINAPI ReadPrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
966 LPDWORD pNoBytesRead);
967BOOL WINAPI EndDocPrinter(HANDLE hPrinter);
968
969BOOL WINAPI AddJobA(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
970 LPDWORD pcbNeeded);
971BOOL WINAPI AddJobW(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
972 LPDWORD pcbNeeded);
973#define AddJob WINELIB_NAME_AW(AddJob)
974
975BOOL WINAPI ScheduleJob(HANDLE hPrinter, DWORD JobID);
976
977LONG WINAPI AdvancedDocumentPropertiesA(HWND hWnd, HANDLE hPrinter,
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000978 LPSTR pDeviceName,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000979 PDEVMODEA pDevModeOutput,
980 PDEVMODEA pDevModeInput);
981LONG WINAPI AdvancedDocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000982 LPWSTR pDeviceName,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000983 PDEVMODEW pDevModeOutput,
984 PDEVMODEW pDevModeInput);
985#define AdvancedDocumentProperties WINELIB_NAME_AW(AdvancedDocumentProperties)
986
987DWORD WINAPI GetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, LPDWORD pType,
988 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
989DWORD WINAPI GetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, LPDWORD pType,
990 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
991#define GetPrinterData WINELIB_NAME_AW(GetPrinterData)
992
Alexandre Julliard4d626b02003-11-11 20:38:51 +0000993DWORD WINAPI GetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
994 LPCSTR pValueName, LPDWORD pType,
Huw D M Daviesd2b850e2001-02-12 01:26:47 +0000995 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
Alexandre Julliard4d626b02003-11-11 20:38:51 +0000996DWORD WINAPI GetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
997 LPCWSTR pValueName, LPDWORD pType,
Huw D M Daviesd2b850e2001-02-12 01:26:47 +0000998 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
999#define GetPrinterDataEx WINELIB_NAME_AW(GetPrinterDataEx)
1000
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001001DWORD WINAPI SetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, DWORD Type,
1002 LPBYTE pData, DWORD cbData);
1003DWORD WINAPI SetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, DWORD Type,
1004 LPBYTE pData, DWORD cbData);
1005#define SetPrinterData WINELIB_NAME_AW(SetPrinterData)
1006
Alexandre Julliard4d626b02003-11-11 20:38:51 +00001007DWORD WINAPI SetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1008 LPCSTR pValueName, DWORD Type,
Huw D M Daviesd2b850e2001-02-12 01:26:47 +00001009 LPBYTE pData, DWORD cbData);
Alexandre Julliard4d626b02003-11-11 20:38:51 +00001010DWORD WINAPI SetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1011 LPCWSTR pValueName, DWORD Type,
Huw D M Daviesd2b850e2001-02-12 01:26:47 +00001012 LPBYTE pData, DWORD cbData);
1013#define SetPrinterDataEx WINELIB_NAME_AW(SetPrinterDataEx)
1014
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001015DWORD WINAPI WaitForPrinterChange(HANDLE hPrinter, DWORD Flags);
1016HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE hPrinter,
1017 DWORD fdwFlags,
1018 DWORD fdwOptions,
1019 LPVOID pPrinterNotifyOptions);
1020BOOL WINAPI FindNextPrinterChangeNotification(HANDLE hChange,
1021 PDWORD pdwChange,
1022 LPVOID pvReserved,
1023 LPVOID *ppPrinterNotifyInfo);
Francois Gouget091dc852000-06-11 20:06:12 +00001024BOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pPrinterNotifyInfo);
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001025BOOL WINAPI FindClosePrinterChangeNotification(HANDLE hChange);
1026
1027DWORD WINAPI PrinterMessageBoxA(HANDLE hPrinter, DWORD Error, HWND hWnd,
1028 LPSTR pText, LPSTR pCaption, DWORD dwType);
1029DWORD WINAPI PrinterMessageBoxW(HANDLE hPrinter, DWORD Error, HWND hWnd,
1030 LPWSTR pText, LPWSTR pCaption, DWORD dwType);
1031#define PrinterMessageBox WINELIB_NAME_AW(PrinterMessageBox)
1032
1033BOOL WINAPI AddFormA(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
1034BOOL WINAPI AddFormW(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
1035#define AddForm WINELIB_NAME_AW(AddForm)
1036
1037BOOL WINAPI DeleteFormA(HANDLE hPrinter, LPSTR pFormName);
1038BOOL WINAPI DeleteFormW(HANDLE hPrinter, LPWSTR pFormName);
1039#define DeleteForm WINELIB_NAME_AW(DeleteForm)
1040
1041BOOL WINAPI GetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
1042 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
1043BOOL WINAPI GetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1044 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
1045#define GetForm WINELIB_NAME_AW(GetForm)
1046
1047BOOL WINAPI SetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
1048 LPBYTE pForm);
1049BOOL WINAPI SetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1050 LPBYTE pForm);
1051#define SetForm WINELIB_NAME_AW(SetForm)
1052
1053BOOL WINAPI EnumFormsA(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1054 LPDWORD pcbNeeded, LPDWORD pcReturned);
1055BOOL WINAPI EnumFormsW(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1056 LPDWORD pcbNeeded, LPDWORD pcReturned);
1057#define EnumForms WINELIB_NAME_AW(EnumForms)
1058
1059BOOL WINAPI EnumMonitorsA(LPSTR pName, DWORD Level, LPBYTE pMonitors,
1060 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1061BOOL WINAPI EnumMonitorsW(LPWSTR pName, DWORD Level, LPBYTE pMonitors,
1062 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1063#define EnumMonitors WINELIB_NAME_AW(EnumMonitors)
1064
Hans Leidekker1e33aca2005-02-21 18:33:55 +00001065DWORD WINAPI EnumPrinterDataA( HANDLE hPrinter, DWORD dwIndex, LPSTR pValueName,
1066 DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData,
1067 DWORD cbData, LPDWORD pcbData );
1068DWORD WINAPI EnumPrinterDataW( HANDLE hPrinter, DWORD dwIndex, LPWSTR pValueName,
1069 DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData,
1070 DWORD cbData, LPDWORD pcbData );
1071#define EnumPrinterData WINELIB_NAME_AW(EnumPrinterData)
1072
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001073BOOL WINAPI AddMonitorA(LPSTR pName, DWORD Level, LPBYTE pMonitors);
1074BOOL WINAPI AddMonitorW(LPWSTR pName, DWORD Level, LPBYTE pMonitors);
1075#define AddMonitor WINELIB_NAME_AW(AddMonitor)
1076
1077BOOL WINAPI DeleteMonitorA(LPSTR pName, LPSTR pEnvironment,
1078 LPSTR pMonitorName);
1079BOOL WINAPI DeleteMonitorW(LPWSTR pName, LPWSTR pEnvironment,
1080 LPWSTR pMonitorName);
1081#define DeleteMonitor WINELIB_NAME_AW(DeleteMonitor)
1082
1083BOOL WINAPI EnumPortsA(LPSTR pName, DWORD Level, LPBYTE pPorts,
1084 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1085BOOL WINAPI EnumPortsW(LPWSTR pName, DWORD Level, LPBYTE pPorts,
1086 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1087#define EnumPorts WINELIB_NAME_AW(EnumPorts)
1088
1089BOOL WINAPI AddPortA(LPSTR pName, HWND hWnd, LPSTR pMonitorName);
1090BOOL WINAPI AddPortW(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
1091#define AddPort WINELIB_NAME_AW(AddPort)
1092
Hans Leidekker1e33aca2005-02-21 18:33:55 +00001093BOOL WINAPI AddPortExA(HANDLE hMonitor, LPSTR pName, DWORD Level,
1094 LPBYTE lpBuffer, LPSTR lpMonitorName);
1095BOOL WINAPI AddPortExW(HANDLE hMonitor, LPWSTR pName, DWORD Level,
1096 LPBYTE lpBuffer, LPWSTR lpMonitorName);
1097#define AddPortEx WINELIB_NAME_AW(AddPortEx)
1098
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001099BOOL WINAPI ConfigurePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1100BOOL WINAPI ConfigurePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1101#define ConfigurePort WINELIB_NAME_AW(ConfigurePort)
1102
1103BOOL WINAPI DeletePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1104BOOL WINAPI DeletePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1105#define DeletePort WINELIB_NAME_AW(DeletePort)
1106
1107BOOL WINAPI SetPortA(LPSTR pName, LPSTR pPortName, DWORD dwLevel,
1108 LPBYTE pPortInfo);
1109BOOL WINAPI SetPortW(LPWSTR pName, LPWSTR pPortName, DWORD dwLevel,
1110 LPBYTE pPortInfo);
1111#define SetPort WINELIB_NAME_AW(SetPort)
1112
1113BOOL WINAPI AddPrinterConnectionA(LPSTR pName);
1114BOOL WINAPI AddPrinterConnectionW(LPWSTR pName);
1115#define AddPrinterConnection WINELIB_NAME_AW(AddPrinterConnection)
1116
1117BOOL WINAPI DeletePrinterConnectionA(LPSTR pName);
1118BOOL WINAPI DeletePrinterConnectionW(LPWSTR pName);
1119#define DeletePrinterConnection WINELIB_NAME_AW(DeletePrinterConnection)
1120
1121HANDLE WINAPI ConnectToPrinterDlg(HWND hwnd, DWORD Flags);
1122
1123BOOL WINAPI AddPrintProvidorA(LPSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1124BOOL WINAPI AddPrintProvidorW(LPWSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1125#define AddPrintProvidor WINELIB_NAME_AW(AddPrintProvidor)
1126
1127BOOL WINAPI DeletePrintProvidorA(LPSTR pName, LPSTR pEnvironment,
1128 LPSTR pPrintProvidorName);
1129BOOL WINAPI DeletePrintProvidorW(LPWSTR pName, LPWSTR pEnvironment,
1130 LPWSTR pPrintProvidorName);
1131#define DeletePrintProvidor WINELIB_NAME_AW(DeletePrintProvidor)
1132
Ian Pilcherccfe6e92001-02-21 04:00:40 +00001133DWORD WINAPI EnumPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1134 LPBYTE pEnumValues, DWORD cbEnumValues,
1135 LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
1136DWORD WINAPI EnumPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1137 LPBYTE pEnumValues, DWORD cbEnumValues,
1138 LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
1139#define EnumPrinterDataEx WINELIB_NAME_AW(EnumPrinterDataEx)
1140
Hans Leidekker1e33aca2005-02-21 18:33:55 +00001141LONG WINAPI ExtDeviceMode( HWND hWnd, HANDLE hInst, LPDEVMODEA pDevModeOutput,
1142 LPSTR pDeviceName, LPSTR pPort, LPDEVMODEA pDevModeInput, LPSTR pProfile,
1143 DWORD fMode);
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001144
Alexandre Julliard59545601999-02-10 06:52:57 +00001145#ifdef __cplusplus
Patrik Stridvalla9a671d1999-04-25 19:01:52 +00001146} /* extern "C" */
Alexandre Julliard59545601999-02-10 06:52:57 +00001147#endif
1148
1149#endif /* __WINE_WINSPOOL_H */